From 5cbd35423fd49c75c3a4ec8c7493bdc95f147a40 Mon Sep 17 00:00:00 2001 From: Katya Date: Wed, 29 Nov 2023 13:35:24 +0300 Subject: [PATCH] deleted r1 field --- 1xGen описание (1).docx | Bin 0 -> 21752 bytes 3xThermo1xHT/idiBusFiles/IDIBUS_IMPL_Custom.c | 5 +- 3xThermo1xHT/idiBus_Ext_3xThermo1HT.cproj | 2 +- 3xThermo1xHT/main.c | 76 +- STM/Core/Inc/stm_gen.h | 7 - STM/Core/Src/main.c | 25 +- STM/Core/Src/stm32f4xx_it.c | 2 +- STM/Debug/Core/Src/main.cyclo | 1 - STM/Debug/Core/Src/main.o | Bin 1107048 -> 1106444 bytes STM/Debug/Core/Src/main.su | 1 - STM/Debug/Core/Src/stm32f4xx_it.o | Bin 1091772 -> 1091676 bytes STM/Debug/STM_gen.elf | Bin 1210992 -> 1210668 bytes STM/Debug/STM_gen.list | 11839 ++++++++-------- STM/Debug/STM_gen.map | 764 +- ~$Gen описание (1).docx | Bin 0 -> 162 bytes 15 files changed, 6318 insertions(+), 6404 deletions(-) create mode 100644 1xGen описание (1).docx create mode 100644 ~$Gen описание (1).docx diff --git a/1xGen описание (1).docx b/1xGen описание (1).docx new file mode 100644 index 0000000000000000000000000000000000000000..072b92a1983ce1f88fde8829a6af516e350981dc GIT binary patch literal 21752 zcmeFY^LKB-(pcDgZPTKX+L-JlrY>NF< zrXAsNjzC+st{xmY4qztIrorTCRT#vaqMQ(PtrwtpinIg`GVeH6g3u2%*1gv59sG

W_cqRG3LEfst)WL6y7fI;LUc_72D+<))6(^Si<)Waa|gd#kh;OdCbqH) zbF~V#TfajDwgwc4QSLt^bk2(?nC#&8Uh!?cIuEI)Bc(Hm0kQ5I(ifY87eNg zn(hBURw;aBtbfIKS$)c;q2O`t%eMSJgu}@yN=DC}jLO8}(!Npr)cxs8gUPQ~>rHU1 zGq&k7Mc|7x_J+4o;>H@^fnj|g^T*1*zd?bN{ufszNWy7-_^DC&@kH1kS2c7tw{>A; z_)q!&yXgPLe)&I5JvMn$22>a>{04m2c+8J;6NY4AeMhRmgX97<^!FvO2f|eGMo)JU zQHRo|!SUnCq~c0;NcIx%Up|OhW9{YqwQM8F-Cv$|tuc^F+GDy|!ItonGj-PX4l9g& zNvQ>VvCNf)2aVyvWCA1>taU|tVPidN9f^3-(5eYZQ@DWG%8s7VM@`VI-=!Pc@Ya?$ zLd~OE9EK|h`kXlaFcvp!lTqknkj4({3??+T(j(4sHq-z*99yPY^4uhoDj1GE>%wJ# z*tcO!d>9>c0d&;tgRff-sEz@m>w2NrXe}=xu{IrspU=B!NF$?_zz=Bs?>^Gl6N3-^ zQ_}(p1cV0!1?=JAY{vLM9L3DR)XnY(+5Q7*|LruuKe+bO`v2~yDrHt?hzV)rCin*F z*nY95Bht156ZxqE0KDM-2AN$<)@ZZ4Q&6|bzyMf~HR?&cd7oxlzY36}?3s&L(FT`B z3lY+7YiMo`PPhbILyHmF$!>GUz(By&DLOc~JFHnBNETSX6RizHfWs?))0tD@uN&Aloymm4 zNe$(KKP~l0s5q*S9D{k`8#mH`z~j$4f?!>gyqHaU`mk|(|LGTVOiw3j`6Yr>3#kBP zNUQ+sj9(qTk0Cu)pEf!p-T~=(!l>2P8~7jIo6m?V40@;6J2f|}9VeTR z01W@G_3O)3-;ZXOivj=YhsD7Vm(HutkgVOdc`J?&M8?C0^@C)qQa`7&xuc39f`^#+8UC*s>da;<|H2fyqnMj?w>RTLYHaNS=2n=7Hye_8 zTco$v9VVWy3ECc8R?D}+1)s8g*E}|JyF(OwT6eAvtkb^N9OfrC-Y~$5Dc%g*;Dm2f zuAwixmOEZdHy}6fAna}|$a95oblX-peo_GhX4f^qF+Q7^84c@t#Cg+4 z>4!zMMy?#4dSe(BVPAtbpB7hjXOf1!gxwiu1sVgbG=)4+Eoo{3^#sN5xTSPbbDM>PboCI|NYaxwZm(>!unV} zt84Tv5UF6^+}5LWmXM`bk~m%K0Q6!q@l<~330q|@FcpITE$Yf}tgKrqy`}#P|N0>h zcbZrJ)wJb%vxNV33N__AfXE_%%8k4ho+1 z_;XL(5w8oz03cxD>WhpA@CWuL_~%gTlLs+NYB!7^B~;kBZ2zj?)w~HPSSLn*kJIRU zFeq8Jb2PhZ$+pYFL@lR#C*05K?iTLV*So)X_6=|E{I$L5hjz_z(TvbNq0`o;#{0PW zxSAbD5$Y22sTf8Ct#e!Ytn9eu6No)8XV{a{zk6-!KH5(@paAjhmD*n=c+L;@hX715 z7_%F)JK=6Q1S_03!lu(KmHrtu*W2o8?^CgmG`8BY{&8+mShEa-n6~_k#$)# zUStG}m_>}MMSIL}2+Qp6T$OeYK~z2j0^rM9Z$qSuJTS$eU`e?YK2u*mbiPS2#(syg zv>i+&_zwW{B1>Y#jwo(+So`nwvuy6S__PvM?!TSCqBb5sB`UA`X!Xe~og1QhMn3Ks zon+SGhGv5N8p&;7wJI1KM|cU1iSH&EA$y}u>7S9%87(PtVHyd-1mD6xpgtY~KVXBI z;KrS9@!`fP`%yjd85O82yqZu))yUfxmhI|K?Yz}77N?Q(Nb^@H*)R6O5QltsHAAI{ z&aiO$YYYku7@G3%>q< z?~)9?l|54 zhGew-o)$pJTMrk^%OXCPlQv7TS)1@025fcxUf9De1LG2B67Jh>J>(@Okn|rWNYT*D zh-t6J&aMi1$h)KnYv_6?U^St`e#M>|Du43hL{ov_VPsOy7ZF}V7ZU+gtyj9 z_Y~EMe%7auM) zs@FEHEA}^T)fTdg8SsiL=pV8q3FO7)bTlnFf(YxsK~lTQTXv{Ak!I*?>)%jvqSKs< zDT)tE#5D9wzsXmvc)s%KrsNYxp@U;cW;tQ{QWwm>)2(DjL!}!&HJ!y2w?oOIG|D$k znZ5~7oc%G@wk}Q=_FV9M;e_NV!7)s>yu-JIi=m(pEssb}JjkB>}Ou-I2|4ot%(1WrTxPrVq#=+tN*)vd@!@g>)a#NH8UAXwUvNwgLV z$pKQ-?L<_3#`bL)P?Zn{0aX~rH&kpX-uNICCYue0>_wQl#p5T7fCK{pKhV~E4xi

`n@d_^e=q`Z2!T2m@0hGvk9plem!D^Wgv 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 literal 0 HcmV?d00001 diff --git a/3xThermo1xHT/idiBusFiles/IDIBUS_IMPL_Custom.c b/3xThermo1xHT/idiBusFiles/IDIBUS_IMPL_Custom.c index 026d2e3..9b50591 100644 --- a/3xThermo1xHT/idiBusFiles/IDIBUS_IMPL_Custom.c +++ b/3xThermo1xHT/idiBusFiles/IDIBUS_IMPL_Custom.c @@ -1,7 +1,7 @@ #include "IDIBUS_IMPL_Custom.h" int data_flag = 0; -uint8_t data_to_send[12] = {0}; +uint8_t data_to_send[10] = {0}; void IDIBUS_CustomInit(){ IDIBUS_MODULE.STATUS.STATE.B0S.StError = 0; @@ -46,7 +46,6 @@ void IDIBUS_GEN_ChannelHandler(struct IDIBUS_CHANNEL_STR* CH, IDIBUS_FARG_TYPE * if ( farg->InpDataLength == 0 ) { IDIBUS_ResponseProtectedWrite(farg, NULL, 0, IDIERSLV_INVALID_RX_REQUEST_FORMAT); } else { - //DDRE = 2; uint8_t ErrorSt = IDIER_NOPE; memcpy(data_to_send, farg->InpData, sizeof(data_to_send)); @@ -96,7 +95,7 @@ ISR(TIMER2_COMPA_vect) { if ((PINC)&(1< - 0 + 125000 ISP diff --git a/3xThermo1xHT/main.c b/3xThermo1xHT/main.c index bef5508..0599f8a 100644 --- a/3xThermo1xHT/main.c +++ b/3xThermo1xHT/main.c @@ -17,70 +17,42 @@ LOCKBITS=F_Lock; #include "Common/MEMORY.h" #include "IDIBUS_IMPL_Custom.h" //##################################################################################################################################################################################################### -//uint8_t data_to_send[12] = {0x05, 0x4E, 0x20, 0x28, 0x01, 0x00, 0x01, 0x9C, 0x40, 0x28, 0x01, 0x01}; int start_flag = 0; -int main(void) -{ - //DDRD = 3; // USART PD0, PD1 - //PORTD = 3; - /////////////////////////////// - //STM NRST +int main(void) { + DDRC = 0; PORTC = 0; - /////////////////////////////// - //DDRE |= (1 << PORTE1); - //PORTE = 2; - -cli(); // -wdt_enable(WDTO_2S); // Watchdog 2 -wdt_reset(); // watchdog , -System_InitSysTick(); // -System_SystickTimerStart(); // -//USART0_Init(); -//USART0_INTERFACE.SetNewBaudrate(115200); -//USART_Init(8); -USART1_Init(); - -IDIBUS_ModuleInit(&USART1_INTERFACE, &STATIC_DATA_APP.Padding); -RSLink_Init(&USART1_INTERFACE, &USART1_IDIBUS); -sei(); //Find some place for this + + cli(); // + wdt_enable(WDTO_2S); // Watchdog 2 + wdt_reset(); // watchdog , + System_InitSysTick(); // + System_SystickTimerStart(); // -//uint8_t buf[3] = {'S','6'}; -//USART0_INTERFACE.SendByteBuf(&buf,2); + //USART0_Init(); + //USART0_INTERFACE.SetNewBaudrate(115200); + //USART_Init(8); + USART1_Init(); -// -----SPI----- -SPI_MasterInit(); + IDIBUS_ModuleInit(&USART1_INTERFACE, &STATIC_DATA_APP.Padding); + RSLink_Init(&USART1_INTERFACE, &USART1_IDIBUS); + sei(); //Find some place for this -//for (uint8_t i = 0; i < 12; i++) { - //USART_Transmit(data_to_send[i]); -//} + SPI_MasterInit(); -while (1) + while (1) { - if (start_flag == 0) { - STMReset(); - start_flag = 1; - } - - RSLink_Handler(); - //for (uint8_t i = 0; i < 12; i++) { - //data_to_send[i] = USART_Receive(); - //} - //_delay_ms(100); - //STMReset(); - //_delay_ms(100); - - //if ((PINC)&(1<CYCCNT; - if (HAL_SPI_Receive(&hspi1, recData, 12, HAL_MAX_DELAY) == HAL_OK) { + if (HAL_SPI_Receive(&hspi1, recData, 10, HAL_MAX_DELAY) == HAL_OK) { //volatile uint32_t end_ticks= DWT->CYCCNT; HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, GPIO_PIN_RESET); } //----------------КАНАЛ 1--------------- FillMode(&modes[0], recData, 0); //----------------КАНАЛ 2--------------- - FillMode(&modes[1], recData, 6); + FillMode(&modes[1], recData, 5); /* USER CODE END 2 */ /* Infinite loop */ @@ -412,15 +411,6 @@ static void MX_GPIO_Init(void) /* USER CODE END MX_GPIO_Init_2 */ } -/* USER CODE BEGIN 4 */ -//void DWT_Init(void) { -// // Включение счетчика: -// SCB_DEMCR |= CoreDebug_DEMCR_TRCENA_Msk; -// // Обнуление счетчика: -// DWT_CYCCNT = 0; -// // Запуск счетчика: -// DWT_CONTROL |= DWT_CTRL_CYCCNTENA_Msk; -//} void ChannelSwap(Mode *mode_ptr, int channel_new, int *channel_var, int settings_flag, int *settings_var) { PWMInit(mode_ptr->coef-1, mode_ptr->freq_pwm_new-1, mode_ptr->pwm_value_res); @@ -486,20 +476,11 @@ void SetInvert(Mode *mode_ptr) { } } -void SetIN_R1(Mode *mode_ptr) { - if (mode_ptr->in_r1 == 1) { - HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET); // IN_R1 (1 - да, 0 - нет) - } else { - HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET); - } -} - void FillMode(Mode *mode_ptr, uint8_t *recData, int start) { mode_ptr->time_mode = recData[start]; mode_ptr->f = recData[start + 3]; mode_ptr->pwm_value = (uint16_t)(recData[start + 1] << 8) | recData[start + 2]; mode_ptr->invert = recData[start + 4]; - mode_ptr->in_r1 = recData[start + 5]; } /* USER CODE END 4 */ diff --git a/STM/Core/Src/stm32f4xx_it.c b/STM/Core/Src/stm32f4xx_it.c index 000c52a..c455b09 100644 --- a/STM/Core/Src/stm32f4xx_it.c +++ b/STM/Core/Src/stm32f4xx_it.c @@ -224,7 +224,7 @@ void TIM1_UP_TIM10_IRQHandler(void) void CommonChannelActions(Mode *mode_ptr, int channel, int *channelPtr, int *iter, int *settings_set) { ChannelSwap(mode_ptr, channel, channelPtr, (channel == 1) ? 1 : 0, settings_set); SetInvert(mode_ptr); - SetIN_R1(mode_ptr); + //SetIN_R1(mode_ptr); if (channel == 1) *iter = 1; } /* USER CODE END 1 */ diff --git a/STM/Debug/Core/Src/main.cyclo b/STM/Debug/Core/Src/main.cyclo index d56b37a..2f76a15 100644 --- a/STM/Debug/Core/Src/main.cyclo +++ b/STM/Debug/Core/Src/main.cyclo @@ -1,6 +1,5 @@ ../Core/Src/main.c:372:13:MX_GPIO_Init 1 ../Core/Src/main.c:481:6:SetInvert 2 -../Core/Src/main.c:489:6:SetIN_R1 2 ../Core/Src/main.c:497:6:FillMode 1 ../Core/Src/main.c:511:6:Error_Handler 1 ../Core/Src/main.c:316:13:MX_TIM2_Init 1 diff --git a/STM/Debug/Core/Src/main.o b/STM/Debug/Core/Src/main.o index f7f3cd40739172c5a6ab613cd1b96ef6c6e4b3dc..97a6f43b142d0da05867c88ffb4cabc15770a729 100644 GIT binary patch delta 291459 zcma&OcU%<77B<{9Gd&$AD~dTs%sIP?Ip>^n&aS)eI*JJu1C9y`DhQ|;Q4|wq1p_7| zDI#DXm@_IO-*X1N_rBlz&+E_W>XXl@uBxs&RZZ5lwq94-ZYWdQE!xcCA77uYTovvB zx1VFU>y2L@jyqB>o;eC>J~`a9MZ-I4&uOY3{HoSww9n7^ncw4Gem%Jy3vJht zpovG^yK;aEXuPAAzO>Y&v*zUz&8EK^I|k_Mu^Nsw`ie#L<|{9C?z`GV-&HHb-{h`cV4AVPCiG}Rl=PH~O=+JW7>P1_C!_36- zeI(AT;cu_ea+3R7iPJW59Y7R~up?XK%sRe8eTkF2FAJQuhwCh&=!DjT^qg7byS)K} zDD)OZu9A+QG<`17el!v}snIBf(-pPV0lO4AMCNoA3U$G~UkQAa9j z7mDy4Kb%?4f}&~{UDR{@hyutgwr|^;8_9@Lh*NV63dfIPv4Ctd}?6@YG%*U>1INqgzR#clj z&5AjMV;n!E04k*2sOUI;XaQ7I`}7~gIZR_Y0`(>A+7^SrI=p~b zMw{3TwKbvus-S&MtRpp+OJJ>{P0YcgA5}oBt#!1~a{TB5sJ=GlU&xIqfEsIaNN#L_ ziRRkN9Go6kKx?giHXZiH7eMY>JNp-`6ADap)Lws$C?*yVdum%;M72#Sfck3hHbzZM zE`SDV6_T4$U}C6tabrA+sRgu=T74u!jW-UMynO(rKSlg;F>TXT}w2V^+?Q`TPe{|~f4W7jmV9nZhe?b0L0aQpU z7J>Zj0;s6Afm!AFI|Wb)?T0I535E}u1-Sa!ID)bYpvKw<1Z5XM&9#pSdQkwi*0wMsqL&4b zyXcO#_R86YI%;3!IMy19+ADdY!rp4yppTnH-H>jKbM|F@We3l3xz*L~);~pD>(^E>vEnmDJ15k2LOM33u*?Y!oPfw?642NQsBA3(&7FXmZ6u(T6DY(aO(j5vLSmORGC2Q=mJ_@EGWc{TZ1ntP z@Pr9k`}{J<=AyUvcLFMt{9%2NYNwhobJ7O%d~v8|i&L#s6E(*b>p5vUC)NI?_Sj<7 zXhBdqw!5RAlL~?onO{|blL~@T*$qFQlYUhdC%s;Z(YB@L6}jF5h9vjFP^`1A(ctRp zs^yrSleXt#81JBI1B#)xTwB2tWF-s|Cl@>zj&)tDT(oHVJcmXk+n#=~Q0Sn`Ap)a>eBL5RA`BM_FZ`XmvJwRgV4X?53| zN}Nvj?FM=RCl&o7bMkae5eQfyW#>w@8!U4p<<-R{#N93$ZhMucdyY+O2s7(SQHAK( zj(MPLC`GNjK8uZlZyQVX0i^+3u?3V(rOQC3FZ@%F=bVpA8C+gQl{!?a*v`W>cwFDx$#`5Z_vrDsF8k~8xRM`X=+;%iJ6Nv^ z=&r?EMN*lsowZGYhDD{zgVd32z6)Tn6X@z}J&K33_4IVM9%WgnS_q*R>+NW5 zt7DIx3^kjz^?@=JRco$+2KMMZP$oD5jFgos0-CJ#A%kW$%3Xzt z%O31zTrl@8PgiozzR%jdsIRVnhGGD)^2x$ zyrlpXwQ&~^t*ro3wHu;AD_j7Xwb5nZWsw4?khZ=J(YqEvMYYpoKr3DVmEhEjyHHb- z*>3$*oJ@>4xN3CfN7SdP z;wtJ|8Zd@&YQjLo)rsu@tF5Ejiw!lRmT3G_`?AUea9SDw)qboJHAkJ6-U({|o~#mS zFQHx52M=HXt2_#%7cpdwS zsxz3K0M9@1{>N(R3j~x?ZPARp1)6{DhZB0|#o5kfGOTo;iaAB9j_5au z?z|MxX*QzFAB(BPV<$a>=yc&^ni(lmS7Ml1qajg-RjQsYoLohLePwkh&lxK-qLn3@ z(=6R_GIb!uWj`9jE2mrS|3i1)71*W$MXBq9hdbZNH0n1KS0byjmNV7Y&-o8VX*vxt zzIO6CfVCG``>!^o0$vNoicW71{T9>H9Vb)wSAt|1@^UJ;{+rGzyKbU8d~{-;{l@C) zj+1HlQQ}*p;g59E^MBL15-v;Zc)O$tE*6CCycEYBC&yr!CeutznOzqxc%oCTAu&FxHH4TkzY6pXscphC9ZJ)1%UOk2LK=LqE<+(DT-K4>ZkJWG;dg zp?0SAjsio!IKDH`)Fw*6o&TUUtQS;rd~XoLL9F+`L@aHAriR$_ zf6-2vfgHa8L~6Tp{tu#~LJ5nV8u`isv<9<#el=J(pm7BJ2L~mrHYZSgOHqpg1?#-o z_WNeX@0(q}ZaCL5OSN36vu53aWB$Dg{dzi~tSCL5FktuLXE*ZgMQ~Q4Cwv>fYxo(P zj*x(BOhT^!XArKBs|;Kx;*+6Rho8~)I>`@N8ELXjyGcMF-8W~}s-xFS_>2LgBeH}#(as>ZuD zSETtbV(f3?zrTs@T#=r?h;M%r7yTx7#F`z%A$HV-5ia2|YyQHu7ptpby`4{j8X7g* z8o$W%oaCmz$-W@d5YXX&r4bCrQ@s*p)c*<+rDWtU3R!ci)7XLL%1ocG$7CNwE*L-N zzY100Y|Cv}v4XZd(b<;Uvf>48d8D%~yE7MR%NlR@|FqF6JF<=c_@G5pnhEaf6>3A9}8j^5ZnAOk>lqBP5pSp|Dv5T==&Q$tOTOR|3!3nG%lku zz2jbKn_Ua~6r5I9H?XM3G}bdfalJ_%Z)?V6}>eHC%`bz0Nh>9jzY& zb=+5Dn(wl3lLbn?4vG!UjsPpkgEH{b!M_mD+8CV-_<4B*u!MS2(<#ah@V6&}(p^9|pLQxX{a3pcX_ALYRn~{up9}skm8SM_&^t zFzUs^T-;DY=jj2^aB>4aQ2(EcYr$y4>TvuPP-$ZDp@3S@f1S;4Eb5P8)aj#<@;N>j zeDq$oP^`bTAZTJj9fyJ3lIXR6)7AefX~6N+`pAjyzsdh~qBd7@HX<+Mu#~qIpAEWm zIxBIti=M;$->bN`&OxLpZk2SjDj!k` z+7xlf6=o<3voNckIEp#~D->p~j=w6Da70w7TC65(8w8HJjk`^;BLV`G*6n==vgnFzL+kE_1fvg|3a&*w@xkQ@T*kU@wrk03vqITdY5EJ^TB>(GdNp__}5geb1( zU55HP-dA-keW@%qE6NqtN-n(YsD|XHs^#@NT3~NOEW*1Cb5yNXR}(YWF|1kEP2FVt_bloERQ@h_dJKLeX)v0 zRbY7Fxt))YL+ADwkdx*N^ND&?RngTs-*8gV=n^TFks#tZM-yTiew6O-%ptLPIY_H> zWxo>V-s_~)(8K8v@+Ul(fD9bZc{e2|{!!?@+BI@6a|Q7~OCb&Izmil=Rie6ArH~R9 zYB@X4EqO-d1MVa|6H7Lp%iBj{nTN^z5Dl4`jJyhjO(fQxQ60SAOomHbCQh%`gt@07 z1D@+iLn$k9_IXb{M_LeOH0IMhH{&Ile}%rmb3f3~c{?|=29aA|Bx8+x&^2=bF^vr& zeB3ZH-1#4JvBp<&vB+U^XzmHRo_j->hvkX0+hO8qXd@@W^N6}Rj`VQj$(1XW>Dq1) zUB^WbPyT(fWzWaTh3D#Tqc{YABHu&$4och5wPzZ!-hD^DCnA%{b1D7lesnL2V7^M! zeII^wk6A=y`}$cYIN6voUI zW;& zwkt~1wNCuH<)p4qaniP^Cz&}BORm4LP2;UH z{-P}+ZkV&7t@9Ne5q)psN zQq#wg`2|mi`sFr7|9m1@yw2lI#d879=hwLvF$MP~MWe6L{qW6nom87@qSg_*PNcmp zt}5OOc&;Cby1O#nfAA!w_5UJjxzcofGU?u*@HLT- zMF+P3Lxe?L$jq*~L|E6CFe?hvwc{*O_h~C#n_(R1xnwKh10%_N{X0}QB}S9^2xJiP zjL*EAk2mca)SFw7Av{hNwp=D$oHENc{I|5X!E`4>OGB^ zE;ya|>jIfHVk-jU_GRLHlS-<+>Jra`M8e0`r~3{4$We!uf*DYm9#F(Sl9d#?t}0DD zmp+ga7j7cegCXT0v9>Nkti7I7Oi4Y6HPM6IYJQjm9t|g+6E4KFK7e>SMH5fIUKGHI zLqyGeLf7f}pn0T1=}55_8c1R{*Akv}B?BX|ZN_tHvk6mT8C{DbF@iVV1-duRAu0cP#5w5} z$qrdaF18fN=~}c=ZRh%LA|UAu2{hS4)i|;jnJjvQ?wc(kb=rfZC~7Dv(t8jl!r5Q; zU#I&6w@CKQ0g|##pa5P+kg>8&=sLzkJYz!W>fME|x1JN{oB^cG9-c?$)gr{Y=}%Jh ztT4qCu<@9MKkHo~h?Nhmr>W zCUhTL3)4)_Em*|0Hy)Or3w%g!#qHDLKK-3+NAXv4Y)o@Ly(wb;HpSN-sSrJvGl*0t zYe=A)vjzBm)&PG1$rC)q@8rbvs>FG`EJ;;z4zbb2>7F$ssi88t+q@`gZrzBiZ2FhN zh-prbX+&8)jsMx$%+hmyRuY?mvjuu?)HuRCnMOXE&=vLE;K?$suSe-|^~Ww39vQY* z_1v|N#IxZfT{FhfgZq?32HHDkeC0}zdCNAU{@I>_xrc3Sp8Gz4uBkbwAv@R8OrGvQ zd)9MbF=^Cu6R?ibbKOsn*l`TZdaivMxuxk#5%;!|?>ShzpdSyT$Sylud;dpN?PYS1 z!=TBl>zEyA3zbG=*3bVDjx7VejdT+s_Km&=d;JbzZ;S8m8IDvdKVV%P$OAhJfd7LA zVf&RIe1#g}n6*zJFyRYLMrY@tnlhgcr9{KL$62FNg$QyS0_J9|j4zN2i_Rmg|4uPTVgShKy*eVj$SgWU*b zE(GKWwwlJ~lWcbsw4Gu}w1It^X+FdJ8CLEo#3NaW7$DCw+dCBJSoLRc<~%DbLD>cN zM+mfBWOZ;Hg1^L0ZHM{G%zl;{_C0ph0AeiryAxRNvro%ViE*rSG<3%^w>(HBu=or( z`hY#058V&ho~w{cW&t#!Jz|5gn&;Em+~%nDr|eW2XnD>S9)Un6^QYHH7AxWgK;LEJbfw-T&{|_t#sX3QB-w7PGN@MqiuO0dv*E%m7 z17CMwXBew@huUrctA#a=lU;XU41CwS(u7;6JOB#CWv_sdYKds5q_C{-Qn**ezM>0y z;ZjzN8ul{gjnQ52$?9N-k6*>QW45MW&5TIK@M~C$j_8~_*c+Ogp?Mo#1N!Rv`-swQHC_+;8cUX9FsbQw6elujO|s))pT73cu?VeB z;dG2Ub+2?nJ=JUG0u%M!ZlQ7;?CS@O4F^AkAB}EYMLjjnPrVm(J)!~=0iN_F}CmXv9x*c|w*A(viFu5vN zcCon?Q5?OF{wyP}^_Q44kjsoBDX4@` z7~}cEEDu%T`ap;K;`_7Ub=k6C;AzE%%j~Go%7JB2ku?epz_re3BwzV@X&8L@CTU1n z@h!$6gUGkKK#O$us~%9%DS=i;-5=FQXnoSRU{i-4V3B<6eexyO)Wm&x9gXuKY(_2Z zVq=3K5yU)-pa^D5v_KwWZO=mPFdJG2R>IgHuY3e`gV6f1TM#cB5a7Ia==-vi+G zRaWOCf{tQcJ|mPkHh(r)?D4GMJ@6#3HhmzU!J4dvpP4L*g2`fw`+)TeYx@TBIc(Jc z82rlm-Uf1o#;YVaS89@6p~h3=I|#@vnpUGw_-Kxwg)(2wG#vzXYl^1A?jB9Ilc4R@ z#Px?vW>#t?0QlS3v=Uh~j`@r3}@7fk;r})16PoP?d4yRSw zSX&7=K6U+6@XYv_4-Kw~{AvCD zKp)fv&cp~s_k#7K@U{hbmPi5lh}BzqI03B3jCaohdB)hT7VLYQ6Z-(#WWEyntL-0R zDU@4CW)YaE@F^^SWW5=Scuasqa|p(rd=ZB5;gfWcTUoH+FJtqQ1gS{tPg?LnhkN_T&!)f9JD3c8`&t9YUko$Hor`J4cn&ZO4{p2)X7S%7o~Xi zYKKry4%M!vXBDe0^%&57?fLpp6R#bp1(cxelZYZodyZC)544{=5q7fn6s@8kX&=%$ z?6LOLc!;NJ18<>tqV2d5mGD%{_5ymYO~cL*pP^luqQmpg(oSH8{GwNf7Uj;1t>?mQHv`5s@+a+h3{G` zB_DFNjb0$$Jnius;QXnbH3I=I(fv#Wr-x3zj@F;cb*ar@eueJu5E%5-T^3+sm9E<+ z$gj~&O9SMkYeWOsI^6~tg6nnNenOkK?(j`i$wnQ24CXiK>b3^wX5Eb8p!w+BdZX~w zg-|lVPdDlvSp0R81JDkgZvwp7smsN-0&fr0C6<80yL3(NLwAU-?*?FZ>x!i!-o3hm zlqw9>HCqLV{kjgbVB&zTaT7p?bWh7d+hLuKn$8hj^VX0%s%zZ_$YZ(<<&z zs@qGmtY}^LFF;5vaX)6s1k3@wSeSxq7EKxZFw4&_7Lb;`d!(hb!EO3~@*&628XiDQU-nl9l4 zkWY0*v4O}x(@i)BgBiLSV?fK)J;{WLY+Z$sK)%q`EDDy_x^vB7>5XnKRq#7q^`@wx z_qw3%u<%jWxiX+nx~h~s`J(f*-+*9_j_rrGZ@N$%-{HUO+;CQi|Djv758Co{59#f( znD0XiizWPoEC?>;PuWok%lN!@K(63B`l2pZ@+B(4?ke8U9&)SsIWn|(@jGgPb1nb( zdRSP`k5o`>;C&ZEZX@4&ksY9e|N9Aew(xByz(pUvOF77I<(JTWdmA6=3Elquw*KJU z&ih=2hdcS1mr%h0e3hYK*~O3Xhg=YUj4C*UUquPX-F)X;fI|7mS+KN^FVO;=2l(pI z;5^9tanN~~Z+{S5_Iw!MgnCCfZz={8$M~4Xh&O^amPHdf!S5*q=oH`K2qaGPRcVnN z$*-`$!?XPGKT#LwdB;hJU*ONvi z%lCmZEA-iepme2v9KAhO>EC4{?A7`W-Qn6=eF@5Wt^*eq5xmjPb zI|S@o^t&l(=c}Lp6Lz=in_dQwpWfXSYW(%d`3Ur`{(Cn-_w*0E!5OFjpn<`7{ld+l zCF=ie4uK^7=x9I>^?o#SPu9<&k3~}SPp`w#$NGjdP^9TARR=9y?@!sBr+U{W@adUd zUx^YD8G3zhn8?(Nlt;`>KJ7j_LtG?@Ac=1hNst^Qz=)WFCgn9ZyjqxP&_1!2#v{+bN9)*XnpahUh1$!D! z;PZ!s34}c?^!*GIM}$d#!^BZxaT2s06G|l_-s3`#o-lYq7@rI1q!3U9c25fr&%?wS zLEj3&X!QihDB(v%a7GJz?UbfOc61l) z-VnGL5MzXTlrFj@1W^9vj!=dk*ImJH4_IP_QMBm4FASxI7%y~cj3Pl8NwfbXAw3Jw z1HoI1%1aikjiKd{FqkHGkA=GUo`_Es22O=*>B4m!ndP4df0m^F_grwj3@}45QgS|9 z@OVs>FMJ-3;FG3zI!oCR^t03@Qh@%#m zC-kT8|5FHG0+z+%eLI|4BDTE=XsI|Y6OJwu1Fq2gXN71^hQvzo@2ZekB`(s!nbqRm zASm?`%Tfkot*AGlzSfK7g21^!T)GJI8^up2A>a_3#h}|Th7BL|Q;+MofsN-E0 z2aHD%C3ZguWVBfSFwEZ&8&MANrnu)D4!rZX#AGWh-4>5lMsZjCXB7gyC(h~sZTH3L zv?`1f8_Y+MC_Xw3!6Z?oWxzx6FB~7_lf}}$F#lN0NumlCb7?#6iMT!jjy@GXlj`T9 zTS=;4(KQ0%S)%(NP@OGSpfS+?QoQyQ!MqYj;2<~uMr=47f^Wryy5M;)?(B);gIKEq z{Qe|{)I?o;7RPh~@~e3F2y}lFJ!sOCEAFRU;SaHq86NIER~~qqK6b21!$?X zjGEzb=P@bdFX)btOthDILYlQ6u_Q=$aa@{zAT6iemWPrr2W5|>9xtIKMJm!Cc2lM4 z89=5<)9jS7eJYjj2f=63;S{LJkj}1!V5T&FI&^1C>mNYkg|w*$kguimeqebc9linR zy~L1N-5_tG*`2p+S_yH7Y%&44N#3~?a$Dq`Wg*}rkG}$eqjHOlK!(dz4YdD#T(0sR z^%Wtv9|?y~%5QPzl|LmHr!I3wUR4vcNI4#-cldL1s}QI;FOR1A>qU9{4p_P*M}-2q zB5$RA`m3@_TX06pJ1FmdO^$gDpKi#zDeH1mevVTr{B5}$t@7^3!XgR%FIMhI2Jg#b zzX2OB=g>w-f;_G@EG5ZvaT1z;Ag}RAk`E)9&D-C|f6YOiyp;?84Q=n` z5lJ9^klV&1m``%eSFrS1&g_ojt2|;2if{6eztIqL<=gaS;SafLVQ~J$S1Hh)FNc`}rmgC$hi)dtW$C7YHB2b4W6fjp=fHGmE)HE3}brc9+}?NOx$Wl_VG zEwm^+uFRMYXCjo0y0CjvS@sy=o>Kf%@R-ghc5NKWNX73eu;-NlW5Ies`I-dilEQ|A zc3Fvx1QexAO-Ic{D^;TaT~{`HL-!3Owlds~QEmhQx}|)$3h0iKsKA-K%3t(WiB-~R zYw*5OtUr8;SNfiSc!HwR9zv4Rz`hUQ1Eote$mc0}VNkYQ?K2t0 zM%A09m=4wT65`yXejY~C*v)D)oIBySs8`%z&_^vE4Wh5QG9D6J)#iO*!cUz)5Rkvx zr5wE2uGZcPpLVEwX%W0rJx0z1sOkjB1*&r@1KOpArovK)TBaz9-Re7tf;&54J;YD+1-Uw!g(@VFhN#Z`@(bO@m4L8{zZC$Xo)*FIPW{B=UxLqpvG&!E#@ z?=B^l>))OPu?FsoA<(dND$F;UUJdt+J@4b%WY8g~YdRPiR=(M3%1JdJ5e{`Nu2SD? z)rZ5ib(<>C@JE{u;B0eYCCs!P*AtxXSw3*9OOxfm4_pv~`w7=*=W#&_56vESR+_rg zT6VuDif!!q0PyW(gO@`=Fe@JdWGEBp86ILQ^96|G|7xMe1F)?T?$9{uB{ZeoKVknLap;4%v2qAVF_gimLMQjfrLPH0dBEcWxlpe$f72@+M*W#MBTV6O;|Xu!rfM2eISgkfa0NWVKgiy3rCkB z`bWa^!cdwbxRLqC!XP?YlPdK87gd@j$RprPy09GIZ(?4(l%D-l;qN!l@=QoQ2pT5Y zv=5&lbfm;*rtqCsL0N)*4%y8X7EwO@g)o|ybT5TzRQa!jPNP73EzBzh=#8)pM+W(~ z!nDKi;+?Sc1C+iOrc)OGgV3}Uy!a?|qJ7m*!VEfE@>!_(3<6(-R2Q)12)!$S<-4%` zDT-WS1|6aMDO9v4KzF|IC+(*%7VlUgxI{ch@3Q4$H!`tORIZ@#6jxRRZMC?a(pqc8 z$8KQp5^eWETPx0^Jy+O?S8;*L5<7m#jQOu&Zr9&+G1mc@So?6gm zF@BmIppSTgvJk%FMDlH`=!4UUe4seM3&k$+XE+3d!~}fw$Ontvu(QC2i2Z3e+$~1* zguy-H>0;pAD~7kH-YU+aROvp^PRX(TqV6pmJs`%?%Iu&xgJz9~#4&Tga#%dnfzE$~ ziMJ>re?-jb1?*9AOfm$+#Z4^%9TWElLFsYPdJ6RvAs!MC%n9*9J19LVHlm#1DNz># z^QXl_v=4AbTtzdFNbztLO~j4N;&p_)T#EzChz+#LAQmyd|zl zhQZt7YVz=oSjGp)yJGu_DDH_}#v!CwaWd^Q-xpJ9!W1W-?gF#+cyVDxlnLVVDd0&I zi{FIqBr&2G1Rsduloxs^+UT@jveLdz4e6D4h)ift*k_Dt-z1DwyrNEMtJ;zv59k!cr|17OV($8-g2w%G4BoOvO3 z_y9{U#j_PbdnGQUmBVY%oz7gn5f4+%z7_8mhSGQ9M4FDg7w^A@zz5Ml8@C_D0eS@b zNnAVzoS(%`G(vbtJ?WH%k2E?0oZF-!m0-_LvU}0?nZGon9*XVK0~+UcNYUL8+D_?j zKgb727Ro>cN^|`nu}ku(2sJ^{5qcvAOC@Te2$6=+*@N9u_30?~NS=WZ-z%MI24$gA zD2?v>q$lTW`Ql6c5GsC2SD*%s3H`jpYsN`D_cEhEwG~6ANj)%eE zajDZ>sELq@(H_zXX(aXSlakjfAWunQBf)uEnoth3Gg1i693mydaL~?5+)Vg%PU;we z;=J^-5DZ(a|EsFE8}_*1ltn^Nf(crY>2d3t-_lKwgX&f5|)R%nRQ7|NvHl@j9N;XUbN zGd#&yY0Vm_zAtHxOXz=blJ_&1h?iD}fHgrXe;ZJult4<8q~Km)eIQwBXZ)e`cmvcV zOU?fU@{u%SD`HBK_R|^F$I>R6d8A6uzJN1L;%L_pk%|m}?zfVIj3RvNbNQNnIm1nH^*2JhR+A|O={E^ zb!h)CMK=X&t`tZ~>L1e8IjG<~>FgVL@l)!Eqd8b7J{=14i{&|G;NcQ^={6|!kX?@f zxl}$$EB0mb&uDNim)9o&S|K-F4J|9>9s%I=lxxuu=2h}aTJx@!hv9=)EFp8LL3r8a zjIAK9m1{=;yH4JH8WQW};|Y-8AiGXNeR<2nK0$D!oVggB4mpbE<6Goq2VluZjyVCE zue_Bqz+2^m4Bcp(e0mO?@smf8PJel3ZA7+RPCSHShdlisAa}|o=~PpIY@aY4@`3V{ zB>;EHNeM6!B>N77wqQA&))67{lF_K3-SXF#u)9ZYLPwtW%Hz8N3YDjCf`|L$P@2~7 zm;J}U?E~_met-_jKdHJ7$@8g;9hR>wgj|?h<}IKja&0(@`U`M7R;ZNchchTlx(A;+o$Ee-awv_(>FtDq+BE!a%W}#I3Ul- z|Iz`M^Ku6|7J5PMOAFzPa;KHhc}X5XtG&ze2+9>-kvB%$;ptV`i_YLh$pQP}RJ8o< z8;Wc4T;v1!>vI24KsV%SU0~v-+|?f@Zp$O71>TW&P%{3mtOlSC@5zk%W~@AS3OMh} zpXo?loSa27gLwHColH)UlMcXMqKx@J`j#Bq4ClYFx=tDa>_hqEHx$WopN>%TNIp3R zYEtCSlskGXf55pWEV)~|!hD*1ZaY}g<@mLrJ&|)M(5Euzg&>~EL9_+@T)z1T@n*xP$gWE{+Vn9qaL`bS&wW+-xsmdM#fx!tXbzU_fu>ryEeb zlLz2b1s3Ng>5SC}Ii(D|_$a5)*!xL-LVM(& zA^5v&9SMP4c_}^$#lrpSIw0+N^6QFl>ZjbBa`X9ekEIY?thAtW3rm!4t5H!NN>E!! zELFZd1VMith&S_$YI6+>Q5DYSI(+Q)<+QZhxhG5{m6g=us2_ z$`6{v2P(tpp#LrA$<-%^L30H#mg7uhEJPK-#D|vKAC_-66*`5>1 z_X&_csW>h|;FNNQa+#-vHS^v zi%LU#Td-bI+=4*7tV~}A;uU3XaX?p5>l-*IbQ*XMf6k7#H?<=h+tsAGzYL6mbSw7be z-3dy{1qdc8K69WZNqIq=$`6!1VUT~Qw9kcLvNEqTSRN@&hQMHof*nfq3Z->(u%s%- z&7h?zb!$Ocx^iCv?THdddzMd?FO>Xzro<0`+;gQ8rNJ|lHt`V1RHjs?^%-tDSUpPFsU@n%90+)*CnzNv&HB&}Q`$y=1ni73dU?k2;ig-+a}dbzyg_TJkisY*S~B z0n$(PYXAX%btvsHZ&&Bh?0bhgd;^s2RKGf4A;7MlQD8n$%^it$wM(r&4m?3>h%b=A zYBP86gs7W-0=ZjlK$DL>>e>pB->Z6Ug+QpPp8-qz)F*8a%zpJXO~MbTezZS$P<>0w zxI=1(8(=xC{#*>#!qnt?&~ilWZHLaIs{JU9>*1=FGW^F>sTP!;P~G~2^`yFic5qIq z-9JI;X?5Uv6lc_@Dp(@bApuZxR^49)b#YE@a1h$gt8-i+cR>yP7j<}1O-h5#ORDQ? zcyU>6OUEX!sHWi%zp7r}1%W8Fk-Y)RXmw^QNL*8|ya4gKI)SEFH`Iq6;P*{6l2&y{ zR*~*o>f{OFysb{7o$)(rGaHJ#YH%W0?y1EZqPk<%?Q}r>zS@>5I8MF)0A9qa3(A8t zK|PxZTA~_vAIg%{+zECVe4u_k2A+p%6PolSs}E+Qc&rxP55H5@_|l-Isl9w5@l^eQ zZ>EseQYwM=TwO;aTb6nu3dn4A(jCaXQ1J(q&|}nZ4tW1Y6~965t(w{kaeh!gE`+_0 z>ilGIep1VKp#9&^>K+=lzNlpiLoi3}MU&z0YA@Om%vERo12sR?(|utnPxUgx(oeMn zrRMY1LOi@!Y`9C=;U$LZ*8zDLBG z*6wF8rGv-cpmamA-4OW{*d2xylc0O2;V`{<0t^-DAYPy$kd}J84EeNS9Ap?y3G-mX zTH2HfF?1XZ-MbAxC||$F(AfpWUPDA_6rqN!@eto6GCd4VtG7pXh0y zG0cAp&PantCUl=QTo?yS=L})3A#mQ{TNo8|!Ekan3|=(+#lg@e!`trg{<6WY8UbE0 z3?_qD4aI0#7G>xj4Z&!`%l0U)84l5z%j<@pw6%T1Q1d6W-897HK`zEHVk9ixGQ`k! z&}~C2$`0N!d|wJncMYxIK-oP*W;^&4Yp6trn(iA~w?+|XFuemU-Z04?2G#^a;r$3Z z(O|y-HA#jFRF}zyP}(?tWSC9uD#b9HcGw;p?45v2HH@AH&NRc;bQDhwfji;aGeb9L zBG*ufat?0{!^2QdZw(qkzB5?pHTK>xjuHtU4FAxU=|@A{A2bSmGCXvF{AYt$8WLX& z8z_ODWAF-u7heriD?sp@A&b&5-whvE1Iji0pheaXgB*Y&&mc@d@zd~)GW7X|8|45k zHpX6uz!IZ?PvUtG<5AjCUurZ`UUivKr9p4Gv3C%y|5h0Hc!IdnxHJKwc^bP_gZrzD z8y~}q)kgnFAia$J=y2XzV~ajey3W|k70C6*JrlsP!PtnJfVZ*SXwWtq-^@Zt4r8ak z;LIlDjYV)~voSFNI=2{;yF$*#7(WH}e2ot5V%hnv#y!V@-DbR)2MIsp!e&t8Z!Gr& z&~~E-P5yTn<0UBFX)H;nxB`qV=~IwEV}Ck;y35$PH^hUC$<-hbY+OsTyAWeOEl+kE z{oUbqsIk&)=-g*Kz8lbfW3UNw2aGLCgT;Q(__Qm$IbM?S>pwIr=BzREe`YN?Z%OGI`e|@5#=l{8b^(X-Al&386aLZPJajJ ziqV`7pROAJS_k0ziZi|q1Tx+jKu1~<7EqFVcEYwc#mkiW4O-Tk)ECtM)|s}^jMdweehoYuO`{(Ga+t==f=`=FuXKoav&pYDiY=zj zv<>WInvw$+U(;yXX4z`0_z1-|Qzsf&{Y?EzfaY&HN=b_Crpf1FaEEF5R~X!BYDwo* z0!)e9;98(bKwa4RU8b@$RShy#q?2&Lrg_v_LQGpI%f8#hPeW*XOt}{zxYzV43dm4X z%6M?@Gv$)Nep3!r&;e6Qe^l^6)3g+@95OYe=5^TgtP!9v)4~W?IAZEv4|b25^t6`} zZYsGIvDlB9cG9SK+$5>MMwoJM0Xkv&NbTdK>DFVIKV@p~3pJ-rJN|@gX9|2eXPQrE zMv#Emurs)uN z>vmIIb+~cEltP2&O;f{HfMQG);vjg-w3AjjcT6{EX?oWbvk%2R)AF7Wj5VEY0&VwA zrzjl~XWC5%dJ;{0zrfKXQy*GwJTN_{Q-Kdn?K?pr*;LsdoR3V!+)-UArV{j(^<$I0 z-8ht~rf;-MmS&nc8lI+``q5t66H|W)jrFOiy9M&kOqJar|J=mr^ht(kGrbQoO%dlo z%Q6{gM={&fk;d#7rgQWNUz#RS%Kw$=Nh>(>+N4|p@{Oq(b{YA%rmFN&(>s&FPU(sF zrqp+E>We9@E}Y3R4WQ)NSJTB8Kz=igrwaOR`dkwglxupj8?OB@^`)~_d8VtB{`qOz zLc1^drhO!^*z9`_c9)pv(T0bIIp-s2OU=Wn9WOKg`wYmH=Hs-M^)zeF()(|fdBp@2 ztIZuLE3?MDyCNjK%)vCJSZn^LDynpyc@ZTk)|-RrWxUbsGX%~!%wx6yxyhVIM+G;V z&s%`pV(v-laUb(OH|X>=U!{H0t>zchDYu#H>j3$gcb)~!-~1#Ke{huFZVvqjr2*!3 zv~L|~j+a5)WnO<15H%7mdF5fy?9t{;G)cT+u0iXfo93^y z6%=ExL|yHc`M3tHw5T$onm_sx504>ry`u_1KF zoA19xkz~#p3V{damib_LXb!=CC!cKgs}1o-W)I5Orr6DAXm{?hnRSLls(CbhY@cSX zoCm>l^H$nXdSXU41^vLhVJp;Rn74KVGSgg*K0M1Zn{ptKZ64GSv=?UcA?SW-&a)xV zSLS0oVDPnByaectxo#W8`PS?%1A1pJO=m0Ko9!){K+Okp_tG%`(R^$tbbm4z%K(U(F6$$9*#&aK03l3} z=sOW#%k4afZ?%l2mb=Zegl0m1mS&%wXJITO=<~OomLbLAMS#VnB#J;wChd3bvZPC> z*&xeLT9pM`_ESBFSf)`Q*=@Nw@e@pSjN8w@}R}129Sp= zi|Ji~za>MXR+!~adSM>1EDfjghes`&Y3&hiIj|f~9kV)H!82 zzZDXvEnRd_bH>s%5y(i(kFU^n){;o4P0v~8(~R@Ho;oCCf{y z^{bY-UZ6!;+7^XR(U#g+)Y9^8l12yM?^?!E+V;Ms^94Y0mW3%W5pQW$1$GlGgSrArw5%QvD9Lh@8qx#H zdrDeAv~2N)vSdpUIt6KeWYIl<-4u&yJ=8q5te`Ip(k($|AfH(F(;nYb3)czAXO@NA zAo$#}j*f?CSO(i5kZHMn6}q!5$@GfNwzSFx@|C5;eALrx%XL~+y|EmjN!nXWsUBc? zXZaBU=)L7pCusR#w+t_dYWrweb^;QgEN+Q#>a%4A{=zE%#gf6ne2&G3BK&S?Mw#?n z%jM+=`-dgW4{~{yivNK2(^7?IclnlMv;(%-nnL|&iM1(ZJUy(Q^jw!(r}jli%d8(8 z0=eA!WCgrfWwrMh4Efd8ij-|zWBo|!YA@@l8IV|Oo#g|i>#SM|)Z2Q6G65T{4JmEx zum+6==O*h{BaoY|S7~J1VqKU4q>pvpP$=`Y_NKoSvDNBc3*y_Xcb37fpY;{3b^NWj zsN-z6&b6vF~hBAM?n6VwGK@gk6X>9ARl49F%kkNtX+ZAVL{v(|80Yn`+1cZ0I?*1dE@@q)G2cR&}daVzjA zlle>5ZhwO3vUNOdxm~gL--9TwTHjMXKgv38DRf6$mrn+C&ANXpbYHg?D+l=-);2y6 zxM{tigBLN@??vGDEo&SysQhhfpKj1{$2#r^kaw*`XcOh0HJkE*vDTwqpyj@`!V>(+ zK0eM`myUqPTN5dbnqb|u3xbK(xqm<~$r`=`f)A|SG66lb&W(k9vQ?T2yN|2~=noI1 zSci3h!N=BI(voVep8+V%+U+)!rCaklg5`;|7H!HuwFb>a@yt5$9dtgoeyI+cJ;SOc ziA?LYmH=N^JJVVBm)6@e5YsDbd-{79udQx$;Qx*FavRXzTFZ__@y=?XgU;`*Qz!}b z!8)-oV)|%}=?`U}tW$Qv#Aj>PYZ&}u-9^=%W4(18kMOH?;T}NWtO+!E_-?lborJbr zYnCSr{;+mC3!Xgd-?Y{6)4IJj?B-jmnxT8KjhXTAme^7#TjpW=L0&Ai4Xuj0SY|tZ z56I=VCo~;gVH;Tmw3W8?l(P44YmP3aK_tKs|h^aXluI&g~O)c56bhKY@Ret*=%e60^(b2!KBp3 zR-1-*U)umWgs|0ilXf__*_Knz-Oo0{`9*_GrU7QVO+!0EJ8ZA)L!f4-?FX$B0&F8` zpb4~np|eE0Y|17;LAG@iZ?Nr;GjJxv*3}1fvD+4L3eX-~WBR&eug$+dw1nEe%t5iw zR);>V+i&}k3lj%yHrjbRXbYngSchz(mtp9zEv_=W2(wMCP4Dz0ww?Xq=}}u0ZN7%v z=Fdf49J9@%zwdM0)~_Q>MA(u)K>mcSVj@hOv}HC0bjtQR7UHLEUveRS#lfJWM0 zQAX>mt!yL6owEt$q2;`7A)U9pVDtS7fy=f=)N-%bF2&RNm#en6G^LNS?SBBlXqyXt zad^$#=H44h@7VIP0Nu3>)FHHc zwz`!NcC0PT9ngK-4myPsXRA)FE8dn(gI3?a&O>os;zJjKxwv#+u?7zZ4v#+m?yR!^`QHy?P`B0 zdu9tUf%e>1k-mD!u$5X4)tR<|RiHD=c8vDO?b$ZNeQ0}OTfGp1FKt7LAhcJul2ah~ z+E(Kz1mD=o)P}aVwnKUF;+^dlZCSs!<= zH8OK$K6~%I+OD#!SJSdA+h)VGVVUJ8~2`b?(azjZ)Ev7s@5J|{@O)!jx86w1Ih8_4`~57vHV5aicc zu(BzHevFYy4_!}2>n4!njBr{9dNCR)q3q3g*&QN23}ppczKk#lU`{YJt`PBKgiz6` zKjY0F%uE2oF&>hE4A*R!ILY|_Av_FW1b+)&C?k)qpfHBD4y{v+3seOc&ShKuo>54JIu{tXMl2r z!7PX5RYnm-Xmc2M7lGt5?$M?{k739MSU%$?BU%NFuuF4s|6OBz_$hoVWW;MBTEtjd ziR+`7F-d>Ea-C5`@rWCYRw_6yVFav!`J0R#l&vjg>^}j!Wef?O04Zl&p{lY9#tDkC zR5Fy8(W+uBqnfE(jQO-|u4X)q+=$I>#>{+pQNuWabFx;OS_TR?apN(9X}ey}*zE*o z8W?|!p|g?k3~hFr7@KloqM5O(6t1-}oM~m>%J|}Sm~Ug`Q2E*&hHV8%J3|@;M>`k` zUW18FMk-~C?lKfq#?r-zY=eb+jK?oPKbum2cWyE|6 zjXuT)dcgEE+LGwTV;t*&;sC?W2+2Xl1-j%%8Ops-7-JM~fu(WArY1;EFe+QYn`ERe z0eQq|&Ii~OW6`THIL-L#L$qcXMi~@lt&D$vg^44~4NEXkTjodtT6WAAX%TMEEGS3I zfvE_B2}kBY5A>aw0;*zlX72BYGcL^6wqV$<%wRUiQRWpYDt2SOSOA_oGoBXc9?bba z!HZ+e>vKUonQin~KhFGs!Z2P;>-LY)^k#0M*OCvjo(f5PnG7l@Kfx5f01ZFpbKL;- zXBsK39l%`qIV=S-hbZjErm>{>9Pg5CLHM7SEUM-WE4rl6^XDAe1&zvKGdINLQ z0y=-z$P9Lc`6g!Yujp-NencCK7UsuvU9~c+Xv@~dTuRG^JIpzO@Tr}-nWFO@%!nVM z*U7Zm21|FDKmQKBF6O>`@a{2}Jq0iBGw1IFubX*E3g{l@p=%I%z%0H5yk+f55pGX07gDBwnrWb`dWN|-0D7~`vn{Z2#LAjnfu=3% zZ>sdRV=Ya9L3>u$S{QU-MNlP%BWqDJ>^iZ&HNlcIi$SAsVfE5+FjtlfRoES6#ZjKe zjdiL33hu00+I4%d4ktkJ7|Vf6t_3a`X{|ed|1-IAmhv0 zK!J!8td1IV`muI31KXd~SPSz3tXg`q1+x5TzZ=A2%Rz!!$IipjNf!S{=!LM3Z2)K} zD=7_@!dMX!kW;MxRYE0TX@{H1@|%Tz z7Hcm>_p@1t@yAg%S6E*3t6gPHQLS?hi#G=(m*ql9&^*@XULg6b2`;=SVAXvF^=qsh z6eucWHCI8eh_!`c$i=KS8Cus_tAi;1a)Wh~f^H?O*dH(nH(9n+Q&-ALn*w$jOP7NQ zE@!1Q1FeD;auvKvRu&T;R%zp1GEV;0+ z&H;=o+e~F>N7+7^@YjtUrUY?kd;JDI5B3H-kYntn2cYN4Uh)_ej?ENN~2w@|M?ERsDzMb%O4b@Y%w&CWD}M6<=WfO3Yt z-ue{o}Dm}z%HjePa-?-GDs5pIHiZrvM-baCYc@g zDqzmBAE))_d3FgsW-qXL8SwWad)rx%6!xYTC|qJsP#iy%y#e39vboG|raemdmA(O>6QQ9V(&3PQHE9{GOChIEuZHi3guw8bbmCJ5VfERh} zF{=E^XManNv;uZ9#l^3&Szo|zA^W+9;1#jop~J$(?4A1ocAfnq1?g|F$9k#$tc2ZM z2F07~f_oTYDSLMau*=v^6c{UKPw#>k73}*f(5hq~Ov7|lu_q|)d5g`VD%5IrcP|uf zvvu_Fs$qY510uC-+h!Q7V;9j0#(MT;GZY%wHB?vF$X<943Qg?MR*Jtgvza9@-@;!0 zE6`fm7uaaEv45ts?04Asw=LXw>_=3W*ugHK$5tnME1gle%l_b7kS=x+q1|K8P?5-e zHj}dP-E8}3L3-FR6cl~H7Sp!3m%Z>KK=-jMbP-M!JlTNAQz^SFxLm($`F<^o? zKT0v|V2%qtW>0cH)&n$zbMQJyDCbSe5rlD;F~K{<+5Hyu!Z{q;1V?a!o(6U#M@5xi zQJj(_kkg!JbP$Q={9Xk0Go0*qL1H)ytyF3j%UQPyzQu8V4}fAkXFff)5;y~NZzgg! z&wwOx=FmF*Eaw1~>m_r}oPy*zPS;83o#z~kLFWZd&rQtJMb75u;YA9^N>v({IPMgb zN##URwEHrLoeZ!vPR#?5bk3IFDgKhdi7E%lbM~4JgH&Rg{Oj z&Z#d(=MB!A9FP)DN-XXFZgTe0cuP5)V!)JfUKjAMIx4cP;`p8e z?-u7s61=G9lpKep+nk+FAT^xFD1=taVZ?*fasH-vR6XY;o!xEVd`3sI8ac0A0az2K zoxZl+$`RqyPga{Y&U>4IeTQ?$2h4WP(G?hd2j}fYn6FOGToFX?a@y(X)y3&30L(qk zGJ1{P=Y+}d8+LOxFGQ<{Q~v{edcc`J1=7oj@P_$5j_4r3`Z?XRfPTn%Zaa7boW*pe zbCC0D0-&u!oJb0C40E<;WA;WkztXic%6Z{7I>$IJ8!_H-&Wm(1c7k*F8JM5sy!{e* zk2tdTz?cc=idd)*CH9?q76b!Jlir z(gn}}?#>NB3*`Qs1&tu?-8o@eHnt+B;ioZ;5c_o!mHuJqK3<*Kb-pmE$5 zD(Q>oexC}_1g_B!po!cbT2Li%=heXAS#G8uK$E!>RE>R(%XUWRdG4|afL`E+{fSAq z$PLQF?~}saHxF)K;$EMIdMfw1QSdHvQy&8_jT>$QUOKmgz8aCi^%B$lm&qMVhutjh zjynL&<}Rg*!YkZW-@vC_?r(bN=W+kO0l)LPQFIEbfIGbeBGD z?~A$K+kttV+cyNs8{9{(@UVm%vkUg-8vT)dRFzu9b?s>bTAn7pUjP7sGA? zxBb7xCHH%JUNmv5X+hJ>eV6uVE!^+YA=%1ZH4CsdZjLj(|L$<#p~O@>S1ZSSb#NzW zf#1m;H=uQw`yJ)|ySRT)`RYCH)09TM&yA;pncZCL5S;1Z&d`^PA8-?1M5~uuM!Y`m z#Xy+v=RQ3Pu!meJeN=dW8}~U34RRfX;0 zs=DlWr|9gxJ#Q`Tx*d4iY2E6`6aE68la==&?Yf z&QRX@&G0*n_d_aLr+D&z!3*aVXTYZ@-WWZzPxI!{IzO71*@D&?-e3y`5yShMA|J85 zH(!S{alArWC&crVI%B!Hr)@9!JOQ4>{E1_IWI?tN|TN%7`stC;F zJx95iEZ)OU;aWB?(}Qv&S9o?i;o?=^v-Oyh9A4^O3^bQFLX()s`&mSkej^R+ZbReFQOI- zWxT>QfG+2`{XzBD6}+ffFe`b7*THTTFY+UpxW)UM;>FcG4&8>gc|MN=yN1`@i-Fei z)=+w@jyFN^-g=(#E06}>zqFHR&*;TDA^Kd!Bii=RcCN^iao?X!LO zztVm0%dbyE>jZxeu>d~3SAE2;NHou%g;8*xzXDHKgl`oz|Gl&1XKbX1v zbb8$7@n56NT|PhN3Vx>o{vAC$yvE-s$6yNiUD0r@h@Ve&WX1d)Yaw!-{}ENo-{AA; z7BAsHOYhX1{QGnmqm*x=qo-y3bQ`qF`I)qdt>8cAN%_A@zK-5;Rs8vs|GUL+S3;(m zkMsPv@%Rt(0aL?|e+9f+{`>T4%{u>su2lE5`(Lc}{6kDTF}gJ7oy*p7nC$G~$E z_-{g|vmnb3A})f72OzEj{vOynY870d7m1tT`bqfhE(rV|G&}@z=vdD&!QZs&_7n_L z+0Su710`C#1h3L}XT1ga6mIqrc#i|kSCG9GKAjMF((=_$&`9OM{(^xgFqQzpdU|RF z3KE_KW{@B<1+E1P0-Z6IlLG5k-@$H(;5-$6h6<|Np%EtdnKp-~1UqOI9WMBqQdkj! zN{Vqt3SR64i4wf?GCEHSF3?>SEvVT7pUw#0qbE#^VCF06#R{CMG%il?!Z6Io3sz8g zJ3;V1opeYPoT7U(Nl;;(M)Ry->{B?EEGT^p`sV~Y>6vm~@Y_82bU`p~1I3GiR*JZ! z2#&YG(j~#V_aT`oc&!J#%Yqswc#$TU9D!cC!2b{EWeBtsL(UY?zb)Ei2|_7pn=MGD z;a(B^`U`kh1s-du{xe6AM8z$+g2>O|aGqezc68ou8D6oGD ziq{1d-7s-O;7aF~N(5@!4c-*YdkyAG1$*tGUM5)i5Up}SC{@E$2)6$P$x6ZON$6Dx zuHJ{jEx|i%T7Omxyy*VDEtpFS$Qr@3bW_&~ri9R_6J(1)>ILr%f!832ErDSFkMyFnt2A-Qe{L9?-`A zp-ooG`AU?u5J7L#XxPuN{oDgd1 z)R&(yrWNY`Lfd7q8z4-!K`T(m<%1U_YSeSAHU?+vEX3z=|T6a(_QK;}ZJru%( zYyJT_CHzwhjd0-x3jIY0)9wK+QkXsk52J*-1(@g4LT)&C(Za)C;GGeE|0zg}@E*m^ zVuc=J@DhYYRI!pM{EpI7NkV4|-<%bGMS<32VZ_tmofBHD*CBdd81^j`F9=_yO2&)A zZFAvUiZDD2ikF0MbAg>I9NGuoW#N2Ea;FK;QF%wY@C#pvWC&e%U`(097wiF=B}`re z6WPM;*Wm9JA^Rxwt_t&M36mrIp%u`%!f>kI$rBD7v!a2zSiTXhHsKXYmERFEsGPZ7 zX!d|Yhwv3g80-`>-h;n)g{PYV-6izE#sJ@+5bmcn$bI23?bEx3>+ix+k8rRVq7Q^? zBcb0be0v%m_6c3qqSY_VqvYO0VfGtn4G2BEF(re-7vF}$knjhJ%?t|{90eH>hOY(m zsL()p>@nfe3W$sgpE?co2_dR%asN#U4bc#NBz&I2pi@FW1w5S=R^PxVW`xf*Kz~-q zrxeE#(RLPKY(;Wfu-b{Vzr!bc(chOL;vo8!_Suf2j&&HelZa2xd}mSPK@b>UnamjF47zWjF(9DJ`}x0t&~aj5iO*hrmrX} z5gI2%bDn{}exh|DfbkbSpgmfEDE1Uw3lxoQ1usZ6hc;lrqDd<2KPlQj7hoZxUsnSq zR1{0G(J;{s3Zb16S+7vwGhFnv3lt+n>nMg6Df%=Oicz9}907V-R7=6@Xc7J*9k-e& zupPV@5vvUfv7)KnK#LP4(X%sNq^CSUf~edBD2bw48N5gmou==5oE7ti5kqQ9v^CtdUo z-3J*W9d%}kR8;VmCCZ}|N4BW(PguGlns3HaK}?dII-Rq3Cxi?I{vHLl5L)(QFVrye_&&LB<=RFc-8+M0+ThdsAfL zptDpIvk&TJBEu~7%0;hJ*r-DE{2i!QibCk5Q;Nq#NHE)!k*RUzUZH| zkm(kk{RA>Sq9^}>i3g%_TIctQ;_t!lhoUjcC=G~a|9i)Yx+p+3Bzjy1^TQ$$RXvP| zcGg0DRHUOc;F!qoW0)8hIa9!NLezH?WK#4YEo~o(_^z-wB??eN#5yfH@h42oh;Gq$ zdS*rCPLMewzDuD$TX7!?qp%YfQc1eKxa$chI*6Yg0C5!aX?f%%-a|D#&f*3-&fp^U z=))wqia(_f1RNEIQe@Xn97iz{ckzxs5D&54V-Pteo?DC|d0NF2G+)QX>aJVsfCATdJ+kzjF0 z9A@UE_&g0MMEs8!Bvkx~Gep9~Nfz)2H9;7r?r1&S=(MO3d(}L=> zcr(4|qs2kA@;f88(ZRzQ@gW*hthj-y7UIPBe};$g;sSarC5T5U4VWlC^f5e45^tpo z;;gutQVq#sKYGER6IW3h;k?*|h1Lb}d8;jCE{Z>10xwd;3ue%JNxb4F^i##(Rm0L{ zvG_fBktXIo3op{eVv5ygh>ua7LZ8wZ3OlW z@f5{oO2or4Xx$Xwi-d_%amI&$DH9JI0I3uQ#=z|=@iQA>@Rpe4iy>8ucbkvOq3FS_)zaK>IibqqS*CigI_t!mfCB@wDi+kv= zc)G>U{DfAI*xrxgFAv1cw9@Srzd@_CKJnTpVE2oA3nBAR9JUi)42XrZ038&6Me(&E z@g6#OJ1l;QUS}iX-Q@kKIB*v%jfoGrqBSm#p#sVY@jGdNo)oV<2uB}@qbZ6yC9ZiF z{!WYc?gh^}BYv<3mS)AFdw_OC!lfXVt;D<%Fm{sX4ujZB_$~M;93=c;v>YXWe+Lhp zB%I|?aF%SPIw2Ry^(1)cD)D~+(4&%dJ+R~^S>FVnyCfqMEf2}l3Md?tl+?hyr{q1_ zZ6CKvT3kTABx7`z*;}%|2O2&SeJ)zQ5`3u&H=ZQzNBHC?`G5fv{*q|Aw*w@7N5Bh| zl)FJaNHRu?rC>?%hv1!*1pk6oh~!Bs$Pbk)j(}vCL`vJ`QH^ zLr?HTNiN;6Ns@PID}7dSJ{Y`Y$p+e}o|CXC?|)H}M4y;Qk$B?{v|N4O9Cmi zazj!=yPOh93hkb6N~S3eQYtxk2CXv5mmi{4E}5e3XN9Dmwx*SmN-9&Tk}RQ0?OPHF z#cir3wJTx%w&Wyj3~D4!PLQmX*ew7`o#b(PH`YsjJVy0r4U&y?J2gt4PXlR^G<*Z> zX30zcV7x67-4%egNw9-UxcTFk{xa!LlW-@U=K^ObQs!*L`@2#68;2uW0HhCSQ?ikwg7uVvWDu`CM7+2 zAde)QsU&Yo!dM0K(~|65=*>v(uf}k#vyugK&^#jj&eF&+5Eto(wC8b^o_GnoqtfNEm@YTzuUnw!F10h)H@sv*AK<9Dkfh>r4S*15lVf5ZodwRF}NH_fqr~IU`m(l4joxcg90n%ow z;t7<#@H9*WNo&|Z3znvoLjR;Rit@W5(!Nh&H&hy~!XUz=i)jIPN-E&M!*Ho5qF`CFv7?K_OK-VC_QhWvNV!W}38=KC6;0{bD8bGo(-IfSoB_NpYhr>C+V4%$C+^ z(RoGs#u?~cmFCiMz%HG$90j-;gqCEngzd_yQU?rS0_SFO_~<3SODC9t=g^`Uh_opdl8cI%}rFTz5D zG$NP2f7U4d_(}9ONk{16*DPH}5&RbEQxrjLm5w{YZkzP@L6AGrXDGGOE}fu!Nr!aZ z69Da$Mt+ITyVA|eLAs>RQa0h9^aYCS-j{y67AW1)pHtylk95Qe=m*mJ-=WtlP3WZc zXP@-hf1ubeUBbj*9!lr7KxROyq04emdd(FuLsHifm>-sMlQEbPX@do=ap|-zL?)#D zi-0{TJs?5nBk3R&w@gX9Y1XEtk1k*mW~4Y3fLENm{AK?RLL)$yMT^5g*=Mve2$F4}@OZGyVLwK3QszRH7$LF>Du@b|wNepK zm@JRh38!Q(``}u*?8(QV7a>#8R}vy+m+6{`k{w7v>$I$J9AMEh>j8=#oRNJ%1ywP! zNH)eBD?3S-K%A^(1cQl}RnUVfL6$}Jl!>zX9t<=|mP(8Gv$Co#fF{e#^awpC3o>J# z&dc5&1@;BmAmy_z%Ko_ne^X>G^xwgkWHYg_kSg1E9blJbZ(C_UmL_|L5+>;~Nf?+J zvgLn3F;n*Ky?FJlS3)Q1WFd zUqG)wmPn;U*JSKN;1$YN-vefmY?PwT#j-!cK(5Ok^jI;98?wEp;CG3vo7O2eWeJ%8 zEtQStqg5tbNb%`%*}U68tB@_F3a(1oiNnyVl2uaF_?B!JEySv2FHJ(^wyeP$yc$^; z{rO(KEScWk4Kg(qMl{O0Y1`W*d)Ek*X4yBnwEk?7Efb^JD*K5B(sk9=?oh_5`2;_)Y}^41_Q{p7ZE(8FJz`zfX-K<+mUv_N^$1Z0BbA5i==ST0FM z>!f_i8!#9mPv3}Es63D=zry69OVN2szWN%#!sSlSqZJ`vLr<+p`45yQjgkwRVE42< zWj)3cEw7*=pfhsodMcHPk$3$Cv{<>q0%n~2+^c|zmnTx#DnXu1PwPbal2%wslJEE) zt+Vo#lMqRk&r*=_oLp@SOXuZV$+ZjeOnU5Gl>bY?{S4r3ywLh2L^I_}PQy}`+?L`Q+43d7!>23qX8O+DRrw#4fXR`!l!D~Shn!(IPrfYx z{^rZ8==E73fA0v;uF371;98+PoYsLw^7MZ}isct+*00M~sGxpB-oyoFi9F+7=-rfC z)9H;@Dpyl@uuSf}9G;fTkHx`6g}k@{4p+*xLMT?rUwI6!-IDKq7K+vKcd3Bow%msv ztTpm$^xChLZ$AyaI{93xC$5+GQl7LyzCItkM!BXLC{1!+0eH>wJ_*!Y`Em^$z9Tv;c{5cAP_R3>}fY~SCnhm@C^47&L^iZz-0eS=S$|tG*Wl+8`8Q4Se zoYPPomfuZ9Yeb%IgNYiI$IXZ0n0$B_(8lGw=fIng{}_hWq&$|sCi+OOri%J0xls?d zr{$YwfITDUQJ{8Ke!zn1I->ZFVxzW-v-4rzPVxKWXxS^a+k$6xQ1G9Fi;jvMN)tON zg8o}vDmGEn%tbLk0dZGFLkCP8Rm@O@j+^3zP$;@9cyz$aLt%Idykm;v8$mo3#+RXY zT=A3-M7$K=J3z!+VYeK1eG~~VLBvr{#MyR5%4=`bh=PRLjN>TGMc;Sj=RAL&TxU>qB7pZuR!mm+^h1)O* zrxi)>pfg(G=?{@Jid%GiK1SiX6}(u*87ifXQ&=}$Lo;3x+Ye6@6mcTBn5d|yWnGdY zo3^iK6?XJj63L41D5`Q!@x=cCb6$}`@s|q0GcMUc!?$gH%X$x^JQJ$$xe@gitkQT#)}_N$6_DYucM zaHG>#xr%x2u$!kCq`XPK!deEs0!2A3`K~Ei55W6Eh2OsrDN?ll7e7%%&~XJb_)9U6#ersruzyLSmT>AgpA%%Dno(?PS?|_LB#p=&MMis}4fHtNGj0k~DHhY_Y)Y|y0%Th88>J?XDECsx!dCgs=a?WnKp{t8Wj&Rzolv&*!JwbAbQe(kmDv=e z4^Wn^2QSd7{3QaGf|QxBLnBx@77q7MDvvhebDaEg1^rw_%>%a?F zTBryiLYcJ@UPLNo0l-()wJtQRJKw|CrLR)A1FAhWYLr+D=j|Yom1|c1@?L64N4JSP%fqqnp{+d zd;u>~lw-8bzogvQ3CUFDd3uXpR`zZIbei(}c%Y;!f6RqKhEhV&u1sZH5X@&O&s#r2 zZ?^L2ZcO48Wz$W-Tvc{cv^+;C*$UBIrI`nkr|cU7$yer&0pE95nE1$WE)^#O^cHK9WL+=2rL|OO|rt+rJYacpGm7fyn2rcApD+`Zdo@0RY^FNk(2U!|1!J>`TGH0~?gsdlkjSx!ZzJ<94%7<`~~4~Jf_a4HIo57JJs51 zblR&@_oL;Y8WcjoQC0Rj6r5D8pTad~)lRD5x4Njd(f-6$^)5ZOj;f}q2*FL&aT7A` zs$2nh9;(%}>Nutf8H0$YYTL&k$5qCs!1GdlNm&qYm3I&(!AEtJ4v+Y%=GB9oQ0@N$ zdVZ>nkr44$wO2tQK=r2!)B{!j(9$ff=fLlJ*y2 zs$w5>o>Gl}3!lPO9TWHdD0wv}!Ni;?b&g#h9lvsykFh7Nh!_ zc22RXhg1O>r+UkP&UjV#L@%JEsq&ryNmm_W!kG-! z2egaKRQ>e?T3M>kiU5|aYOJ8RMkz@17)h&O;9ga zU780{q0-mGLZ#|{BrTDvR6iRbdP`+X!TM^|mFJ;xTeTqxCTdil(fPqzm8}GR*Qr7u z2X?*6mLgjXs*wZmuu=65oq}powSES@X4P_v1-Gc`>DF#lJ){e`P4&kVpzo+gMRen- z-U|gvhl=wJo&W1pjlB;2yQ=MhAYH0VT2=b_Z1t>EOeVs)ydN!>U`AP#;m9c^bS? zm18S?e`!p0iB?48sz6#IPpEkGxSUiqD4_UAm6->PDbT~_;bDOK^+x<6f$GPGff=O!Xd4uQt!gnX z{!gl}aUdF^E}?BksG5HiBussP{-yMk`n%8JQ@EO03-b}`c1oE=s^{H;Ptoe-{{ZHU zI%geB#Hf=gs}QUHeF|W4>W|-oGx6#W7lZwl1bjRC(<7NygFJMp&o1!kESKTG`OX+|~Re$>cBA3;>{su2itN~XR_6W&%^C2>UfHgTvdC~xwIVhA*%;yuDTDgBAYyQ zMG(;P)y4{VQJ}8ej9=uMS{Mwwh3e`$@QTzmw4W+g2R#e4>uUT_7H&NCZd!qrsP7L# z;ikH%8m&@w4J{SR)RIgnl&d3YDl61EHgLOA9ZU*U>Rq{%f4HS)RY0^_z5f}I+iKe< zz^qX-FTwp<_3Km&P^WI8Pbk!@QxAgIppN_kyhimZx>cIgC9eUcS)E23nHF`H915-K z79obzrhY_`v^(lCF1%=0f06-_4)t7GQg^CF>*)O7UA5#x=y$0vY=z7{wef2V^u9Wg zatz(-iTg0oqki{gn17&tnr`@B^;jxk`qZtTz?puvU=X~A>L(Av?tq#d4l=0zY#Yds zIt^<~n_>0A4v-P`$|WG9>P)(0#?WK)uak=C536W(s901noQbJglmGua3(_Y_b@adw)pYq@-nlXwsUedTyT}P@$ zI|8)Jnl%C_q-hpYVmDnAO{WkuG@sKtE>pt@MJr3wd>$g%8rws_yrLPR_xx2&*2_@H z(LCazGgq_II*DeU#+I)2d`-0kb5fw;uYuwon_@!C<}S!G{=HgJx|l&>A%jpQF{J ziTMMqX3fJ&kQU7xN03%c-RID2)BHqBf;$>dTR^vKN(a%|q1oh&R;R`%4Ce1@qE^xQ zzb?(G{{gLA^KTGjdNhCLLgs;{EDd&hHA(ct^l3%}@Tp%D-Uh{on#iw!J)o(jrPrY5 zGum4YX*hI-Ygkhm1HBQAbq`vjn!WTI9Mha$i3u9lgen0xq3K+WQBP_Lur9LNJkoqi zhq0zKYyE&dt@(|HHlyjKm(;B0r4f)L+9HYz*lNF(L(xv_K=-e`_AIT79JGV+Wr5+lCSpZGVo4l|G5c$Kke&Fq3*9WtO5zp zE?bN725ReC;bD+gNEM91T1Q&-pVa2lQZYokz7wrb?eRU}g;}*fDgkp!n|BJ>;o7@R z(2vmarRa>*_LKo8N~`k6l%CeErDaaEHvhlHrPgOI&|_t0!otB*9UgbYMIR-$=csff_F}9Euy25=e7T+G0+Rz<%u8{wJ(w1 zDcaZG1NJ5D5_&17Y8N^H`?9uKWQX$^>U>zwX22Woe^o;C;4M zNt?ne+Fg5qa#d@jHCK-IF)Fst)t;c2TAsGs`aH1nwRSQv3$*X~ViK=u=g{`3Q2S{i zTrAT5x&Ua!+UL%rRif3;MeC+^Io%bd+K}Z?DANvagZXmp=^~(1XkU911}nAobd;n@ zyN|v!b4%Mtk+^E@A&S4;)~?Y*q(*CLwgRnI8?^)8)M<}spi!^AS&YsGZ2^VQ8?`H6 z0~)+Yag&K7OZVvts?rvQ$&Y3ui6g70WELIK*YU62J!9ooZ-px3GWUobH5 zY7ZZThh5q;^s%6O+Fh~W-Pax#)BCSmJGm5!JzAAJ$OEmI%4U1D3(PRsr!6Z+t6%GP z82S&j`zZ7!g$BE?8V?s zXderPqmx?q4v0L`-o8%%zcQtj3;oHx84XCH?qbcYg*S&uMmb`Rn3()e`b}r+Z}t=KXbDLm&aVr9L2my6|%Ff^=iFyb9L+RRi^tx?N7-h3H)F!;4Ve$QD=# z(^;q*=9E?U+fx{5xbE|p;c$e`miEGtx__YCc&Z|VGKLsG4qM*+1O-Mb$_vR1b@69cT%rP0o~UiT_h7BuL-!Jih`H0pw^ z447}$eMw)aYSDdG4@<2&d#Vm=)A`cY=Z=m;S%nVW*f1nJbs-d^ysHb109u!hM=QU3 zx~24$%lo=PdgXNM-ie381KlNhF8Atw?uSU9?&mV_`gMD@p!1<_$t}1&pj%Q#>(4=* zJuRk(bZK-Y4eO*7C?3&`QuJw5*Afe~FO5bkMiamex`KApF1of6yn=+R0g8 zM*n8!s^>UE|ERv565ww7>QuDc^|{M2Ump4f+JGI?OKH{asb8HA1uwn)NpyPa@!zPp zR`vhd0ozx9Hk>)5Pk9l%7`?_DBwoL!9|jZj`%b`oqP~-Y zP|5msG5kHJAE8~gZ;mOhi>wl#Xs#bDOz zKbL~k=~Gi+qETPQ2U?SUaxP3X>-VLj)uwM>jn*AKi-HC1`eG_S?a+%K!9=HiVh09# zSD#Ps)IPm!7drd(=3cn=P;W;OtpUB&aR7D)^;_v^$dG>VCuj}p=hLciM9-kD= z$AB5r=e9y*T<^0Eb|>@&hafVke=i*dAL*M#K%3H!QP6r?KVX818U4tgAhUX{JvxsV z=J{b_Z4DY89JMnnrH{_p8-B9l42+F~L1_mWN5j*T7>tuaM=45YgGVPsT@3mau;glZ z(-yp=2CrgVdTxfDw83^a+;|Kv4})zAu#XwGodEGPIJv38A;8f4H4FwCQq6EG$gpx1S|Nsj0k|J(82JGt%rHqys8fck zblN4{Fh<`+h%n65!;46RVPo77QZRaA^|I zafWlzK#4bu|3d4}L_@0r8c7Ci3dmW5t_vE;hNclGOX?ge&{VG~6>iw%q(z+5-{TMEz{hJ6W8C^1|e zLF=aBwVO~VHN3wVpk;>L^eNSH!*g$fR2WXv%ec}YpM`prA%*tPw+wGkj=S3Mb{dHF zw!!^tOk15{Sp$B&dP4-QjT;Q96r^l4IO^eWlVKH|b!|1&&?2qP@Fu-!?-&lIL!sRe z5(@PW!wRal?=(Ez43WDA(_U|9(09>Wh3kOx-7l_eNO zui-j9U;7O2euUlu!$0eRJ#3g0i(h2KaP15fM-4r9z#B8zPXlz^(DyGKoiH%}fcm7t zXb0XSLk2yGrwpA`Z!m3e`w8kZ2IpCH&Ke}NEVDB{qE(K)@p=jDIT)=4KVpU)jcaJ9 z>SU~<80%61>S{F5rtqkdyBnQu#-CRK)ZG~HJ6aybf>Nj-HxAN^&&znR z5N>-L$Eb9}$M}gqh_5lZ4VWj4n<;c2U~Jz6yMaany_18C7p;zf2{x`aLjR<3%muw6 z##*|8P8s>#up4fC$_HLV7(aa+9!451H(@Z!I5P!>)5fmL0F5>tc^$1YM&rv+h%s*Y z77DS(-4OtbGya~A@x~j!q4N(HjMu0H_@eP&iZ-VhH?5-_!zE*kADF2|b}Y~?8yjn3 zDb2W){tqGDI6MxK4C5PL!S76Cz%h_4f53@y{Y-D1Cyf*w}O#zFjviqR0CUW86`I zmKa-nAbQhiV1kqyhv{c7Gj>M;wA?sFtA+}r-2;$Hqx21!s4{j?G0iPwQwT<1ZOr); zt=q=wQb5-jP3r+&YaFI%W}R_Y9o1jg8}Cr&puw0-d!9yPF@0U7$@sq*C^j3TX;;=_ zJfen3t1*F=8*Rq*p0ISs7(my0yOBvJtU8SLv>WU+CQ}OOuF;lCRl1C8DcE<}rI}fHC72*c~*! zM~AqEjEiZ5J!~A<3WX8lLO%Q*H4amlZOo|jhr+m#KLs*jytV|Llg3@m(3>`z#gLpa zcD{sh&Kh?nfM;hlsSg0n-t+|(wK768bPL4s8T%GbR`)kPMYevVKBt>niid*COMUN zgqgNu4`Fl4^cDrb!c7<623UmYC@p^@O}~8#FQQDtuJHb}X>>Js(WW6<@18M*>wy_( zddy1Y?(wE7TCpaW66n#NXnJi2<}1mxcpfy)n&MYr6v?Lkm5@AVn!6w7&zl-(Cv(BH zn06EwO>a^_J;n6+A+#=;D(E0hs>w_r0l#cY8-r_UrU*K!kZy{niOn!oQ;lvhjf zmn_rcRMC`e5;(&{Gh-WxD$UNVRF-1VnC|q_n`OF*&UTsWrJ$XsFI~ zjke46ra6DWV1wx-)h9KY?$RNhCes;;n>L#=DKgb!@_Za#w3;Tds>An}OqVIjaK|K} zI?Q&{Ulh6QFn#U@gPo>h-{Cj7XWCD<|9#VnI+*A-&86jYk11s>S`SQvzG(HDc07i= zs?W5Emh%0k=RbwsL(@3rlLt(_6M!BxeQ^mWL#8L*0Q9hF3q7E$BPMqy%#WHP0^s79 zNg51|anm@Z`X)?=X`e7@N~L3-k4zDLXib@HOt3p`dS({|J-t71j3_6$>QVE8m`ME{#(8;`{6`0Oe^BjucyO6Fl3ld@8N@dNF=7$uIh&J2PlJAW92f8a_%&GP8 zBGw%D6IyZR87V~K%^N6zmSA4D50Z)IKm}HLpA7IX!Kgoe;viW;Ew9c77pa=SS zbIE;lUNB#O66B(JM;^RLF@LxNQ+mn#{Xul5nqORp(O))4e-B=oc@gCg(#;Kj!NUym zzD@8V)4Zhx2D8ku51^NA4ordBE9TiLE4;aCzWg&tj=3!dqPb?{0Lx zuRx*9Tt|_Ma`VS80;R$%=%V~zrFqjIuv=v|8Q|0{^9vTpRGVA4Ah*riD05I_zIPrP zwdQxJBCyW9jtV&I&6}v6vcY_bE}cem#zmNDGGF=zbJ1)r>I7*q*Hhx4)f_+-V{K*| z`dUGUc>%rfI?d8(djH)uOZe#RGWSz8%{}vzDjo zBbFDQ#RS<}HqvoPJIjWZFlcW%_Br$%EDLB!?PysT3Z9eYK84AgEm6CH;$rEiz_P2Q zBOkn@Rtxhc6x}TC`RH}G@W{M}rJ)`A$1INa(D1Z0(KUD6qMm?xFUz9~@X6b9h2HQ! zmYtmt@wIf(!Riy14}Ql8{VYrV0+_!=PDlL$EM9cdH_#GB2Ref+zA2clV9P;Td7ZRa zg|yWRu_&mxCDd}84bU)4EY*rdSPCe{5^1p`hodaV=t4YWsi&2Bj3t1|d}A%5cj0e> zrF9Q@iIy#IK`+VjLl6{FEv~0v>9XZ(XNaU(u23K_-Qqn8Lm3w7YK%J5@`iOadb2EE zw1vsG6w<5milvsa)K@Lbs46qZ60-o7axFXm0Zg7He=bDwEvqTVS77P<29~Z_thAph zv`ij{YeklUemGNX$)~^SyKZ@~5hyn-|D(`(iDlmoDBQFhbb!55%Nx&GAyZ~a=0LIB zviU72R#;x7bU>wrzXXa^mOq!knOhboDzT}y_;$dH+ZLBaeTI%*u{dJq=2<RH`Yfq8nkdTKgc>s@VqA6(yR*&x6k ztyWMZu7C9xJO5vQw)#_AzYeY*q+90k>S+3zhgO%&0ow5DplDbcS#9|M-014gDu|4& zeku|M$5+?6gG{b&OogLUtEZg<_8~^>QmET8X3c`6J>y9wI0wciD)M(^yz?|%JIwf! z_J&T3?FWEqJHqJr1;2$eql-?BxiA{&ZRpB~tOD9mM#mE9yD?@bqwg4F5#_v&GX%5| za%XT?pwENx?+K`%U~HsVy(dHN4ijFC``5JShgG@p^UW@rVe9p2_~FTPuJra z#^;4_G=ecidH=JFfkL1}GUEOQImd{|h8O1T>BzuUl$Wo%sv_b)Ntp9hUN#w2CsE;F_q1sBiwkE#z67?VoO>=i~=7q~=5oCoxh z7=JTBk{MVE;8tV2OaYrz#{92At}@L1AlDc{w53gB2t_cT&d8@we+J{Itq-l4jQ1bF z{p*awCSYeVOama7 zESu_I${8D0z>5mT=D&be z$=GTJOcf)|iecYoET$rcJB*ihqwy|dlzyLT#_v>iUc=b*8~SP)>z_qm9pe(ca_Sj7 zrlYTcah^)yn;9h+A=1M5ya5JV85OU?i#A4KHAL<)7!~yWvv$S@KIrUV+^35APR6wF zAakEl_XE%#Fox*0(#7bZ52`!uVQi&e>mehQGX1@bcPKL4$7p^7eUBJtYSGuv zxI>jP1B}wy02^d9-UQfV1`^P?w;0oCO+3uVz(W)N|IYCK8T#XlAle>HFg~G>))U4j zZjhN|RM9JTigAa69EX@A_dx8JzvM#Fo>@f+DF^0mTDv$hf1QTuI?PO43A;|rU8jL^ zglSKghck2kU6^-azB>fYmAS$dm`9njk3z)e#_X-a2#+!I1A%s&dCV8Yo%u1rcrfqM zr+iK@chNx)PiD_S491K32`!(!nafn*e3TrxKh*?iBiPJWwA1!!;nQvY}X9#nTH@Hw{)k9#1F@Jm-pyABr z`=D`#8Se=9BbX~`8G4pkCxZKtOe5WK=a|k^dvTsA8iDx>Ow%Yx6!Uff)T5bmegYT6 z^jHGui_9gBP>*HqpauFRrtO7J$iy-GsQUae^Uk{vjb|=?16%@gpALOjm}@C`mdJdC z5+zB@%u(nkGtbikGKI-q3@(*C6r8XuQs3)4o27 zd0-Q`Y-WrY>N!j|+sly2WqwLk1UH!dbT&ATxoRgm^O;A60b0P^R|+o*nV(+=DPl$r zgA_CS=%rf1d`NqUo6Ni4fh%SD(No|SlTWpDWy}*hFhS)^UK@VG3g!g8uPd2~A0b)A z%%|ntZRX;8wEw%q{9rfC-(^-)jHQ}6_8Amwm@m+aq?TFY31{k<$@I*xXLjF3Ujy?U z6YMrJchWk&iRno(rDo=qXQ0r+YJ z{~TvJQP_8aIg3(-PnZwp0eh199xc|UnB7znc!(8EzpovulO9|4tl#J_r5srP)A3U{ zvi8!QdYC0R2}{nbDXJ}XVJ-56L048bCE$*-A}J;6#`2=b{V~?IAaKW7mcPK++*xzm zq3FSy;K9TRR*D1~o~*BxX!K&uph_rjRxd>WeOMc*pxBpnlVS&cEcX$RldQgOD4b#i z(}TjF_2V759l-kGOEd$siDI$81zI%g zQy2IY!z%9q*hSXfNQlI;R?UarC04QuB#w2OJ_&G{_0t%*c$V$cl`xpVGBV)s6_$!h zKN4A98o(s6va8`~GHV;TpTasw-*ZT1&88D6S6M%+(RYpI+6pd>6_9|wbe8XIfMu{G zw1voIE!_;g>#QFY5XoYB&4EHTYx8pu$zcskppeT-wNY~Z2J6cw(8yy6-C;hT6;=U_ z0@lUzkSSy>`T#IREPWD0idkDe2Up5^e--?_#TqDwNEvG_Z92+XU%mm63RWAfIx1N% zLP%DzIC}tgo0aQ;Vc%ixq__87*5|Y`sAdV{Y!Izseew*vsAW~W35`0|ycOuIXKl>{ zS_5m>9}sC|&7w1_O{}a|^fj}b={9a*&7XlWwX$RsB5h+mw*V&Yv3{ViU_0yFaj18& zRFtRbWVzP^`aUa*B9;$W+h`fu#aeTj@_*edXR43tVZ|*0_CwY!4V>v^l}gdr$GY?z z^dGSn(Q$@;*6MYzG{D+KkHSILpA@fs%nHncYeTG^^e7x=eee}TMp%ohpf}3;{ts|t ztRZr3oR!9f`3aWaLMS|8bz@~avM1&kegECQT8`z~D`4s13R zcRI2c(y8{t?1+!yniKoRPjK`IJDFaJ&g=)3m{}M0*L2$2mHql8xTEZ)KSR%rUAq|y z$JoJ?F*wd%9szsqY$ta(WAk87TmU`6UdV?*Pxe^_6usEPl+z4g2T;r+kiB#VECsQ< zx?$-wTk;~fVD<-IAR+Ae8zB1Sw)Krmasg+ig4gO4!wpp>UJEJQfB^*=wj)>lS-GMcK;O zBQ_ai%Go_%ptXYiy&5vN*@7-K-eIr%3Nm-ucd5dsnl1SjlUT!EJ^{P6?EV+wVI4bs zH?Zs3FN)CD!2UK4q>&x97L(V+9$pWTZMfw z1}6I0Q_BJNh}}*PihlOzo)8&eb6nueAp2V?jCjochjzb1?Buy{W|%!Heg^m77<PuRk0aFc8mo&1?%D=AN7$LX8^XU~~Qr3DV0=~S=k$Z@70{V?ab z9@ur_NT!23!g+cZP@FlA6h(F6_`d*kSI!}Nh#cjNQ(D=LW0*(#zhj(Fe?{wY&SAh- z;{?-|Eu2$Jcf}dbc3Q?paN4$joaMawF+d|ZiT|%d;e<^ACW^C`Zt-Z&9*PylaF)`y zUoUb#qaac&XHhitE^+$bhM_o)PzUwPoK}k7#@jgC#xbS@&fBz)yTVDOXIUbruMf^7 zab&cXPv!*DNvRZ0VlX7HbF!%*DvQ%gPo`{6A+5l2I4@FeBA1hpg}xh{zfVIwpYxv` z=CFVhOl8T1oVh=O6mj0Bjd?Mr?|X>c(8@WJ^bdHI zoW-%|tKvA*!}B)B^D4MIoX`Isdf;58>#>?MpGwPXIDb=gqL%Y>2t?{QeKVn6&tZOr zK{RmU_rh)?=Zj1Xu!-}fE4**!Y_nJ+!8+zTGEP4v`a0(v6{6mhy35~s+kBhZnm=AUqOv|+rHoMo>;a*7iWgrV7S|6Pbid+rAm{&C=*T8KtRZunOqhq)UmVSj|{ zK?NkvT=N>3cj10GKGZD4^%T9ax0E6Wr%r zfbGd0doAEHiO`|Aue7IC*ycCDD}Z~~S}xJz0fa+5nN9i)`o zF&}8RxXHU=qKw=3|2+@)W2#=Q;C?IzbS3uzz5lAXXQ>A8HusMvjO-3~<$F-L%e84J z+E&d?*bJE(t}9&$wcP!W&{@ZgNWsk1bJs0}MgwXxC1jRwFuK|sZxk5^!4soZig}=kx)pucO zlsidDvN5g$6)TQ&CkSPNJ4FRPPq;;NH%)ORv~fGcyGOBaJKkn1)qmRa{3@XDz`OD* zyl~|GO)HbbyzeO+;lw+`0@@MY_hJxdUJZR`z=h{D8+xuh_M702@@z>UZoKd5dOXIv zN|Es6yhti^b?2!$X!PJ!7h_6J@QPQ%f+z1`7@)m)zoygs&zo0A2?QTrGSztc^1^a} z?Z>+-zyzPy}WPxGEx2b5r5vpejD z@ZOO@GL$#(O>kknwJQJ?!IQrMg|j>XZIU8+%SI{xaE|Bv4fN0Rs_5%R7kG~;Fc8Jt za{!7lybb#ydXd*j$HiiK)mgB6iI-dgOL06Q7mb&Bg*)M4JnvtM@Lu7)_XQLZc~;tD zCh>mA#&3|!J30Z9!dp-aL#e#i_JUmHeLjpI+jfn&j-H`uyp9`S(|OydiYJ42j|yk5 z^D16|r7YfHKAg$souZUm4(|&}1?BR-p^)PZ9*ZuIJYL95cu~L$-HOIS-j4|oDdM@( zA;@Ch9Ud@Cc(xK)xXJrrHbhE!6O@WAv+?Zd=PKtl(;1Ws-tW)AU?uObmmpKcJ2w~l zw|PlzP`tzQ2nDI;m85~x@NUuuyO#GS9TKSHeL4w+dR~1K8k=~_X*t)-OU;6M3-8(+ zn3+~yRx=VYwqn|rb@J*9pmCq~4i#2B;MHeBri<6V7aHBXk?Fwh z;a#D$=|kQitp)mcZ+r;%AMy55Qoo<~#X=|y@I0xyYmn!B2;5^{f*YWRcniaTGR*sj zQi~%z?;pU8^5%NOr!n3h+j(eA@SfLW^iOz^x8d+4Z_n#!oZ_{(!^9!}B`F&1__O|j z7xw(buOR8jckuw)VZMVWB%S#CC^~V3KaEOcocR~%Fs}G+%?)=F{%Kv%rhiSiif?x6<6g~NWt3bT@8~o7c!%w5qNnieI$|LykOILuL zKX(2&)M>8ZYugDLfa; zFVlm&#Q*9x`r`O!Xg7G7e~T8p@%$;;P9^X+t;5K!@UL$GN)jK>7u*hfA0tFk_+GEl z{g=xBiFO-T`3-vfT-W$YDkMqc*S!IsGWhAV56k4ceFk!!e}ke=S^Puvj>_gQ(16R~ z`_c*FTz*SENFM+D4m9TT)wH57;6J9#P9cB04ShxYQCcSy^AqVCbS3|Beyf;m_Ix*Y5H=W<#->pF#(AYxwpVXsqRT z(@wFD-)2=3DrY`vKj`|K@9`x7qj$2GQBhm*zpE zgYQ9W>Q4TrZ(xS*^ZO;xc)-6h4xhUCKO6+<=J!!>vWFi{-z9m-H@5($mw$pn4}JXZ z_o2|w*V02|fPWwzB7=O#BzW;m?o$`2!rVYegQNx z1hGUi1vc6eUl&{>53>aG6VR9=&{0KGuHffba5n@m*T8(9;5e0m<_k>QF;4}8{tQ4D z3go|n6bqKpORYqZy`J(9HwEq|!IlbEsDOP-;I0IAncyc{{Fe)EnBhf*pd=WiQs7JR z?JB|0dcfQkl+T68U4c6r3e|#>>tVh|ujkO|IMX07{)4_I zLFi3LHVZP}MWd}naF$kZt%4Qr0=rFMX@N|K;E(^%*eS3Cq4B=p!!d|H5bW!R!7jn) z6v*fn?53){9>E@pi}wnQR9Mj`m}dcbB+$MLk$%DJ_5d3Ybf!RLP!O>T>W>AhDVaDd zI8Se!5u4!oNr;XLR+NGr6YQXW(;XLdSHkZJK|lkB{Y3Bug*+w&2PmsICCI1xz(c}U z-UPOt(BS|^?;zazJg^;wD_=z8VPP{R_nd^C^ujzM{P7|%orO>3q0dE_O@XbWLe^gp zaTD5%#XvhI%(g=2xNr|`72Sm|Ux19KFt-Gpm++5Yz=R zyHo}Az zHd={=3s=1laz^O#3`m6V>RM>wDie?rMgIkA>e+C~HVqz8Q_SVPQ)|~GM30L;q#{dq(Zp4NdWeeX zp?yMBLfIQn(RwXld_*^V!1;0uR5!VUaNm1NlaHm8Gd?@&fo+?CRfT(pXxIj@? z6PyVWMUTS6V9~ZRco8B}e+sZr5uX+&VIrFkJ($Bq`cBA1h`y$<@mUd%PNYPNZrp+X zd66R%+z=(d2Y>TKosKT}?7ZuTFr9p(_ z!ngrMDtc8liG=S^{=HdLL*cF#(Gp5uwu<)s2J>yA-cp#qCmLD{n0C=ADk1I=?c~5x zr|7_Mn3DUVpE9BMKy>w4J`5(J$IfWn=>) zVHC^{iafrj_upgD)1LrzNYwi;K!-)uwBj5QEuf2SR8*P(jWN+4`g-HIsCWUqm=G~& z8Tv%@a19hDMPK=Wn-W$31e8PK`8(mZo%klznAwYuu;H46IFB~5PU2Z~4&jLS{qNA| zEPh@Mb(@Pg_cE|u#piZ_92I{>>vcErbTW8MJbeu0xOhwf6YktUVyCmvyC8P@8eT++m(hAES{yxyA;pN#xB>d2c(no~R@~DHFD{8~Khv)k zC%#L$w#(uJZvrh|y#8J2Cx{zo04+(}PS4O}@l%xWPZ6)%31?Ep3d#~+6;H7tc}k zJn?z@JHLE!;T9+sh`&C9ffkBew?U&wJo_6o7K@XpUamx3M4N|Fv2Foo{g(LEcr=!Y zLn!7@E`E~^lvRlBq%c@1e&Y{Vs1pBD35DC@9hCjNBeu;0xhp=hmFi!r#V^r@rdE8o z45Uu{fcCWY;z!dt9U;HXl-IgdPUw7 z@1xLcr+9NIhIC(ij#l&!#2aWk)+M$c!_0JxO=^%Hv0)y){~n4bXqnV2c8`ZfpV-e0 zqj)3^_#W8(Vhycd2gS=)LgcZSL+2QV#QERD#IX3)hv*v-2T}rjRQ!$}WK5hxk^gaV zIR!;0#Fx7u@G@i8nNk!Y%+;VjY8Jh@2Lv4HI=;l)G5P4YE8iH}JZJ&h3_mpq+OGN+1MDLMRh;TEbtA5e7^CrEj!^NH`-f5h`KO^CnEPml9Ipl0V*ti3o`uZIaGP z%GN_NQj$kG)N_)xTVUb5WEbTvF4!ai6g-QPY+MBwqb0daXv9cnQc>GQN##5!#!ANN z%@rqkl_Ck3CG)8UDPEF6FSi6qK^(X%l5(meNtA@PFERpLdP(KN|tKSDiSVykS0r3}eG^C6Qd`GFS0*Cjv2gJem1D1x6YiGK_eIg+!H zAi0tyK2W?NF)qNZk|#<033`Q+RkZpplDzQ-^ok{`v9X^~B59`E|E6S$-chBJG&=8b zOX3?2%rc3w6e#7Atu`uzu8_>5ML?ybj;fn)OHNWDVtUi96SwA}%AwIrTiD>V|o zCWzEZmIs2=Nw!dddc7oK4X_&|`3X>Hl`9F6rP?V4y=X-hlEhOjUcY4iDUbn4@>VDeN{U9|(__h7?|}?SzS#`*VM#+Y6h1)XMM_H^Vrb{2%@mJ6FV)j4D_WXCaq$@GU$o7?C_PPCfmrG4 z*CBaHnnFv>IO%lSv|pCy*FY~`>Ovv31nHIw;I2rUX@Q<7-8>4nlWo!r%88~(13N%c zrG@lRxGMddYErLBC%(m)(xl!m0W@9e`v>|mqz@>_m?`zq!r*nOj^cq?(tWh&$&rpw z#voTJqVoJ3(u_cmJZTA~7W1Wb^x7|wW{g9TiU-LD0ieK=@7XqEiM9A zEe(4LdNtDLD6Up7)$n1yK{`mQ(MIW^y?}0!4%uj*-YPxD!sy$iDw@k~>8=zg_DIdN zyLu?~pyN}$(yY0_?vqa1gL@>crzb?eR91}f4oHg~Avq}RItmkyr3m2| zu#+wO1CsW#z#$CHK~@=nMn_qp5k4K36+2^0PBM`kV>u!_>x zU<>q)%AU~IPu*mCDsw+3dp(uDKXF{vNmUQ-GFN)QdB|2#4)=uYcrzM3WuH@dqn9jh zC;Gf)#(mKDkvUq?=PO(JHzwatwyP4(oRs-cw)d25JH4U(Wd{1017ySWC=8S>ru<)! ztcRXqr)8f#jlN)6|2=yDg~--@0{25@^XW$qldYcyPs3%`jQ~9(`%(>!2$}63^v}wI z1E3fwo4*Jm=VWDXV@l4;0zLw{Aj_tJdX%gw5hBsD!Yqiy$SM{<@1pGCA-EkY%cS?_ zCE2R4U@uPQNrgJL%d(HCcrae}Fbtvzvj47O_O8f2mxvcIW@AxqZZ4Uue_%n^M#vgk6X z=gQ9Yq3?!GR>^=ACtN% zs|bXCscaXmW^c*lb6~zq_C+cjEth%iMq`C6PNA_Pk z8t=+%>!|*-T9)?{G-_mTQng{NY&l(Cb+S_*p|4)HiVC0`WSk^uG|K9KhZjw)Qvlj3vr<5=O_p5+g?qBKba}MPEJx7SAqy)2*D1S0XN2y{?rlcn16hqN z4+HIzxz0pqx6Dd~FFmrvUjXw^_7vTXy)r$er}|{#X880-wviUv{jw!*L192Pi?Y*$ zGKa?yc`Q3H0lP!8fp~a0EDITf!ia1$#VST+4`_g6vY%;5JuZ7ojFC;qqN{C?c_K?Z z4=*NVu2kDLCCh&kpoioIx1eDscS?qcy*!)pr4I7>6g6{{|NK5c56fTcfP#~J8dX9a zk+DRAQ}k1NKQ{Ny`n5q?rW-Uj_s^7-@|_{%p^@k4<8A}#U) z<+=1Bq9D1I?)%g7{Z+sWmd8+KPl(+7BQQhdH`ZbFVe*fs(ft=LzesWUGxC5G$VAA~ zDS~)b{@4j5Qmz-^(mN+##=~5km$y?m^MbseqFzz*CI6u>T3$!xi81omDGPZ~zN`&g zto#BMcV3b^F93;?pPLEj%kl==EyT-z`4e1%T(A*d*sjP|TmV|4TukQ&ljK@BH6vNh zp(t*Oe9LXfq{`hauzOYBKt({;G1mtL|V*OXY`;q4Add!Sg^Xldlm#zf$h`JxG<@AOp&6`Q(34zaw8x&%nEKc`hWY z<$|5yYUC-jXQ`FXc@ZLY@}2aJhkE(6-F}Lh(`MVw`T)CG{&oOlTI7f`;dYYmrqh#c z@@*7$x+l-2%er0uGHt0ly*c9VE(>*$1|Ac2l8kcEOp5lZ=$bTZnqigJ@POr z$apCK@(T>2SN%-j)T>C-Rd;7}}(~-wh&D^5|GVA5w(6 z0oqPc^&%AP73JT;CkMsBg%EL6%zTBypobL;=)!PPTqlQ*D3%n1I4eGOhK7qGkPN3D6*)&_oCuYDm{)>{5XZiONz9U(1=sK zK!LT(il}{niB~w$79>G&DgoG66e}tEo2cN^(>6(QlQwS2id(e7O;OBx9}208=3t;) zRg_R}@0!A66ozbRiowTdO;-rsg=mJN&JJ9r;xCG0URT^s!R%!z{woH_R{R$T>>S0W zt3bcxt;sA9TAvGWzE z-&BOtG?&^G1vOxADQ?p$xJ(hX8Ge^5exM^+6^g#2aIsQh+6+roic6H1zN<)TgNbSd zCkv!Tu{|AnwTf~lpwub)=YXqMl+Z(@L6Oq{kw(P_6kBOh9N!AktXMS@UbHBRs$rp3 zVf*|aD7GnV^isX2c$v=AwJQebAWny3I~}I#RJ`^ce7djrXg@$7D1KfHu1gX52x#4k zeG~%kQCM%F@u6Zhy-s=+?>!6bKE-#mW_qLu`vTtgD^@f?WI%C_3K<6#R*I24RNO|&EMQRY#+$yfQ*PcY=C-S|ge#|ALEjnW#|NPh zq4e7c^JkTlln#hgGHO9CD19h)7NuNA@t0_280ybv#3&~ab+XO4s64b0=3|wERMm1x z`MeOFamo_9;V&ywD9aVEOr$TRB`Ck3BBCow_vIjo%1^Gs-y~)Am#~|x^l*k3DavaU zt4LLr#R282@)TVH*Ob;gsHZ8j>R=&V89?45gGK1Pu9Q&JI!mel8T#2u zCkagCDF3ksXs+@TnvxsJ1=+Bar}U(!SH5!iYlsvmceO&HP&w)dXNr{HFNVQlWvK*{ zP@>#HUq!m9OrH)DB0DdysJTDv+~?h zkQQa^bXaIrGM)!!oATETsNYkD(Dt!iY4fG!RflpfEy6pMwek32?<)^h1LlEpgmwg7 zO3w2j-O6iWfay`bLkrJ`%3JNg?o~#7357o8XFmb^k@6ccNWbz^dKnKWC)Yu5P(gve?#lI()D9BPAIoOhKo;>U-Uv_ zQn~aQn4ePeuEO9URqv}9g`KLL0t)u399pnCs9cxBZAVqP8(cfAYFP!&Nfl2!i6g2k zdXG4(Hq8TZQE{ot*Hz{E4{ZaFs?su{aa`3-8BTYVjzZ`js=*lOpHLa8BG*&3VmX}g zQdL|)qqoX!4nTcWc5>+Xs;md#y`Rb<6^@=%mC;3dO65BM6aK0W3I+wJKB2d8pz1(1 z`hryN(?OgNl_ZI*p)wI`O z;-+fL|r zruvHpTCK{Z;7pBb4NY*Z%8jyQb*i_UAzH7R5J9m)6+rbMjjC?C5}H)$e?q@iwQm#D z+f=_*K=Pi-Lyg9ERb~#J3l;x#t88Ul47*3w zt%l4))sIw@)2s4!hfJR;-2k*lD#v$$)~~9j3vocTP!DcU^#@f{JXZN@p*N(epzz$V z%7cO&BdP_9;moM&H$D2sRIjaq+vBRehX6LA^1ll5MAd#1h9*^C*>1x9DOFK6Ko6;t zq;SzreUSD%_Uc{=Wjm-(Qf;WC`d3;W9ag{12dIbb*k?U>sC3G5zMhm=FzT^;{6pgq(LD`@?BLOo0&El>6Hi5Q`m z`cX89x4NJZ#7Dh^_5i+W@hHaYr`~)EBRr`#r$PUe`s@;L{_2_ZXbDj7rF==CdR;&I zg4Dk=VE(i^WHz9K)vXj&3{gK#!SYabH3jm*)W0ox3HM*Px`fggXVi(~Fc_i!CKa=H zR(*hWIgx5_f54nmmsP=w^XmQdQoW!y`~!t3bqj6Nqt)T@0F6-(e1J)~sJ>kWE>>;1 z269QgrWYb{Y6*Qg`m#EZqE_+hrF1tYsHfq6x6Qbsewhz8QT;cSs3xi3$OK7N``?G% z6!j8H$)u`}&xXiVwI8KFuBl(~g84LcJ;l}2)s)}N`)NQM{J)gHm{K1*Fl z*J`f%#5p)~L!G-1jd|)fsVpmB{o;?Mb#@Z^ zZmO@*Nr_T*Ni^p2mUSgI=#5_y(N~>Nr|HH>!W6GYU=W zFDSv&tWJ9ape^b++E2BrW4VxQQ!ku_5#CcL--mj;dYcYhhuV89eCkxc_!4}&uhz$a zJW$UZ2WFSrLP4``b?5)@JGCv=9WW2oh3`S5S3N}aK7DHW=RkX;&Y~-+U;RD3WCql) z(2IUh{mW}Wd#wJ?6Woy6nJSuw)w^kPHlofsi_wp&Pdx<>$J7nWfH|&CpeXr-+A$y8 z6ZKkJN=&L}N`X10ZnkZM;vvl@%KF%8zMx&Gy{3B%J~?R2rD$~2Xq~|w*1SX;RVU5M zFMvCuk^T!4&YEB8weO;d{uGU_nz^NDJgWJD)+cV7(f6Q!OfyQmjpG_t4@BHG-) z)?Nb%&=hY*W1xl|0_-47X(YyUS~E#S=)s!zr$9n9&rl91R1>itBut~EPo{)xI;foM zjAm><9m9>#d`YYCvl@LU>_%#uY5jUmvz>~b&TBrg$FMJGf>r2?(zH-mB3e^l43QX( zd^-9rYIbojrLmd`IZ!TXq?Esl)6~<`=dvbq3HstS%x$onpqZTo?uzElF>r~R<=ETV zW+Z7MXuF-Pd6x2FDVk3gK`~V$p!oDv&CUxDy{0)tCek$9X&;uZv3vlL49)gjaG9E! zG|=msE-O&7G?CNcMYbl^2!$L?rv(1yYW}1M&kaoi#pCld`{{w4ukoQcv8_;(MkVb< znhd&uiZ#4g+b|OsA||hvuu9 z7(}P$g}0!7U-KVTP(9GRPajw5(iCRGnQqOzS74||Q$nHdhZ@^D`eA!Drte{*PxF^M zhW1EPE(1)zW(h^F1~e`=;M1UHuRAmzYZg+~(2%CL1a^lt!wccei01MZ^o?q652A5Q z6GMylaZNTY9wsywJ>bO?&AFq%oYZvRgUFP|iK3Z@v?aE$;f*X%GGZ?zlFK!es7R zIqkDOv}b4!a6-HIBt$&5f1d&8rR7rQ%UjE1*x;#;){$OkzS=@x$oOfcRH}AT+e}-h zQ(EgdMEtcIsOmOA`(hzTpth7&!9m&+e?jE5_A^=n1#46L&=;bOrF2@TwwG3_VcI=O z01MatP5+H_Mq5bX*9h(CJ0NGZpN~-(G*TP%G4#)A%~UvgUi)M#$OUbZ0whWsMh8kS zYG-T(Osw|TFEPSP+7bGkV4PM*m>G3RC|%H?Q;NEpj{mZ^+N3d zdNLJh=hGcttTp`r5nGA&GrC%CYGt&EF4cy|0p^xA$OoNeTIV}3Sgvip0KY4=Qw3JCWA18w=;c(c-8BPTjW!}36I82RLqWbe?a+GwtJglF z+(d)6^%5EzcW7U8g+`P1S;{##Ywt`zu|@mLIyAOw6}10r(?%I#;-2;m%0hN(?FS)w zU;FPrn63v}?=rx2Y2PQbZtcF~AU)bQw?h4)mO*z@ueQ%`*1L#weqRTa0qt%MCSg!( zs)OWXZTQ>xL5H+M6w4jfUM~O{(aw#Bg;DMApFm_xn?47I#YmW9I|-C0TBos7Rqi;%EzXL-$q?<7vdUiSqef`N^x05E_K{xwVIN_*UXrr9SVclZ-4V-j;QAy7c z-J(&zIO~?uYQ;sjo2vF)bvYa~9@V{91kO#zqJY>jUB~mlKCUyBb|0m*ZoI9 zx(wY@w9LrVy~cs}*L8avA(^9#+CT}1T-}$q(0W6+j@Ht7x=3Gu=Ie@ohkk)Bl|J)d zs2itKk43saUC~#p)6+`xrY@FFj+g2RC>C@}C!*9*nQp2Oq+Hk41``#!Ikfq$)Ojue zSEZ9uwfk+|<`j@Sx=VC4$#z$#UIvY7T@@|C31`o2yU0O$w0S}K3( z((R~+Gu^ro8eor2_f`&M9_ps3(xq4DG!0yzPWvN#d!&151Ty`)+fSo!K$rLqxIx`T zI=S;$_txw1a7Z^c32s=&dm08ubbf5OHmZ9<0l+a`$p93_b*=Z|=!8yB73oiOr%iyK z)UBlK{glr3Dy0hS^zJR_wAV)$f^*QvP~^`^zdr|}NA!G}QfGY)#noK&athzL>N|G8 z(owxt0didbELGjP>yOFM=b``03t(RQWGWZ%)(3YM^e0q3g^r=QSIAMp~*pVSZA zGT`DVeaH%!@Yhc}4TAytMcdFAsAp0(AxOXIE$E-t?<vQ@W>i~9Mzaa|dFX(@6wt+_J z3;&-b*4Li_T8w@h71LbQ|3=4%V)bj^g)^7*&g%dZr{8=OjhFRb%mx>)uZaYgpbv6{ z-79+aOprwV))rtU=^ZBFXtMrQ3MHlJm;Me9Q}qQ2AXoJ!3guqYUt2{9_YD1V3N>cx z$7mUOUH|gCFrTH5-3XGcU-%h7bMz%~;Bxf`y8wDazq=Za=ILu+g+jhw(F&0Q{TMB> z3iZcn(NUyNI}B2+U-C8@OZ4+727FWhHl4pK)n`&5`<6c5OqqrZ;XiZbGk4uj>G**YBpsU4woleIl?? z-#QEvP5PBANH*&)(F3YYze@pU?&$^RFbVDY_={+?_3F{uc6dFhLQ}j+8)wl9tcS66D>gu29HMG2$)ThvSQaghz8Kbv1 zJSPU{U|2?hI7h>k*#J9im`N#TC&QN`;5=-GQ5|4T7%cQ%J5Ph%N|^UDtm=W^-iA-7 z;m7kaT%mNfuc1x`yMBf;9u!X+!WV!$WhfLu(%;ZX(e(hs^OPA0G<;GH^FfB@S>R3^ zru_$lA%>D>G=>_2EAbnI8T=@k5pJ;cQ!?_5L9zlSA`Cow-kdWW$OYPY!x!|~wF`## zDB2ulsD2rPi8l1nJjEEIsb=w_p@NDWV-1E^p?=BmTP)P$3{py%UpD-D6@BrBl~QmC zhO2vla>c;@4U&n5h+&W4qJ5z-1T&UxQ>C96v&nOhzBnu5c(?Yk% z;Fb=%#fCZGLZQU)oF8QxZW=Cs0a9u>MqhEdWw^E$T$w>x3H@@z@AO@+D#NW@ka|P> z>(Fm7^z&h<(GW$o1WkrZ*D#1?1G^XMErxp(4s0|07X@<95dIowz1=XKJnS%RrPAt7 zL;1%b_YLQNr}y6jgMyYDU52z$X!IBkQdZ!h;bJ%(?lrtdtCc=OBhBR_L)jys^&9H{ zg~EX0jcR}n8lDS*YmW`NzTk!oF0}X_HdOjy5=IRh=#CpRObh{K+;H&{`X&s!*TCN= zh8z(^IwuWWZ(vUuc6)&wGA^Vgo1Jk5#VYKL>7PO0!MG(BijKy2?9h1Fc#^7;os2nM z06k*VMqt>^#&_r{b1|MOgQTmmkn$DBjWW6&JdE4vXwnH|qZI@6H0}#UpO|^w!;)RpOrl)Z`oHA~rY=pn@`1imLFm5%XFVL9R55*v3>u(^ZjU}_-MX+(( z6cj>?3%&yvW_T5HMXZ{A8 zX>?)3x9i4vdia)QOrv#rwlVcEK=X~8u0f>0*mVzmg~nrarxzI=D8^B23|R&2o5mt~ z?Ux!~pAX4f#?|fUt1v!xgnFg%*C%MKGWsqCxoz~Kv)Xrz!?s~4RvV*AVYkNkW(h!R zjo|{oG#E$d^AnB69}ZwJO-9c}&}cTEpwL~5(Kj0kt;ToPK%vd3ISa{lV}2GSJB;tG zhrv!`?8}h6Z#+UFmIp@e6Z}41#?PKYU$-%B4#0Yhs^4s|^w4;T@=}kC^QbVUC`woHS@c1K`8HZEyL-;gn$wmc)oa>{j$8Z}h4FlH=R1Cep#vE68#Fn&uFgi}V% z^H4uzYWoTbcBa6^XtXyi`wKofnCd7>?P$90Hx2inlj*C^A#=nuzYfIN^!}^x&BY|9 z0EVl{j?VHQGhL>cId1xt&J?ZDyCpim}w?0 z@WV}K=-BTW(+dtTA7Pp~7y4&SN$cR#Ig_6Sjpt3jt%Sh~rk{49G0Nmt3cYC4ax8IY z#F#?p=^ks^@BzHIWLimJai-I>sI*-+eMU8W@uq1sUx_B^WsoG(5huVTnTU< z5=k}P{0RD2P1Dz-@0uwg1RkcD79@eBo0z$9JHzw}MGP}d!gt}*byESI;>$9vp;bq= z$*&sFIi{LH*v&QFp|j67Y$jhiL7Hc3r>da>Q^GUoEHthB6b6e--&x^lvFTSokP_1? z4*_%2^b36*q11FF0s6O0PE`L@W=f$GtL3J^Hn>({nxHI3rK#dOU{;yt(Z@G#o90la z;Ew6vf56=}>1bP1ZL-z92DZk;-UFCg(}(-vex1qr7)ZV81uC9xG`;#1hTUYkKzYt) zlkqe3wU}O`luD~x1p3-driCCKrjP?L(P?TGg4{PTsdDOp=`%`3 zbeTA*Q0O*&WP1f{kIAtgT zPluF+V9W~9SO8PO=T6)Qhn>NzpdBXJQ3TEwz>3a%lPMWq*czVjT$_ZW^GAC}s zsO`+5zfz>r-mGYZ!w%+&0bo0tZ(WAyVRMZfjZS7W)khpLZ=++2&gNgz(C1?2{{i=1 z%`ee8x})Y8DzA4lchUCznE4QuS{^qK(r3Bc&2_YM@-Y9o4P!ZB_WcQsp62bexbreU z{GBRYyv^I=;kS=D{&iscniHQu#?QQne*2T=AUf1=$~;JkV1M)78{h)WkyTI#G>?A; zFM`akFoAvAypr~Y!Dh)vFc@NfNMC9RH-AEJ=riU`Yv5so*-XLEv*t=CaFOPxSJHvM zbLR8(XgY81*bQ>Q{QD;`A7$=X48<7pJK5kanu97pV$DX{Sj3y3x(K@o=HA_y#4F|m zN@*sVXHnWC$^7;Y&`UNCm!L1j>_MCURP$6ips$*JuEXtX=30s~rJ2>c0A@=!8$7{g znC~7yXQug5IR{biVEb|a;TC&Z)VGzwRM{WYiHE)}ZU*v}QcT&hRzfLcbd~@3) zcvxVLy#i8bj(rCxMP@s?0*lR0)3;qp%nxdyaMOI17HOsC{q#1xWivB>!nBo{_k0MM za`Sr!z*U$Jvfyx~Ifc@eRc3!$s@^ug9S(BGJcl9ycg^2YJ!7?bj{s;j=1+6M)tZk+ zz?nL;@=pxA-mIa^xxswwDTp+h-AZAh$$a=L^fj9cl^9@)+4kW<$h4YsCNR)8bL#?N z-!u2!gG{^m&OdOt!@Q58^POhLRKVOfAJ4)hJTP}qfT_#;p&pXm<_KDf^q8M-g1-;V zE%cJ;H81@X2K&q(FwpqO{N6OU)^GNrCCq?%DhmpOW;YuhwR>znK$XiwW()1yhRxx$ zsT?!6wZoZlb11@e=k5(owmTbB(TrB~Vp*(7t@hm{yED7`l zp<|Wa6bVklg*tauSznk6Iz9;RE?Q#K&O5yy-B}VJVpuEApR=`w_V6y&*J-!mYIXS)Lpy4{p8{+*>m37}IcEL$BCwBJ9iD-L zyVYkI40>3_f1vS%^}BbW;Au6{1>t4AOW9#>>t5Qi`B-0~{gAJ9ffS8?)?ewc=Sl0_ zzij9{W$mFCy}#9&h8AG$wueuF)liErTfHWs7-FsPKx3%&(G`#| ztNCX%hFkaif74-YFoBD(rbS{#&stNThe)LL`Df60&N{RU(C4iwUt^pXtWC%1z+aR# zSObTntxj|bBgXo0Cw#hS{f6%CSgWfRK3%e|3xs~0b^d-dUbgzp0cgC{i;A-ntaeH0 zyJC&{8C;@uhyvkB)(%?5CR?Yig%>GS?`oi=TIbM<@2d43idv;x2Y#gwo@H1SF6hj( zR*C_0-TDf4g)_3ObB%$))a>H790i(#XYNH^MZ+&w<8Vjt- zx6xQ=U4I5%6j^Kk!3c}3A1}kimRKKE!op4KTzY7hTC)_8yk%WOoUP2d<|P;`x0>l+ zTq>+7lx3>4ZvF@wRo3Ot!R~GAGxWjwJJv52gWR>|tbxI5>xvMF)L5UZ0Zgqm2d6h? z)LGd~h}2tG9zb7%b>s-#{b}zNXuHi1L*^)}N?A?xD4bCb-vXPoHD&v(^=X zdt|lHA=7^AqJJPcV0EVon?dWNLMS}8Mp7JO$ok?uU=CYt_uJwAh_&rQh>lvz$kQ=v zIEA9etw$-AHDUcT8lX?CK5wFN(z=m$IaAhYv?e~Zrisdg?ACS(_VIp;nv zG-Ko6Oj96pBtTHfO-X6vi6*5YS0R z-~#f0o?=wB!~9f+zy(8^#(4JM?v9Z}b8i-7trvjVjD_dXnH)yu5IFM~uS=mRpE0`t zrWG(&tVCNOqldnTQ^Z(KZp>oFJQ~9i#x8QrmNJAnXgkB$xB<8_Mz$U-XBn@1Ps00G z&Nxzw-d8ZRG_T_*OLsZWF?=cM;XK1~7vuutHOe`>$k<97{7a0_-vP^IMkl4lR5A8{ z2iz3~ht}3=#y8}=s$tw^Lhn_ETOUfbj23z+>lj;TYN%)Yy#t)r7(Z--FvoRhF->tbeQd9Jco&DVn5?InqeL=npdFP4;g>Y2j>8zgPgg8j2K!#9x=Yz z3EU7P=n(WiW_URR_k=NR8(5w)TqB`qm~rP{w2d&n`xa83F&yC(cN}G0rz6)Gqi;8C zb7npp2Qhn@Qyv1ikGbzW$bP2aFz^SMOSgmbAoF`#Ib4`E_hE%AQ$bN1H|7yK3m;-y zX=Zb0Dtj<89?S_VVVWoN!ZK7IW^PnK*b(ORS3$g(PaUPG^=AH$BG5j})=miZWeR6O zj30A|{FwgC@8~w)QKpdQq5x)1DmafZnI0$wGN+OICx}^>fy!WJ%mm;8*-kwzorQEHic#_&BB$ZDo!# zXAA=o&n%%l<|O9!Dgct1Iv*j(m{Yry9*T|a`fe5Udm5Cu$r8Ppdt zpW~ygh?zyf?P8`AIib!lt9F2;jJdA~LeDZ=9z#kwGdmTf3g#n91FK|y{2s_T=3epw zoo5QIu=fIUCnaNFWPY1T@xMz<{r52OGV>1xfK|+o={>l@zKRVglYB6`x?NnG0P}R_d2uhE!fn+e3SA(8kz43(bmKqdjNZHFb6rX zzL{y?2$mM6aw1BOo6PPgXli9n+zOsH=KSX%rk%NR7f2^_RvGYjm~oe2MHll4-5j{f zT#Iw-#BS!s6o|RUjHF;>57Yc5O81$Kl%dwktb7iDK4vF5-;n*+{@ZULBV}2pOvs_KkIcn00&tAdO*WL)(^?haD+9R5-Ge` zJ1Hg3o8@>wx#&Ku@l8it;Xe+$_GEI!3)kFl9+)2!A($j)PxCxIoOwedD&7O+1287zgYE;#!p7O{>}YFaUCGr49p>)`}&YDE|D-EpFC8%s#JL^CLDmz%*R2Xxc#i1m&PS&<~jLaQY9M0E{iCwH}nrQB_ zwtWTC%{ulX8t<`6@-Y@Ytb`w-@IEWF9twL|!K+|QAL{~zHv3t>icosMdb|ct=R;Qh zNmLH7_KiZ}AZsBD)<0rBat0YD0DiDQ`6_#qG@tV|E6 zf5tlZAsRh5KPVgeu!F5nKu3?T&(}hs7ke%F zR=wHL6i)YH^Y#GY%WhPl(vR&q2`c>Ar%3%#w*Gyn2w+ds!t7)0TN-pGkS)4_wjg%W z29RL(R{HHj*q@vOJe0kVe7Rxl)>h~XXAgK|U?bR$u`KXJve$2cv?z9O4S>cWg$U~IC-f##kiR@KOR3@?ApP-b?9_j_>3AXP$ zP?5rxjli^%?28wn{uDcvLRYEmgQuV`js2&Cb_nV0%^e^a><`H$mdP%p87hk%wGq;? z*&AK~B8PpCP7S&2NAJP3)9l|Ury!5rLa%5(JDj5N1?;KxqZhJYBv)qv#q5K0 zEwqIFNoMqpo)Twf|-V;0(>?L-TD%t9rU_HnFybjXN zv%jKzw+rksN?E?h&W!=Civ13G;%e9#bY8v6E)GLwEqf+KgzDJ6UqDzr`%Dw;y~g&T z*za}rD>_JNU@xDDQX_jq61{&->@DQ#yuogM9h#ciul9hag?*kTlbdWON!P&;%LDBqnw#!FQ*uh@#8#;5FZKaXzWV_79SlnUv{SNhA><#|_aF@Nl0;HS$ z`dpBE>^E+}!XEZd7byOIpM7Zv9qnb$r5C7=?PZ6ie)dW>cpk7n`x(Zd6rZ`XqyC1UfiV^kW3|~T6aZdF=kP^>n-U-eG&I>{eNg`(x zMK6;$j#oFr{A7-5HHP#AhfVKT3a7gSvQKh6>3_CQao9A$rE-eHK+-rbb;6i*&TTp! zWpMl#;AhU{M9@!|#d(8P(QMAAGzd8yUpKJiavssn?KG#AeCBx^0qq0xIlt0^S-|g0tmSCl!+6zk%Fdv&o>R0CDz0(V6#L1%f{st#E24>&nggwECwsMj`L)$IR%d22a8%IZu>2}Vi-t@t<4$jp< z490EFlNT@+ot#geMSlmt#BwG2NVVw4=GlS+Nue@uUPJH&aJ4d7$W z0BypbaLOoE?I|ai9G}A+A>Fo*NNVO%FQj0xx79*GeXU! z_Lg#^SAz2lw~k^!W!yjMoO_nLh@6w<+-64-=reJe3cf2o1 z3wQA#)ZgSj7lXDo?yuJXXy?8_YhwrZ`}ZOAHh15zAe~%8F|5DC{g_TiUEE|5D(`YV z$);}Z`*cP29+ykARu4DB?RmU^_qlOvAiJ0Aw;6~&?xITA*3UJahTaF<@gdOkkQ-rv zrU7m-g+B(lqq%5%#OnAH9FfJt_zM2{)c{VV`oR4x(+C+YyFw9^r}>fjr}; zFd%xAJDYN~cJs!1DgL*Ir=Wz@y}V6a$UeYp_yE9zyd_cyb>S@!1;Ul5`y8^}cnf-9 z=pi1HJX`L(wO2qqcoscaJbBxugB<29ei!y0;VCHa=f!(-J4)U>f8=ye^x^F=gwSKW;JqM$yagYjGK5#ofcjA0zElVeJuv1JFOPgXsk~6151}>9_jXjnl-oOeNlg*o2fyx}-ziEKy^4_7J@HDTD0%3VP z$2H3K&F8h`gQtMkIT`8;dCzx3MG$gEgE${qRRMzphlp|Wt<7`0XHQsVs8?W zpvYFyr;qW&bnqtArRO`mA6HTSOBc_J zwsm)TpVH6V!}DGVa-VmHB6q#KdYW1u@ZMSr6%TnY|CfWylWzda5RcaeO^Ms0`=#)1wo?|H=uR(fkM4XFDdw@Ncbz`dGf6 z{HO8!hp&P)f#2tk%0zy~BJ|<}|Ai?SixhrZ4oo}AFFyjC()fl%*p$xqT??TZ{1zzy z+5G)4qAiDC_Zdhozj+$k^7-@rJBstKQIb|6|FsrqDB(ZKfM`c4-(-b}XZRA@@|E** zjj*kPKRyV?RPw#&gXaQ2fn0dC{GT%ctm8M4JF}jDjgBza_|eCKyUwpj0ZSAAF=dS1 z;0G@OOEdrCIRIMtpHQIWCV${1sBh)lC~Ni>{|-52+8q41X%o@Tf0;rg9sCuMP=A~6 z6O2+PKmHHkyZFOhDBa~x*apsSewP_~@A1Fg4xv5##4>{D_}`8{+#N0eQ?{HWQUk_>OProIS$tN(JjPz90k&NBN(>i(WVj zvIfAjTkvQzY}z9z`U_U<75q(MqJ4tZ6h=HC_?VW@gMx-fQ0O9v(So=NGU!W?Zi1i4 zF?L8WNWLg{!I=Qq>mdmG5O7aHdm`*TEO^Dy0D45=XMz=8g56($$6Mg{3pDu%Ld5|3 z3IeB~(ofL50G$4UoNLf~R3LT*2@w24(a&Q7HWy|G3Ig_nGej_la%e*Z5o1svCV1~0 z`Wq?Wkoz@Cux|x$(SkVw7#b(o$8$i_alxZHG{y^Vr$btjK=%=hNfzw?5nVeWh$Tnh zDZ$R4VRx$FL)yQl30@fl$rSj^1|Un&%Z8L}L46AVrv(mj_T>qd9|s^`@Mt<%iUfM{ z%M}Y={0GLA2yEn*C=*!ADF5ZGz?a_pazWHIuvQ4>&cT~gDM*-x%5#FvVX*YPz`PyO zE(kj56~8FhR0vI%1fnHixh(LYZ?jYhUik0R2?7%xiE9Ll*8q1_u#qw%Y6XTZAa#OJ z@}kxYrW=8~Cg_Q#_pd=vK{o&z1>))GMU&tbtspl9|5Es*Sx`U@y%xa%I;-6joTKn% zt6&O6w{Hnv?n6i01a_Jz+67nQP}w2K^Z~ge@SO+JCD=;e>bfh~rPINQa(I?3L9eVo(`ShWS2ZD8!uJlll_8ou&f@$;>>_NfjHdH+bobBk-Qvo*srD1`9;;bWr4_}6`X9AB0Fl|)ONuks+0gn=VoQ1Xfp?bZt$l(kc zCwz?$6~~2qnzrJFj=dQ51feTNVPc|CL;a@BWYZU%XzWyd*J;jA@2(9k0>89}DQ9A#%3cpc;=a%rxH1MKrxJQecPs2mnDy+KBV+ueYBCUoBkp`*f22S8+AxftNhXW$}Yp6Xa+Bg+>7g1R_`s6Aq zIS&)vMAPVdGlxX8dVqHqovH`GLzGqvPES$wE8sjVa$=(Lh$zGhKcSasJ;kcMMW>gb zfO3@dSfj=k8_#f0?5G`8@){CN#ozcTfqT-ie@MTfZ3~*M7 z0_a$EMYP})NVVt}ifz=0ZYQFnS4Cx~QCTbc_D86w6HUp0uzJz>OyI7Gsux1xbPGeIQzv1H?noTJjbQh-N;9!GogQE2w-Vnogz-iM%(%rpKaU z6}t9B)YFKrJr#Y!L))^M6^~E~u%B2$o&bM`*g$W` zQSr;5-E-! zfV3F#)PF%@#h>m2AWnRdl1viB`ckkYimmRzC5eCRgyco$2 zz}1US(x(_3#M3CLrBS?w?jJRYSIoojdPAH?YMaHY6Y2eH5ua)X;-+}UP5eNu;@NMa zhquHbv|YI?e)cPbc8h~w2k@SF>VFp}#L9WV-xp)Yhk0E*ZXrzT7pKof>4BKlkG27E zD}8HdNURG(+hg(Hv@|~ve@fowr{XP7(KakzSVv!48WDd|1xufa=e!T~qhf0`)Q^eB zkGE!j_hORz_h`#+QpNRHAPbx@M`4=P&a$fJ92(Y(@{GBui;O7A+~b3)wLe7up5KO6+&h zmpI8QW{~5Oz?)E%EP0D=Gn|mrQ6$NcB4PdlO(!MqIz#U%$$BSrEmiWk0z7GwkQxBf zC1;<5v zuw0bPpqc5Ci{LJsW) z$qVx#x>4dh1@I=x^bv60kT{O?K+G+PgU)Jgl3qF}w@Z=|Agx1kt_S3{#LWWIDVap+ zws$0rTS2-c|Dyo3BtK9rvtRN?D=HsIE|Pohq2$aHK=wQ^_B1p*SpQZG}-Il0WIoHqRs*&5$-K5&aC7F-gy>=!LU% zJY`humLC2SEPJGN^cj}D(gzC2-X|Tu2V}o=Jmu@SNw3fclMYEA()WqorC-qr(?gm~ zUPVu7!^`N>Vd)DS$p3OgntTxkdr1?fLcO>2c^MQQl`1ZSCqUXrv)3`H{3N6WN=3&2 z2$H%{{&ui5IT<|+k2Pj)6Tk3>PA;dilnoyLrSr< zE|1o~66t&aRFq1$Zv;6b{T1H6iDlB47Xxut`qK)iD3>lg2!$7<|JYG^Q7U+Z(k1Eh z^mtsBesmC;s-$+>SzM7mN8!h6sm>QFYNTsgA@iElNbBEqX(ff&8>HLGkI^XoSOZQ+ zlk`_lsJJ1m83&$bX^RfP7HJKI>f5C)6p8APezXqcwsgiBdJv_(KY`ql&bS0XmvkcS zLGDUDEC8ZCt0LFw=NV8tVcbOCK5 zhNRxz5c5=OC-={=bS@iYL~5J|P0ys`$*(smJ>U#6W73xnz?g%w37JsgB3qFTxT~!E zW3;)+W+p-5A=%;yXmgiI{Xslr;gq=IDRaI9&cm{)c~Epjmfwz&m&}pz3N(4k5-QMN zAK3*uiTKLO$TjRIn^KClqq4$k2n~>JD}tC~vU#qsJ5Uxy4uK%q272T}Wd1bGhRXWZ zqb*D}?-y`J$eQUxGm)}78s{ikFnMpIWt-{f6C<1VCCG8v%MJ#B@vyy?^;KIr$X|WE15W=R#TMB#dQ| zYzBQ?tXOuAZmX5ZZfByhR8~!^(ixeYlC;WXZS*{!l^N-5SS|~rC8I*N&IOt(WmD;( zdrl^}g3@_e<@3N@kX@(i2p44&*TectvabZR{#}+Ol9#vrk7d_?hK6C;&r0ANBeJh|0r*TdkM0PL%DU+YGbWn~-_S&7c`LakcFW&L zhB15Oap%CYSKdYO!+r8sw?g)Q`H@1D4#<6H;-@$$k9i9K7r7G+zN@^8CPp`T5qVk< z$>-5R>n^XMBo7aH%}fwahx`cneGbcSP_X%kyp%4jdC3D=Al~vW4aE4!FVkD)D_^w; zD*WW{Zh{Jbd2l#{9+khWfK37Ng#TiT^6%)2ErIf1yCFMBer7y4gXLYnLrRF;>uZou zx$zKiVe+Q`cCm8DZ5pqs z719Lxv5l`fy+*b3GRIfK5(mnr`r1^bt?$1!ZV^6%$@oR*K0^D9rj zupeUb;YU$>X8`FP6VT$CDEI?_YzZRPIKpZD-{EvsIQXCg&4=MHXC-mE0lRw%5mg{o2F<8+cADc&C z+HI5v)WC`+xrNd!Zpg<`{IFR*hkUCo@>t4CyeUtkb+=Xi<2S(Hl7E?nwl=weexG)E zZUM~hkjLkv^0qwuzq>E;w0mf~E8mm>T(^8XrO(`xzhnYSk398VNVzW`swDqQpZsSr z@cnY9x1i~PJnnBaK9r|?1pI(pHv=6Vl<)WgVus}LU!xa~u1%FPtB8k5)ZFlx?rL{1OXbu>+}bT<&`iY@yvCK-xI zI>TowI(C64N5P~+bgrV8g14s?b>yMVQ@BZh%U7(R)Qv(#kPekaimIa?v$Zk=5{Vy7CDmIf3tW^<92a8*ZYd?auO;Pm` zG<7I0P~hUWB3B9Zor(nV%XKRln}NHhNS+T|k75U1cfPOiT#U9}#e8!3^edj6fv^XP zpS}ajLxtECWI$1o11W0S-fyp_Q; zG5RPY<3N0szf^(KPw5j2P5#P4I?x%F})T#4A^P2tyN;J1BmhsB|d>XOdDyuYa<#i@s@gLfK4Pi4^7R zPFQ%-p*-+D6rNHR>VQa9E~9Nun$nm4H6vX)p9N`I%9RwG&sO&AhKd}eE4|x!N(Dtx z@|7vkC>1EzQ({H2@=_N_i8474q*SST4!E<*5L!OVmG+yES)p7-Sv2RBGrohO3rfd^ zwNP-B+%4!*9^5w9t~#ue|38+ymt|s{weZ zeE2bh4k-82*E0r{lW?ZRjp?4 z16@?g8Ia!uN#v_uoP<(=Y8xG73RMdzgQ`d+DufhAv8tC3TB54^7QbkzN=CEo8P)$NU%gCa zb%pw~s%Oq%DOY{63BU@Kln#ZJs%f)PI;X0*3EX*A7-h{~P|bJ*=D#EmZ@hY_+L6z67pa^)jXKcBoR`1N^osxgGFMRSAv7 z9hJ-HsO(ZzJ_Wg}@?MV)cB>q6dY$g6=7m6gk80=dkak}cK;g??RsA%y^{GxuQ0iCJ z%!P^vs+T$-^r31j1-&0oExZMVgDTEd81qQw_Y`eIs#pp?K32ujKL3d-lOoVhRkxRd z468oXL(zzeP2t05sQR%M!lkN(5sL#{( z##0?jXAdv+UxnoV^j80929J;W1Ih#QRd>da1 zM*v8mS~U(92B{yXqrbuGbqYucQL`?iEmVDxHlAVX$&}U+t_~^(JVLFag*sBboU#t0 z)avn+e;uvP$V0bd)V)7KQ=Ix!xJ4!&SI?o7NW7Z=5^PFPhwcI}QT=5iO3CUsC{%tz zeJv5{Q`F1}kd~_MJBm`8`dgaH($y`&P@kb*8;Vk~ z-oIRR0Hw{IRv%LXk*7W#3D$h|G;)^}s2f+orb6}N4NzF5R?~V=taiPG$`bVs%D^gB zPo;$IGwM4<=wX@KbpW!@s$H`{%GJwg*{@J%(>bhC?bQa{IkkruIM1u6N5UA#1$F#g z@LW_+X@`nS>ZO6uds#h>4p~*|Rdmhliu&y-09LENqy2V`dOo@Cud3gr6Gg51?*x>t zsgIDy<+@t=pVM3ItA?SC>Tmi`*`z+y3UWjJl$>tO>LZ&$TGU}Q%ieUT?X*E@RsS&z z#4R<8F0i+&GwG5-hgw5Z@NKms7UaIVxEQ2YU2zqFK6S1)@crsX`LOVT`j^${(?j(g z;v7(G$y+w4mXSB}k@{PDjfT`xnkJv9Q{piePu0r=kTR@xY-oTrBWgEq)IL+6ATQFW zTE7wokE!)9L(Fc?eL0NTqwyto^IlB`ou>|H5<8*kpk`weWV>jhEFi9$&p!i;o94B@ zK@MsDYJh3(nhUof#X~dqA!K@Lrcj2>VazjV}P?jGnE2Mg_;y{3l?d{ z=(=*TW;Z1dm1t@wp|VuNr>*=M&CnFuf0k(;%mkubbABlrD>S}JbhJ{_*@x0OO>H(x z=QXRUVBsarkq=?oWzBM04XZSB+F;=o&C0cqR;_8Hb+<;tBH!v&O)*7JYBd)rZ?sOc zj;3eHn+=-xDf6;X^X6x$ZPMHugP0qd^G^V5*4RZLEgAux zR&HwED@0qX<|R6N+|sN$4oz*Ek5W-;$0GoEhvpi^jBjg}(FwOx^SS_{?`Wou0@sBf z4Q+QdA$pz$F0 z+(XUZlOSzCQ%{)*gPOs0sC=YpEe09VOr(U0$C~fIh1pLu#h*d_Q_aVRA#7MP{}4(e znl;m5_A`x37Fb3d8a{b=*j&Lc(M z+NboDE+4H!LJr6vZ3`tW25T!Q5jjMAoQuX#?YpN?8K#XZg6wc@u^Wtu&@QB(GE#f! z0}NM`cI_LG7OjnEz@`}OY}((%YM0RKAEynWJh0>1MkU(fwN8Hmkf3FdLp)J?miF06 z+HV|m#V}brBOQ8AX#ZM|Qi^s%J6KO@=RF5$r?gfL5UJWyDJs*n2hIbSuHEee3p2E( zZ6KN2js>tOOZy2O8nU(1B@mXQO??Bxa8!R^j8cX6$N3oGO0DWF z^q$l9ilFzr_6@qfcR?#4doOCcHUMx*n=Xd1%UZiPDyy_#Qpoy>Hsu%k{!6tsgkpR( z+8L#IuC8jEeucsH+HD_!=bE;SQZBD+50GoOL3@~zqZ_qide)n?J70mq8``ga0j^oA zAqPl{_5xkhzp2fm$Ffx$JO`q0X*ZF3yiGef7Pxk;;Tx1XvZ9*i( z+|lOyf~QNnhb}YT)xKKIzH^U*E! zK*?A4OB#ru?kjp%{B;?$jvdw2eThpNFE9s5_=b50iAUay@-`~7bq^gEP@AJ`J`QQQx<2wNoYu+jpoe+7$$XUZb)F88 z0^PQJSW&2(oPa?n(pf1OS*&|27J5r`@)to$bzA5f?irnbF>ET+?U)3aXLTntQCY65 zS_We(bcO|ZAS!hO1_(Q+6O1`fJg@s@FUSSm8JguU>Y{0)x}3vLy7Yy>*Xjl-zoJg}n++vpt4VT11WQdBnT{3c+|?$WtdLgrmv)HbN^ z*8M`R)qA=TikSE4zAgCg{)6s)+JW`zemxD=K3z4Py8Ct9olx;WH=Fz*4|P9`1IvK! z1DfXsb(874=8tqz%8eP)W!Av@$GS!``-x7z8@Q*srIe;Sth+PE#pw@2@j3gBLSI$iMEr@xT{vR}XHDetZm#!s)hfug^@h~Au|dhu7_3D7U5_{A~(W^#1~>c^A!Do8(G4l%)c z;~A7f^w)||3e~5110JT=?S{f|{aYqTiO}EUqcT#zhMuP={qJ+IidfarjHbT zAf@J<)K7ck=&666d(|;Qe;b;vPuU9FGW0X!(3q)rqh!l0{oD}%v-N!PAm->B$DlV? z|7IP?X}!xqXv)*ip-o=Ce&9F23-s;j02Jy2>6UkqKKDE-i}l0bfu%&BNtrgK`oHgi zoY6beVYW>Ff+HK9I;+>NhtP8Ur!;q0=+{twZ>8S73BYsuNfhWjulH&}59IZqBqt0zbIq0MxXdRR9w}+MRRYh{;hR@*Xb8gDq+3;!E6Ao>0hB7 z&+Ga~hXX1a^s6bz-l)Iai`pi=7j4~c=tFjcH0zUTKiH}-q8kLa&|k2$=?7ndw08Yz z3Ke$fzxx7a-`4kv!P%t`ryPj8dY&0=-TD!_DRE!Fm`;7gRRu$E@cNJCu+#Kaiv^sL7kgmiH*&S0iY@#6-UFyP`1tG_@g!Eosb zN{NPjYXL|y^aQ}dWP_bTD<=$tQ=vY^kVYXh8-=yRT%CELSdyLYB_M{3?K7g=y}6?qbOZ4IG%n2#6`ouCE&SaSQ7wp z*-)1PO;rXry8L;?@OBquR~wepgVY#Wmw=_tP_PIr^@jXrh`DCi-H*2G1|zMF4Tg{C z(P=bHBR6%E;qRYOdBecp16;E~nGN-=hT_K{w+uTSr!Wd_hVn`v+6`aRrm4eVrl0b* zVe`uXb{gKJ0lH&wp-;hf8C-q>=RLzO`+(~)ys{M?y>BR{phU0Xwb#(rXP86DJpG1+ zbQ|Jl3I?Hx}H1 zF&V~+9|6oX{!Yh~EaT7?sK_>+xd-(*#-)j9%QeoSOyJYTghd;{CgTyv>UTlq10hqa1OF>8|CDI?=sG0gWNT~-Va>2k*-KBWR&~>^4OR_p37llYZ^3-7^6kt zd}h2l1@=0dc2J*on_l6eZI5a58FXpCY3wUh9x#2Tgy@5&*%S_UF?o`Q$<_2m6j=0cd(<>cxzYh9!#;HTm}&I_ zlmbob2@qsjx&X!mo9tIn3Nbaiz?e|et}lTLGadZ|ZQ-V|oiHZCwB{s8q-ohW3a3Yz z((}+5Z4#3IC&u(OB~8VeuKbI(IMb#_XghA2O8&%n)0gz+l>}383G^nK{HK5#3s*Ux~ZN)?vxBu>Izts zY4Ug(`sb&|*Aj48!|QkhBr04!%s8$)URD>q59ps>QUZW*SC zO4E#1@SHP!O-T^vO#zfValy3o4D7yWa;0$kCDS(YeP1>mqSUJ@)1)AjYD_7kP=D3L zAU{a0={0T9Wwp=C-9F=-3y`ciK&D# ziJzK^UITvE^ga`9BPO#uDxaC$DTR2{^k)DxjhVK|&|hcsjsdjoHjj*;a*z4SZ_u>Y zJbV*mpLxP_VA*e;?T5Al=0qce9W+PNLCD4IaCsj^SMxYKtZ_3JhCucqbKDRR?&ftS ztH}*|)I2E%Z2{&+IwT!4uYCzDf#$`IZ((AP`NUPI4>p%l+$F^9+5}5O&6k(Lv@r8= zdYi+|flBC&FfTZSwn(#sKC}^Kote5n&8&YVQ19XGqtJQZ*L za}qcc%vp4vN;F@f`69{uRj>mz*(`er=ASSJ(@c?KX1ooXPMWXNH*HRtKhpw{YHs)y z($dW9KY{FYv-33An_*Uk!kA3+Pvm;YG9UgBKWw(Sxef3f^Xk6<&o#e7Ny?|q$_iBG znX5EVly5HEfW8!%J%#`Mor*btoE=5xv8CvJv3Zp*gqE1cZvnp4i~uLz9CHLYT+7VE z^C9M}dDq`iUv3WHf<9H4H%ehzrFp#!fOF;#cvW-x9&74D1|8?_DN+E7A zuipVcquG^$uTAEQ;jr+A`4h^MXg1py1JGg~rX=T^=C52KrPcf*ZSHQFfA}0y+RSMl zfVZ1JzJxYMhk2X~y}xa)j0UjN+#ib49kb3Eh%R#lZKm&>4){UKcmXP1EM26~)nW?A@8f2Pu)y9!7RTG< z0dco@w4v6+Qb=#Jr{y^*q#d@D(^qDXSjJui@v2YOHm7Lkl;f5| z-cTQJNqqr7Y=ULZwGDj!)cQ=++J$g-1ewhUWNEdm*_j2jQ0XBG{4uSPAa z8&NrC$?C(9I9r1f(cj(HL(OR0W8In#n+{mF(sFdrdQJzSF4l*+U~#o3(vst5jV0&x zA?sUo40N~tL?=EE>)3X*9kwnqf*f&JeWpQ-m({5RzpuBo;10z2SdDuD^tA@o0^w&Z z&IOCVReBaIN3A_SqbL#-Pqhd121j{Iv8 zRxX`xBCR=ZKuWZAF@1O<#_ITM3dF=(Kc&U(xb+=62F6?8p<_mZHHwl{60OaYC7ERX z;}J?J*0mp@bkaITe%DjhuV|V~wH`!dc4C_KClgrGty>MSBE!0jqP>~cxXIwmvVPZ# zQm%FBJPg-qs}i3QnV4r~Io5+U-}?1$AO+UMbkr7F-RRU^WPP{|ti{%9I=7Zs=aVPB z)Ovdt+Rj*)PKNnq)(##3XRRr;-j`dKTG3Wvy-ztGmDV6LSk75%sT1d|3;zK8lC^CF zR$R8`90#egcHeLSc*QDl1*x{aOWu(htCjqESFK*xQCVyK!w!6%b%P2P)?2G-k9f^` z=ULp-=qwTCLY%+5>CPD*!yS+P4ERU|m}bV}`5|bZCEUb$t;mPpoAe zdjFnUXHfFtuvJRW)rj?sKN`oZD|bV-vu%kPZM$tas$oNATSC`U_t`pQ!MWe2BV!KO zPSA68(B`H=$;I|O#f4pM#S1{(Y%~7?;E?SHnmgTX?@-j$!=|MRct>oT$Q|kMve_w_ z+}pOw69^xh-~-h9+NM*~*3b5SER6BDm3)n#>!{6rDl`Sy{IPGIc+B<-O(uc1W&w-| zvW4yiOR#O?2v|aF>uVu1)K=;Nc$jU`0K;vxp zC`skGZ2?^)jJGL21W$skkep|UHpV^tFiAEBxp@y1-9f102bOr>p+TZcdtWXvF-2ybgjhpD&6=iwY|9# zm1k^|X%k*%%b}CRSzGlU*jsMf6ags}wns~$uhMq*7ua;pmhM=9{+_oDll%9A?epp;fkJw6tHb9ius=+V&kqQEF_?G%sJZEv5OU))u-B#?;w< zm<-wVwy^ssU9)+RKmNK+u0pB7*76MuZM5yBSEb38aER8w8@9F|z|(A-_dJBQ*glU3 zxoKOz0AgBgnjYAF%l0lM^R(G=-$&(b+YBRt%}Zu!?qQ4RvNK&Q<}vyTL|T1w7FnLpPn0?C;X?B-vq~MFEHt_6l+noU{wBW1LUf|E9BLs=bPKcWL&& z{85>1H&8NchJEcpv}M{~Xa&i#FZdlov+W#Z|w`Wr9>VjQKzK)CbMOJ9KWG|)FuF~*w-F{z18;BhcQky_E!}U zebv5%l0<6lHz~8W&i;-g64L7JKht%hYxY?`q4B!?OCd(6!G3lHR5aQ@us}tVo$)4Q z->}aZ1F+eCeJh5f#V()_<4yZ(321Az@1&UKE&JaR0NU(*w6eF`V-mp9VUG-k`cAuY z4=V52>q8*A%f9YIdjIa)XVPlgZU2PsfZns`JV9lT{gYmZxo^LG4CeRR-Ty&lpM4gE z1N!ZDIR^28-K`5O5A8e$$bkJ1B7^oKE39~A_i{mBhV05J$b4*%T81t?v3t?E^Qryl z0Hh4tt41lDH)0P9N9{BFx>{%&wWrL+Sd7{2`(dfGQ{p95?si&*(D%eWPU}wsxYw!m zG}P~NdXMhY?RT>FV@M7-WqpfI9CW&^1dEGP3SH`Tb#l%^$<3+hRj?d#s_Ou8clwbw zr5;Xi!H?mX=;_o#-$yv?RCyCBjyMf32k~-p9tMxM({tqS^>KQULToPDi+th~}#Zrxo!qKhi0dZZ$+X-8FzG+G(X5NQ~3Ew_r@H(^k5}66cgxgwk=R zOU^JR-f6-%h)HltdJ*tMr`KuOPjb3QD`m3ND{54paJuXRlH#<9=7f_@GP+}X%IU)@ z{647;r#%#CO>+{z08Qym$7z?9<@7o&=GjhHoD&nbqS zlle~1`u@+-cYsB8J#V|aEX{?5-Fxru(qe3Bni!2HCNUbLQKQkA7^8{N#1s=t*s742 zEFek;5m2NFihxR&qExZai%1pe3JBN`5v2Kl=l6ZjlgG)NGw;ltv$vcxGv|VV=Gnh# z2BrD-zO=8oVqZ#efdc!^On7+JJ{#$L;Whg-Qvj~p|3{128}=>(FjQ!-|0x9cBKzWP z&|Pf*>XDM>hYCrWQ{BE<4-3brd?Z2jULWe!;2}e8a1$21juKj{T zP9*fX8-pJEow?|{Z@=|_uPXZ$RS@a3ztlvxOuxN218N@F_uT>a z&_0*G{_)8E%P%nbkL}~0!{I0P7tQdC4A=|kDtl^QX$Nl5o;wHbnZ1DxbPw6<=@`Xx z`)5-D7`A`%J%%)5A1#N-3ws~RhmG1VehniVv#*l@Fm4|`N}rRTu+QEI#H9UCRBr#$ zKEVPGJ1KV;!V70*$A0+aqWtwg^c_`OOZP_g8-PE&2kL=l-SjXOPl$J(M0-{`Ul}CzMhD zfdnhZD0_NRxn&RfLX>q1C=FF!`U=j3DW5F{30Iz$KqNw0a2g_~l!-x@($h-O6PP%o zEJ}b#v~ue+4D_s0Nf&U8a(yP8iB&SkA#z^%>K6d$FDOSB!eG4e37r*6QqGYBk*xfo z3tWoQ{3LXzDK}9vBwcxT3;HsY-!=i5soYbHDZQjjqj>LSWj69QUK3U zrchKPS1HOzU!L+dC8Y9|vflx?sx+b))-}Ddrx&BRu3SLbj3TA;*C548o7*5I%7zT| zl_@XK&bnL~kOsRIN>2_ZDwSS!&{m}!qix_#+=6@_malpaT*tWmj<)`7Q``W620rb&t99Ikw&F_n%qE30|%twovm1GrXY!(kxW zl(RNt65EwBihdRlq-Y)K2@gBbv3ADIx&i8%6G4W z8&b;LAo5(KvI%9)$d_)?j( z9RMd);P>#!S>;wh`3D!(>j!~9q$;IJbX9#%)q96k_i0UiL={OdV>eYIZ64fJAIHKq zFV)-h`0!Q*(2*Y>mB;_$R4O-0dHbs@PQ&goRVeMq15}yzWqPjq7mjcziacH@!S_`|vYpPw%;Pls3 zHz@LWLzUtTe4$E6&-@~l?_20BR&{;~FG^I~i-9jyUD%5;m8l{q=1{Imr!Uo1s640? zuu>)W1E5NEl`_aTRWq~UMYZYx?T2ou`iFq4QMEgvuU=(FYw-q^uM~ZadX*^!=5DKA z%|~mKs`oTR@2KX`ca)k{ix&XVqN<>S=&h=m!9cXB-l6GkSJ^hAu|ri$Pl!&{_w7LB>@Bv<{q5En5h{r0QQib=FmYY2u7RUB)LTo?Sg00XfMk*SzeiI@^ zE?1~up*U5gx?2r+m3o9~!u2=Rf74*9)hnCPdP_aL9WpiQ3ly=bRciyl)v1dMF^YOM zcORo@P!Cfcp;5is3i#XVbrch7Qde65en+kS4_vc)>@jq2eVI0G5 zS0ATvafkXJDvj&Zt5+vu6nE9XmH^+aZcK+vk9sbhy1uV=od<1w>NcuF=~v^1!#$$j z76J1Q)y$O3Cpdb&3nAuVFg)sof)GAuvjH}<(06(dIIt_F2QoWmgCMV5rv(m#%ooqwlch?F5)VqVc0Qo||S3t$o}zb7{Zpp;<+rO!3sbM{8m)O&(ny z-kLRfx>$WQU(pQtYKrKY5rqDoc-wY*W98z_LwI76Nm(8LMetFsF~#kw}UiA zS3r(yzM?fqh-R$?0HK;!Z-5Ka@ag#)4ucSh(Cl6V_$f{K6f{O^_EG>ON)u5;@B7ml zFE1E8qw%T0n9ge6r>#VchP?!bV>SLSp)^i2sf6S?&7ZV0KCg-DMc)NYOeIDbuVFre zwgkK=(%Tx_2^eb9gztu7-KA0Zr|DAWt=aQMzbQ^I;0K zJ=1I~2XIL9$pn->*BE{TgTopn4Q50WN*l%(nj70-epHi2G50aeBPtCT*L*k(kqHft zk_wZW2UpSfQuEPFsCLrsT@EeI+IR&3E?Rvaee~pzw&O5bUA1>qn7R z53L`i^E|aq^j7lHMjSw+xAtACZ}QP{m5}t+uAB~oe%ht)VN6H0h0XBZU%Q1~n8&os zGr$FC)854Z1GVevz(tTYfHG&twJJTmeotsO?ZSKoYwJ~LJ*f?g0twN&{VzAK-4Y3< zVcJouqzcz=-3hx9+FD}(PHEFAI~J+^gjSSQ z3oGF7MQsr+Y|^yb>|i%t>&=6SOl|)$n7E`>j{$dCD?9=dS=tvH(3q{=MVrDL?f3K~ z&DH+98}{iYfzmtLI2MCx)Ba0G58Ab6R3_D-b$AZasSREW{9WyH`bF+( zCA9eO(*F87aNXLEJ7KU#8*&ijzV`eF(9)~5tAXl1Z4%`q`?X`)nAiu}U40OFsGUhu zseh!^C&AKVt#&_@KG8nd0uuw;V5)C=s=Z4KszI$a9d&=Et=I)^L)r=t0H14zkD+l` z+fB7kBie;z@P&5lZOp}}cAy?)O#2;GEsSfUj6o)}Ka8MpQtL%u5W z;H>+m1+0rMoAP0YbXTaP)>UU#4WOIu)#EVeu4}f3c@Lf64vfN6*AM~oUb?uipv_zN z(=-qtoe|B2uWo4?wD{@vzlo6@)%}tHxW8`8I^d4!&iX?#K&PRXVxUeR5d)<`y4|$u zIIjD43-Bj&8}4EB!MdZg>OZL)rVVF^uA1W0p}Orlh=l3h`4hirxUQCRM-e(5i*RySoG@aJ_g zez0^wcW@EZ#OvOpVvhu!V-&bVoy{u{Nz&b-tXzt2`Ei&})pbpSnu|K8QVb?dckvdc zD_z$>*@#QJ6Kml8WnIPRa3)LlcnY*+>qKI3Il9XS!R6}ijL`j;r>mmeZ@zA+4BQpn zH>W|a>q6gwYd3V8AA&2?ou;p;73uz1z)z#>-)>8bXPFF(t;dq7 z8g(pfeQxXA6Tvm@=&Y%6 zLZ_?7Kws+8-9TLSXVBlwJG}qn$H2Sq|H>O4dhOTJquY1?roSN)x&LlArsTr@pUvP} z^8SSspi0}HMPZmr`~T3wLiT>E0Q^jO`=dr7qA%E=Oar~K|0V4q%Jv_Sz{NZJPlTYe zcfX_$&J6DVVI}&;_7BmwwGSQGLD!Dkfy=e%^E=Q~4TC2Sgi_2e>cGdZ!HaVT1ay`; z<-qHPFrR(EZ3&cJKM=ka=8F$#Hbdm*ft(HC>huS;`~ew12hkFk2z9Vag!wZLc{`yy z#UUvKjTsK@hoLRcK^F`)#SW4u=)361+~Jxj;4Y3EcrfVcsEb9TkKG9=R-CG@<>aJg759Ob6kv zI6nUy<_jD*Wufn?<4-KSxaPR#0LFRU@k>1o?S|tc8<0ZBH>fhA*zs@Lq?I_@(qAMf zb2OrLM!6&NIT|Y*!-C;crQz*RZ!qZ_{3aSp|aZ#n+73Vk(>;^W|I9kYGmVZGx` zI&#89f@eyw?Rrw6_{-t+<6F>YB zhzEaP0tRx7ugRliHvZ!Vzo+-#4AW#VGuP60d1gh>Io;X+kiFM-(bj&ksTX=b{O&jO zespmKw0}J9U;Mko`z(4t$)U97(rkYWXW9FIL;t6HZ86^Exr;G(pRMTwc11uxWL7Ho zL-XfrW&peDFDfiteff3zbM9-hK1BByAMwz%)`!kKuQR-fx%zT7)vT@0G=%C6pY1~X zSI*Nhs*P_f#b~}(RpQ@owztFBrmrcu^sW7B$ZuYD3i98@+M##L&|K)*n!OAy-*2P3 zi63T_Lw=jO2X6gXv>NUD?b9h%zazyBO+O9x!pzQQdiwuztqG&~HS+@ie(Uu?@9#&b zuxQu1SMmRU$SJpV@Ys3$dzd$a%2JQ;+N@#1jdz+ZNq3$Bm9u*AVxFVXlXrsNWL~_? z-{Fxr&ruGoKD?r5Q!)SkyvRzJYUg!OHN|7zoIsd)!h46FpQF5AacKz0c=KqTc9_3y z9>@{C-6EK9<9D`TGTr$%&%lHSf96Rj_2fUG>ToaqLyFgV^XF3`sth}}IaN_)^2NDmyu@EfN!4`0Jc^WM z2;QK28hxf<`w=L;B(SAVU|bfY4Wl(nFqew?vjxIXSjrLfP;q*$;Lb~^$rF6^6kNVw z=>e#@B8YT{YXySaRGxiR@H^F|T@&1N1Ma%uC2fFj2p;7_b)jJS9EcPNelCIPVuAgB za3y*{ggvyC3Os46UM47A0l&)y|9k?a6@nc4&Ss?`k+v9Bg5Mh9=uN?HDz>Q>EczFg zZV9}n15hJaDFmQakW&Rqb%JBY&{;1yN5>-?1nYkWX%u`+lD8p=K{N^a=``6Lfqq#Y z>^2Kl(ssN>(7F{SS_NC_{%aFdt%7K~;O%T!>JYr|3w)R?O@E>BnV|g!{2dbbQ#I3bK{7>Dh6N>susb67 z{3>+65R@|DMg^0tAY+0PA3=+g!CSEyi?cy(IdI7aPw6yQih;#`I{%ewkkbJ*7Y$0j z1|rR%(G0$&8?YnrJHucm1AL~z+FsbbWbil~9#$DF?E?O$!8RF4wZWz?NZv9y(g)IP zkh>J{7J~+gPj(r+M%Cfn279(Zve#e_)p_(8MDBz=H=&~mJ^$Q=rjc;UL)c4oMBc(f z^jh~3c2jk$ukf`njLA>UfY1l0le*8T~-)fje!)`OQe+;GVhF{WmB03EJnFDyIVLZKj?i!lWbl)@VwS!2P zq3tgEwG4ln1M=L^bvF858oo#SD<`8#I&Z3XHtKx}-&~A>DYfNgbd$#9ZDbOQMjxZr zui=HS(I;DA;;2y=o#FF0+DD%wIA#=94ldAWF@4c2$mlnEA0IcGMfEf%jNYvS7i#oz z7)Y4WF#QFKaHC&K;qMuvUnn+~W+bM4VY=SvXgFww(cnCEW*Yf7(gYhd7Q%eC(MBrh z&M|sI6{xvJ;mhH7o>3Hi5;xx{&<tik9Z1GgKE4%4#swvm3548AoP1yJm?*{F_+iCc`sRO!@e6h_4-ZAOA( z=;JLZoD-YY9fqpQp)s{ z@z-Lw7HRzFzYsZN%r!!Hv~k@u%+pz8zXmkM7`sq}AFJL>BgZ8;YEhAtv985E*Z}p#wacuKfeN{S;joN60(igQ*b%gxRqYOdB$z$ z(3fxQKpXxm#>YQ{GX=);|3>3A<6cU|T{kYHl-Lbpm-A3oXgr-pUu--?&#)5Xm<1rE z#(paFl^biQthB;-$u7G8Dvd9AfbBJ|rEOlH@if|VJ}|yaDU654OCQke8E3u(d2GC! zUUdV;FX&c#YAkvN$!Es5Xk|8JoHY(^(m1LbZof31*9W+h$tQ0@(%GaZ56-xlD7v8K zkO}{DXmK^^xk{h&IBXJ258WdsE^ndL&7@&3fbJ%vt1-f(CZC*x-~J|MR16$ol5Y(X zXmY_9lE+Qv2LX4&q=q)KNhXoBYf3iBal%iLYI2CG5-yswtD!8-q&5_i=_b7tnaD87 ze+T|%ngkqy2>zV(MJt%NZ1M{o8^|(QIu3lcNdYZma!l4Nh01k<9w5= ze*u5R#CAIR3QS&p0cWn7B<4conn~+gICI@(10|Dgm|WAq-$IkQ;pi(eIZL^)Vv|ma z1(ujN1wyh^Z?cyz$TE|xFG0#pMpQ6gX)<*bGF2u&&Bi3$G)cVzzpG8QI>V=1CV$c2 zsnr4pK2lfH$JtTU0j>*$mAk8LPN}#lu z%-jg`ttR^VP4KPFB#MH|?Iwr$xEni6w$e7B)5PZt8t>d*miPMaxPBp(N9lCV*#|UNV8DY}0mBI0|!3L)M@%&(!u5bQYTa zYz9(g`g)Nb^rmSB?bxeL_x>+tWZM5R4Az*&)47OR(|78irp|N|9eb-cH7mpfH<%{J z!)~ML4l1|oG%cXG_g&Kh+M3)m-J?Zgm+8AFVX)g&MelnGm4f>n0`oQrIV(y zVO0O{($t-H15Q)7Si?8xsjeS_xJ-SAwjGD2<~x9Mofb zS}-QhsT1_WdQDwLiwEzin`mLU0f&fTQ!iJ5L{7D#r|s#fBlN|BGgDX53AgB}W^}luW9mj3 z%nwgpO<`;&(Traq=`2bQhd~$7#(45x-2<37oDeESR4VZFdLpF)IxK@ipt{1KiJyHwJRlEbIUp{mt~Y zz#TJNMJEsg%%Yyce4v^56zm3>ZDyhRxY^WgFm%GKE}uT96KwVdT_z{ZzTiV9#O&Q{ zkWe%EdWeRZZK7CwgxRhxm^fv&o(~dfwu4@{QD&d6fu+-CvngY9#>`NJ(MOx@nF$hO z);$F#V$FsqfDmVPH3nMFneAPUnYm#0^?uA+yxE{V<$n^)9@7IZ(d1`NI67p`EkNIMbG>{$*kSVlDqa~eZ=;R!3v;zC8b{3ysCIPB z{4Eufj+=*j!u<*JC$wdnG+#do&PnXP8~|sr5uH(X5eIz*yNASUC{E}q7P+ABusCfm zEFBRKW`c7QuSkHTyEsk(xQBQ`PcI@*@qZC$^%8HOuK{_B?Q3A(M_fk*i@svB5&-?g z<5bpjRJ@g@)L*QjwDB>qeJmOS#JjKJrw9`7``@}q+z<_s6XKav^%X3BO2Pk=;u)*a z7$T0M-A$<2<$c%-6KB3l@#k={=S-N05Z~Djry|86mf)hqsYii0Egq-H%o(wSPJu>? z54r<*R?K`4T#WcV%0R}7S60H(Ik8p)-RH$`ZidJO@s(dOdGX@LNN@?_1+mbQC|>N2 z#w2k&?JJVS8zbocOA+I}ii=$QC+%=Ail@?kDoy-!5@X5`yVjyHQyfRpoJ-=25a2J1 zclJXhOWd>p=Cj4qq5;nlZ=k1bu6RyAoGBFhJ_D{uJfH!fSln5Uc`6Z~qGbIo@kA;_ zYQ#Fm6!%}P_+vVwQYXIO0&Vr;q&paWgIF{G7aPUL=)rnh{6iZMP2xVPU%Dd>J0O$}GP_52g@nUB*-V^`&FWl}D&wd@MyTz{g z0O)(fRurDNFU}u?Xs`IkIEeO%f2AN)zxWpAGij< z6S3WWzz4+-e}%SZ;{0Ot4T+8W0C+AA90C~@@24}nBjWkAVtgTUxGu}m0KmH~7q0=X$8z=WzztZoCBd1emPHy!KDRvjJ;;cqC#8R1SZ>Cf4wGSN zM4QqvOB>o>j9U(D!6+sylP{rh((*c$IK8y|EFRjNBnRkvc9ujOgh3ZcB9&Mil4Po3 z&|4yFg>E0oRVBs}Dp_BK#xO}$Jcb=18KfupDaj-i+DA$Z{sKHo60x1upJyb~_s}Fr z<_rUoB&kS%-OG~KvOuyV-_n7mY{}|hAaX;ZdjVjfWRNX#i| zP%5!a2d+#qmr|DHl7sXcR7egd!L>?>c@#*ML?OqN+>}HW(EV2}*+CKAJCc8Xf~U=r zF^Va*NERK1rB=!PT-a@sR3?CHmn@}|TOE=_DuL;gn7<2hSMs$4efK1*=78&x>=c6Q zmdNQf)+70B8w}o;)KKE5SMv2Z4E0H*Vrc1?y!QotPW*vng9Bt9N*t(4;E}}P63Ao8 z?_Z(uiKL58=?_RwQeN<> z^U_~i!CjE{&w!CKzEAtv$vroRXU%6_ZOwp zBEh9e!0+%g4paYj9T|}i( zxza7mfX|b5T>~Ir`m+fBUXfZ-$y|Xnit;yCrD}@AU6Y#U1AbjPgWg{^q$c4oSSYQa z&|i`CE4mGfrJ1xOD3RLyFaA<06<9${ne?qJh?YwoXq8nVT|Wv$rPPixRaMeb`W((p z={b72RZD-G56N57wW}dgBTbzLc&&6yioQDOMzUKkJwT`38>H3@L>i@Ys5;=b)aDpS zlhh~`W4R-(uBG@(v-APw6k4PS84zui&MXCKlWrY?ns(_$+R$`J-}(dwJEfz};O+lvfVJ)BmI~*Q1_(`F97J3)``&AC+$mtNWavEf=Cafhubhu z52c^1r~B`b)WH;9JeD4zb9zstUGyFskRGSs;HmWUshHV8>3JErXVN>Ao*$Bq(5n5p zbnhu>8Ln%mHF2X++ik!>Wz;uALoN}V|=MB)t%|3vj859 zKOMmGWF|7u=f(8Wfd+5pJt1`ZFe~1~FXGE=rX;c-qb)$+Q6{qv=KY!HRd7asjM;q| zb^{m#IUEjTUY(9#JBZo67bcD~OQ_E41f!-{WiYcQ2jnEve+^1QnAP+a4`rMwy%feQ zJOU5HnS=Dqj$qU`A##dYx&@XZnL|SuOB5sB19F;qNgK^G%o2LFM(dgJP{^ERVrro# zhWW<}z*r`ps^sDrNB#_$bTy2@n#2+3>A z_Mb7b>&!9*hJAy%JOZwe35fxqh?%$oKrwSpzY(;AX*>^7%2-g6u8jGs4s%(~R8n5D zg5guic_nlC6x38Pf8W3;ZZbQ{z*RH5=)S+jyg^Iy8s<~VV$?EsUIV<2d3!FrsAsHC zgETNZilD5KS?>aJo2i(Dp(f_Q_j+{RVNyj<+RR+M4@)h~6M7c4GQ(70(#Awk7_^<) zyab32=7aCRbuzY8l69Avb_4Kx%z>}rOc!&FR{h<~vo+}JVPYcT%zfs4%7XMVkCp(} z$IPeXTtAbqz-9G-VQeV=`H)fB0QiXcL;@3!ncWoYf5I$Fhs*#oeh@=@%0yEDbC8L# zLgO>0=pu9vF&F8(OwXD4{qT2~xv~*`BTN$&1-@Vk>9QJSPSP`BjOqIXlH<&}KhQYA zyuJ!YombiYdC+-{{jUt%byhEG1ABx0hiYsK z*;%xvE@HRS_NJJvq=$V8`{{4sO4-&0&|St3ynwcH_VPEtRj}{*LQN%mRSQd1?7~Pm zdXsgbw^=o-I)U-tV$1T-Si>rWfY-ABq{HnxRzb0udUl<@8KMnr8f_yR*{M{2berv_ zrDhYmcmR!e*w3$H*v;%7y0=@{Z#KeGD|_<;NVc(_`$5{-Q&eoz!S+(*u#;8M<#Cq{ zrjs@I*jqX%>tc8O1(9yHd?CL-Yab@IDMa zWUHuR;t@NW0_u<1?jB6Z6ZY?A7}Ef|EfJDW+1yTWgKT&y>^@`F`QV1wO+(|mW9-uvXdP$mSHj=~TSSZhN%qVpSbE7?(J6f= z?&F;pnlm^22%HPY(yH_-sQxX&oY z8Oz-YLSG#B;&;H$alxCQ`#ksXD#!)yhXP2(bIa&fN#O3?hO$JihXa?yZL|fK%w42Z zYKorgUJGwhxee=pxX4YL2AMQ&4c!ju+;S?8&EWj#n#<(Yh|ze7OMC+0WiG}al3Cp6 z6uHml#`a(^Iov#YuIF-g0*K^s`zK&2pF2(a-7DO4ih~qz6LjfZ)c&B9(9BJrwtQT$ld=FN{hHAKMbvy+qxIJOSr)rs43+*HGC@L2D{K#&Ml@FPzCo6 zrMxS-m2bhPDsJ}#ByV#6@-VV$?!;^;yTvu`hWQ%q^+O=FT)H0`>$o~SEgR^lPobQk6yamQ&%@R$>u!{8GxCKKEMH=mxbPdOp2K?b>bw84JH zeMIN%hPW^36w7nY`T^V?=Dhik9N}tnz`fu?4C(yyD3`h)z%kB)_B`WU!Ph`caBWmf zFv%g|gxiqIa)gMJ?7)0@=q&S~Y`%+Z_iAv5Wc$RBbd}B82oD2gQM6wTl4TE~@3_or z3vef76_g7Nmc_ZC@1$(|2jD_wHRmY*9wuWeArmh9nj)7GGRX>PJ0%-12Nx+T3IZ1; z>-`ak)3U#8;LI6W7o8f9mYpP}XJx$6Z;S!-x3 zmbJz~O^M8hg0ZDC{|6XMnM|+*q+Is#MJTP1y}1eID`j&iG+QNWrLE~r*}o+q)v}si zG~SY#QUPm?Oz%i%(`scVSs-;X>oc%hFS{;=XoD=>8={S}7RvhEmQCM_z9yL^1M_!e z7Z)2Y$+eW9$DsnwBDD6QShr*cCZPJeX@s(VX0r1MyF;U$V%Km9?JG}u=_}+ zp$GC~S@T>Nd?GWXT{Z}g?-ibkfAwvMWXk{ahKHBrd&j_Cmj4h9 zk|l5V#H?q_f2PyHIdY)@UgXNRhQeT;Jd&~?`SM)KQeDx@f2V0Hke_OR7gy!p+0b@F z{`V7bg>o6azKi89pTb~?JWC7nrShE*0W6b09){9#x%?gURmk7C0$ioMg;su5@|m#^ zxha2-3Q?=&tLa+5CGVtUevSN28c41DYl@N7$@M+-a;ul$4ucmB@_`5pv{8P_3fyh^ z%3;iNll&+f;GWB)DPB7)FOk5R z5qTNa61PMSMLZ8F=6RvdRUs7vepoTL5tDyJaitTIZi=BXNV+Qy(Id%2ac?UOdMctz z(CDQYy^p!@R_K!f@KKn4OyA$}RUEK@Qa^?2fBPbZMGJubitSXqdQ1^T>x=-!?r-2> zprXkCqcK>ar$U{Rie0gg3{hx5M_;I-;R)bj3ez_D8?M;% zBL*0u7^fWDDMgY2z5gN=PE<+}r3hb*pZT;xLx;o8D5Pt_MJp<)zVNK#jd8diLuWE^ zk10B-UO!Ip`!(1-r`Wd`+7xuiI11fMP|BC_C2 zmg06U2AZvCONZ_ph5i5 zT!Fpodc}r3&>ISe40IMM^0gpEiso_16f0(*!{|#CSCe43RPlN`yeLz=KMM2Z3Mnlh zD-{2RLZni$r~{U&6ai0wyQ#3D7iP6$K`5NLrSLomoi&OhMew&)QT7?^)hVJWL{qQO z?{SA{gQ9_6?Tv~bscibT;ytRNZc?mx4w*ZOC);46SxF&!gW0)I~CI;z};0G{0)xYQ@orB^IeK>wqg=g5`e~W#cZnAnNTqI zG5SeG@?G>LSgoVOPKj2kW;l~<_5KDplWG-5*W*R256j_2n$^a;XiT^Ix}4UZ8CKuZ z#_y8V&$JNBvikZV8ndm=oPbQORrgWY&9nL;295bv%J=9OwTh;fOo5ds61b~YzI1l) zn$_zaAlI#G=yJYcb!QvkMOOR!=$EwmyBf}vSWW*FB4t*G_X1aL^~$X&xc@4w9&bTw zrBx19O;lOQD1?5~>MshJR9pEBqwkj02fsi~jnyL^%-33-q=aLg)ql^y)mwE_v2cS` z=VbsIt(H^O{B5gtU*MXo3Jc-P9V-P*Y_rweM7Z5zb&QS>wOU=rI$bYpv#Je3YrECr zm2j%dN=})M`&Ol9;Cik0Ng>*2b%#Cy+Hchp2sIC^BIs6oXf>5SZSu%Up9H{TE8&lj z9I)E_6O=u*YNJ!HgH~y~K%QB-eFX1^tZH*0^4#kAG+ny}=VJXR1MoxE zNfbtLwf?{rJ{`6;d*huPk6M2i0Hw#QpVXo;z;pzNacem(8Q)2ulon8>isq4~N8gE$tumpoBw2uFX-hV~bFIu3j*n09L@FmvK z6nH7Ku9yKtxwSSChzjfZ0=QObJxQU?D(lB|>D{#cjta-Bt^XKB*V*6_Y)-C$7l}4S=8#OX;r&80YjgbyyhyQm9tsnwHXUk6UbNZl z54&kLld&M_HV-yIXQoXtool~j^Y4#nylV3fc0PLHHJiOQ09M&lxI)`ao4EoEyV_>+ z&#-&T#={+!YHT+8!tYv}BmZG&bvBzQ&|7a~GXXUXHdfaGZ?rk+1{1e!&R&HxO*S2T zXt`svS_7TUHsT)vXt62hKw51+I*-OSoBQtqr*F5pFu;)M-<&8J+iRw$p*8 zE}J_!(00f+@HL3I+H$lAIBXl?0^ku_s|08Zvt8&wQ)-(+DV+%0_h~7A%GQCBiIKKD zcA_uJ_WSLak~6k8v`>z<{d@x~#Mpk`4lPM~+gxjyNVe@Bz<5(^Tg2#0wf!?1q8DwA zC?1h!8~O-by6sjUc#&b-PZ6*Pq+==^#05+baV%VjG@@-{*y`0X?3_Y_)W)kK69d#ds%dht`3cw4L%F z;7)eOR$*k$c6AIMFfMlIsSf&(-Me}Zbh_G2{04H^?)U@99Iza2yO*fG0*hR_#a_aqnt z479s33S5v~3lGYU+wJ)nk|*rar|B`?V7p;YbcWak(}y%d?HKx&L%7`=k?4!CGoYw- zjNOH^=!>;GatfBt*?mA4#Cf~&@6Z=-*RvU1qTOkV3nbb3(jzq4PC<)@6uWJ^U@+Bg z(Z{fG(e9HRG^W{&HNnGlyOgDL|7F-M%7#p)T~IKzU9$Vd9+Pm{Zj}^`*>+zH!0vUs zqx7`CVdpspe4$+vo$xNQbEQXjvEAfjG?v);({)j5HcDyO zI_XF7;vL;*FvT#GS3^ttbY3zQkY(_0QVbxISGyU$UE*!0i{>(KMk=^0ULcijW%Gi= zAdw6}HTdm6%v!~Fc&&~}9X?p%nt@wd`Z3wM6S1BiI=J*oW8lV2|+@A)Gs zAm02np8?>b=YKZ|QD6RnV*vW`?G`}WQT|4%F!JZe=D>?%{J#-mGCaj!(2il(^3P!R zZFodrPc?(EI0y@s`_z%jC_f#w=dt-JALU ze^bVA1-d5%>P0a6QsDg|9C9*nzD^@B2>S*){S7YC;pr%&FXI3`ZS;WB6=#e>;-N3v zs0tA`Tz_K8BxHKTC+Q@~Bk`YqqjN~S*92r-JoyjEA&W|iD0x~;bBBn(g$T%iUG@xdJUWHp6a^W#KH~qb+~93le7;MDO?WmgkxQNU>bL6z0<` zr+QPQ{B(F*0DZ^JP z>8AR)YRTaDkZhFHHh^oByyFPcElEg($U}+MVc2~p8S#fRW0H@fDW&Kl&854B3!b|AI96OX!Z5`gVaNNMAn;kwod14>5;H(x^hJx6+p2AV7Nc^hi-q&dyN=S!V^VCjmqa0Vv7Kzf~$@K>eB2GDp-DxU+~b?H}B zw{=rmSBN1sNcXrvb*nV49Co{;>t?{i2hw;CsMZfkzmG-hm~`@Y=pL7*bU<`M`j`$) zPD)FtruwDy1Z|I9%=Cl-m0A`Ud zds(F#Vp1i(thmr58K znDUuW+Q@{pK(dLMk_z}8CV}qMdrTW0SL$M})0(cE5m6MshY^oKn~b6Q(~G+yJAYZ+JarW;;R6AoKYk za6`;nt^hn|e*F$pGR%Cp2iyqr4W-RrFsD~wgriL3yY%xiw)DIhXEb5(aDut|5cVb+ zgEm?_yktbQKz3qZxB%$P&Mt+F3!5_)1`n~f>C$y&YpEXBhn=8>rY{@15CA{ciBiQ! z+2tY7c8onm`St*I!w6gpWP_%|(IEB&ZCX#W-SiQGGi)!3M6(W~;Lftu4{7}s!?w0V zX)Noy48S;c1^uGu*orX#&$Dx>p6LR6?*@8Hb1a`;(_(V32uB#;WSK9j~vz~Y_ zqOM^TT|pOFn*-39#=g=6E}i{e3oe5#It4D1ZT?@#nl1IG^Ea2-kyv<|#V(iuOWADI z11Qa5Z@hxWTsH73yvSqMQi(}E`z`&VSJ=V7;9&u)dKZmX*_L+zsAA_t!Te2jV+i_g zu@&XO)v%qfqp_Zim<5pr_9J7EhiphOrt1+q_e&7{7`yQ#TE|&;8WRT>&%^|{eTN+dJlFFalI6XcIECw!Qf$T6-5ebbe8=kznCN)tP&bA>@!l57f=|A8 zwiu1a7Jm6JNbo|29#%_h;IP;3@vwJ&!KQJ+rBxc<)sxI(CK7i7Tyk$3NIJ`Gc!)^}m9r}nsF7N!0AbGsk z%t7*bN2sErgr{%+5;CQ{{U&g_j2AQxgXO$+FVR`gyF3@#8hBk4x@_cKr}xus-hFR0 zcJMx-)J`XFHJu8)%NrVkPxp95U%|sJ-uDU6+09$C25$H8%2=qr&udu#oxQw2s?j&V zE1wUYPkAwVy7dQnb6-ODGu{QN?;qj~-^I*M@WSi?oa80ZLE4wR)IK1b_|EiNcIL05 z8b%lX!UDh#@x@0V>B`?gS`PDHqs`V4ehTeP-S|u;Tyy7ts)K3|e*(32lS&r~nI z#F3tV-u&~Fs`TM^F%b3TKluiJ`|)$LK#uZP{0bBP{KeFGj2}aFuL1mh3!p8KKYtwn zLHv;~Aab1l0aX#4;QM)?FPQ(?E|@sU-@hD=hVZ+o%rKO%t$d!*KqKkLdds z5&XuV0gU1Aq!e^4zn>4$B>n(BPm=k2`+!K{w@@KxD&IREjamHZufyMLeuX)l$>GoN z1R$5c^9bzb@o!LEzmV_Zj(INP#})%u%s)@@t`h#`zX31huipXJ%J{1y>F+<5^S|hV z`8)hi-iDfH{_<*&7XJAF09*NK6qoPd&lmyl9)EB@?M9k_}Y9LWbs5WLt1FA@d2sp>FEkW2~0WC8zOj4(&=7GeqbD8{2#(3mIqYB}uY z3sMZ=%oV{K{|f;M)cBq%zJ}qp9~Q0)+UY#d4Z)JNAccYhlpHM53mPc}T`b6&1in_V z^A5bYBe+aO5S;=!DkSg)iJAZJvk)^&fEX71ND;Y7LC*mIju_Zg!WlP%-+5?sH*h)x z&ck4s!_DDoFmM%cFN3FRF$iyiC0oG-8?@L!^+|(W^xOzB(2H42aHzo%IzSO-5JD-X zaDyZb8Y2vj2EhGDgTd*r8)fjGC3K%QXv=__GX~?907M(u(E|Fc!3dobi!pc@4qU3i zGzkWA*}#n|b*>mZbpo!)fVl%NDh+bzlC3k4ZGxd@gWLMqK-@L(cnkP`gBnT?JTO>A zwdoHHTHgThk%5$UU5^d6>oCG62C36vcfjDCD5!aAVCVq&q`~W7!Hbs$`G#=KNqCPo z{m#O@^jdWhCexY5L&EfW09=Kioq~nKLM=`>g|6>ox-JQq(6;ija2utY zvV_&`u$wK6-GZ6P5w_+*S+4MlowWYX6Xy9qO_4Bj3Gl_j!XzL{go~(FtyH)r8=_^x z;{hP$!se5(TOrJ9fJmj#=LmkoDq-8VfL9CG8pGf%;al&)L=6tXVGy-KGdeh5C(JPg zS12rdmLEukf#{7)+lqEggOR z!lMf4ekct35BNvIsi}~BEc_w`B2R?>G@)?--zx!mDqKttnwLWR9B@vCo6kd;v!M@# zSX~V3)8NG+!_GwXx#|tS{Scyu4KtfCdN;#@&mihx(y=?S8f1z%J4QtrXvm0^U)Y( zSX_XyoH3lz^?$tG1(e&!w&;CHrsgnDn3JH{zlaGATNItR7aZTFDlyw5#Ioq9X&{(Mxn{-!%)T#0VEr>RdPKittT%6gZ0 zLibB!`#pi9q_G2@C1WIc-SbctKjfYo`(%Nqo(*;Z*|s;H`I}_H&z^+4q_r;|za28q zaKG56Wr-1fhi=KViGFXs$`;P{OQz~_YyAqwlUcU=eS9t(v)}JaEJIzx?vOS&`sc_kvmEiiR7QGV@VI1_I{~p`sq>Em z0wbs~RD%Lbypbh_1ZGqv_+fz;)i~iXfxVW?@?!%RsWG(^1Cthz=i2K}n>YY7^C%zUs-{oRg=dxpQ-Xwt*z;0+1i)Y+i#tM zC)D`&x;xeIiF!j$%Y^#P7s+ZHoGmQ>HteNNWi~ocTmEf)xw1S9P1>E4&1gDAeRXaA zr#eO0<)*sMxa+en^0-^?!_q?c3+nfGkLzj#TCY&`VXMz8HFC0V@xs!MJy{K->TkAG zCA0zN<_)$u(41aImK<%CRf7k{m}Ax3f2cW2jjS1K222&En$ereEYr-z(`4Fo^IlWg z)79ojHO?m7e3MLC*=5#wCOdV=%&a~IpE5h|S6}eeVX;!lzq76D?`73?aeN&?XVUfkd54Fy->qYcUj+5rER};S6$Y6z`CghT^+REypk0ivuf^> zH5|7Z+G^z48EdQhHG0<4c}soJ>u1eUXGHp2 zL23-o0L#CEEIZJe{Y=(2$eMLS7;II_DAR^mRaDt_sP(j~9FJjE(>t>GaO<1;dOyM% zl|bf{zrXb~rfkY6D~>9|jJ5*RFUT=g&7ZQuQ0rJRX?v) zTYd>-E0$W*VgyQ7{);wPeGjhoY_c?0{hI2$HQuVP%Qe3ymG#wHp}sBEZg5Oms?+SX zv{1LPDooh*nyLY3^?Rw|stv9!m-RI~-B4O?R7st-YCP?QG}z5-L0AW)!4nfy1&36^L`y!c(A!pjouz&Hmaod$z0Ju z);HGdW5_JyO#6NnX>`0 zV(yMFt6Ofa87_;jGP56&HJvhBskhwIW|2Fx182-g?`2JA&CI4uJ7+!`A<<>CV*y$G zhPgVLY|LFVpRHd0PtE*^W#R|(iyCb4)tq-#=J{d9ttqYjGKZFx<@;MNlgSdZt*bjE zxyf=K^&R&0YIxZevv*cmW~-Tbylm?>^L+w2=G)Euab(&KGf)jX+-bT~OLCW)MP0ML z+ia@7V;`~2UX^7Fj+*lh$nwX`JL<)8+&rRAcbza>s^m%2QYU&(nIqKLlhbB&RTQ{q zj#kyF`)0{b(#!*MQ+hcLFU^XoVE4)_ua5C&GoE_4|6-0(*EkKZifxgt7-+3kpXCQx zAA8AGjJE9b{lqa=<9@QVhmW)$$CHMyFX9l1k5=Z>`)b>s?^oR8{ST z*7DcV+9Ioq>W8bXaP{`M#!BB-mfK=gNG!{3wenq%HEpxr2g~BytqGRiQj=%~vZtV-0U9ZJ)KSw~*z}S)0{c-gzr_9$C{3tM_G@cGGJ1UZ&l$ z!qqGFwl(FaOuJ(ZRhLyfwGvL1Y0s=131zwG)_zqUdSO*om;Sx9VzrSKy|Oa4mRVj~ z^Pb58dSkWet@{64YsFgGsCQN~_4f1L+B8O@57rJ#qK{Ug4YFyUtY|^9`Jb&8%VmGR zSOe6j>95u#HMZ}YRXRkH->t|ErLiB@M>P^`l>E_MSzwwYqq>xBt|R_D*`_6q_G)9+ zI%YhRswr(=9zq8+JX>F#nwff$>+L^1AY|L)wZBv#%!qcKuCQ4$ z%Tw3wkFw5}E_>N*Y2&SHd8o|#$u(w(9Hp<$91#W*y`nn}FAP)VylEMU7?Z z%V@2(ZrRN``BO z+0RU(MxpdKXC71M--est)hB=v=JHT!V7&Rbi?lz%?5k>E)6LwkB${EittZnKn2pp~ zkcDOhb+U7%nR~Eo{3_GaQWjrrrdBnSaMPM3Y&OfP-;`U-W$Ik(R&&!YS$v!MM>^T8 z?dG`AvMoEzRaeyCf7xk9v}K-MW|8>P=x%e(1KF89=2Z2mV6T}mov_awGg#KU-@MXU z+CE?gjFjl0dB-KuA=6aD84sJ)CQGA7%r$DT>{0WbB^)y|s^NLZ&D(lhy4g#e%{^&` ztD8%nG7H^N;~!6(X|GB4jQLXyw>fL>c_15e)l9!b4&5~~th*eq>*lLMvcel?gRSc6 zH#f(Xy|`t@mGg&E->FhlqQ_>=i89L*bJ;Xm{Ha;vmK>62X7V=D^mFq|9%@V_RvYZZ$PTqFz}w^0QgkYiX!?)p_!`MedIBxaAym zp+LvT>NI<&$7y_T!97lX_}`DG1*%|_2-o#NW|}Wm zC3}r|=#Z=}+?=jXj_okts9%-)%pi4`j+nXC2dz`)Lp9d@f?4>6EO*UpK0>0q=GBO@ zz%w&vux!&uvtn{tZ9gl27WL(NoYh60Mv%{Bp_Vit|3%HEh9rzN|JW(*jx)Pfl7*(4 z6CJ`dvu`v&F1Ek5^XUP&XxnP)wC}qko1ve zwRJt4w7JHzRrz_XmAI5lTW2M+7s@^zv(_Axow;Szt0c?Mb`)(b%yFDjU)<(8YN*kM z^BhH;vflZQ@?~WC1rBFpnYPf8E4wTwXCc(xwiY`Mc9U6_IO64!JzVO@u|&3and68m zyM{Vzrjlu6oyF8=Lpd$4`qOyl&Ry#LXM%IPDp^c)Mw2&E*Cgk%zS8z&r&|qD33Fam z!xX1DOR5tQQ=J9W0NH8I1C7;l;4G-#P6oRd4OV;ap06$uT;bxK(qieruBBA2qJJh^AyBt(soj#f0 z)fm3dX7SY0%r~=kUTO5Znf$&i|I75Kn>6>ccFR3Hq|szqWX?g>C$~E8RvI;WZJ2c} zoox05tJ`I1c%n71yezQN>OM-M9o7LUv8$)XmUqzm>U!eKRs}WC@rpJ0rnGp~8k2RaEzl}xHLW9v1o|w<3va3CRxs&~@=$8l}6(bf^;JUbE0<*@As$n<0`sX+~HioHFyN%a1OZ2|Q}A z%yms9dBx28O}JxTaLEF9&CTUx+EX(|1$F-anYm6z^vFqwv8w#|-h6saHuk&O&mK$MZ{vwBJq;>YbEH}!^@kyqQ zwubDG12D<@woewAY$fO?n>Nd;HB6?>w!WTM^@qjQq$JYz66>St=xeM}nPp4YS_fos zn7lz9nIH>pwWg^T|2C_78)EI;y{yCAK=k z@5|~BIvi_dOHVlR)sk6mI69S*Ror(pJ}L`7b9~<@&3tooUnOfA>dab476^4dRi_rh zoLTY-vz^b+N}CIvEz?OWE1f-JOLC(#S5ldChciJjSR~kLy zcvW21aMY1vfGly$kx~6o_2Z5!x22gA4v%^RJLy=ahF70*%u!#9Pdgsflm*T>(pi!` z>j<4GZC`bC$tKBbjy{)Ux$BO8$t1er*tk)4?xrKnMA?d4j%ezAPf9-#8w5eUykPL zT+mQwVO0Yf=FGTP81DS6PI`@SrrjcpbPlU2n>N9jJe4rfxjR%ApJY3o>dMlY&Xn7w znOV+L<7G=1IcrRoXtA^U9hr5F^MER=taa9L$i{4Oeh!ocw>m$m@8Nr$4mDv^XmuQYwZ8TMF~yWxzcYW_E!r5{S051o^yN%E1?UZbw&dhA>{ zOnB||B#NeUz8=jIv=U;Jl~w>)OfFfuEy#nhlAu^xU#>4U5O6M0z+Jr zRk44JYmXXm73zAWK1PMPhSitk6!}AxvM*ERiU>Kdb6ur3$h3K`UFvhteAjh*hlC4U zaYJR+g>sTXvWr{|)#%d2uH?C76PLKMt6xQHTvb#-Z>{U{9BF2YYpQxb+3FhfLZ)qV z9he|&cV%oZ({{LuMG$tnx~au?xn8QSd&qT0{Sr9rvg67wopud4D~+9T6-lecKAv?& zQ0J}BxoW7PH0NF6>MPp?*IZR6zv!BxPKaG{y%;RhF1u2Wl})?i`ng|{S6wfIBzetM zHm+>_J=eNVlDse1_sUK@aE&@Bb3Sy%Rz2~NYpQy4dF5JNUZU5oMET_TdE**bM1B8z z>oP~l>fgEg&y;4~yXLFz@WEB6pKQfPSF(JvichXq>I$*Xu8SWf+0UI_eGTdFE}-6w z2e^~2k>o)4CRJG*NmxnB>GHOY;yRk8K3ySI9ApLTalC5@eN$M`ARd&Pa~nk;wK zeXOI*Y2S4>P~TYYxyvO{N6(#0-Bs~{`~5yiK6H;%z3P#Bh$@UecBfx2%Rh0yS9P5? z?)2AW&bRJLY832O_xp9SP2b#k)w!VW?&e2j6+hg4!e!2%?(qp^mLZ=0>T~c=&zq|< z%P`N5HZpCv?Wul6)-=LXUwzFV>1k9@<{9N_nOoW(?U@rO%}nyVej~F?_Iy(VuEIR6 zRW*5vCy_cqJJsWNT$twB(?h0B_bi+tTR6khVx>egJ;~H(-G!d&>XX_c&w&jRE%roF z=Tw$>{60z3OFi}~_2qA^XIfL)!*!mRQ6*aMx%o_@4W5+6h3%fca-LXjKR#WZyFTFg zbFDOU&@>8gfXFdJe{vA4Xs$yc7(No3Ahe!>3gRM=X-PdR1voBf*akk#+Crb z(&pWu6>sDqJPNAOQlh6ph5cpDmq906Nb+^i#Yqy`AA?pklkiKBbCK{PsD4{n#jxNK zbA&O$ktWJPkekSMlW0=#nmH0p30`$q7MvN}M15eM9o$#Hp$D69WwRFsH;E~SWLfYt z_5F5b@ZN|r%bMV?>I3Ea;KRFQvo{52ST2k23QnTV-|w}9KR=cYJ{Dl1sv1Q`5;JF`Ui95lWKC8V5F1}6{d>(vfx6JY~_>DRr@FqChB3bXCkkV%*IV2>y zIu|=EB=E3ABSKEpmyH<}lCZHH!|@^QH%l}nSGwS_cN zwQn_F-Cwm> zTG{k!FAqzm`WiK=vBshyGH1<;Kc$6QJ738*)SlHwTCP*+p-ineBa>`fefy~@N;jDI zR8kEys;jpf_1Gk{HXf`lOKno@o;1;Pjr!8rteh%qG%r3^9=G_W-WXe^@s}oA9mp>8 zv`%|bGJn2*D0|js-f3x}?SLziY1dT^Yi(b{A^&zb>n~44$E9lIM5l-)<=<|OLXBka zd;L*Ywz0q2rn~IOFtboUX=JzgR6c6zkDLBmU&y>MPnVJ~R-VD~IQAlS3NFq9d4n@@ zhs(tRZoja>@vQuonJD~BJWH+*t`)W+k@ea9BYb6IYj%yWOSc_S!-_n1#SW-Yy;A+c zl`GXRR4FWBmVjvCgL_-41ELlzQn-GJDwX8_`W4!BN{}K$)s#lqnITrx@cl!qd&9#{ z%y*>^KN`_-B}!PC-d60e%msp@hi^&ZD3?F%#RYfzu(<{Nq6|&k#1WpjiSuWzumOz% zqlWd18t4w&d(JOGc*R}Lz|rArZwE?+X=E8!q3U5NsyQQseee%V7XE#{D@&2E$yoy; zgtvL@YH>WQP8nBvXR!)JDu>W(Q_DKFPeqKid0Z9DNFEEFzi#akhNi#n}@_ROND)E9+E%oVylpd zVZ~a=KiTA;@MbMS+FRzL@JFpeLaj&(eG6(G#**-%Z9=wKc5I0w8ySpRQfW}T=+tpW zL(X9S^`qWedj2Dpw~N1i)O0DR|MjEdWB-UB{3HJ2jpfva{HO&C>A$`o6-(*ouOAi5 zxShX#R4kuW|N2pJ6^Ydj43qyO8##>T|Clb-`@eqF{BoV1%rEOdE=xr=av9_QF~jtK z#PS8>uOHRG9^HUpERn~NjXcJYe@vGTka~lP=;`^4M@&~wdnBWXA!m0Dqn7-y4tXS_ zsPUBFRZ%=9jOiM!-(PD5jL(jpdZP4MWa!7y)|>qq}mi zypWaq3}b{+#*d6a`Kl`&YHjEVHWm^nOf&dlE z231kY(tj$Cv8U3Ge9O=c*HNBeLys6n6BSEMu7xr(%SAVg_7d9xay$pA335pFA(5?_ zqvGv`u>$p;$n>`If($q%FDy}Qko+z+tPF;+TPYj9Uzy1;4lCt-^2|SIGh9r*$m*Y*@Jr zBa!N6RvzzjZOKNou_wv}A9{hwxB%tTq|Wcg zlPDKz==@WZvz9033_6PzGx0`Cj8s403w& z@>y6O8p=r^ z!&ZCJp2SF;jVo{q9>jAfCl7Rka;je|w>iKF*1w}t-M?$`{>R1ND zXeZ-*T!V79Lr*`7Qm54MeUz(xbSxDUZIHYns2xp=QqvJ1Mf+g^65iuX$a;(8PTHia<*FA z3_GEeyL5gU$|(ySOI=302cDQ zK>v>`l?!#qQYx<)MmpkL%FBk4pSZO0l3`RJuA{tY7!8TrC@;wG6ymSb zuh2ceDrbV1!Z*%S@byYnZ-C zDKD@C#OLvrGKXQ@!^h;`5r0BUK7*+p^Ha)uObl;q8;R5dX&@PAXDuN15RYK2gewzADqm=Q6pKhKeI8C5}s+jyMZ( zQR0fkjfguF55u{*OleEQ>q%_K19(a)dwxNg)G+Q7zf#Jczr)Yu9Z|h`4+be^`544; zFai10qOBTA&x9;Y$WL4tODJUnsx!T=Qa*hAN!*Kg81Yo%MZ}wk_Yt2Xz8#hR|C&UE zXx@g?VF_%6J(RLX>QXFAUg=|qXW|On#`NP#dCJZb-y?oSY(!W6UuJO2Hv`pR45h@0 ziL($FC9XzXhqx)W#ctRS)!*h*8yu>Xot#Cy0=L>cIEDJ%M}j4vNtVtM0OO8KsrN|{66 z+A*`v%ky7=L=h~hl!hu3SI0U^X{aI7Ta#~x-ITK8emES*<8)krE0wk^aE!!tr5w6< z#F1lr8_bC1v5rz+6P=W@p}nym$~&%ptCps;g_ZJ_+gz#MK`~6URbs75NdG>CFECJj zd6axI%%hYImf`W&_+296B*)aLop!2fh+GN_WtDzzBZTVeRT7}Z9D=DS( z)Kp5d^_9|WGo>`!Mk&p9R!Xz-4N_MH{FM3RHLa8b9T#O5!^$u3o5XsvWqJV>%RePW z+bSq8A$gz{)GHKQ5O=^H%0fIN@-z)raS?C*!zyYR>KU?%$pKatr`{p$tW>caob^gs z+YY7V4=77X+pktGZ$6@`OA~)lFLxvPE^(1Uc@_m9-3`gR-_% z`;>KLkCigtNM&8aklRccRy}#6RLWsnplo0mGEma68XCrCWh1F^DjUl$Z>20R_p&mq zCWdiU*;Gz-$olmJ`Eah)okC`mw<{gT#l)Brea~rDVkrvg`3s^v3p$pAr}aI>`n4tP z`<`lBHbT$P8hy`sH{w1x5Qk$ZPQvLp7Z;;`4af@hYe3vWewSC<`(ls@$Cz*iFX0Wm zhfnYoe!y?&D@}RSA(nP!poKOH#=`hoIsQpWq{fUWXT0=+c~QT3q`{KJ5ne;kT(MqcM9;8dI~e;PnfSV%(7TI+Z%hT{(0hcb9U z&vyzh;5EF1kMIS`fC|0b7yKm`CFq39;WZE=VGN9mi7_S0 z-lSu>9e`FYlh@iZlu$otimkB&%Af!}y$=pV8Kj`|a!Or038&*+T#UZ@r(B<+=ilPh zHsl@zI&lDxp$ym1`Ac{M@8J`Cg&*)6n$$r(zIrG|!B|>({^f!Yy`rR;8Z)A=5}TK} zFv_`Yy_{Ujt(8#;+S=Fnk}YBuo%95`CxNy!R>bP)t64WDZi(%%3;sWA+49aff%&GY-@odY#B34^@t-yB zaPm8FA0EL|cmc2B9eji@&{q@xB104P2K+*od>B<5BqK|-kx+&k>RA3xkv1`=L|+kI zhQI6Sxv?P1o%3|QELKKa2G;2b^-%_{>9{q@2tyrrL%ETWjtAm!48=((7Xs?}=HgZ~%|t8N7rtx>z@G51-&G{D9xk^myl&iw5*^!5Bp=&%a!tt|!Q~ zrdqkkLYo?86q=5Grw8&97siq(mlx~#s-m1W&~ZbQ3nO&g2IVpuZ~yN>!bZ6YP0uLT zpJ~To7|MuFo%fw?SW3Ja<*Fq;eH-qtbVUiS4ip_QL)+6i4F( z--#9936a@MScr0C0=zVn?}`9k6sy8OK} z2BO@kL@yWv<>Ejc%bgFkGRjb!9_7|?I?jy+u{f4RyD|@aXKZ9NonEjhw#E+F4f~+n zr&G@_mj-D=aT3b)XgWU^eP?`DdSlyI&x9?w3lE?g2%}zPXYdlruuPr5hfh$(!0G%4 z{DvkcU}Q+Go*t}~{x5e?)QMOq!>4te6jP(z6+`E_|65-so3R0HP!}p>hk6kYz~MMn z_Em3j7zs6CLLGsHxB`7&9=8(j!NYh8FX9cnkI(QeenG?c{onUxF@$eA(NOMir8g)s z`o=lAvrVjfj2YA=>LNfihz^CiF$$cfwJ`6L1>N zMLotvmiK)Z+(do{>ai{|{TT6C^nC}kZyPj`^M^hH?jr8b5>>Kgn`;O-u`4P%=-w2TZUT={8 zpO_azO8oCF_^;(s{STM>Tl=d2%LyEPh+<&^OpfW$SL?|`To_BC6vA{ny8I~Z)+hdd zbxYm<2QZ_rU;b?irJ?_BQ7QxNWJjq<>J2K2QsL9_zqRk}|Nm(P|66ZRP1%5d6}#m5 zS8q7~(`wfY8k&#Ga4l}eU3d^r;CZ|z>(?7_7hmHi{E7c|$n^aG>4^DW%>U`g*~MAG ze<~FE4&DFP4Usy#-T^u2N?VUxR8K)^Cg>`-#J);p1M;B$P3U(r{H^y3{g0!GKUO4a|9knj~CGZE*+0$3c&p|9{* zhqy7e!VcISeZOnuiUIu;j23nOpGaal&O=|JaSd@e?!*Il9DM~wUEP))`%kYGneOfX z|LGIUe`+W$hy0&!<^So`UtHF&55<4?)$e=b=*S9tU_Ts+W6)O}|1aM!eEt8w`-b7B z;b4r4aWE13`u~4=OSXOQ$-WZ=a`HnTk%rg;+hJGigM)A+j>oAu2N&Zi-00Odwv*V0 zNAV0^##{IhU*LQ6)&KQ5B6;!o^P-H1F)$t`)ynZtLn1Tg!h%==ef55QT2WR|mwXd! zjdC9oeFS}V{(i(maSTpUs{TKNgs;B8jCd{TlSwk)F5-jetLvX9zJ_=43BE>OIsYfI zT&C~s|3UIVy#+@>-zZ#P9p5(^H$Bs{VO}hPzVf}?_(Hc=6B}T2Y>QI1_xAtZBnILL zlxw7PLsM`zF2a?#0k`2^^p)x5qC4HrCA^6beD(k5Bz*Pxuf(RqyPzLN!06~J%gbf0 zdIhO56Ut@9I$r>N<@j>MRpq|8dIq_PnpUns*S11m8NNHQZ+^MEgPw0RPDEe%eID^r zT!Z1b6K!AF{Wytpcopy9WAv5VKN9~yC$-@~jEvqgyI~|CPLAok+D29qa(_v^N51m9 z-2Otx6|n}^N4exoPxqD8I}^)2esz8T4oA7|h0gn`>9ce!{ogl`dIdB122^h)_Lb2O z6Q4r4CyQ?I2HrlOH_-hVQo6ZXXZI1GK&Zn+(cUVbLZb<;Xtj_c4@m`PbrGhD=b`Vi1$DKz z%G=>QkSoD;;s74Ub9fc+;A4D+AMpn|u>9#=-<%Z6i4e`NIf$hOC$e zQD$)?2e{D+Z{+f3*g+P5fou+p*ID%tz{U;gHhPRL!5w9)VnOpLxO zHRO+F>G^VCek_J%u?p74M%WVDi@N`JBheQJ<0zbf({L^>!PU44ci?_JhG+2#-j+X& zs`um(iI?~RzoSFG?y4740QxQ+iAfwElVMuSg1NB}mc$Cd^#AH4>S0s-6FXr~^j%^y zj5ri0<4jzD%W)lU!QD0w4&h0>fYjX5M1<0{;U+i@Qr#WQ#rZ{b6Hf$#AfS`oZQ$X_eZ ze?$^7FdinwG?*Fn#WwO{EJ$1e%VRaHi%qaK`YyWZpzaJCSeM!`-d<;&)88{!8 zq3`OP&BVL#AfCYUcn$C36H)j7*CamSPjp4}Zcq?L!PuA(Q=oi$*E=9@aN7Syk=on; z)3bo@3`cI_f><2OqOVxxs}a{H-xOP82mG(g`}F@%X7ttTrW4P_#kdlECnUEJ@4^Fk z41Gl`U+wq?`Fr?8)~^rMYy7|J{?uxMFbc*-`5K^?m+r6qpVkBI|LPo#?-2k0To07b z|7VfqCe-#A1N8q>B1AX&n5LEsDH`W9B{LhM|AgDLs_tgXG|NklodN<&=)dPL?zrPBC z)b)N>J<$GVLGU-%1LgBSbvg=yzquYL&;Q>Gg1@;Qs6YQxe)Ek^{hjqd@8|!2D+sFo z{~POp-v0k@1wq~ae_uV2{{OFnptt}3wtAqie)m^Fkn-8@st4NtEC~MQdZ2CmqagU3 z>w)t8|Ggmio9lt9|NpHZDDm&C2kQR+?*&2C|9@jW(A)q2tstoT|L>~@(*OTe5cKx{ z-&POw)&Kq~2vW!UUG+fwp9R6+To1I3e-s3Nb3IT!|5UrY1;O834^;jCZv{b#e`h^V z_y2z{2&(@7zf})RPhBt@=EWjdIwJM|N+fDx18k0Mu?zObfj9!k;S`*Wi*P0SZb!5& zBK?0a6OQ0%yo5LL0Y1lf_!Uhld8#AmhY>J3#>FI<+U7wf%!viCIF`ez=(|BuW8zlW z0sp#j67dimjT6zH&I5fTCE4<&#J(FUg%j^Y-;I@y6Q9GYcn5tqSb9bL5r3dlM!n0C zvW-CR10yoV!UUKc(_vQ3gN3maR>T@uADdwt?5vgNzZZ!CI2^}f80tGV$q`yeyaLzb zR@{S!@f2Rf8+c!-`u{T$Z}AK2J37g9PZaNqDg>k9AD9?ZVMfe>`LP(5#VVri|Fucz zTS3VRTN1a&ZrB$G<0zbf(@@_!O4?aMyc##*4%{Dw{(p?bS-gU`@e#hn5BMGREv00I z0aE@}-7gZVzqFv@_?QgSVwR}%|J)=BVM(ljzFSJwBW{YmTT68!?uq@;cdMyT;>kD@ z7uY;lj_Ys>?#4rS5-;F&yoXQm4SvR7=#J(+BEe`!`tc4A+ z1-8Sk*vG4F3?eZS$KzC-gNtz$Zp7`l50By*yo|T-A->Sc^Z%a2H?*RA50O7cM19jO zc`?N!PKs$TGv>mASOUwVzB!k)Q&+{R|2JVmYwU zVFZkhacv&_?fzrZU?%c8u>cmwa#$7XU}J2B9k4t4);Gi#kLJNdoR0HwDeC*0$%cg! z@5BRm9M9oZyn~PN6@K(;8$U=mV|fpi?}liRiS>=qWW@=HlcT;tn&h(*=fT2Q3M*m_ ztdGsK^8B|U(HVQ;0Ms`~lNF664#Qcv5Le)O+=_efFrLDTO4a{wkhqV}@GX8pBewSl zc`yW{;UAb7Q=z^wo2(}Xaegc&>i%DrL=~)!jj$!Q$8Ojc2jeK5fYWd;F2U8fDK`Co z2Z{Z74A0^fyp50WC4Ru~=#a}{)bITOjD#^UJ|>Gp|4&OI3+Bc`SQ0B>b*zU?@lWi8 zJ+VIy!%&=T^I#?}z~#6Ox8QC(geUO=UdMa*6yM-y{Drpr5AUH0#;6zv6JbisfY~u0 z7R54H8EaufY=P~(+D2CreQ*$t#PK*4=ip*og&T1@?!%*a1~20+tvvq^NxZ=K_zkVN z-Xr9X5ithF!=#u7Gh;3+h$XPRQuY68BgeU2lm6EI0h%-44jY4a4l}eU83&) z2T7d3^LP#K;uCz0pYSKT;(3o$5Jth+m=IH7`grvJY$Wnx5iE_BuqHOZ=GYdyU~e3V zBXAr}!P)WX|BFbh#0|I&_u>&ejhFByKEUVr4!@!q-+P4oFoL?Vrh2D}j&U&wrp8Q| z6ANH*EQeLG4mQSC*a5qv?c0DMBu3*zoR0HwDXzhA+=&P9IG)3+cn2SQwT)LKKH?8_ zCh#7aK#YvBFaajVbeI+MU|}qU6|siamdoTxG{ZL78GGRX9FAi#3}@j&T!HIxEAGL= zO4a{Qk+_IA@IF4nxA+B(gx(|M!4Qmwe_&!vg&8r2sQZ6@62-7AR>9iX2wP%%?1p`D zFpk0rI1T6Gl7#gC)g(6I4&0B&@GM@z+xQ4y;s^YWjzr!g6@Za2W+Hk1b%B6HGE9qE zFgF&$l2`$&V?At&e_|)>iT!byy0Ny}fKZ%_GjRbf$91>`cjF;Ei5KuX-ovN(2JO#0 z_=WDo-VF-Is2B$mVM@$^*)bm$#WGkKYhgpLw$Xw_JM4;ma1f5f@i-Od;9^{b8*w}C z!=rdcE6@LB61VUnzQFhR4Xq^JBjk?}F$TuNq?iUXV=gSHRQtYjZjUBNE z_QRn#1}EVRoR7S z4fA3VERB`0CN{w4*cQ8BZybmta9mRQ{}d9laS^V>4Y&>W;t@QJm+&S&z~}f5zoKa; z^By8UjDXQGE+)a$mC*x z4zGH(jXNYB<174#KhT-nd!zy}GRDFLm>kn#R?LHiv6NPx|B57PV0~i>I49L7_45pUpqe1>oF3mPfBN63RAsQ$d7`W^EJCdO2v?*AD{ zuq0N%>R1n(;-A53AV~#cU~_DXU9dL}Ohf-4L1G+E!P&S7SKIi|y`m`5wme_;}( zup-vL`q&KHU}x-w18_Kw#W0+O3vq=~_5bxGw&ET?#E+z z7O&uKe1tFY1Ab3W|952Y9;yJ0gfTHbCd0It1#@E|EQuAcI@ZIc_@~W-PS_Ls<1h@x z$v6`i;Bs7tTW~iX!jpIb?dv?ahfnbhe#T$u&geZ-!59_eU?NP388AEM!=heoqYR14 zSPL6s3v7p7u@4TykvJZw;v8Izt8k-Mp8xG6_Tf=HgO~9ZKExOJ9>1ab)55CT`C~+k zf$=b@QuY5dBr;343CH9EPDd8E4`GT#oB-3+~24XrJW41-y>;@F~8*&-e@7IlM_Q63o6363IoP&$C^8BwNu@Sf9K0JzN@G{=Qhxh{D z<2ST&dXJDlM#LCO)&Jv>NQ!ANGv>mASOUvqHLQzGur+qX9@r0uin{-gAu$PO;Cx($ zYjHE~!h?7M&*L?`i%;-1e#%Mz|4G7?%X_GTFbc-TgqQ-;V>Zl-MX)qh!kX9so9Ckc zw1x>G+wfKa1$Tkb9{$i(ah~VLVg$lqhnl5f~heR z=EMSM7w17atcrE8F}A`E*d1*gf}?RFPRDt;6xVpQjc^h>@ci=ORX5m6yf$MQA z?!m)&3NPXfypPZDEq*~m)~)-$M;@pT1|b*?|G>nU3NvC3%#X#eELOqV*a%x?#E+z7O&uKb^kZD0gp($#1Hr#9r?WT1z;qMiSaQR zro}9n8w+7ctf20{qc)&A*2AXwCw9V~*dK>sC{D(ixB!>qI^2TxZXO)MlXwBI<2`(e zZ}2nzLU(@e4h3UWjDv|VrB~a?Kq5Ql!=hLQD`PEeh%K-kcEvt82uI?0oT{}AV-AVM zxC%GocHDi<4Y&>W;t`t%r|}Zr#0U5s z-{Ds@3wd|I4aV&>bu?{xIR@ec%qm4swG)~0nIM1tXEG4l9 z!*M4bz~guhui_nijIZz`{y=A8?~w|`$Xa>+W06RJ$uS*f#XMLTOJPN9iXs0jVPC5iUf4g2C?9EB5b8qUQfxEeR%4&0B&@N5zK{}mFq@e#hn z5BMD&MZHHV03%^cjE~7MEoQ;oSjgr1qT1~X$W zEQlqrJXXWH*aTaPy8m}1(F6P8P#lAka0brDWw;hM<1RdiC-6L8Q-6O)z2V#?@dRJv zC;W-765b;fgi$ayCd3q&9!C65pUpqQTP96B;Mi| zRDY9Ae;&XPjD~+;VoZe@F$d z?k`RMKSts#UcuY=2w&m{{Em(?-Xj%&kuWC4$7Glmv#7tnr4Dg!EQBSo0#?U**cAW7 zPS_Ls<1h@x$v6}31w2@e>u?M1#zS}#FW_~&hfnbhe#T$uF6-UlV6V0jl|&p&gefrt zX2*P36w6>`tc4A+1-8Sk*heeR{~!`0aXe1NIk*^C;YQq!`|v29!OM6HAL0w8>i_Ra zd_$|8_YnDGM2vy)Fe#?N%$N%cVhJpd)v&Ip`+pM>t+6Baz6aGY3dGC=5!YCLU6JiQXkJ&J9dHR155~Z;c*2D(b9NS_S z?2Q9)1dhWgI2#w?N}C58a2xK$BX}Aw;Z1yi&+#38MYDqU2>D?IjE;6(9wfokmkI|AU0H zqW4e*Vq}bk2{1XP!>pJG3u7s)h&8Z2HdCtp--bkI?1ckxIF7|IoP`T<1+K@fxCam8 zDZD7^{(pnSeSC&*@e3N2yhq4`As7w+z{HpeGhz4g2C? z9EB5b8qUQfxEeQAqW|w8u^*4&S-gU`@e#hn5BMD&mAywQ03%^cjE~7|9;C%Am>UaW zNvwd?u^u+XKd}?`#Qr!8L(!hhgPFJhm*YCzg1hk$p2Q1y9q-{&e1o6ymsi_xSMeUI zV2p}!FcGH24457BVNooDm9Z8!#1`02E6;yd5`AzGj>Pde73bh$T!kBPJMP1ycm^-y zEv4%J4@tbh_xKI1s@@~yj}b8j#>1qT1~X$WEQlqryr}zsH4=5P3AV;CZ};ckv0n#!vVYUDdotDhQ)sY)ptLFnu-pe>M_%u?UvN zN>~#cU~_DXU9dL}#1S|Sr{HXx2a9keZoqB07mwg+yo5LL0Y1lf_!Z6S-Xr9Pb_5_7}MrK zd`yOEF$?C#LRboAu2N&Zi z+=$z8A0EXsO4a`_lemQs@ddueZ)nx=9wC2>h%qo8CdD+E8FOJlQTP86B+6qotcy*s zHFm@v*bj%|7@UMNa6T@>wRPzKn@Q}#gLneZ<2AgCPw+K>pfCI7zJZv!n*YT z6eQAPHq47furyY}n%DrFV_WQky>TFpz;QMYrr>N`ge!3aZo|EJ1W)57yonF+IljZM zXq)xChsX~jV04U&Nia2L!kkzDi(@&gigmCtw(@El9Y}OX8;9U%oQTtL9xlZ-7>+yf z03OG4cvUOU{~Z#K@fCi=ALy*_JyL-f8Dn7rOpfU=E9Sw%SW2n-e?<~Cus$}!HrN?^ z;Q$v5~7`~Myihw&6%#2a`YpW$2lf<^=H5%ORNM#DcaF{Wxj|IbJw z2j<6OSQe{bZES=su|0OfzBm|1;RKx4!1iwOToOxgHEzNkxF3(&aV9Rn<+u*F;BGvG zC-DMa$9rCF<0*+Z_!)npyOH-$1!Gi za3qe$sW=B0<0{;U+i{;#_5Y(J&fsOdg%9xszQ=E9HTE7Me~gGRFdinwG?-b`{XZ9p zf>;8}V>PUcO|Ug~#2(lWhvFEVgfnn{WBUIx5^HfY?!x~=(_MyHS*}q49=bcETT;3e zEKn2_yHQlS8|jUpbayu>NOuSV(%s$NAl;lj`@7Gt`*Dfa;Cfl&rOdE_+qsWNd4`vH zix2pmacTxlC1$Fc_MbtJoq1W9rC6R7S%shS8~(^TY|K{dz^)-jFAn4gj^{Ma;zF+A zT5jep9^?t0=QW1zI36=bt)Qa#Ovbd#%v>zMVl2xyS&3Eo1*-*yqG|~0vl-hk#BS`% zAso#~oX)vi!c|<)Z4txozgKXCr+JAtd7sZ1yLQl2BBo?|W@8=}Vo8>ZHhTXR1eN&- zzh-sTW+S#_dv;+@4&ZQ(<5bQJ8`=K?!E&zQChp_`9_Kk;!d@RD!e4Xz^48Q*eg3tIZe_~xWVQY5eZ|u!M z9LWj%gR{9P+UWiNE%=vPxSNM~k{5WLclm@d>jw=bU~<01EPOd^WdE-Sit|;z#rOCT zzvTC<$p&oBw(QLA?8l+??SG75GG}lem+~KO;CAlgQJ&#t-r@s3XPgH1pSVF#St@2= zcIIVamSTBUWEFnOZ}=nYurXVO939w|y*Q8~IG)ouiwn7eYq^=bc#tO;I`6o~JABL- z4TEOlGa1t|Gjp*3i?J-_$OTiI|ef^DB9@#mlTv^1y<%K{F>ESn~m6#?b(GrIe^1C zE^K7~Qw1}*fXlgto4At)c%0{WmACnbQH_I!;xTDs`%fdt#GK5}qAbHV_%1)>=lqU8 zvmTrB7j|lF|Gx|Ra4<)4BLCzZF6K(E<5uqBVV>ee-UvDF@hM|9393rS6immg%*}!< z!PodU-{;5tilHAIwb+m?*p9!l2m5mv$8rk);(RXSYHkb+MePvm=P{n;75>MEe8IR) zgQk)&H8U~?^RWm^M-0FJ>w`3k7%R!KU=VffAe2% z;cgz{NnYS}-sKafXVq%*vS5~2wvtZEY4T?7T@DX{F2|ZCL6Fh+p;seH?#kK zf}tG4$(+G?T*`mAf!n!{M|p;qd5aI4+5dAvoaRAQiJ6KSn4Ni9n59^r6aal>}A!1*@?J>$4f#FvM=`%OM=iNu18P5yS7lM6inMxs7{ygr|9lH+i4W7`tWA zR3fHidS;6@djEL@g;%K3BP7_)@CENWP5gDPYwth+5d3CI8NnEF5q&m;U@0n z0UqZ$Ugd2*VpJ>pkJl=wDk;-26LT^@i?R&g;Jf^gpYuEZ%zA9v%Km>5bmH&q!@(TI ziTsmuxR@)sj$65hhj}XGxX2s4$ES?dI%p^%Q!pK~GB*pd1YhIZe4n9@9bfSW)?!1p zU_1WG9_-Iy9Lp*Ei}SfGFch^~u#r2spT~HXSNIBshN>Em@i`Z{fh`n z^L4(%5BM3sPUZ~G<5K>^4cyLs zJjye?+{XTI2_En{MuM{qo+ zaTXVH1=ljP*|CcUd4lJ8jd%E%G1>(U#b+|6WoG7L0Tv4kMU@r2$x5usFIbH=Sf9<< zh9P!iUk>4DPKp?Q|LKCcT*6gc&u!exBRtJZyvh4~#@OwHrV=q_w9)%dFUZC`EX0y5 z#|o^>Pxv*fvo;&CCEK%0*vS5S3I=dE$8joWasiif4L5No5AZn8@hWe(xBo|is189z z@tBlpn29-=pG8@QZ}44y$j|v5f9_!a^#o1%3p??5_TgZT;za(*Ib6(@T*s~46LK8p zDPH6a-s4lo>KHVYkSUmsS(%#!S%R-I^tR)De$21<18cD%Td*B}We@h}FplLE{uLOC znlD(!)!fJ(+|Oe?%Pahk5BY*|I|WT8VQOZK7=Hg8f_yB((tMro@B@CvZ}}7JvI$$W zBY$J>XruQ(NHCHU_y=cm5&!1D+``>F#FM%7Y+VI%vGX$1+God5sbakKd2|Nm|| z|NpA_|NrW_|Nkm_|Nm+_|NpG||9^Jf|9_SJ|9`dJ|NpOh_`kjfpa0+72WZRA?9P51 z$}ybG8Jx$Z{D&L3o%?t+@cXA0WMmHJV-c3- z>wJeF@H2kPpIDbo*qR-qjsE%nH$iU>;z&;5ADqoa{G0!B3wQGnPx1nz~p?1S@<$vVR637xA-1E;+OosoBh`mG+=YKWoLG0KMv&>PUZ~G<5K>^4cy+% z{`U!v@(eHY79a3A<8%+2O3YNu!0gP+!Ysw|AxA}4;ivqDKe7%RvlTnAD|>MuM{qo+ zF*M7ukSn;Bo4Jbzd4lJ8jd%E%F?s|I#b+|64GcwP7UW_97Gqhy$x5usFIbH=Sf9<< zh9P!~7=Hi0f*~BuNu18PT*6gc&u!exBRtJZyvh5~M(_WbAa>87szgl5^vuRQEX0y5 z#|o^>Pxv*fvv%0X{u>EevOT-7CkJpi$8joWasiif4L5No5A?MEK!zdkSUmsSsBXhD993gjc@aPe$21<18cD%Td*B}We@fb3`GqSjO7&m z#ra&u)!fJ(+|Oe?%Pahk5BVZu`2FMd393rM)Xc~n%*P@u&DZ%3Kj3HlmOrsBn?xJE z|JH(z{EfXih$A_He{ePz@o)aiE!@pRJQ+5!{|kcayvrwy**9n?0h9A3X5q_xg~j*?`U2mYvz1{Wz3kIGHmzk4yPaU;E!6*v@@C$}_yoTYSLhjMFb@ zDltVCP%vS8cuI$Bu9Kq0d$2893LayLiZssl?iwzvWNSM(@9_pb1;EBY$IW4&q2o;2)gL zMf{upatn8djqLxB;3O~bI`8rcV-5)#O2FiNiCOqEUtw{+%D0Bt|9gUu_$9w*O*UY2 zwq<8_XFm?*7*6I4&KqL?O9lUM1GjS@kMayJ^A;cQIpYisno7)6%)sm+M_v|YDVAqN zR^g}ohCi|n8?zNVuq%5pG|(}E<2jA9xR5KjmYcbY2YG_$d5w4YI4~3yV^~m8d?sUB zW@auHU@?~Eo2$(MIq8TftAP%O-5ij{J?iIfx@Ufq!r|7x8cY8#c24ErQ)V#FM%7Y+j5#`JC;^l6C1&Bve1*kF+yASAxA-1E;+OoMHQ9j8*_NHzo&7kJV>o%V{m&50 z<5K>^4cyLsJjye?%v*fG=ZrHZXeu#Ng&Y}}oq1W9rC6R7S%shS8~(^TY|K{dz))95 zFAn4gj^{Ma;zF+AT5jep9^?t0=e594)E&WN#uyt^6rahMmYJE01z3z_`6er|D!*X0 zh~f9IA*j!0Y{L+{u`h>kG$(O7=W+>GaXq(18@>O%f+IZ5OT5YZe8$-0f~FENCDSt- z^RN(0vRv56{woM7^Amo}>a5L1Y{~ZQ!k!$!;T*@QoH@?^7YLSf4L5No5AZn8@hWfg z5u?Tj4aH+preUV>q2L?j6y#@7mf;(Gmml(Te#f6#k4^atJMnk+2{{IH6esde&f#LN z$P#>wZ}WYA%&+(ZYXyd)8VXvl9e-sH z_UAB;D3s)WX|9`F6BSm!0p_} zqdddQyu}B6&N!jT!FM1rQ!xXxGcOCX6w9+BtMF5P!yj3PjTvg?=)kV*#ep2b@tnq4 zT*wt%%gx-ygFF!!iaIa2#yfn>7*m3V;xif3GBb0r0E@9K-()3LjTnCaF9g+CgZ0^r zZ5U!V_T> z&HmE}GBGFfvnb2(4Zh0{`8mJi&#cF${DqxDj^EjbgE@*5`6uUaF;{XOw{i~;^As;K zbi;9vPZ{fvpsIvS!F0^Z+$_ive2s7OeSXZZ0z*+h2x_q*Td*B}We@h}FplLE{>AxR z#?{;yG5r2J1p9f6XL*JH@gZL@?w>(ZNtl`$nS=RQgr%d6-v8@@clZH6fNBolCvnCs`Ioq-`yHB_OeuAMK!^xb%d0fhWxPjZbk4JfimwAg1LXPK*Gb5-f zF;g)EvokLXvlPp-BCGIIe#0Lbs^e(PR_ws8?8Si`!SS5NSzO2!T+7Ye6&Q*-C^*6M zyv93x%ou+K4aH|Nre$X4VgVLoS-u%D{Qi{$Rrv+0u?Fk28QU<#ZtTk;9L-6b&biS> z?|+G471whc_woo&^Ad0JKA$o6%%G`6Ov&`j7B;f~Jc2?j$#Sf~%KU_1vpQ?D5nHl7 zyRat*%(VaEf^nS6nOwl-T*FP=$pbvjbG*vie8i|(_8)InP*qZ@!$$T$LGTA> za}odMzudyzJj9c{!0WurCyY5aXehy4`%f--iCOqEUtw{+%D4C)KjN4Co;BHk&DnOY z{dX30XFm?*7*6I4&f`-4!wuZdeLTuDyc}}e;sZWsoOwZ2iJ6KSn4Ni9n59^r6tG!&o7n3kED ziv?ILV)*^b3f^QTR^=D0#u}{8W^BU{yRk2aa5N`H8@>POg1KD6Rb0<)+{+_8%}cz= z`+UaO3xcK+F=g1u{?iMxF%Ju|B+Ib^EAtb6&FZYpMr_IU?6ScAdkO|{ILC1+XL13T za}76fClByA&+#g6FR=edf~bW-Me&%FX_$#QnV&^jhHvm)e#p=H9e)lv>ai(*VJH61 zJ{-(ZoX9^phl{zA>$sJnJ&waX#f!Ybdwj}Ri-M*SG6mByD|53TOYpV8P}JLk_xUlu z;t#CFhHSxh{FOb}pTjtoQ}|cJ@cYjfEaPf!O)W!MKZqrjjrp>JIFC#D z4>xc-_wi`RafX+9ix2pmah3*6C1xsSV0PwZVU}WfR%ED(<5PaaA6bWu*@_+5mAyES zBRHPZIExDdLs2UPYq^=bc#tP}p4WJXj~QcG&`^9PV_Ifru886HFCZw!vV4=3Se0L} z8f&mVo3RZ;?8d$v5^ePUM++u#I_Gi;S8+YJaW9YXG%xWc@ADaBFSq|h;Un?|2$-JP zn1_W}lI2)|mH7$3W_8wPBeq;_|Lp}`*pmY|oZ~o^Gr54vxrUp#lLvU5=a$?5Rl#jO zV$_PDnRrafG|a@D%+I1M!#DUYKjh~j$9Mdh_1KiZuoHi09}eayPUN4Q!^K?5&^pIf z?%`pc;zi!zJw9cuzk{X{G6mByD|548U?{4D;5EL@_xUlu;t#CFhHSxh{FOb}pTjsd zV)*^12>#-HF5_x$O)W!MH1frjkS(z5mpLjLgA&EW*-!o$v4ie#US4 z6YH`GTeD->$j|@333_u7M{)xH;A}49-~5+bxSNM~k{5V=rTyO(JYmdLK}89eoG&p8 zU*;<;&R6*s-{VL8lHaeg|C)jZY|ggq%oWXfq%73_l+e40hJjye?%v*fG z=Zy1D&{SfkVg_bsUKVC4hRQoCvI;-tH~f)x*qE)@fnC{)137}@IV~_0HA}FNE4Y@M zxr+yRg6DaSclekwRtF8mXELUZ7>bI@EXc(IEXJ~Yla*MNU$7c$us)ly4MXe}ZS?;8 z3WjhrCviIGatT*)J-2Z$kMJ}v@h0zwjqLxKAoiM|szgl5^vuRQEX0y5#|o^>Pxv*f zv-TSMZzO2R_Uyu*9Khim$Elpj1zgTG+{B$cuqOQe(f{UiTyTz8d7Fm ze9Bn=22CYo3Z`S$z))0fK|z+_YkZsU^J9L+A6SbG*@Er(D|@hi#PItM6O82){>AxR z#?{=&9o)}jJj*Nmj}Q4G+UWhqT^Cf9gsGX4Ihc<{Semc%9e%*i_$_~8T{a0D*?((6 zNB+j%9K?~Fz&|*fi}*MHNDFQ=L=>%Ds zn*~{dukmfZ&yV>Pe_$;(WDB7cW^(C@hq?Kzi6ZP z|4{IPakmClC1Gl2WDe$I5tiobe1{+KGk(jT!bbLASI~s5*^$4oHwSSfC-4u><|6*h zf4PObx7z<9!AV}=b>8I@#@rS(lz_?k60`7SzQW>sm2Yjc|MvtR@k@Tsnry)4Y|GB< z&VC%qF`Ud9oELH|mWdElHmw1!+ z`HZo522CYmN~UKv=3yb0WI0w~<(>BbiQsEiXKglOOSWeh_T&H#=QvK~OfKN^o%X** zu!%c)fX8``S9zO{7_}>CC?1nC4Kpz(^M@QoS%z=$U4F>V`5k{|JvQYp?8M*Mhl3d! z<(SAnIfsk6lIysYdw7_qc#$`Fk53tEcciIMRKnnhO2Kr@%G@l-5`2ws^L>8IulNIN zu_0ST48MOn!LRJW{v5`!oWj32pUb$K8@Yq~d5mYHjo$wi!GCE zn2$wRny>R6e!$PdM)v=$;3w8)6SihY{>I)M#F3o9KRBC<_&5LEWB*$OyLpHwd4bn? zmrodTZ_rQzCg)4c!k769i|@7nR|RkJJ$}S5`8{j00h_ZeJF`3caVW=da>y}*^SG4% za09nM9*dJ6BpUIe(nVE|PSd3-)CM&TjzhJd! zqxWA!P@m1%h9P!iUk>4DPU3XV6wjr zScoNA?tuMQ5LD(T{F>ESn~m6#?b(GrIe^1Cj#D}Ffc-BJEaw_-;!Ymmah~H<-sU4l z9SjIbmrJ-RY-IoI1>3lnM|hf-c$4?}jIoagO(kMVre`+hVWH#pUs6zx6{@M~6Q zZ8l;{wr3ai$sJBc$lYnF)$Q$LvW8z8S7+F zRYImAxR#?{;yZS?+k z2=?PUZ~G<5K>^4cyLsJjye?%v%gSa6D(6GeIMXnTi>hoq1W9 zrC6R7S%shS8~zv=imD@M%vS8cuI$Bu9KrFN##vm*6_WD2HZR_10wmf&lA zo9{;qzyHUAulNINu_0Tq9e-sH_UAB;Lk7kHg_`Gheq1q~&*WdF$pFEI;W<|{1DSNRs-<463G-?JtgusPd?9G%&n{Wz3k zIGHmzk4yOvH*h=m@hHzQblGu>5BQvME(cX5W-4Z2cIIVamSTBUWEFlI7>fEv@FVN6 zF?+JAaMHs)a=mSj0rU}b*7uUVb7*@!LKo?Wime^0>x4(B*dG?U3UUqpk%N#bZ*YVJ7BeeimgJzQK3-AwTDL4E^k=$EN&+o%lQZa4<)4BLCzZ zF6K(EcMp5jH`;5|NNtm{Ej37LZFn3cI%kR|w9#PIvSEqI?F^DF+qT5QM` zY{y^OgZ(*-V>yL?MH{{U`GRF!&5hi_{XE9Ayu$zZkS`ebM$l9ere?;lk^ScoV1Vk(|IkIGc<3H~-}p?&cw$mT|T*C|1oa{ z6(wMDzQininXj-oU*%hTk00?%e$Se05OOqUTXtr5_Tx~F;bhL>JTB!w+`#SJ$Iwy7 z8D8csKHzi4xfL{(n5me7*_oGxS&HRZF)$QWMer%V;g77t#%#q7?8;so$PpaRX`ID{ z5yS7lLa>&bxr+yRg6DaSclekw{tFt4&ty!?%*+*S^!^J7im@!;WF=PR7p%q_tj}g_ z!w|c%FNcJU?0>Xi5~p)6mv9x=a~t>a2v748Z}L8$G4^fyPjow|EG5%38}qObOR^j* zurfd4*R0OkY{Ztg?Z3UC3wv?^hjSdKawZpWIoEI#ck%#_^IXVrmACnbQFnr7;xQ@H zFcWh!KZ~*q-{8CakfF~V-|=VGV^jXZPW+vHIGCe2k$-Xy7jtD`C~BQxEBEj)Pw^se z@E)Hs*4?0~giOJ7%*xy>7%}|*B?PbWZNATs`4xX)EjDBew&Snt!Tub^vC&5Fe~REQ z&gU|&=0@(|ejejlUg3Xy$QO)zFK8-B*vS4<3oWW@&d2lv;Vt-CyaSNs3-xG^Cf2C%Y22!`6}Py zd;ExB^81jZCL6Fh+p;sevmb|Y3@392=W!|j;Rc4bJNEG?&+syD@d2MR&V!(-#7xBu z%+93arde_%*Au_9OdmBxuR@ z?82TLz~LOnshr6LT+TJz#GO14avbM5Ugd2*V$|cHp?FNnG|a@D%+I1M!#5au*YP1g z=Xd;>_1KiZuoHi09}eayPUN4Q6BvqGELh2P+{!&X%u~F`8@$J-jP)dFDj`!a9kWIZ zzkhB)L6+cae4Fp{V}8XSSc?tWg6;S#d$51B(fc1J7|SXAi}SgRtGSUoxSz*(mRI;6 zAM!=m$o}I#4XR4Q)Xc~n%*P@u&DZ%3Kj3HlmOrsBn>@Au)`E`wjlDUDBRPS8a5fk5 zZ~n_I+|5Hg`PBX|2(I%kpD^aLprHgz&X<^lFY^@^=c{~+@A0FM<4b#-?+ zVJH61J{-(ZoER92`cp86i@B2PxRrZ&n5TG=H+YXv87pScR6?eR7>bHYC&4e{nvSaWyw`2lw+B&+-cY3me)0L%|Ei zjTKatgsGX4Ihc<{Semc%9e%*i_$_~m6(bbccU?gfwq{5E#@-ynk(|IkIGc<3H~-}p z?v7>uhXf~if!BGLPZ%?H&`<&<=S$4Om-z~d^HshTa=gcn_$9w*O*UY2wq<8_XFm?* z7*6I4hUPhz@*i&CcJAX*p5bNQ;sZWsoH#*KiJ6KS0z*;R1$kMRrC6R7S%shS8~(^T zY|K{dz^?2SF}(kQf)O0gX`ID{T*0;6%w0Ul6Fkpryu-)QM(;mH+@PZPOvbd#%v>zM zVl2xyS&3Eo1*@?J>xYf(znP#7L+r-B9Kz9@#Oa*NC0xbz+{V2;64(Au3oh{{@ADaB z#|xTD#FR|WY|O(#EXi`Lz{>IL{}aL2tj^kO#FlK&F6_wx9L{l^%9&iiripQi(!%WP{P<}^Imf;(Gmml(Te#f6#k4^atJMnk+;o!hf)F{D3 z{>eF9%#~cnt=z-IJjIK=!FznlSP7z=3hzH*WatHVG7|(`{?Ei}3KR)CO#!VRfpi08j%*Y(f z$097v*ZB@V;AaW#|69RNtji{B&5rzyy*Y>@Ie~w0HW%@4{+rPLw+MFg5Kr;~uk$XS zFlM5lp#)6Mmzaew^A#2kIbP*ke2*XTOMcIqY{2Gh%g*f1ejLg%3{7^-;5;tnKit6W z+{dFl!^^zI2Yk*riG!vR2Zo|j2{JG{^Rh5Yu{Con620$VtD^u1-&?s zBRHPZIExFpf@`^%yLgZ%c%Ijyjo$wq!DGfq5>ynQ$(WXznTrKjjAi*IE3qoSV70K3 z{nrrGXEU~8h~3ziLpYj~IGuC3gsZro+mhJ-UcnKb<|W?beLiFCq(M`On3Cz4jd@sz zC0Q=1{Z|lF<|q7`)mfX3*pltpg*`cd!#R#qIWy!~z~x-SP29-?JkE2x%G-RzsANGy z@tBlp7|P_x$^0zJGJJ#Y@k@Axz8u_=FHC;lE7is~a6%u$@kKRJhsxsvO+m3w%Y zr+AS!crRjj|4#+6k_S~KWD2HZR_10wmf&lAoA2{ue#IYHE86J&Hx#sBJO0WZ?9X8w z%PIVe^SO+xxsf}#KWt?G#{_42h5zv(UodWpps6HG&5X>!d@RD!e4X#4u>TJPpYdD% z#JX(4*6hgN*qehmk`wp`XLC^s`~O?;FSl?v5Ah@~@H+4E31g-V8cM+Ae2H23a>(%t zi}O{!#rOCTzvTC<$p&oBw(QLA?8neh#~4oL49??H{=*I2&V4+}GrY`Oe8A^{p{O{i zf~pcT6*Dk9^Rh5Yu{CoIAVDJtppv|mAyESBRHPZIExFpf@`^%yLgZ% zqK)4FdBHW_;bX=~9W)f5$(WXznTrKjjAi*IE3sk@Axz8u_=EE3`KPk{LVfc%u$@kKRJhsxsvO+m3w%Yr+6`9c>gy9_xO~tUJ9y8 z$P`S+tjx`VEWy|KHs9yR{3_b${r@1S#fEIbcKnq+*q_5VmQ(l_=W`iXb7R=Z{&xuW z^BB+a3jgCnzF^#RK~qVXni-jc`B;Rd)7k&)f_L}reX$WXI>U&DVAqN zR^g}ohCfCO@4t?qF(>hB|%kw!D_6*`fSEF46z&gatKFr5~p)+M*CkPSjF|+#=Shk z)4ar+yw7KhohfK45mPcfvt_dXJc2?j$#Sf~%KU_1vpQ?D5nHl7yRat*gdD>;j#D|4 z3%HzXxQRP?fX8``S9zO{7>ddqR1}X%nTDB|llfVcW%vf)<%j&7-|=VG3k*dy75u_Z z{GEL`n4>t6e{v2Nb0ybtEBEkl#PI%42`=&m@9`;PWeJ)}$P`S+tjx`VEWy|KHs6mn zdjB5_zTyw8#fEIbcKnq+*q_5VmQ(l_=W|)u$o^LgHgX5|^BB+a3jgCnzF^#}K~qVX zni-jc`Lf!75kYCb&Ug3$KjXLjiFMh8t=W;ku{Q^CWY$pdJ)I! zJTB!w+`#SJ$D=$G7>c?qxWxy2&N$hFsuD95GcY^zvM@`rJS(yaKaCjP|2KjkS%;0; ziXGUMy*Q8~IG)ouiwn7eYom?c|7O819^?t0=QZBpW5&o4G!&o7n3kEDiv?ILY-Ims z1#hwvtMUt0V-414Gqz!f-Po5yIGU4k*#C6FTrS}%uID!Ha5L1Y{~ZQ5_0t901oFkPUTE4;Bv0vChp_`9_Kk; zW$3o!5upYdD%#JX(4*6hgN*gLoV4-$;z1pdL#PI&B2tMUE{E>Con621>UD=BRIfCOkjkCBg z+UWhS5Uk~9?&3k7;CWu-9X@7^d_hC;nT%xrc{&iWhl< z_xO~tUJ05?$P`S+tjx`V(MIpTgy1#4&G-2+zv2(9#fEIbcKnq+*q_5VHf&`7Qv`o; zK9_MdH*yE}^BB+a3jgCnzF^#fK~qTz+J9<6M&@8X7GY_=&Ug3$KjXLjiFMh8t=X}l z{r@KD%|RT=3H*bzxrl%BUvA-U9^y$};PsH>E}t-Fp`fA!OwN~>g)j3J7U!#ci|_Fx ze#y}Hj+$)1=4{K(?9P51$}ybG8Jx$Z{D&I?Ls8oW`*@URc$v5OfX^AHaL`m@reX$W zXI>U&sfgkImlsrI6@JQZ_#^AEF>72_Y zT*dX=#=Shk)4ar+ykErrp9x|Y4XR4SluXZT%)>$~$#Sf~%KU_1vpQ>s9F5qL?b(Gr zIe^1Cj#D|43%HzXxQRO%I^a0YbG*vie8i|?K|}GFlxdiWIhmhDS%z-}hN9jTe8|uF z9e-v$Hsvqu#NXM6gE@*5`6uT@4DWxjU?taaEBEj)Pw^se@E)HsR`H;zgiOJ7%o=U< z{&NcovIJk_+kBrN^DF+qT5QM`Y{y^OgZ;xs_CHK8mQ(l_=W`iXb0c?fKacS&ukb%U zg)j3J7U!#ci|;Y?k>g8#&zfw&=4{K(?9P51 z$}ybG8Jx$ZfuX2>1RJ=W`*@URc$v5OfX^AHRM1pnreX$WXWoe6{TCLLVtH0%6@JQZ z_#^AEF>72_YT*dX=#=Shk)4WvL{%;EI z^BH58393rOluXZT%)>$~$#Sf~%KU_1hd=*5@)^+8S(}a6lI_`rJvo5GIgV2~lMA?< zYZ%((*vSJt&U3uV+kC{Rvcca#JSJrtW@1j}XVL!^cNg$cW8K5Y(^8-XT3WPdp;+?0cWA4p&%PQYn67nk5_+=M&v z03OG4copy9BYc^Y`u{-SJ4VQ5c9ko}zoAu2N#>_+A0DYaR=_lV|W&?;B9<}FYrBn!|-{`o{ECe zF|MK1e_{eYm>#oY9xQ|78I@lOnVMpwN{cwm<)&FP$6LAL4$7Q${x8QC(geUO= zUdOxm1YhGP(Wrk1KeLORF)GHw1eg?4V@Aw@`LHOK#!6TN>ti!N>c1_4E~w)`9FF5~ z3eLtwxDq$ucHDlW2IFIVg&$GNXZBD;bikn$X3T{JusD{*Dp(5}Vhe098uj0eKpzamkvIXT;apsT zt8o+V!~=L7&*4?Plb`y3MBpWU!0#BLfZ0Q?7z5*>H>N~i%!Yng82zzA0o_a-K%g!* z!PeLbdt!eaieqpR&cp?{9M|Di+@sStjHmD--oShK6yM-ybS!AT5EpdE*q9KLVH(sk z(a4GUu^5)Y%2*Q{U~_DTU9mR~!Vx$gr<&^890H4R6>h{GxF3(K9{`Vs=1V`gUoPqOk8Lq`G zxEl}QNxXp9@h(0QjrxC0;1fC&HoM3fqhc&ffJremX2cwr4~t@Htb{cRQ~&h|G{d&o z1$7*V!*Lu=!P&S7SKe=U@T6?S-22a;CkGKd+`XK z#!Gk;@8dIkt5o&>g+RDsW>-Z*5A;MYOpa+WGv>kqSRBh@6|98~MWg;(5NMCxunz{} zNSuJva4s&v)wl_F;sHF4=ZaDPR|(v~NB9yy;CGBr-0Ue=jDhjc8&je$WS=EVG149j3;tceYK?wgXu9V=D|W(63b&Xtb>iQl~UDzM*=;t9}dCMI1y*y zd|ZZWaSQIoLwFJ|;C0cc|GNa9;A{MZ4*q5jIb&3eg$XbzrpAnz1M^`~EbUMIS0YdY z>ti!)i(OF1fjAt;;S`*Wi*O}w!0rCj|2_go@eE$ZTlfH<<2(F{PNmGAij2`P4kp4B zm`^)D%QqE*b+NnckGLUaTErjKApxqT#9ROGw#BJcmmJkH4Mhb_zFLw zR@&^Lh^D&cMj$4}$0V2vGhlYii$$;$R>bO951V2e>})9Y-;2Ni9EM|YGS0$i-#mxA+Cal`*?25_+H~dSP-*ifet*Vf4oe7=U%L3AV;g*c1EXP#lAka3(I$X)MQexE1%{VLXKw@dn<*r}zdxqhmR< zhg{Gd_1H8LVlqsFnJ_2j$6{CpD`QP;fX%TTcE#SNx;BWw2po@7aSkrVRk#s%;C?)Y zXYmT&#)tUAQ0o6Zfo~YTyxCPzFgnJ?#OQZV>PU!RQ2DOKr8HsJ+L1R z!O=JoXW)EXhHG&P?#4rSQZ(xS0)gvz7oXs3{Dck_%pP*as2B?qU{Xwt88HXut3dr1 zB~ThGVGXR0&9E(YK^+I;a2$tIa5gT&l@+M}4FtC1K0JzN@G{=Q2lyP{;a7C3X!cZO zjD~SAkxnB8ro$|l8w+9yEQeLGHa5bR*a5p^UmT43C>lXH9p~XvT!Wi&7aqhDcpk4| zFh0gt_|a7AuaenC5z!4}Vth=3sW1a($GlhsOJPN;Td74P69e2E|MJ4UEt_LM8ezlJ$#C9 z@H0AAHG4>Rq2Z3PF(D?yG?)o#oY9xQ|DPiurap6 zj@SeH;Sd~+6LAL4$7Q${x8QEksQ*I*PT~c;j(711zQ#}J5McI@Ge*T&m;jSvYRniw z{pTQ%4~t@Htb{eNJ~qR)*adYQh{JIlPQlp$)c+y^D{%vE$9;Gd&){Xeg%9vKzQeER zRNd^U$QVth5eE}t3QUJtFgF&&5?BtaVr^`MEwKZ3N4+nN!8i(oa5~PzrMLz+<1Rdi zC-6L8!(e=Ds%x(Zd_=8=*+mi24P#<_OoFK}17^p(SOiO9MXYWp^F}4M*SBc zP#nu*6|98~u?4orZrBF{aU@Q_X*d^`)TI7b6WD}1@cK^tFJ?nO zER6nG0RyluHo@>18FddDu`vNAL2Culb3Y5_!u(hiOQE$Q)wo|98)9=)U299AGxo%O zI2cFbc$|W>Z~-pEHMj|P;66NJDE)tmzy-X9ckm%TNBJkBjZG&1dZwX+gK0!`#poCZ zy)YT3R;v2XKp-3DLHWXh@dR?A!cfjn7|OWBur@Zrme>KiV_zJMqcBJ`>VGjjkMR|LM9tBB0TCVf_y61o#KicR1XE!K%#L}n2$sT%SRLzOQ*48s z9cBBguU_>cFaU?)Se%Tra3QY1^|%f9;t@QJm+&Uu*J(V%xA+Cag)>($5_+H~dSP-* ziv0?I#UpqcFX=RH;(dIEZ}AI;i)8jx zB=kT}^upwr7BgcmEP#4(8fCEx*20F^0^4IZ?1OM zSMd%$!k72~zheYB#8GeIt{4O3p|_!I|C9uLF&p|}Vf4oe7=U%L3AV;g*c1EXP#mLF z^*@QgOk9A=aUE{OJ$M*T;YGZG_wXsc!O!Rzh5C1qhUzMJjExB~8K%KZm=p73F)V|X zu_iXa=GZO@_1~31Zybapa6C@MIk*^C;YQqn`|%i_#VdF_3ibbxzzckj-!QzZ*+Wq< zI>yDs=!5AoE9SvMSQ5+YG^$}8Y>ch2Blf_4I0Q%IM4W;1aT%_~EvWCNaR^W11-y=T z@d>`hPw3!g_K-71#aNgClVWO9UCT%y2j;_~SQ;x~4XlsNuq}2$9S7oY9EVd3W&6)2 zun1S;2HcMO@FUaX2`qKii^k`FUjl=16b9jRoQF$s4Q|F=co0wEdAx?f_&6%{|BApz)ZEQ3iimC)6XRnN zOobURJLbhASPCm*b$9B&9)YIV20LRf9Du`cEKbH*xDZ$1dfbM4@rX|2G+x4+cpsnP zTl|9IyCsT=!ssK9MfWE)N|1&fW@&aR>4}>5L;k-?1p_X5J%z!oQ88vb!`cO z)wl_F;sHF4=kO}t!AJNKKj3$a5Y6l>?L*$Jm$|T2oP&#T6>h{GxF3(<+33{&6#}>MA-=%( z_zlC$`Fi9007l2Sm>7L9J!Zu`SV*T)63b&Xtb>iQ6?ViP*bj%`Xq<>Ma6T?WeJzbG zxEl}QNxXp9@h(2W*Z2t?VwyeVj8QQbCNR~tqy$o9M$Ccvuqc+sN>~HyV>4`vT~Nn? zINVUS|2P6ua5gT&mAC=7<32o!XYexK!Uy;q-{DuKs(+_gW>-bVXcz|*VG2x#Sui&i z#1dEzt72_zge^s*{yPxpj(u@3j=~_Ej`MISuEEW?3lHK6Jdf96QUAdN9^)(gh?-oT zQsovA-7qG`$0V2vGhlYii$$LRi32)+ke1>oF3x@MFdnyuopeK4^a@5n($c(wL02arxSOsfgLu`TVu^aZmKpcq^ zOm%Gi;Q$H~1MH-K_8LS+a`maf#0XD~W*cE%@ARK|?aVpNi#kdML;tt#&m-;_O z;4EIj+xQS);CuXr;pMu$F&@C^7#94F}A{v*aQ3F5FCvY zaR%!1X)MFFxCM9PAv}o}@H*bbC-@pap+kJLhnz90sjkH$kN}fnYRrf^Fdr7h(pU*= zV0~|!=<pzD`Iu5hfT2!cE(;f0EgjNoQ$(@ zA+FGAtjBG*7mwg+yo5LLK0d>@_yxmxnLQN=J&f~#>8?!*Il9M9oZyn~PMC4Ml}HSIfr2#L(Da>W=J54|xZ z`eHWp!@}r~6)*tnViTpR|JDRLVNdLjLvajF!kM@Lm*YCzihJ-dp2CZwQU5mx+{35% z20x=?VzY-_&>drALQIBfFcap){8%h8^un?BS@>mV)U}J2B z9kB=Y!yz~t^@%iQ;Cx($YjF$i#zS}#FW_~&i%;-1enN*NMi1$lv)Rz1Vk}I6Nij8M z#2lCpi(+Z4gf*}}Hp8}tvi-Xd&~YFR$8k6XXX7GVi5qY`?!%*a1~20+rK%!0YGAeO*#qEY`<3Dm|$*b+NnckGLUaTEsObexAvaSd+9 zT}i3`g9J|CdAx?f_!wW|N7Ry;Jroh$Feb*wB$x^_B%}Vb6Ud82uoPCr>R1n(VjJv? zy>I{y!?8FSXX!K+;tE`k+i)))!P9sNZ{mG?hHvo;hD&btR3y|rXn3L*Cdagx8FOI) zERJQd3f97g*aF*QH&b2fLm&`G;sl(Ab8!i-#!a{r58!b;hgb0qJ~EW;|B}E5{EiV) zm|f+HF)$u_V@mYJZ0LuD(H|>dfKt_eT>?$8HFmoAu2N(NL|EmaW#2vUFkKtLog17M@zQFhR4a282dnyV>$GAF;#OQZ zV>PUUjjM0CTL7$1|Qq5e}5$bi`~FBZX4SP`pZ zJ#30?urv0;0XPiD>NFRNjO-LMY^;z*o;({L^>!PU44cj5s&j_2^Ip=|#<1Rmi_ z{D9vvLOQdjTrmd5LvKupzL*XDurT^7RsB~W5P)^D3AV;g*c1EXP#lAka3(Im<+u*F zibnnKA#fN^;YGZG_wXsc!O!TJ-s~Y4bjR435R+k=^wfVQ0y!~17Q-@F8Eaw#Y>w@) zEB3}gI0DDx)b!N<90H4R6>h{GxF3(g;!St9F z^I#z?iRG~x*1^Wu3Ol0SgGN6bf}?RF&cOM&4AM9uBwoPlc-K_do)CDApU@$L z*+tG66=PunOp2*7Bj&(-SQJZRB}3W%H3-zlX4n?HppFA^IF7?9I2#w?O5A|kai3Dv z|4{;G@G{=Q2lyP{;a7CZX!cZOjD~SA5vIU&m_;<|KR1DbSOUvoRjiGTuqAfD?${Rx z<0uTm={PSV^}m$B8r+P#@F1SR^LPz|@iD%_kEmrbdnh8hVa!a_e|!Q-FcoIN?3fpe zU@5GK)v+En#WvU(d*J|`#xNX-Z* z5A;MYOpa+WGv>kqSRBh@6|7~dYYhps!1mY;`(PlB#0fYJ=i(Avjhk>M9>C*c21nf2@E3SQndMYwUzQu|E#QF*pfl z;sRVQ8uh=9z*gLYhw&6%#2a`IpW++*jE-5&9&$l6Z2y+EQ6J? zCN{w4*bcj5c+Fg)$mk)@Z=C;^?}Qk7p_~FT?#s~6P&Tu`E`>TG$XxC*U-ki%W1dZo-{-0FUE2yoz`55$Z2#e8BG*!NFWH>#x~ka6cY;V@mWz z>yOy|xGz7HZoEMGfmB2JVKhVeK@_E~)g{mbTjSrimARmN(aA`V0OcgPabHd&7|ICC zQ1(H?&^MX%zqQS*Cyc^^(NVtQVI)e7a!ThfPbB-6abGIgun?BS@>mV)U}L4K|5gM# zVh`+xLvS=s#2Gjrm*HC6g1hk$p2Q2HQUBKo+{GvO8b6`+O9#$uqNo@P6JSy_e&Ik~ zU`FoeK=}tyjGmI;J=cwf{NSmf{Lq=9{J@D}eQbtpu?y-r5QpP9oPx7)5w64y^7|vk z6KyB350By*yo|T-0Y1lf_!XTT&AgE@8pgpyn8Nz||8xYhU~VjkC9oV;#oE{iTVe<7 zj(u@3jzT?%#&n#AOK}Zu#$9+2PvCjHhQat4U*Sj8!WliJYZ1+c=7upbJ|@9bm;tk6 zUMzy8up(B+de{`(7|QnVOrRGIz+pHRC*v$!h%0bCZo|EJ1W)57ys1?6f1kiJe2ZT& zoRhgTMM4ksL@!K^X)!bA!U9+v%Zf(*S0PXf8)6G=kKM2j2I5GZfYWd;F2U8f33obC z{|5*h$8&fU@8BbRi68JgMv(V#bvfS^V_-b=#+2x5{r!J70)AK+{jmZDU|np2t+5mK z#Qr!G$KWKKsnb}1%W)lU#XWc!PvJ$pf%ot!zQNDv7{Tlz7u4Np#Kwe}4AWpH%!&E2 z7?#1xSQ8syb8LrQO?9m|fk8L|$KzC-gNtz$Zp0n9ACKW#yn?s!p`q0O3j*))8-|Z) zc2yLNj&U(D`e1s@ig~aQmc;T{O{wa?4uQtl3OiyC?1w{eG)}}BI3JhcTHJ!W@sMcL z|49ND@H*bbC-@pap@Xy8L(Ui#V_^bJim5Rp=CJ<$KOcdjSQ;x~4XlsNuq}2$9S7oY z9EVeIHZF4J^M56Q4Y(cm;ZZz;m+=-pz~}f5zoL_i*;A1*8pg5y{y!0c6qpXPU~Vjk zC9oV;#oE{irR_-wbYbEi6a3>a!s9!L4ln zFdW?)T_5V;R@Hyljc(0t9opd5sQ)k<-7?k-WpHbb|HEo@`}@Hy^&du~+usjvb;fvM zGrIl#;8qXQ(XH&T3C*5RsDxPxRvc6hND}f{zDzys`?MR(XCnkp$%@0`VX_w zErZTb2DfJYht=rz_k&yNKa57VzaQLMzyB3BqubvPZuKx7-OA4Wo58KFh2`j0)qm)N zTiO0$IJ!0JKh(jks{gPX-J10u+Thlx|1cZfG6)T2aBJ58KONn+e;yKVpc(aM}Niog~3;hT-;Sv-2~5Q7nZO&^p;% zoBIv1IkrW;GmW0u4+o=lL1H}jr{FAHfXi_mZpA%#7*F9vQ(e13;2u83H~1MHIkoD7 z?r3%GKRazN{Vx@0Y=T1gN9XNjq2CnzW2tbp~3LMp$ox*n+CVFj!Ug8%XLKwY!DAo$zsf&Z+|Ln?FW z|4^^b$-eQg)VbvOWtpq`-_0gCgtph`{;fJUc5>b^Z7d*I#E86F&bLG@1KbKDKH&o!QA+lpY>Pu9~Qssuc~4?PZ-+I`WyAXiy05% z2|SP2Fc|;fcm0i>&W-8`;LY@>HqoDRF41YYHQ^4-(C-p{(r&>yvG0ZdVq2KPg#Ziw_X1J zX=)z-vjSoDZI@6!)Xe(#rt7T(2W#&P`}YCr|4$E>e|NMziWd@u({Uay#WlFus{dUC z4&n(skJm65ALA?hh#H$RBD!HrwC~x!{rf)&Nt6uJU?$9o`LP(5!OB<@8=&=$+K&5O zO?54lox^x*w%<4Y;GpuCBc8fE@n4TArT;teKu@#|Dy^;x(|1T!|8;oc#u%mt9P)g- zc^-AVVbuSBdBC9tCN{?#X8qfIA<)=%VR*n{M9=`FzGcr|N$LD-d=^x#ko8 z>LAys{}hbVL%B|G^w2*($|b*bkZbcLRI~nnf1TcZ1^@nKdg}jw_9ay7`v3pxOQ^c> zEmYYFe{-EatS-~*n)(*1dP4~PI(=AOrkCw6-$FH3Ak^#hvVvi9nO@buue|B29tiC^ zy?Q(>F4G(JKa&**rM4>OVb0F8ixo1&IHX#A<~@%4;1v7PYSb{r$Y0xk+lX0u9kRh_p`2{qAslB+HFQ z>)i1y?k}*;|5?{&tmE=c%&-IZ;Ssd1Vq1gPYs9UqX%D&o9N(gKG28k}s)*KKFj;?Q z7oD+STuh8U_@|p9pQDt9{K)(*l+5(*MRkg(eqrmqwC+r>3Qr zy~i=WrfpVwX<8ar(OVM8LXOGgSF+VBX{2c~tMLT6xt~udPgIfnRh9CD#__+*-$dP) z936PvIHT&W)z-!ln5dNO8@az#>B)hDBsiR{(uc$0AvX={6r`Gz%d_k+M z#hcoO?G~>pk6DYWiyS`}cR0+mtKIlV*lzJQHjB5goiC`IwRlV0u-)Q;HjAtC2tS@C zXqL5jYum8h;xla)S8MWf@t4-(s`h?_?G{(t&U)?YM9+`;g7P2XwYRqo+bw?5X7LWT z^97Bz7Vl^qwp;vx&Eo2$&d+DRWi77WFn)yX7FVavtd;L#J6}+SqpZ9-X%*7qo;Hhj zvz;%fkF|Jr+pyiU``Rqt!*;%)Q`X`=ZNqkp7qeNsm+gE(iI1`Jx^38Q@j5n(_qLrc zsI9elAKS3q;_B})t*+~9J73T)YjJgYKcuc3WwUsH+xdb#jz(Hf*=}3!BA<+0GYK zP8LtA-h_tRhV2%2mit!Ej|dun!hMU&+3s$dk1Vn%sM<;QqUFBGU3Ya?Zt2M6ELM@5 zJhyTFRnVNnXV3NefByX*Mna?{Y|0(y_y4uNX7x$6H=bB3x|5x3hCRGY9a?2+- zHAU&+rqvPE>SUCgnoq5c`iQp8cU1CSm6$bI`9@1X^65VkwvdFXTvfu%a{qYOnyiG6 zC19IysU&P7F_ka3+^l?RkYbzfqU0+ikE=<21{pIdzsk)vVT@iscR4@ia~9R$Mk$-t znBvQws3MRClFKE{p_t+llrw0DAxEWR-_5E=L=Gc zdsLUO{P%NRjj-O5u$3i|WL5tfg*B-~)YMcOwq24`y5yz|e^ehAm7CSaUG4HM@YXc- z7thvY ziEm9-KJ_Q`Kl90;aF`^lBXh~y%Q<(i@XdUr#)EpEb5Ei_kw;Vt^;D(hW| zG;PW+`u4{P@|gd0H{)$ntzbp<{C|7J%;+q2uiksDDWnywILpm=i%<#Gg|v|JWtDvC ztz@E+PrZKoH5_J>P*qw;2^&g6Z~KJ5$hTMW$<{MANq}8Gbtof4ZuLK@2}wA@Y#RR$ z=@mbbgfnFh^@?lAEuTy<3*M7XwuoE7Va}a6O*oP^kgz*>35F(nHu!YPU(kp&f zO4GcoBr>1XG+(gve?Fdg+-7+vWDQ$|k}zf&P3v3BN@Jh!XFjK`ZrUgrC97Ag-eG^a zf@=E*EpsqGnx(BKE4BS58Rzf*W6)$Bs5#60_C4sd+(GN5MnOy=<%=T!vZ~%&KI_#Q zT8D1GO4wJvL)O8{BJ)~J`xP8E)Lm2KdX>*Qmitw{cXu6(_YIj%z5b9BW*+YT{yN{5j}DspHitD?&E2a0)bm(7;n_LvT2+augle=N(knjs$w5Mlpxi=w z#jXyHTGl^U!HP@WHT6qAD&G*b|A&;YU^quDjkO(QKC5ZJjf0o}+{V_?=&xRJYx#kr zgmx=v)SrDq|CN%EHB{q)kXCSb1V`;pMo4Q{yKBCZN4?@vf6b?xuZp$WA_>(=RBN)D z_A3}H39Tv_^Vfub$#*WIqftd6=QH1bwA^cDo5);h4abF&u!0=A54N(2A+6w1$v06R zSNSH$Eu>MRl@0^B&;r9 zRQ8s~t;x#0JILd0TIOUuroLL~BB6Z5o%a5G zjk6_Y<-0>ZwU4W5YZ6CoY#w!n$L8}*C4FW$W0|^cKMu~-+-e?m`^IY5p%|zbIv)Odg__enR7T@5hG#%R1i@S6$JyJA}S~b%!n8O z5d=h0Fkr;2ynikFefQq;cRM|mt82P@x~qFQ_n7wCSKDuLvNgG8=J1biKv%9RcZ53} z);fVn3{U`md%P@~PesLW*M+PGAJ3K7l+$&||MW9oJj2RsyuN8FX}d3UJyup5t*NH< z0;-%-CnEQLlV4vg&w@HRm?wsH?7;ylpy|CNeOaklH_Zzd&Ao+9z3S@gGiR@H`btFw zbIc1}hk$lh;?;_}Z(KiC_x8;5&q{gi*4M6A*rAEfDAdh5vEC_bcUHc{NNe|!6IqSC zcukEjw~e^xYUJHk9hA4vxM)uylb!Q=EVQ(LE`b_yOh;9$6t-ICN>6bj(A`X=@Z~36hzKZTm@_S;J?n)pF9B*Ak~~TKo^9XoR-eB4^g|`Sm1D z%0Dk~+TO)y5=AHc^@pA_i~O6HBG5AFN1u5%K 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

r5FkA>X}#s*J8 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 z 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

V#ekS%v5?-|5^;12N~Pi{%4NMI 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

bzh{8cSG=sA- z>UT8#A41_>jf6ZLotlzWAYGb)-|73;tqFV;((Y-tmjH2J!$fRgTCXNI2nP3Q3Te&K zuW6;Re4ugbgS3a5l@$Jdq)EF0p^r5)17O;K=Hv;K1~oHj2|lFx&>Mp=ta&O6l_Q!T z=_4_!8Hq&On5JG2d&f1;@aPhX360?xWKU`wJV6|^YiQxNU(2|L-aBe9nt^xHMqUK) zfOe$=DxI}6C{x)*E4v4wu3Dd9blXk4nx3+Q+Ky6ix@#A)Ks>bRbmZDodvqQwJf^)x z|BS&)n-qYy<64#v^x3_&Z;=Q3g!WlVyFR5w6CP{rR}_-)({^u#?9>E^4|0Xvh5_=Aw410EkF!^Aw1Q()L?HqP4RravY;oc%u}nP4~gvM)^&}q~w+AEh~Q-b!%T$B>EUp7Nnk~ZcRSdz6P@xWcxzBmVcNzvw!zBH|w zf=lUIdk*E?W@x8U^4m4-k91>SrdF+hZCTnvTCHbmgB&5WK)WvqEQQ+FDb=`0TTgF# zvG#ZJbd+eP(BxO9y+NP-a_yHdgR??=vmI^K+J^mr*JxLcqVl?S!4i;KZ7iMNzMv>y{X+=2%!zyRyM@k(r!?pty#Nu4?5GLjd=rz+gdd_@LIL6X9Lit{apt@ zyY^%VIPYkG$^hqG?NTcgc50uV3C=F1?{iOU9tY{scFl#b``Yz8DG1oB z9gBjP2U;JBz&_Nr_Cw4gt@j~_d90Q0hwK4uNC(;mwKF~g{)yH?5wBtGTFPV?(Y~h# z%cyqbJ5-KoT_~$?QY)VZxPxxZ1_1W!ly9QaQRn(6Y;w}EY0f^ND?K>{@1KjV*bE+5 z-TU<*Zn{sNhiwOSzmOZlT{oNVf;pm_ppo&=Wl+N9QQhI6V4H3nTA|uda)Jdq3SA`cj_Oy)d8NzX08yFd)w8-lK?D zpl)+4O2N83@(6|KzN0gYXLVt86!@I(Tgq8DuRA*r_)y&p3v3G4y`n{Bgzm?8pzwn3 z+PA2@sFRff7pYTXi90Py7f7>vwC=y zL|wHb#3bpw-oXGT>yn7&s%|zp(o%HmNpGs|=O9>^rVCC0N!Ky5V0MP?=o`>`O_#g~ zHf8Fzm%yehU3v^k**ZlnMCa)0A3$%euJkjs<=J)n=u~OG?mKd@7V5S?jm9F~A^Js& zbq92?v_!Yd8>CdXw;N*0bmQe{E7z@z1-?R8vIBrh-PRdUU#07$lfWHhN}KM>ccH0Wm)QsP9lC8t&~``XP2PmNI+s0A(Wz@? zfpqC!bq49ysVF3IPsdIKphvgfJ`2VBy4U(ZdUa3HlA=%d1}zEtbvu!LGwq@7MLHSr zNLNoEna8@H|3KT2E`;`4PjoBqV@QT|PLy3gq7%_)a8y^g0-R&INnF- zMmPOP^?)qtTw(gMr16uwb){oI9{fM4L>6ae**C{4`R6m1uPM-RLuhExd z`onZ@n3w)fTHGDiYj*rU2}b`)9PB=!pZ@}6pVV_lz~iGA(rUGqhCdP!$5u1N+=A{f4v6eto~*CLZ8#ulQZ(XK8g%)G;AYRdT^rMuZKlUz6OVrQ%3AiNv-cqzB>t7&$)>ZvWsSur_7hQwdsrt9* z@krAL(XB7`bbSO}WRRgx`3H^H^kZe{Or}1Krj{)IbOi<~TmSG3Sab9j5a!OQK;~x&9aW z8dli#=ASWamHGm@Q>jWX+JjQHzL!R?MxR8%%j^0qTB_FSmjr>_&@0IkP^TZDqkZ*y zEeFzW>K|sJ)Szz;hB1x$fIrafCOwZH=Ue(CPl2UbUsntbE&7L_q3yPQL!*+dr9;1oe42OkS1B5OSAYCFuy*QaUWJ%0{c9N*gl>HextZ?iFUY~! zqkoH*BKP$Pjj*>@&!Ue+pZ+g8ZrHD1u^N>R^#6^c^iUs2OPEJ`=PUpo>sQ#{1nYpl zO9{IN^}D9Sm?3>NZ7N6fue8IMQT<;5s2tOOlLIoY_r3*b6Z*N75IdMX=Dxkhcb=9WV$hP;xeWJP#!o!yiAvY*)h;M{v3sREudsKWO-c9t?NG zYfDf%WccT42t90g>JN}3hMa{k&BHM90}w|I6%Me%)8N|!3y&Gn$z$$i@S6&9+%P*7 zoZg0%AoTErLHqxdG6RP`El^C%a!rq4ldo(@yj|`j1SN_;ALLs&xgE0>(o)|)x!n9$7BP}pS z49f4Ie$-HS0xV;OS(JG=ZZIdKZNgCU56GlpKF!$<#^)RX-*4PZK?p}^g#}iO0@|(^L+CE+1Y;Dr!xN3KQXDwRIM)Izl8w2wkaE@dyCVi6#rPw6 ztLCWz7mM*#tl=Ux7HXp9b#@6AJb9%I%BL63hRyH0I=LN zF1!IT4aUJ%a5fq%=^E!Iqh$};ZW%v6fU#&c#!Z1uEymBj1IumW^E7R=8fQ?xSDW2v zy#j^p#y{!Pao1S;Ic)1R`n(68F5@>Zp{?6!B)9QBV+-wTdW?N^n&7_iS4xxXH9nvL z?laEF!C3SgJL$iYKQK_yxJ5M~&Obmo;W|x(K1;##{4HIbqDBUCyL&Dy@kfOhQT)+HZO> z86Wj7o1) z-UNP_6Q*k-;7*!8r)vjKnL={`_cc9b0Nl@XfEF~TP5;t<)8EvSME;imQ_?DQ`-~}W zBN_uupVD!(Ak*1RFb#KA(U69i9B2b}*2K7r%5x?!`p*#OO%{qng_=~9BoSuX)d8Er zP2;=45@GVF03gz&{}g(oOwam2(IwN?IM^F)3jhD@NhZ(582AOp)JECrsw#Y>BupZ zGELiQ46{t9$u*m8`Zft|Ii@Rg!Aq`bA$c|OOglWLxCvIo$n|z z=_&Q0*wozxQetu%hu%`t*R;SdGr7D5mU7eEbfa5^X+R8Ir74@ftyQMQ1uxOKa||ednx<#pm{q*ZQRYTBx1M^nKNl-J8WJ+XS9!)Icp)z!_23X z;z!MKw8-)_AAbSlnE81-WyX1#@6e&3v5%R2MkKTxVS&!JV;P4jHZ25B${uSZ*>IiVl+HknsY@aLBKFy%Hjn`cf%$=+gK z5DZPX&ENe3o;LH+DG<|czW*P{U9(#z@SW!PQdrSteyuZ@d1qeS&&J`GQ+OqN;DD<~1*$K`7O9zE5&sgr2fhEwg z;LQG!~gWsqF6S(Zgp$^VjV`It5xITpnTjLEey zXep9s89De3a|$fw zmgTgeuduXHvTUX06d77&;gavW+OnDE+!~ALBqhOIx71Jstkx1rp_Ln!J{=HsmL@t9 zUvGJqvRH0fmVJQA2Fnm_n{QbnX?53ZSxq^@EtV30klU8VD}c9Jq@FOX&GO!CkakNF zou=uq1kv$>I~Jw`D(_k}p%|G?OMM%?e_a-5nrON$o46qNESb~L*kiG$U@Y!i+*MH6 zYk98*3i~XlKZY^=7CnVFA6WFCqV&+Rn}w(Ikwp`Q%Ey+-Q79a+u+6Z3(DJkc$dILi zu7iDIsW8BbVN1|z07fhgT^JJksAYIL5MvhC!%#nN(JV*fgyk~rAto)se*x%Vb)qc2 z{noHVlpL)czF={(J~;;50qb<~eLGuyDE-96y5>KOg{!ri0%-2mdoxfvWUXm}6^E_e z{{eTz8j}H>ht-v4{-buQJMG#%tqZE4@R-$ue5+p8A$ot0TVwVC;cfk3BPvf=6Q)AN zN$c}|sPwVsFNKOz)SW#kizvYzh&=OwGhBB+SAdJMy~80+p5sE@Tykgp-m zI*-zd;;mJ7S|MDv*3oA6iq(-^VhL6S%}|L}Un!&|S%c;Pk!)?HUBgxD?xip-#X6UA z3R11(^opigKc{GXx^*%A=owaTa&_YD-Z#*jX|1MMS(bI}%TS+f4W;F8j`c74Hs)HR z-=M8to^{4fh{?CIj)14Ys^5-Mq4m!uuohV}svxb{s;8{C5^EG4)+)6gqs4TEHIx1| zd$n~6h1F`TrznJU-FlPO3ANTnCWPIv{(BSl)>$(s_FHdV{w<{3v~GDCr3UM-5%f{R)TMMHhrq#OlJUH8|RllRM-MViD6n0qE zzo0XBtVuMocdd@EV=OwY)jOfS%lggV0CZb-=7QX_e!K{z$C^_Q3-4PK3n>2HYb||@ zj`mqEL_%S|^}$cj^uW5#1fGZ15DwZNS*KCB_ObPyUT7MyUVa|k9<&}JANG*7bpk@4 zSa*>}df0m4b8wDW+bDH*)Vj1DEMwN+)Q~c6{g_-z6V{!>08Cm3Db8Ydu-%|6tNpgl zPT1{e3mZkr+4c!#OS#yt@j+Z|8afo`X7hW9{vNb_kp<#z`JXTH z)Ml6ifS0XE1S!XDyVio!+qUjYjOYp5PsM0EY5R3GIDKq?)S}JLZd*#r-_y3kZ=%uP zHZlUC0k#w5PB~)}Q)WV-EnWjekZm>XFM@4TX*n5UtDOg-XKndkLen|hCx4=A=WTnp zgC*4VJEcE|+1{B%Dcn}@H>5<^-unxj7i_CO!H`_Eb<*4!X|w++f%#Fk3A(W5l5IY{ zW6`#uOvsM0z5hNcV{Mg8NQ<+*?hg`g%WQ`+mu<>#K(5%Fmf~klum#aim}m>3uV|7j zmK;>cw#P1DxoVqE*Qcb|4w271)i$4&>uEMSeK6B)Ec;y4X4o!13&b_ss#zeJwzyOn zoMrR=0VLaYQ;5nO+c}!ja%~~WsLZp~&V_0DwkxloPX)HQG_e-iu1rF9k*$qlnZ>pl z|91h{hI^sD)K)|ZO=UJMy$+sMIu!?uQE8+Eqevmo`hzr|>~X;ab@*kGF&2cXe*YZEG)Y%hnv>=v70 z5F>iqHtR!J*lN=;U`(6sOL9!N+d7WXA;1pX*#9`X^0+FCF07SVn%Sndn3|cDsnusL z?PjHxRwj4f_kF)u=F%11KxE%n5o8fXc4c1$5k(OdP(Vdc0Tl#9K(_BW{dImbbDnd~ z%zfW^XU;h@w-@-kPQ8;b7WbS^(ofOu#3k7sPH#Pdm`61^nugf^^o?^ zNoInyE~h`wLRzeupTEr3ykS?dfX1u=XCO2h<@ypb_=C`r#dwc+&h3f z+!^o7fH=Uon2Saa##EYS4>Gxv67KONf&1s%mpA- z4CXE1&oR{W2%Tqqy&q#)&G4g?-wTWn>3e^XamIkQ8b(VOdVh(rh@6wPjAs_Xipz{= zO<=jgcyI-6R~b9Wp;pJZP9C0m#?>uoYhYAT;O-jZ41?ki*BQ$u!qP^@G+JIYF_sns z*vtr~wi^tQ56Df%qF$)K#mG5=wpK>y6#&{8e)Mg;!}$Dt2))a&ZUni~ntx?_U>V)+)&EW^CCA#3RP?O4!!JXgCGE zy^KFXp{b8Cs)nY=j5rE^^fQdq_JnbnCfxzXm;UJeAVV$!e28J8T-c|KJj&P~W_%fe zaUNk@{{Uo^QT#hZk1=+xgfJK8(JqSrxiVj*#rSUK>OUcSAM@IL0QWODav{`>`E4W+ z?#!Q;LG}UWyiOSE!Azq|U=A|RR)cslcPPQ)#Vn^CkT=tP4(#<|-k|T7FH>$o$&Y!8 za!vf1%Zea6fH}ApiUOG<&7DkGT*e?WZ{ zv+o3i9%AmN2O^sJEA7z^Gb_l|8N)pFJ$e|+TzHRm?!C&@iFG}bSUUJ(?ZM8WTxgf@SI@&)&WEcvz~I|QkhZY zEKg%zC*MvwQ%?yj8O%yryk|0Zxqu~$`Tlv}PBIa~!RLsn_#cePX6`tR${gluN<_|O zj?ZRVaLPKm!PHP>^(OP%m8iVM{GA*aEzC)j9DSSliaS_ZnVYwvt&O>G06)wfCbIzj zY-jFUPWdk#%m7-}buy>X&-{>STMp929H+=#H}ij#XVlA_^bJ(>F^Ap(dCdH74Oj-4 zEjOWQkh$>{NEu>2C7;p=Gq@6Mqs(%0B8@SZhC`DJYvMm>b7ieP4P$n*5}rY6A8X*9 zm+=1WXKkX)A~)8h8Vsoi>+oy%fey0fzK4=0D`E;1`mh43AjX&V@z+r3$GWy0ZGkNP za+n>&($RG!!7LrkwqdLmI&T}!s$Gc*HG`tg_ERa#_=9jak4d`EM)ET0l8dMXZHQ&``?Skpp|@FIoJOhD!TN+25pAq* zF9Cmt&$Wdk?+X#lG1C9vAi&7PJDZXZYpdl5Zeq3qH>VRjgM(_U~!vS(2a zZ4~>J5vV`JPN85(47+RzSYp}RJ_qgy+vEg86WE!X9nh4>e&GrlkFo>OAniE&?gAK- z%#QsDT|2>^xe{$@Y}I<$oz8B)hPDj$S@NWxWc$4Zz$y0JO^}k!evxLMJoXB5_T{tN z;sGdN_rC;|V)mUT*i^z+Y=tqU?0@OCFK0KFQ2t8=+nL_`GwhhDV69~5(O;IIWgmGN zl~wEzdVkNcf3ri{dA9x)^r@P?BOjVBu$`8I zb|3kYuCi4dKe>WIy*Z@J;NO{m|cLb`^zBZm<>P z(7VY#Meorqb}@x7TiAoEVa#oI8F^t_*+!Zu+Sq%jzjxUC{Xp8;E^|OS*xq!1S10?% z4s`n=`%hXucd^e=etb8(dOkEb9`5);(pX2B0*|-b8WM5q8ZK2peU8-3`;m*nt#E9cLd_ zp=Y}|Ij&Ie!r3$dGF=^Ci-JDl9qHRBC;dBUf<9tBB zk2_~lC^!#rJ`jS_gR=w6?@0$a^PFLYCnt)+_gG+)m06(D{b z`67&{KWE+`SOPeXH5EVva#nu|62$rB2*d<)>=bDX;Z(f^6``De*I=N+I0xFHH=Hy7 z7{o+yrfmZtl2hdiL!&qjioYM?tf%)jnzR1DTS++n8_*WR+3^=-#&T}b&h`jrZ3;?p zoS{FUKAyA5u@f|bqudM?i5zE|wvKZCJC%^c$?}K7W1PQfLvx(-bS6s4oYkArrxToL zI&+!A5m829Dkq#i^l2QP7*f(XEc$?CaH5u?l*#$E9BrpK|6W3uvN_B0L2@{1O5M-p z#Bcj=F~GUo0`v1ZF=S~02ghEq7T}c9colIL(~DQkacTpigflA;_Lg$~qWx|eCxg6$ zr#YWI2bOY z3Z7QZ-4XD#ake!;#T|}@0{3@0wQob(JL44u`VQIyuwnYU}%)&6K|O zfHNl$gYb~^$594D;bTrj8^)xc zbI>2QJ>l3xfEeIB^BklNa!x!CX+xY>S+L?Mr&NT>Va_oxkP%MtKHx?<*?&Rk80Q~4 zZ#B-@O8Gv!xP|MW(1q)q0=O%8BK_#Qxi0?#u!p<+1Hkt>xNQ`F*vCEp3TpRrN9fRu z8}~hO*t&E7ISUgHa2J!8+=H9a0sKMk?JEFya?5MM>BU_(9h~0WL-YroK3tU-enMZa zhGNxz+}ux4^5-7@0bL5)_CSH-u}X9EwnG)7Kb_FmA&^ z7!%Gdq||~4E-M+9Msk-?5H*VXG5K~5aU&>=G@9!~S2P^v8Yw0c!)0tnDVF;!O;<;_ z=7k_}+;eHr5YG*xG_(Zn%HKeexR3sZhGX1)4l7g~=XS-wwiNEObnrWsJMVKCoW>Q< zS}~hDcnd6fT-)~$lh5s$hROo&sv?j=?v-_@EaJ{v4N}Y<=0Io(cPsgjOSwS|kTP!K z2xOLXr&9V`1vl?1EIh-lN&>u+yJE2ewP(5F=Yg-{zPbgh=eY@=pflCn+y9-7;1*AY z!56thFM+d$yS5jlOWf9EkXr6`ifvrx{*Z`{Ug6raQF)cSbS+fWaf8z!te*QvI&cl# zS3iWpYh0J#(Ut?_U#lxE<=7xvV=F(i_|y%9OjweVx_|x420UA+&{C zOg`w_+|4h8vz1##0rWQR%u~>Ghx-yOo$hkqbVunPcXAAH?cDc{0?@(bZbIn+chW4# ze8`m-g0qWT^cbX@d#s-FUmkJi--fgvZrJDOb}#oNIiLHu`SXEz%zdRF2KRGUUqa;* zt{0g$!1etFHVtxL6QOHE+@b5}+EZ@9pJ*HA>gfuc5$?O4s2t@wjzH5GcYOrNIJbE> z+II1_SfOt>@90;s*Rh8;Myrm!ymj;y-^ZKr1seDBRFuc!#`};`65M%RG{GI-O2Fc-lu^jkZp35ev$m12!HX)z4 zY#qcD^19Zdt%$dh!o$V99b3_fQeHXvSjuq@GiIWPw|O13Td0&#l^#KU1c*tv^08JN9MH}-+yg3U{ z*~2?A2c=%#3v@>4F|Utq92($hBG5L-J5QhHA)Xg`o1gN28$jDIk9(Q^glvQtPP_I| z-s|r{{TOdqEYy$l43wy_i+_h6HWz+B{Z)Z0f5sM+_VJ$^g{J-d_J2_6#!scE#GSum zCg2D7KItGH{1M8oJjmZVAI5m{n~cDD@pqSC5d8TbpMV7LTi+)COCW#8IHU#fSro1f z=Kt^}fFbSvBm8dK zE5-5SX%!sLf3pL9N#H-#fF$zcZ{nv&=7&&Zkk+W_ z{5|F1$>6W61u&C8K=~k9{F?btn9XmR57{~VP|69&<;PT`Esy`T2~zU;zZ)T?fS<)i zWg&kJEf9+M#TOy0n6G&NKnXwdcStGa$9##lG6%nXB3LW=9poWC%U>1@d=>xGCiM3l z|Lc#@-}C&1wDYRw2hq%Qfgig9nlAFEeF~v9{1+(i`zqf+IR$lmCHa)<`Kj|DtbyP3 z9Qu2WzhgND_BwwOC9E~_SH1{%6JIw74b6PVYzmg$=0BjlS}Wg|&QiAVQxYKU4!^e( zOeolnMp&Xk}d__>hj06bowV zAf-ewKZm}5rGi6FP*Eo6`vK&%;NR=$Z@FN@A|NUR>pq8yGXf_%#c^KXNjHF03s`+9 zT@Wmy$K#^lr9IG8BY3k8nl1^3Dd<}($nk-S%YvhHl}v-cLEpb?f-nlPUl;5pKSrbA zwhWw(Cc#V(sAv}K97p2~!S}R0yD3;eF_AWbO95ox5zL`n>AQk8CG;Q)rqMC$cEJzl zAhbiUoYo+nf|b>P-xoM<0C^-BZo*UDBj}k7VZDMLy3eXlu!v#{j|CPE^!5uJyJ5u> zhu{jW{00PN?GW=+&`6W^upshxkP*Q?@@|X@-Xp)>m>_*8#Ec8NX#coh=#vf=Zo+%% zfV&GZKF5QR zBz%EZoX3RqW(YklG@S+_S=hG_l_!L&X@Q<1jEw+E6|xtj7wN(gXQ;>!etQ@sQ|P}C zxGZ5_JjhAm^NT@F2^(KWTaIv>2S~0^69#ym@Xca~&KK6I=>01YGRUt`D14ufaV`=@ zO~P0f3uj+JTZyomPOFs)U&};gneco1DxDU-)DC>Pa2Gw#6~ZaBH#{R`JqwmfVfY?s zIxBpOHo8^9R&vsx6aF?1mh(a%I*w2+T>dSrzaZo?==*n3m_%Oo8sUbesJ$#?4noBh z;fl9Wx+m=T7&SjRp`Zap`8|ojY6+pbhJsBOMAR#;Sa09azpqw zZTxNuzdr%dEkYq}r)~?s`Usq@!lYr8?g;0nQ~dp|@E8}h_k`OE(9w3`dvCzR4xz^d zSkWm|`k)v0g&xbm@=)0N8T57uzoD~*-NKh>)_Nq2rD>x__|Ly!=@TBj1SyY&qR&A3 zh2=G1c_J*H2ZaN|e){bPh3nQr!?19@5IDz(a4xOcMul_ejNq8CfwnN?!dKuMnzT!F zf!q=D*J8=-NHV4i^s7_7K1 zIy#3g0c{kmrNBdz=o+P2G>c+r&c7j=O}^EeqSKU@cuQ17-`y6`hu;BzTXZi2ZLOjV ziVe1jKBgz|j)+Z{M%@+l{de|7^j-(rIz_BZ;O>h;D1GLEXrc-%4@Jl4LrRw@w1WIE zk3=U~!1sv4XFyZ0NW2}5eWGa}0RLEY#0-emeu-WTik8oXg+roO-vG-~ zk%c@E!=kBPs2mabi=bjm^n_wo=v)tfYKguJ`ZXgd&L<= zVBII~pxB0+IJyPIUF_5YgAa(66#9z4 zr$4vz6MsM}1AnoW9S%^|`%WM-#YcBx zOtQp0+QXj|zq%bfIbtY%vCS@9U9wpNKfH$&k$amjAr ztHln=W4R!{;)2pevHMY!E{U%j!BQ(;O4)ap#g4@orz>Kc6W~|HZXxJsy|`x-q(RK1 zdmyffi-}wp|3Le{M)Ch>@SDUZY%u1AcxpF!wr+~$+tGMSoJ6147V#$9SlkwOtOaYU z_;d1H-Vv8l;Nq_Mc@fm#6E7vd+5>oobNzruw#1ruzTDlF0CFGqP68E#w_*A@O9ZVY*^S=QZ z5$B|$_oL#`Yrv0-y*RLGmn5(b7P?4=DD~e}GWi{pc1w<5MSu55oT!I;C7)4P*-g@V z1RC5WSpi@hSly4mc6 zq@NbUDU#pY(1}!sWbS+@Op`2@0g)~dP>3-@a`{WJW=baf32CP!8;=5!E&1(VsK}Ar zqjx)BvY(MzW2zAe9nV%Az?Z z*+r*D&PyEg>5lel$xd4E)<}lv{)tPH=)J(#N=k>&!>f|y6X<=Nq&^j;dI{eQ{B_Ai zIs?`ynXm$+Ny7gEEH@?FQUJdtagcMRMN&u}m)nvL=*qBG$u%0vHc2B7-M%BKqn+(t zNsoipT=yiW?m$etq{0&>c1Sj?1n@q7Sd<<}e)<)NhmyH_Af`(aO5XWy$y@Zv=#kWT z0M{!yPBUAd#P%VCK9*$B?HT=&H~s~ABIyrA+knLRR|p%F)KU0;ND_D&ZBHe?9H;XS z!xG(72py3ere}RrvM3uu$0WaB1naouVGup*Qhf~6yGSF|kmf3#F$|Wy(jT&*aGx}@ z4_(_Y9qa*dlOCj#cka?yJxT|p-}r;mL&~ZL=RxUz|M}}B{ec!~-qI~QDF4MrdYT7K zzS7Xe(BvnbM6a>G^d5y>0;IYJAc4}&^umWoXSbm(R9Zrx^)gzL`j*H zdVENFybUB;+E4;vhouqpl*CHA-$Ut$G^P=_IO$fpw>Dn7fkpAZ1Zf8ySWJ}8%!8(* z(o{Kmm?Zs>Jj=(VTAIR-OV_*#O<7VE&C(~O#W83*C5_$b z`JnQGw1x7ME=oC9V0MkPaVF-OOVX+maMnuSr5wPk4rv7)-KmoX$HCHi=?AaD{Oi&d z@{Tl0*ItB}Ch2whCO1o$QylMx)S2>=Zc10vL5Lcj-ISAzd&4(kU&aEy#VTBZ*$82hzLYQ2$U`WP!9U>6)o%?3ON{ zind46dJalG(#`KcMXxlQg!W0_KaSo%mS)i3ru0i|FT=MuvNxUw*(=*bui8G@x@zd%FFR|46>hTS6pnM3IqRYKfXuTKDm-Mbd!h26 z>gYLLxt2Fo>BwH&gq%Qlj4r%_h*0F_O$S@e)L%RV8e+YK2m4a55*`+;WJ zTMpTqv_NT*-KJw^w`Hzvkk%$M(jkRAvW^R=yepd(57H%DR|3*4vt0(@k<8Z{_#W9a z1+cJJR`mt+_Q|4&^RY}$-m-q#_-(K}ksTtp-hgZ~O_M{i#(0dyQ`ws=NEwznoa5e@P!S~m=p@7h%ZENeDOA3XqJd%ZFY190m-|u@Lxg;@0cJ*lSKo(e7v)*cLTHU#dlMF3k~@C`X|?j{FT5m4vKOJMZCg0yhf5LfPUQ6MvM)}51QQIVcgZ3BA z@(oV_ydl5H1i2|cLvHR{a%Mi-TI4#~d)$`yCO}iGd?PIt+vHUm!0*UADQ0|E{xR)v z@5$d_Ky8Nrv*dsbS18XyZ-in!B_c;E8vaCMlp>KbC=V%kMUWk> zNZ1c!4l6d$PZ^__Lh;#HMcwO=c0@5{BW#LOd_?P;c*PQW{Sy?yln0im_=eJjjw-5b z03<1f1|aO1qLcX1gX$_LeWSGMk$K4TVPF9*d{<)nt~w%B3>DoTknPaz6JDPQq#Fi3&o z7n;Ef6>t4_|4WfVaR9Q56$i*OR-#zNg5FYvD}_(W6u;B{;IzW92yNvGW+3`hp;*C2 zsZ#OnyBOfJiaF%Gs#2_GLGL-mK03d5UU8ZOnbnH3YXG>Q$Y4X*Ma5al*{D(cOd;z_ zisE1C{+C+C>|aoOS+S-V&(#&hOXQxYSENzIzCp2<+!EImc5>}rS9no!bfdzBp7kb0 z{mW3;tl+K(?uOzka)8`ayh)j&w-nXi0p6l`heFS{6}cb6rdGwgSm4?e^#(tR9*iXK|J z4Jo+f&v>eMg%2{USVD=EBMPrESTU+_rZCf(!eB*dT=8c=+IA`Z$qBq$`8%bR>`~U2 zL&{#|Xas&3H)YSWsB~90)B|@wx$+s{Je9LqAYRJJ^aOb;v)95VABS?*RMh$^zo(Qh zKjk&r$N4K~96%{RIgPelfl3+OXcwe>otA^a%I8<26rxsqDxFOO$f$*N}2Z`5Czkqm`aNp>$ZO-vldSl#Y1v!^A4R>BDzKxoQGP zoO0s(0LCl7yoWv|DEE@*BvI)VhSD+RQwe%_T&W?)cCxaJBBQCwdV1#4l;f1~lCHck zfNp0f4R=t=R9^f8GP9IltU={TW%x`OdP>><7AmuqNscPi<|w1%AT3wiSj2p2UMz@@jOVGvYNihrY}4o5m>qa8Ai~1v#($g2tj+S?&ti7nA{4 zp!bq8oc3Y0%Kw>Ad0Dx10_?q_Oj-c^Rpsknpsh~%5uJ0sru^Ur6kb<8w*-}q${#0U z&hAi#S3qW`a?Awv_m$a{-1R`|Mqjgs%E$TtoqtgJ-9?|emEvr$K2q*_3Nby(U;l!N zUS&Ah-KVUeES|^8edNjOSH6@C6;G5?C^u$6Sy~J02bCja_KY<%2Tz40z+P^S@afrt5%aQ%11Tz zC$#yhGCN_YpXx9@EdDB~1X3IUDk*Jm0##G#3lgN#J%>`Ts%jN@LR8;U{32A9{2^=# zQ~g2St8mpDLWqe_Wfr3pscI`iDN41+7w|)>;+;?!t@<9B5t9z9t}syKFbF-1Q-#y}6Yo%cLtnK7)yYo$GKne`?PQLsYAG0!q zWR;FQH78VyX!=M|`BQ36s>+l0jcKYf@`R_WL@$A4sFKJLn5h~z!q6<$Y1(0)ROS8w zVW(7{6lKa*IU>lPn4|I=h3s6_h07p$s(^jao3ENhOTGftYQh()oapZ6BGqv^^IfcZ zz7mxss>UC|QmP8w3E5?;5AK7UR{cd=+j7;aEcCEKRr?KOo>5(-48}^;(PBtBi_r$I zO0~*CVb61_36wf{UL~dBu2x-N0rfSiBbQLRq`E<|oLW^3<&R!g9hnFfS5zx#Ccdg# z{|(@Es+p8nSg-PU8-NDY0?PQjrs7fl*mYF`oz-bnU7&w0Yf`;S;kahi&`yvWs<%}R zG`6UU=sdw~mFGv`X;pQ-3TbVs*>8a7j_S)VVE0{>fDO(L)m-u$b*j=-XuGc(r*jis zs$URqi{`@I*EF8B`9a(o84~sx(P33hC&Y}XiYX^`RAv7Svd2_g9sx0~+V};e?NU2L5aXgQB2T!h`UE)? zcB?1QQItLEy<70Z>{mCBU}W6X8RNjYt3RV9%t7^n9t?@6dId#4z0_096o2qmU!p_< zAN6u_>-(xVzKcdb^@WGfVKC37p)$UL&IUUJ58Z6>P2Dbrz1}Nke>W_^=3Lo zn4r$1yzxY}I0C?<>Y!yPC8-rpP&%gW{St`d>XblOn5-^&1}aXd|Dkg+De53{D5R>{ zyTOvC{_|I8N>^KAQJJCMLz!-w>KA4~Lzenqa^jv;YvKUUaj3tgjKo}Z5gm5RQ@==S z>QePV^2?Q}pQT{RY4v_2>P;$F|L;dsR;YiA2L6oty&J$)s@DWV;aTTQ=nE~`0|`dFu) zyAV9}>Thm9OoO`RA=<8~8|dqBT|JkcoksOBO5|!%-(QQ$X7x#O&E8NyL+@CNn%xg_ zTkUfKgV3tpQUO4l`eRx_-BEYYFL_t}>=fYcsXHAM6lqs~e;fD?_5Pp1`ao@P0q~*v zGZQ-6rLLwBMYsC(SJC!JJ!KvMJ?d3-HlkO(GYF>jsYAP<@UeO_tse)}&UvUDR9}&T z45^oY2;5Wk&3C{utY*-QKB8Wg4fv=!HT@(}6VaBd z(NbP;o~G^)gyw5HHlS3X+4=(jg_>u*VQ-P<6C%Z$jmrTj(M*bfy=5A8E=s30+dqa) zNUZ*6WE1K=QpuS#n>SbtX(A1}a^P1)b z^4vFRR;`7GW{2i|a?{<=oZ64t7R}GJw7#vG^#qNrnr%~|qD>RL0;M~ehBJ_TSF?ls z@g15^{{ZRK9HVXeeN6^=5V|z?$>raz+2#)^k2GBe(AJ|dPzqD8hW`iJ`ZSd#sC=SX zMf382#*x1UbWpQ`PO=Sa)U=Ep(LBcj>!{}6DKL1K_FN=NF4|rO+FZ4qGW2P$*0>6l z`?QBB8+*Sti-O~B+P7)abl1+00m}jHF+UJr?KR5&@zZW3zmLCm?EqK;w5Mmnia>3= zgC6T3?Mzzt25UENrpHtJn+v)fstuyBT9~$&JOSa_Yja^tg!X9-N|D+iHy9J8)vW^V zkoNq?Xp7eJ{(>=wwSmV$Vzi%*LUgS56y^II(JIIp6sP@-GN|IUr?x{wf_8h~f9H?1 z0NIP>rO2yhA2O+dX>lc8^Qtcz^TA4O52c^^6 zx*aH$Yb(0IQlS-uqjW~=nF)oJ+9ryVp4I+v1C>=;9%V$F(+(mA>zH(2n^z3GtF;R$ zxPC$VWdy9as2!w4tQzeFaz|d)E*pmWE81}Kid@w)=uL0X-poMdHLb-6a$Q?}3uZTK z*Xv=-4edEs;BIPn%TRe+TfP*+TD6&O(A%bco^AuZr(H~&U`M-l1%)Fzv~9HQ?bL>x z0MC8xKAM*wXj$}bKh(}4k64$snzoVM+Sb_^u1DH0Ec9Ro+ie7CxCEPsL&Y)wD z{n}GBUp&!1F+=Zw_NWc;LG2>iQ4eWfmIClp`yPb~h8esOR|vg_b-nIrjL~hOYd2zb&r{al z5#8@2kR7KxN1nWR9j^@}L6=RYCF%zH>BZ4Sky|lIw}3wT$8_^(4m_^&4gpEl2`0n( z6S^0LkdmS^&Vo&;y7`npou=!Q(;78hcYh5qbBsbRR{+n3K9S zTTIKVY~3p@z~|^fC^aBgmqJ&-3zp)E!GJa zqxU7c$@DXo>a4#4UZ(Rx{2OnM?irdq%XM$fftU*2k*!dFMi;aJ_(~m%57W--qPaj+ z>Dpsr@P{I5Y5NmKtd-SwrAc3pSS4n(6akV3Idy1mipeY5Uc%9^;LJNOYS zys2A!0T$lUh3|!!7G3|B(0g0=&1aC(svCC)yiM0~4sCaI8+qvcUETS^z}?fm8-Y^0 zZaq1jJ9Hn@TH4X6D_jp1_jPY31NcDKc?g;w>TXgNK$mVv2cB+S82OnW=?rn;?9sJt zLuIe-2)%!Oy7lzIeXM(qrn`P!F73#l=$cNUZ9w<-RJ0B1-gpgUNauDF@Ta;Ux}IxT z*G}Jx5r^(|I&wFvTS523j_JgdqBE}hhmwYO>Bs*;rHh_nK-c!@^C+gWS6@tfmVNpS zF9E+_&u~Jen|@0+O78kkBJuki&_C3`UJrdJxkC=>zrKY^PyH+OQ+VkII1uKoSJ0KS zK6*zo{t0!GuReyJbw9l)#ZCP6Uz3X{K<}{^;~c1ej`D1S^siGmJXpVw3ziW5Cv=-r zsD2T7`NH(Cy#UT|{U!SBN9a`)$&J+eDM6z2Q!D@+(tlbF4bgfvdHxUUcQIgZjQ%GF z;bZkPK7tiT^fHR9#_4%KpfO&*^Y&jDCOxx3L!0D|AGPd0(~9%vI_M%v{x$8SJFFHs+Y}# z&@#Pz6gE}pCrkn78GZLTuvF?JDEa-IzGMLup4SJG2e4W{L^*La`qmTl{kx>kr?j71 zeJm5?y1pU_DjN0AQ0%x#zx*m>H|w9ginbg28y}-jH}%yN>A0nD)xgje{qBt@-PZq1 ztHM^jAML^0^feT7zN2sc87z18BFZSbr~hCWEbaQOi(zPo{vGT$9g{ls-`+&yef=rQ z9(tfZL21Gd^{-G0Mwfoy5>$5UpQY>99_gpj6WF8Q{sBm@{$I+I?bEM#57Hj%byL9E zua9{bl~44iDD8YeKltCFB>iXfAdcwA$I&*bKR~XmF?~WkDjnl`Qy0c$m*GJI`s-rI zZ$zW3AvO&*?K8}!&(VIvOgVsV1_!-W?uJjsKn@t52?6mi=xG~x(6E(ue4d64R+#2( z*rovSF`S+XDZYk&3f%b_3hqFPzu~k4xB$bsS^xqahQ3qa2{PO+2T!o!_qAvYF$8Hr z!VDdhEfsEXYlDRmhDB`<8fkczGEJil6=N8nXoGMu;D-&r()K3CkU`$XBZe@#=_$_8 zF&R?g4d2nXEz!_W1Sv-i4-Q~tk_xM6NTiYbPbAEA_L_;3oOr5Vy` zy`FCPUX98O!)F?>WEx84up-Ow4aI&>8ZOewxl@L7Y(pjuKhSy$3>8_#e zF<9;yqLP7YHyl|&{?87>>U7k08bsuWyl*I=^BxZjrzmCYq2X6rpL7|V=)&J_!~5h= z?=^V50zjW3&>~7@E z1vy}RycGZsW9xqhOpIf+IP^4@{tpU$j6vj_^fekkzz^eRlz9N)Z_IiRl>x^0D1;km z+!_O8{tPlsr0`|1F_WIT5Mwf}n?sF%(_|86{GO)iaAT4ySR#z>gJ6j?c3pzdDC7GF zfInnB@Ge-Qjrdzxyaz`6o52%*eeQL~ASJ0J8Vi?T*p3=o=y*Vqv6S3p$Bc#T_$`hb z?~s=w+4zuFG$)LT#TbMX|M&F2`^4hqEO8sDTup*&;vOK8kDPWQtI6&T;4wM3zDh#Z(j z#-y)7ijCYlC@eAFcSUDPjV@oq-ZEnl?OjeAALxK9H+ItIp~CoxQYOzBS<#SEX{`Gc z3eOtL*TbeN|{v0XpFuIQe)gfQ|Tq+yL2v~ z*7zkwQ7#+PX(qm6ygChHt{TU`hB0-1Dfa^3)o{P5o#+T_wdtmHZi2gn_x+u}sWek3Ves&w*B6s8? zV`db()MI?pJOPh&uW`kEnAm45rx)R|arhgQ28_@B53Ga6$u)0d4vxSLi`e-D_VgP_90)Fc4ULDL)yGYhH2IlA=*jgr1-}NC08{mUi4mqFkCPx-I z22xF}v>{3}t)bmyx~YfOa~Y;OKU8L#?34_fWqNrZ+D@8MZ-SgMU9&-Gw(00Rh{-WU zJOk5mO`y|Pw8k_> zIWCt>zZ`(QwI;aJ{(~DyO-Y_jUVMuP8(kaAv%XEfPw^~f&of&UqWAB<=~p@f`oJU~MD0UU z>3xXlG7Sg8{BDzZJ1QTU%H{*uV>0qFh`px8ls(&L+OPxUu}M#)-?Y^LE1sB|_nq-Ch5`5p3Hc$r_h3KoaA*-j6XkGcIb5MOiRAR7J5OUT3P zZ~l}*ZUN@eTM!y(){-A3$h?#i6@tySYyd*csh1!-)SMK6-iMimxhRF3pKF7m5$4zE z`xj|0AfH{7`8Nt^9Wrm-3(jcsTAHp7JIvm3Fh9n;o~}oUHNUC^&k-|=PN&D2^)p~h zy!o9+U`;T0(YdEY^U|F#=BPQ}3NcCM&u9sB%$zYDnvR?M>D!oWcF@HWC(MiJM!FR9 zUon@V8czpefUwKsm%O7EiO-+ zQ)&5HZvLzbiYm;8P{7Za-*S-SrqVot;&^Axizqr!W!^Rkde51c7|^Hl=IkpV)n+zr zLob-4$$fj#tos3CYRtc}(00ju))S=GynyoDFPk0b(00Y_Lf?_A=4?uLs54hS0j}P> z~$In8_j_$fM_yLq@?g>b2a%&ZkU&i!0wyoY$+_fWp1Yc zLW_CJJ{Wr2?41XjTFnkh&TKQs(SqoXd5kt^cg@-O#80|sK9PgAcJto2NUn_MkhcA{;!6P9gMqSoBg@c+fIJAuMmp>$Dg4v23QZXTFwQo6#0v>Hh~-1X`Zm z0GW;;OUgsk23sn(gM?V#l0#^yC4-jjVU`PTLTI?<#BVSr!qT|{B+_zWI#{ACvk!sg zkYx&eBw{SN51=B}qD=zJ5lhY^sED(?R*6!)<;qDIlVEA~151*{m3B_YET7VGy5kN@ z4V@KAu^gbGNwr+3T|=5h8wlB%mWHVyS(Y!DXgg_XsRQtoWqt*I`)tc}^6=(ZlyuWY zuBDh<{&|**l!%pY5tAdMz_OjrTNPS5DFjty(Z~QOwJasCRhi|jd+5Yzi(?7JFV0w` zn?Wiq;SC^XEiaNY_?+dJ*D&1YEpyYLx7u>~HK@2?3BCep7cFdZ_|#Z#(X?~Pa*`6& zYc1*zK`vW7Z5XvH7Pq}9UA1iSgBA6btlbdSVELTZf!8cP^liIt+2ME*#YT&QQb(FB z+b6)bX3KOswQ|GqEFo@M-f_Yp-m+{ZuUD&O*-ud4X7QmE@jI3i&9LdNWhy;^_bj87 zi_mVVm4Kzw@*xEt?pyrp0DoXP!9|xITFRzDUzf$7QlPpm|7MVj=#ix)3VM4i!OsEM zYq>}t<33B_E%f5CMP7nZzh%`PuspGRLcXB^OV1w^To!pAMt*(?Sw#T}UviJ5{S(FB_ z&pLq#vfny~;+AgK_3<#x!|FZ+^#`qKbmYg=y6`{Olr@f4mA=;cXz2B`Zl*oBzcsE9 zl>yejC|((8P4Pe}#JYGKQbMhp_M;SLT?b!jjD*CRi6Wpe@mQ z`3~BST3K|A;<)wsk0C7C`f3dZ{e<=TU=T-&HQftBQ>~ShK%Hi-o(WBv)>>B#NtSgT zIYLfa|DcnGIo3Z~(3xE8>e(Q9R{jhq%(u3Xv%bLEyag%>t)2AADYA|%0le5cIS?{S ztTzT>MX5EH_DW^e8P`xcZ7n2UW4XgxunYJK>k^vt&saS_LSv|wwthMtr@Kx4Y zE&6oMI)l8i=dFQsQ%$wCjZy(GSX(>*xM)qGpmB|rl?^K{S)b5;sMb2W54g+LGMeP; ztbKohv)=j|<;OQzkCP|vn$>YJ54G2=6QaS|Xl<>8iYDvA{{hi#{hK^YH>{2TAZ}Xu zG~BnWXX;SdV*NA-mA9=PkAZ8ornSSSHmjlr!tPj4(_C`bD*XnW_pFB|pww=yx{OkX z_30Q&oz`bxL9g#yZ#Z6t84s+>Cjh0$cP$2PSBZF_Cs7Q%{swx+Wn`)w%{=Q&_Y zs7A@dcJvT9586g)$>(X?a~MLsY;A`z2;R20-UO$QZQxyS`r1DI6>WaDa`KD&+me$3 z2(S&kPi~Ds+u|!=4YHk^i>?LR%#`07V)I`C5^7_;17MhK#$~jH+ukKNPK0eT-CYuC z6MqGkDBHRx_+bv&v=^Z%+BPc%HXXLTxf?QLY{?%09&5`^1m_Xk9`c~a*?MU5inn=P zd=~Ftf=yQqX^FO1765qErdR?MNjA#^n3!yv_&X|3*alBRc8cxoMJT1(ey&3)%@+3~ zSki5ZWb`S^W}+weq;1ZBelFY2cC=;N-r557IW~t5ZMim|15lr5n@L-jd|Rg+7CH)S z7ipF+v>8c7k!_URnZ>sE9s^Non^Ox?W}8Tk-qW_&8W>t`n@o8U6}Gz+o<3unN2fR{ zZR>Q9a@H381IRhsTG~#Xx7~Uc9j&(M$uo7qHq8R~McWQKAys2*{1_~k9Jar%p|;lc zqX0aYZR^RueZ>~-gVI&o8%WcdRA-xi551_jt>1`JgYC>r;IG-fBrni)+xF>zH`>@c zQEIa7e*mG)wrTXR+_1fUAGn*gJHzPjE!!k=5VzQ@lp1&2HYFLIXtg;4DJ%4@O++*K zJ=>Rb>bl)#{S?wVZF4BS>b|XkvO*u&62qYWq3tu;N_5$J=tt|e-S`^{AKBdKJV1}F z?+JwV+H&ZmZl7(>mw-RE`7r_Sw`q5QJh3gKZ`7bI>mA^RY(tJa7}=*bF3nKGwn$pv zjM#k5z>nFy-^Eyr+a&Zm?Xst}K)s879S5el+8fMJzsKG&5p8?z?nj}1pM8|J();Z{ zz6nikb{E?3y4$%`ka@t)$w0}&ewU`XgZ2sZta{o7_bIK!%f5l;Byam-E*gF8v+Zc~ zwO^$-*3aJiEm-{RVdS+Au)EMvvOv2NdGdnn#|B_im_6zx0K)CY5|kqBsSV(av=?W9 zCCa{iJ>ZAz=P1S=Z9gD{%)|CYG_S_k&2IF!Ua|I-=h3G)dmcR)@%A6Gz?xuRKMJ9V zcAgQeN9|#>GfuKc-$mOo`(iq7a@_vE)sU8K|7sH8C+xQI5AtIAx#k0L5(k6WZVB*vHAgmTNy3fw3sC5AcC6 zw7>oUq{zOJGF6N1uh9clV*j2_$(7nartM>yz2k4dPutZrpO@R`XaK0N`|6!8uCkYI0>E+3{_;*3b>99b`PHlK#uw3x3-&dXU3t-dn$Eb_*cZ~4 z`jTBoyPR74cfG)0wm0~o@`}A+17u&dOI$$e>|V56sJC0!gEZI|C4uFd{S3vUuiHE5 zq(!5>@iWM5vX{<=lxBxrK#%S%`}?QR*kUiI2jaG!M;r83yLuc}wAs)94}H30-{p?} z-nCbrfQ9$$D}MlIyS?Qy;2rjDi@@1w|L6iZ@7t?r?eoAMBL#VAf0JB0UG~6ckZ$|j z1yJqkJ%}*ipiJiR?3J2^X^jR3R|4bXk zA$uK#Tc6sO(Rz8<-a}jJ5qoYQSVrxyQ5<2+K8Moe$L*iL2hqEn3+R*X;vD}L0Itr* z=+2Yf&PyDwsNLf{k&Zg;b&erF%0A~3^0c};^C^ILz&UFP6nZ%4JEQWTvy3vDJe`Z_ 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 diff --git a/STM/Debug/STM_gen.list b/STM/Debug/STM_gen.list index edc0ef8..8d60f31 100644 --- a/STM/Debug/STM_gen.list +++ b/STM/Debug/STM_gen.list @@ -5,21 +5,21 @@ 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 0000389c 08000188 08000188 00010188 2**2 + 1 .text 00003870 08000188 08000188 00010188 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 2 .rodata 00000010 08003a24 08003a24 00013a24 2**2 + 2 .rodata 00000010 080039f8 080039f8 000139f8 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 3 .ARM.extab 00000000 08003a34 08003a34 00020010 2**0 + 3 .ARM.extab 00000000 08003a08 08003a08 00020010 2**0 CONTENTS - 4 .ARM 00000008 08003a34 08003a34 00013a34 2**2 + 4 .ARM 00000008 08003a08 08003a08 00013a08 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 5 .preinit_array 00000000 08003a3c 08003a3c 00020010 2**0 + 5 .preinit_array 00000000 08003a10 08003a10 00020010 2**0 CONTENTS, ALLOC, LOAD, DATA - 6 .init_array 00000004 08003a3c 08003a3c 00013a3c 2**2 + 6 .init_array 00000004 08003a10 08003a10 00013a10 2**2 CONTENTS, ALLOC, LOAD, DATA - 7 .fini_array 00000004 08003a40 08003a40 00013a40 2**2 + 7 .fini_array 00000004 08003a14 08003a14 00013a14 2**2 CONTENTS, ALLOC, LOAD, DATA - 8 .data 00000010 20000000 08003a44 00020000 2**2 + 8 .data 00000010 20000000 08003a18 00020000 2**2 CONTENTS, ALLOC, LOAD, DATA 9 .ccmram 00000000 10000000 10000000 00020010 2**0 CONTENTS @@ -31,25 +31,25 @@ Idx Name Size VMA LMA File off Algn CONTENTS, READONLY 13 .comment 00000043 00000000 00000000 00020040 2**0 CONTENTS, READONLY - 14 .debug_info 0000b2c2 00000000 00000000 00020083 2**0 + 14 .debug_info 0000b230 00000000 00000000 00020083 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 15 .debug_abbrev 0000195c 00000000 00000000 0002b345 2**0 + 15 .debug_abbrev 0000195c 00000000 00000000 0002b2b3 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 16 .debug_loclists 00000258 00000000 00000000 0002cca1 2**0 + 16 .debug_loclists 00000230 00000000 00000000 0002cc0f 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 17 .debug_aranges 00000b70 00000000 00000000 0002cf00 2**3 + 17 .debug_aranges 00000b68 00000000 00000000 0002ce40 2**3 CONTENTS, READONLY, DEBUGGING, OCTETS - 18 .debug_rnglists 00000906 00000000 00000000 0002da70 2**0 + 18 .debug_rnglists 00000900 00000000 00000000 0002d9a8 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 19 .debug_macro 00020a0e 00000000 00000000 0002e376 2**0 + 19 .debug_macro 00020a0e 00000000 00000000 0002e2a8 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 20 .debug_line 0000c5b0 00000000 00000000 0004ed84 2**0 + 20 .debug_line 0000c576 00000000 00000000 0004ecb6 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 21 .debug_str 000c65dd 00000000 00000000 0005b334 2**0 + 21 .debug_str 000c65f4 00000000 00000000 0005b22c 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 22 .debug_frame 00003010 00000000 00000000 00121914 2**2 + 22 .debug_frame 00002ff8 00000000 00000000 00121820 2**2 CONTENTS, READONLY, DEBUGGING, OCTETS - 23 .debug_line_str 0000004b 00000000 00000000 00124924 2**0 + 23 .debug_line_str 0000004b 00000000 00000000 00124818 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS Disassembly of section .text: @@ -68,7 +68,7 @@ Disassembly of section .text: 800019e: bd10 pop {r4, pc} 80001a0: 20000010 .word 0x20000010 80001a4: 00000000 .word 0x00000000 - 80001a8: 08003a0c .word 0x08003a0c + 80001a8: 080039e0 .word 0x080039e0 080001ac : 80001ac: b508 push {r3, lr} @@ -80,7 +80,7 @@ Disassembly of section .text: 80001ba: bd08 pop {r3, pc} 80001bc: 00000000 .word 0x00000000 80001c0: 20000014 .word 0x20000014 - 80001c4: 08003a0c .word 0x08003a0c + 80001c4: 080039e0 .word 0x080039e0 080001c8 <__aeabi_uldivmod>: 80001c8: b953 cbnz r3, 80001e0 <__aeabi_uldivmod+0x18> @@ -419,7 +419,7 @@ static void MX_GPIO_Init(void) 800052c: 4622 mov r2, r4 800052e: 2102 movs r1, #2 8000530: 4648 mov r0, r9 - 8000532: f000 ffd9 bl 80014e8 + 8000532: f000 ffc3 bl 80014bc /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1|GPIO_PIN_3, GPIO_PIN_RESET); @@ -427,7 +427,7 @@ static void MX_GPIO_Init(void) 8000538: 4622 mov r2, r4 800053a: 210a movs r1, #10 800053c: 4628 mov r0, r5 - 800053e: f000 ffd3 bl 80014e8 + 800053e: f000 ffbd bl 80014bc /*Configure GPIO pin : PC1 */ GPIO_InitStruct.Pin = GPIO_PIN_1; @@ -444,7 +444,7 @@ static void MX_GPIO_Init(void) HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 8000554: a905 add r1, sp, #20 8000556: 4648 mov r0, r9 - 8000558: f000 fe2a bl 80011b0 + 8000558: f000 fe14 bl 8001184 /*Configure GPIO pin : PA1 */ GPIO_InitStruct.Pin = GPIO_PIN_1; @@ -458,7 +458,7 @@ static void MX_GPIO_Init(void) HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 8000566: a905 add r1, sp, #20 8000568: 4628 mov r0, r5 - 800056a: f000 fe21 bl 80011b0 + 800056a: f000 fe0b bl 8001184 /*Configure GPIO pin : PA3 */ GPIO_InitStruct.Pin = GPIO_PIN_3; @@ -473,7 +473,7 @@ static void MX_GPIO_Init(void) HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 8000578: a905 add r1, sp, #20 800057a: 4628 mov r0, r5 - 800057c: f000 fe18 bl 80011b0 + 800057c: f000 fe02 bl 8001184 /* USER CODE BEGIN MX_GPIO_Init_2 */ /* USER CODE END MX_GPIO_Init_2 */ @@ -503,7 +503,7 @@ void SetInvert(Mode *mode_ptr) { 800059c: 2200 movs r2, #0 800059e: 2108 movs r1, #8 80005a0: 4804 ldr r0, [pc, #16] ; (80005b4 ) - 80005a2: f000 ffa1 bl 80014e8 + 80005a2: f000 ff8b bl 80014bc } } 80005a6: bd08 pop {r3, pc} @@ -511,9183 +511,9156 @@ void SetInvert(Mode *mode_ptr) { 80005a8: 2201 movs r2, #1 80005aa: 2108 movs r1, #8 80005ac: 4801 ldr r0, [pc, #4] ; (80005b4 ) - 80005ae: f000 ff9b bl 80014e8 + 80005ae: f000 ff85 bl 80014bc 80005b2: e7f8 b.n 80005a6 80005b4: 40020000 .word 0x40020000 -080005b8 : - -void SetIN_R1(Mode *mode_ptr) { - 80005b8: b508 push {r3, lr} - if (mode_ptr->in_r1 == 1) { - 80005ba: 7983 ldrb r3, [r0, #6] - 80005bc: 2b01 cmp r3, #1 - 80005be: d005 beq.n 80005cc - HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET); // IN_R1 (1 - да, 0 - нет) - } else { - HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET); - 80005c0: 2200 movs r2, #0 - 80005c2: 2102 movs r1, #2 - 80005c4: 4804 ldr r0, [pc, #16] ; (80005d8 ) - 80005c6: f000 ff8f bl 80014e8 - } -} - 80005ca: bd08 pop {r3, pc} - HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET); // IN_R1 (1 - да, 0 - нет) - 80005cc: 2201 movs r2, #1 - 80005ce: 2102 movs r1, #2 - 80005d0: 4801 ldr r0, [pc, #4] ; (80005d8 ) - 80005d2: f000 ff89 bl 80014e8 - 80005d6: e7f8 b.n 80005ca - 80005d8: 40020000 .word 0x40020000 - -080005dc : +080005b8 : +// HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET); +// } +//} void FillMode(Mode *mode_ptr, uint8_t *recData, int start) { mode_ptr->time_mode = recData[start]; - 80005dc: 5c8b ldrb r3, [r1, r2] - 80005de: 7003 strb r3, [r0, #0] + 80005b8: 5c8b ldrb r3, [r1, r2] + 80005ba: 7003 strb r3, [r0, #0] mode_ptr->f = recData[start + 3]; - 80005e0: 4411 add r1, r2 - 80005e2: 78cb ldrb r3, [r1, #3] - 80005e4: 7103 strb r3, [r0, #4] + 80005bc: 4411 add r1, r2 + 80005be: 78cb ldrb r3, [r1, #3] + 80005c0: 7103 strb r3, [r0, #4] mode_ptr->pwm_value = (uint16_t)(recData[start + 1] << 8) | recData[start + 2]; - 80005e6: 784a ldrb r2, [r1, #1] - 80005e8: 788b ldrb r3, [r1, #2] - 80005ea: ea43 2302 orr.w r3, r3, r2, lsl #8 - 80005ee: 8043 strh r3, [r0, #2] + 80005c2: 784a ldrb r2, [r1, #1] + 80005c4: 788b ldrb r3, [r1, #2] + 80005c6: ea43 2302 orr.w r3, r3, r2, lsl #8 + 80005ca: 8043 strh r3, [r0, #2] mode_ptr->invert = recData[start + 4]; - 80005f0: 790b ldrb r3, [r1, #4] - 80005f2: 7143 strb r3, [r0, #5] - mode_ptr->in_r1 = recData[start + 5]; - 80005f4: 794b ldrb r3, [r1, #5] - 80005f6: 7183 strb r3, [r0, #6] + 80005cc: 790b ldrb r3, [r1, #4] + 80005ce: 7143 strb r3, [r0, #5] + //mode_ptr->in_r1 = recData[start + 5]; } - 80005f8: 4770 bx lr + 80005d0: 4770 bx lr -080005fa : +080005d2 : \details Disables IRQ interrupts by setting the I-bit in the CPSR. Can only be executed in Privileged modes. */ __STATIC_FORCEINLINE void __disable_irq(void) { __ASM volatile ("cpsid i" : : : "memory"); - 80005fa: b672 cpsid i + 80005d2: b672 cpsid i void Error_Handler(void) { /* USER CODE BEGIN Error_Handler_Debug */ /* User can add his own implementation to report the HAL error return state */ __disable_irq(); while (1) - 80005fc: e7fe b.n 80005fc + 80005d4: e7fe b.n 80005d4 ... -08000600 : +080005d8 : { - 8000600: b500 push {lr} - 8000602: b08f sub sp, #60 ; 0x3c + 80005d8: b500 push {lr} + 80005da: b08f sub sp, #60 ; 0x3c TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - 8000604: 2300 movs r3, #0 - 8000606: 930a str r3, [sp, #40] ; 0x28 - 8000608: 930b str r3, [sp, #44] ; 0x2c - 800060a: 930c str r3, [sp, #48] ; 0x30 - 800060c: 930d str r3, [sp, #52] ; 0x34 + 80005dc: 2300 movs r3, #0 + 80005de: 930a str r3, [sp, #40] ; 0x28 + 80005e0: 930b str r3, [sp, #44] ; 0x2c + 80005e2: 930c str r3, [sp, #48] ; 0x30 + 80005e4: 930d str r3, [sp, #52] ; 0x34 TIM_MasterConfigTypeDef sMasterConfig = {0}; - 800060e: 9308 str r3, [sp, #32] - 8000610: 9309 str r3, [sp, #36] ; 0x24 + 80005e6: 9308 str r3, [sp, #32] + 80005e8: 9309 str r3, [sp, #36] ; 0x24 TIM_OC_InitTypeDef sConfigOC = {0}; - 8000612: 9301 str r3, [sp, #4] - 8000614: 9302 str r3, [sp, #8] - 8000616: 9303 str r3, [sp, #12] - 8000618: 9304 str r3, [sp, #16] - 800061a: 9305 str r3, [sp, #20] - 800061c: 9306 str r3, [sp, #24] - 800061e: 9307 str r3, [sp, #28] + 80005ea: 9301 str r3, [sp, #4] + 80005ec: 9302 str r3, [sp, #8] + 80005ee: 9303 str r3, [sp, #12] + 80005f0: 9304 str r3, [sp, #16] + 80005f2: 9305 str r3, [sp, #20] + 80005f4: 9306 str r3, [sp, #24] + 80005f6: 9307 str r3, [sp, #28] htim2.Instance = TIM2; - 8000620: 481f ldr r0, [pc, #124] ; (80006a0 ) - 8000622: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 - 8000626: 6002 str r2, [r0, #0] + 80005f8: 481f ldr r0, [pc, #124] ; (8000678 ) + 80005fa: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 + 80005fe: 6002 str r2, [r0, #0] htim2.Init.Prescaler = 0; - 8000628: 6043 str r3, [r0, #4] + 8000600: 6043 str r3, [r0, #4] htim2.Init.CounterMode = TIM_COUNTERMODE_UP; - 800062a: 6083 str r3, [r0, #8] + 8000602: 6083 str r3, [r0, #8] htim2.Init.Period = 65535; - 800062c: f64f 72ff movw r2, #65535 ; 0xffff - 8000630: 60c2 str r2, [r0, #12] + 8000604: f64f 72ff movw r2, #65535 ; 0xffff + 8000608: 60c2 str r2, [r0, #12] htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 8000632: 6103 str r3, [r0, #16] + 800060a: 6103 str r3, [r0, #16] htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - 8000634: 6183 str r3, [r0, #24] + 800060c: 6183 str r3, [r0, #24] if (HAL_TIM_Base_Init(&htim2) != HAL_OK) - 8000636: f002 f801 bl 800263c - 800063a: bb30 cbnz r0, 800068a + 800060e: f001 ffff bl 8002610 + 8000612: bb30 cbnz r0, 8000662 sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - 800063c: f44f 5380 mov.w r3, #4096 ; 0x1000 - 8000640: 930a str r3, [sp, #40] ; 0x28 + 8000614: f44f 5380 mov.w r3, #4096 ; 0x1000 + 8000618: 930a str r3, [sp, #40] ; 0x28 if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK) - 8000642: a90a add r1, sp, #40 ; 0x28 - 8000644: 4816 ldr r0, [pc, #88] ; (80006a0 ) - 8000646: f002 fcc9 bl 8002fdc - 800064a: bb00 cbnz r0, 800068e + 800061a: a90a add r1, sp, #40 ; 0x28 + 800061c: 4816 ldr r0, [pc, #88] ; (8000678 ) + 800061e: f002 fcc7 bl 8002fb0 + 8000622: bb00 cbnz r0, 8000666 if (HAL_TIM_PWM_Init(&htim2) != HAL_OK) - 800064c: 4814 ldr r0, [pc, #80] ; (80006a0 ) - 800064e: f002 f90e bl 800286e - 8000652: b9f0 cbnz r0, 8000692 + 8000624: 4814 ldr r0, [pc, #80] ; (8000678 ) + 8000626: f002 f90c bl 8002842 + 800062a: b9f0 cbnz r0, 800066a sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - 8000654: 2300 movs r3, #0 - 8000656: 9308 str r3, [sp, #32] + 800062c: 2300 movs r3, #0 + 800062e: 9308 str r3, [sp, #32] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - 8000658: 9309 str r3, [sp, #36] ; 0x24 + 8000630: 9309 str r3, [sp, #36] ; 0x24 if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) - 800065a: a908 add r1, sp, #32 - 800065c: 4810 ldr r0, [pc, #64] ; (80006a0 ) - 800065e: f003 f8c7 bl 80037f0 - 8000662: b9c0 cbnz r0, 8000696 + 8000632: a908 add r1, sp, #32 + 8000634: 4810 ldr r0, [pc, #64] ; (8000678 ) + 8000636: f003 f8c5 bl 80037c4 + 800063a: b9c0 cbnz r0, 800066e sConfigOC.OCMode = TIM_OCMODE_PWM1; - 8000664: 2360 movs r3, #96 ; 0x60 - 8000666: 9301 str r3, [sp, #4] + 800063c: 2360 movs r3, #96 ; 0x60 + 800063e: 9301 str r3, [sp, #4] sConfigOC.Pulse = 10000; - 8000668: f242 7310 movw r3, #10000 ; 0x2710 - 800066c: 9302 str r3, [sp, #8] + 8000640: f242 7310 movw r3, #10000 ; 0x2710 + 8000644: 9302 str r3, [sp, #8] sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; - 800066e: 2200 movs r2, #0 - 8000670: 9203 str r2, [sp, #12] + 8000646: 2200 movs r2, #0 + 8000648: 9203 str r2, [sp, #12] sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; - 8000672: 9205 str r2, [sp, #20] + 800064a: 9205 str r2, [sp, #20] if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) - 8000674: a901 add r1, sp, #4 - 8000676: 480a ldr r0, [pc, #40] ; (80006a0 ) - 8000678: f002 fbee bl 8002e58 - 800067c: b968 cbnz r0, 800069a + 800064c: a901 add r1, sp, #4 + 800064e: 480a ldr r0, [pc, #40] ; (8000678 ) + 8000650: f002 fbec bl 8002e2c + 8000654: b968 cbnz r0, 8000672 HAL_TIM_MspPostInit(&htim2); - 800067e: 4808 ldr r0, [pc, #32] ; (80006a0 ) - 8000680: f000 fae4 bl 8000c4c + 8000656: 4808 ldr r0, [pc, #32] ; (8000678 ) + 8000658: f000 fae4 bl 8000c24 } - 8000684: b00f add sp, #60 ; 0x3c - 8000686: f85d fb04 ldr.w pc, [sp], #4 + 800065c: b00f add sp, #60 ; 0x3c + 800065e: f85d fb04 ldr.w pc, [sp], #4 Error_Handler(); - 800068a: f7ff ffb6 bl 80005fa + 8000662: f7ff ffb6 bl 80005d2 Error_Handler(); - 800068e: f7ff ffb4 bl 80005fa + 8000666: f7ff ffb4 bl 80005d2 Error_Handler(); - 8000692: f7ff ffb2 bl 80005fa + 800066a: f7ff ffb2 bl 80005d2 Error_Handler(); - 8000696: f7ff ffb0 bl 80005fa + 800066e: f7ff ffb0 bl 80005d2 Error_Handler(); - 800069a: f7ff ffae bl 80005fa - 800069e: bf00 nop - 80006a0: 200000cc .word 0x200000cc + 8000672: f7ff ffae bl 80005d2 + 8000676: bf00 nop + 8000678: 200000cc .word 0x200000cc -080006a4 : +0800067c : { - 80006a4: b510 push {r4, lr} - 80006a6: b096 sub sp, #88 ; 0x58 + 800067c: b510 push {r4, lr} + 800067e: b096 sub sp, #88 ; 0x58 TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - 80006a8: 2400 movs r4, #0 - 80006aa: 9412 str r4, [sp, #72] ; 0x48 - 80006ac: 9413 str r4, [sp, #76] ; 0x4c - 80006ae: 9414 str r4, [sp, #80] ; 0x50 - 80006b0: 9415 str r4, [sp, #84] ; 0x54 + 8000680: 2400 movs r4, #0 + 8000682: 9412 str r4, [sp, #72] ; 0x48 + 8000684: 9413 str r4, [sp, #76] ; 0x4c + 8000686: 9414 str r4, [sp, #80] ; 0x50 + 8000688: 9415 str r4, [sp, #84] ; 0x54 TIM_MasterConfigTypeDef sMasterConfig = {0}; - 80006b2: 9410 str r4, [sp, #64] ; 0x40 - 80006b4: 9411 str r4, [sp, #68] ; 0x44 + 800068a: 9410 str r4, [sp, #64] ; 0x40 + 800068c: 9411 str r4, [sp, #68] ; 0x44 TIM_OC_InitTypeDef sConfigOC = {0}; - 80006b6: 9409 str r4, [sp, #36] ; 0x24 - 80006b8: 940a str r4, [sp, #40] ; 0x28 - 80006ba: 940b str r4, [sp, #44] ; 0x2c - 80006bc: 940c str r4, [sp, #48] ; 0x30 - 80006be: 940d str r4, [sp, #52] ; 0x34 - 80006c0: 940e str r4, [sp, #56] ; 0x38 - 80006c2: 940f str r4, [sp, #60] ; 0x3c + 800068e: 9409 str r4, [sp, #36] ; 0x24 + 8000690: 940a str r4, [sp, #40] ; 0x28 + 8000692: 940b str r4, [sp, #44] ; 0x2c + 8000694: 940c str r4, [sp, #48] ; 0x30 + 8000696: 940d str r4, [sp, #52] ; 0x34 + 8000698: 940e str r4, [sp, #56] ; 0x38 + 800069a: 940f str r4, [sp, #60] ; 0x3c TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0}; - 80006c4: 2220 movs r2, #32 - 80006c6: 4621 mov r1, r4 - 80006c8: a801 add r0, sp, #4 - 80006ca: f003 f973 bl 80039b4 + 800069c: 2220 movs r2, #32 + 800069e: 4621 mov r1, r4 + 80006a0: a801 add r0, sp, #4 + 80006a2: f003 f971 bl 8003988 htim1.Instance = TIM1; - 80006ce: 482a ldr r0, [pc, #168] ; (8000778 ) - 80006d0: 4b2a ldr r3, [pc, #168] ; (800077c ) - 80006d2: 6003 str r3, [r0, #0] + 80006a6: 482a ldr r0, [pc, #168] ; (8000750 ) + 80006a8: 4b2a ldr r3, [pc, #168] ; (8000754 ) + 80006aa: 6003 str r3, [r0, #0] htim1.Init.Prescaler = 23999; - 80006d4: f645 53bf movw r3, #23999 ; 0x5dbf - 80006d8: 6043 str r3, [r0, #4] + 80006ac: f645 53bf movw r3, #23999 ; 0x5dbf + 80006b0: 6043 str r3, [r0, #4] htim1.Init.CounterMode = TIM_COUNTERMODE_UP; - 80006da: 6084 str r4, [r0, #8] + 80006b2: 6084 str r4, [r0, #8] htim1.Init.Period = 999; - 80006dc: f240 33e7 movw r3, #999 ; 0x3e7 - 80006e0: 60c3 str r3, [r0, #12] + 80006b4: f240 33e7 movw r3, #999 ; 0x3e7 + 80006b8: 60c3 str r3, [r0, #12] htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 80006e2: 6104 str r4, [r0, #16] + 80006ba: 6104 str r4, [r0, #16] htim1.Init.RepetitionCounter = 0; - 80006e4: 6144 str r4, [r0, #20] + 80006bc: 6144 str r4, [r0, #20] htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - 80006e6: 6184 str r4, [r0, #24] + 80006be: 6184 str r4, [r0, #24] if (HAL_TIM_Base_Init(&htim1) != HAL_OK) - 80006e8: f001 ffa8 bl 800263c - 80006ec: 2800 cmp r0, #0 - 80006ee: d136 bne.n 800075e + 80006c0: f001 ffa6 bl 8002610 + 80006c4: 2800 cmp r0, #0 + 80006c6: d136 bne.n 8000736 sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - 80006f0: f44f 5380 mov.w r3, #4096 ; 0x1000 - 80006f4: 9312 str r3, [sp, #72] ; 0x48 + 80006c8: f44f 5380 mov.w r3, #4096 ; 0x1000 + 80006cc: 9312 str r3, [sp, #72] ; 0x48 if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) - 80006f6: a912 add r1, sp, #72 ; 0x48 - 80006f8: 481f ldr r0, [pc, #124] ; (8000778 ) - 80006fa: f002 fc6f bl 8002fdc - 80006fe: 2800 cmp r0, #0 - 8000700: d12f bne.n 8000762 + 80006ce: a912 add r1, sp, #72 ; 0x48 + 80006d0: 481f ldr r0, [pc, #124] ; (8000750 ) + 80006d2: f002 fc6d bl 8002fb0 + 80006d6: 2800 cmp r0, #0 + 80006d8: d12f bne.n 800073a if (HAL_TIM_OC_Init(&htim1) != HAL_OK) - 8000702: 481d ldr r0, [pc, #116] ; (8000778 ) - 8000704: f002 f85a bl 80027bc - 8000708: 2800 cmp r0, #0 - 800070a: d12c bne.n 8000766 + 80006da: 481d ldr r0, [pc, #116] ; (8000750 ) + 80006dc: f002 f858 bl 8002790 + 80006e0: 2800 cmp r0, #0 + 80006e2: d12c bne.n 800073e sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - 800070c: 2300 movs r3, #0 - 800070e: 9310 str r3, [sp, #64] ; 0x40 + 80006e4: 2300 movs r3, #0 + 80006e6: 9310 str r3, [sp, #64] ; 0x40 sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - 8000710: 9311 str r3, [sp, #68] ; 0x44 + 80006e8: 9311 str r3, [sp, #68] ; 0x44 if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) - 8000712: a910 add r1, sp, #64 ; 0x40 - 8000714: 4818 ldr r0, [pc, #96] ; (8000778 ) - 8000716: f003 f86b bl 80037f0 - 800071a: bb30 cbnz r0, 800076a + 80006ea: a910 add r1, sp, #64 ; 0x40 + 80006ec: 4818 ldr r0, [pc, #96] ; (8000750 ) + 80006ee: f003 f869 bl 80037c4 + 80006f2: bb30 cbnz r0, 8000742 sConfigOC.OCMode = TIM_OCMODE_TIMING; - 800071c: 2200 movs r2, #0 - 800071e: 9209 str r2, [sp, #36] ; 0x24 + 80006f4: 2200 movs r2, #0 + 80006f6: 9209 str r2, [sp, #36] ; 0x24 sConfigOC.Pulse = 0; - 8000720: 920a str r2, [sp, #40] ; 0x28 + 80006f8: 920a str r2, [sp, #40] ; 0x28 sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; - 8000722: 920b str r2, [sp, #44] ; 0x2c + 80006fa: 920b str r2, [sp, #44] ; 0x2c sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH; - 8000724: 920c str r2, [sp, #48] ; 0x30 + 80006fc: 920c str r2, [sp, #48] ; 0x30 sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; - 8000726: 920d str r2, [sp, #52] ; 0x34 + 80006fe: 920d str r2, [sp, #52] ; 0x34 sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET; - 8000728: 920e str r2, [sp, #56] ; 0x38 + 8000700: 920e str r2, [sp, #56] ; 0x38 sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET; - 800072a: 920f str r2, [sp, #60] ; 0x3c + 8000702: 920f str r2, [sp, #60] ; 0x3c if (HAL_TIM_OC_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) - 800072c: a909 add r1, sp, #36 ; 0x24 - 800072e: 4812 ldr r0, [pc, #72] ; (8000778 ) - 8000730: f002 fb36 bl 8002da0 - 8000734: b9d8 cbnz r0, 800076e + 8000704: a909 add r1, sp, #36 ; 0x24 + 8000706: 4812 ldr r0, [pc, #72] ; (8000750 ) + 8000708: f002 fb34 bl 8002d74 + 800070c: b9d8 cbnz r0, 8000746 sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE; - 8000736: 2300 movs r3, #0 - 8000738: 9301 str r3, [sp, #4] + 800070e: 2300 movs r3, #0 + 8000710: 9301 str r3, [sp, #4] sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE; - 800073a: 9302 str r3, [sp, #8] + 8000712: 9302 str r3, [sp, #8] sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF; - 800073c: 9303 str r3, [sp, #12] + 8000714: 9303 str r3, [sp, #12] sBreakDeadTimeConfig.DeadTime = 0; - 800073e: 9304 str r3, [sp, #16] + 8000716: 9304 str r3, [sp, #16] sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE; - 8000740: 9305 str r3, [sp, #20] + 8000718: 9305 str r3, [sp, #20] sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH; - 8000742: f44f 5200 mov.w r2, #8192 ; 0x2000 - 8000746: 9206 str r2, [sp, #24] + 800071a: f44f 5200 mov.w r2, #8192 ; 0x2000 + 800071e: 9206 str r2, [sp, #24] sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE; - 8000748: 9308 str r3, [sp, #32] + 8000720: 9308 str r3, [sp, #32] if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK) - 800074a: a901 add r1, sp, #4 - 800074c: 480a ldr r0, [pc, #40] ; (8000778 ) - 800074e: f003 f8cb bl 80038e8 - 8000752: b970 cbnz r0, 8000772 + 8000722: a901 add r1, sp, #4 + 8000724: 480a ldr r0, [pc, #40] ; (8000750 ) + 8000726: f003 f8c9 bl 80038bc + 800072a: b970 cbnz r0, 800074a HAL_TIM_MspPostInit(&htim1); - 8000754: 4808 ldr r0, [pc, #32] ; (8000778 ) - 8000756: f000 fa79 bl 8000c4c + 800072c: 4808 ldr r0, [pc, #32] ; (8000750 ) + 800072e: f000 fa79 bl 8000c24 } - 800075a: b016 add sp, #88 ; 0x58 - 800075c: bd10 pop {r4, pc} + 8000732: b016 add sp, #88 ; 0x58 + 8000734: bd10 pop {r4, pc} Error_Handler(); - 800075e: f7ff ff4c bl 80005fa + 8000736: f7ff ff4c bl 80005d2 Error_Handler(); - 8000762: f7ff ff4a bl 80005fa + 800073a: f7ff ff4a bl 80005d2 Error_Handler(); - 8000766: f7ff ff48 bl 80005fa + 800073e: f7ff ff48 bl 80005d2 Error_Handler(); - 800076a: f7ff ff46 bl 80005fa + 8000742: f7ff ff46 bl 80005d2 Error_Handler(); - 800076e: f7ff ff44 bl 80005fa + 8000746: f7ff ff44 bl 80005d2 Error_Handler(); - 8000772: f7ff ff42 bl 80005fa - 8000776: bf00 nop - 8000778: 20000084 .word 0x20000084 - 800077c: 40010000 .word 0x40010000 + 800074a: f7ff ff42 bl 80005d2 + 800074e: bf00 nop + 8000750: 20000084 .word 0x20000084 + 8000754: 40010000 .word 0x40010000 -08000780 : +08000758 : { - 8000780: b508 push {r3, lr} + 8000758: b508 push {r3, lr} hspi1.Instance = SPI1; - 8000782: 480a ldr r0, [pc, #40] ; (80007ac ) - 8000784: 4b0a ldr r3, [pc, #40] ; (80007b0 ) - 8000786: 6003 str r3, [r0, #0] + 800075a: 480a ldr r0, [pc, #40] ; (8000784 ) + 800075c: 4b0a ldr r3, [pc, #40] ; (8000788 ) + 800075e: 6003 str r3, [r0, #0] hspi1.Init.Mode = SPI_MODE_SLAVE; - 8000788: 2300 movs r3, #0 - 800078a: 6043 str r3, [r0, #4] + 8000760: 2300 movs r3, #0 + 8000762: 6043 str r3, [r0, #4] hspi1.Init.Direction = SPI_DIRECTION_2LINES; - 800078c: 6083 str r3, [r0, #8] + 8000764: 6083 str r3, [r0, #8] hspi1.Init.DataSize = SPI_DATASIZE_8BIT; - 800078e: 60c3 str r3, [r0, #12] + 8000766: 60c3 str r3, [r0, #12] hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; - 8000790: 6103 str r3, [r0, #16] + 8000768: 6103 str r3, [r0, #16] hspi1.Init.CLKPhase = SPI_PHASE_1EDGE; - 8000792: 6143 str r3, [r0, #20] + 800076a: 6143 str r3, [r0, #20] hspi1.Init.NSS = SPI_NSS_HARD_INPUT; - 8000794: 6183 str r3, [r0, #24] + 800076c: 6183 str r3, [r0, #24] hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; - 8000796: 6203 str r3, [r0, #32] + 800076e: 6203 str r3, [r0, #32] hspi1.Init.TIMode = SPI_TIMODE_DISABLE; - 8000798: 6243 str r3, [r0, #36] ; 0x24 + 8000770: 6243 str r3, [r0, #36] ; 0x24 hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - 800079a: 6283 str r3, [r0, #40] ; 0x28 + 8000772: 6283 str r3, [r0, #40] ; 0x28 hspi1.Init.CRCPolynomial = 10; - 800079c: 230a movs r3, #10 - 800079e: 62c3 str r3, [r0, #44] ; 0x2c + 8000774: 230a movs r3, #10 + 8000776: 62c3 str r3, [r0, #44] ; 0x2c if (HAL_SPI_Init(&hspi1) != HAL_OK) - 80007a0: f001 fae0 bl 8001d64 - 80007a4: b900 cbnz r0, 80007a8 + 8000778: f001 fade bl 8001d38 + 800077c: b900 cbnz r0, 8000780 } - 80007a6: bd08 pop {r3, pc} + 800077e: bd08 pop {r3, pc} Error_Handler(); - 80007a8: f7ff ff27 bl 80005fa - 80007ac: 2000002c .word 0x2000002c - 80007b0: 40013000 .word 0x40013000 + 8000780: f7ff ff27 bl 80005d2 + 8000784: 2000002c .word 0x2000002c + 8000788: 40013000 .word 0x40013000 -080007b4 : +0800078c : { - 80007b4: b500 push {lr} - 80007b6: b095 sub sp, #84 ; 0x54 + 800078c: b500 push {lr} + 800078e: b095 sub sp, #84 ; 0x54 RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - 80007b8: 2230 movs r2, #48 ; 0x30 - 80007ba: 2100 movs r1, #0 - 80007bc: a808 add r0, sp, #32 - 80007be: f003 f8f9 bl 80039b4 + 8000790: 2230 movs r2, #48 ; 0x30 + 8000792: 2100 movs r1, #0 + 8000794: a808 add r0, sp, #32 + 8000796: f003 f8f7 bl 8003988 RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - 80007c2: 2300 movs r3, #0 - 80007c4: 9303 str r3, [sp, #12] - 80007c6: 9304 str r3, [sp, #16] - 80007c8: 9305 str r3, [sp, #20] - 80007ca: 9306 str r3, [sp, #24] - 80007cc: 9307 str r3, [sp, #28] + 800079a: 2300 movs r3, #0 + 800079c: 9303 str r3, [sp, #12] + 800079e: 9304 str r3, [sp, #16] + 80007a0: 9305 str r3, [sp, #20] + 80007a2: 9306 str r3, [sp, #24] + 80007a4: 9307 str r3, [sp, #28] __HAL_RCC_PWR_CLK_ENABLE(); - 80007ce: 9301 str r3, [sp, #4] - 80007d0: 4a18 ldr r2, [pc, #96] ; (8000834 ) - 80007d2: 6c11 ldr r1, [r2, #64] ; 0x40 - 80007d4: f041 5180 orr.w r1, r1, #268435456 ; 0x10000000 - 80007d8: 6411 str r1, [r2, #64] ; 0x40 - 80007da: 6c12 ldr r2, [r2, #64] ; 0x40 - 80007dc: f002 5280 and.w r2, r2, #268435456 ; 0x10000000 - 80007e0: 9201 str r2, [sp, #4] - 80007e2: 9a01 ldr r2, [sp, #4] + 80007a6: 9301 str r3, [sp, #4] + 80007a8: 4a18 ldr r2, [pc, #96] ; (800080c ) + 80007aa: 6c11 ldr r1, [r2, #64] ; 0x40 + 80007ac: f041 5180 orr.w r1, r1, #268435456 ; 0x10000000 + 80007b0: 6411 str r1, [r2, #64] ; 0x40 + 80007b2: 6c12 ldr r2, [r2, #64] ; 0x40 + 80007b4: f002 5280 and.w r2, r2, #268435456 ; 0x10000000 + 80007b8: 9201 str r2, [sp, #4] + 80007ba: 9a01 ldr r2, [sp, #4] __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); - 80007e4: 9302 str r3, [sp, #8] - 80007e6: 4a14 ldr r2, [pc, #80] ; (8000838 ) - 80007e8: 6811 ldr r1, [r2, #0] - 80007ea: f441 4180 orr.w r1, r1, #16384 ; 0x4000 - 80007ee: 6011 str r1, [r2, #0] - 80007f0: 6812 ldr r2, [r2, #0] - 80007f2: f402 4280 and.w r2, r2, #16384 ; 0x4000 - 80007f6: 9202 str r2, [sp, #8] - 80007f8: 9a02 ldr r2, [sp, #8] + 80007bc: 9302 str r3, [sp, #8] + 80007be: 4a14 ldr r2, [pc, #80] ; (8000810 ) + 80007c0: 6811 ldr r1, [r2, #0] + 80007c2: f441 4180 orr.w r1, r1, #16384 ; 0x4000 + 80007c6: 6011 str r1, [r2, #0] + 80007c8: 6812 ldr r2, [r2, #0] + 80007ca: f402 4280 and.w r2, r2, #16384 ; 0x4000 + 80007ce: 9202 str r2, [sp, #8] + 80007d0: 9a02 ldr r2, [sp, #8] RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - 80007fa: 2201 movs r2, #1 - 80007fc: 9208 str r2, [sp, #32] + 80007d2: 2201 movs r2, #1 + 80007d4: 9208 str r2, [sp, #32] RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS; - 80007fe: f44f 22a0 mov.w r2, #327680 ; 0x50000 - 8000802: 9209 str r2, [sp, #36] ; 0x24 + 80007d6: f44f 22a0 mov.w r2, #327680 ; 0x50000 + 80007da: 9209 str r2, [sp, #36] ; 0x24 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; - 8000804: 930e str r3, [sp, #56] ; 0x38 + 80007dc: 930e str r3, [sp, #56] ; 0x38 if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - 8000806: a808 add r0, sp, #32 - 8000808: f000 fe88 bl 800151c - 800080c: b970 cbnz r0, 800082c + 80007de: a808 add r0, sp, #32 + 80007e0: f000 fe86 bl 80014f0 + 80007e4: b970 cbnz r0, 8000804 RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - 800080e: 230f movs r3, #15 - 8000810: 9303 str r3, [sp, #12] + 80007e6: 230f movs r3, #15 + 80007e8: 9303 str r3, [sp, #12] RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSE; - 8000812: 2301 movs r3, #1 - 8000814: 9304 str r3, [sp, #16] + 80007ea: 2301 movs r3, #1 + 80007ec: 9304 str r3, [sp, #16] RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - 8000816: 2100 movs r1, #0 - 8000818: 9105 str r1, [sp, #20] + 80007ee: 2100 movs r1, #0 + 80007f0: 9105 str r1, [sp, #20] RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; - 800081a: 9106 str r1, [sp, #24] + 80007f2: 9106 str r1, [sp, #24] RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - 800081c: 9107 str r1, [sp, #28] + 80007f4: 9107 str r1, [sp, #28] if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) - 800081e: a803 add r0, sp, #12 - 8000820: f001 f8f4 bl 8001a0c - 8000824: b920 cbnz r0, 8000830 + 80007f6: a803 add r0, sp, #12 + 80007f8: f001 f8f2 bl 80019e0 + 80007fc: b920 cbnz r0, 8000808 } - 8000826: b015 add sp, #84 ; 0x54 - 8000828: f85d fb04 ldr.w pc, [sp], #4 + 80007fe: b015 add sp, #84 ; 0x54 + 8000800: f85d fb04 ldr.w pc, [sp], #4 Error_Handler(); - 800082c: f7ff fee5 bl 80005fa + 8000804: f7ff fee5 bl 80005d2 Error_Handler(); - 8000830: f7ff fee3 bl 80005fa - 8000834: 40023800 .word 0x40023800 - 8000838: 40007000 .word 0x40007000 + 8000808: f7ff fee3 bl 80005d2 + 800080c: 40023800 .word 0x40023800 + 8000810: 40007000 .word 0x40007000 -0800083c

: +08000814
: { - 800083c: b530 push {r4, r5, lr} - 800083e: b085 sub sp, #20 + 8000814: b530 push {r4, r5, lr} + 8000816: b085 sub sp, #20 RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; - 8000840: 4a65 ldr r2, [pc, #404] ; (80009d8 ) - 8000842: 6b13 ldr r3, [r2, #48] ; 0x30 - 8000844: f043 0301 orr.w r3, r3, #1 - 8000848: 6313 str r3, [r2, #48] ; 0x30 + 8000818: 4a65 ldr r2, [pc, #404] ; (80009b0 ) + 800081a: 6b13 ldr r3, [r2, #48] ; 0x30 + 800081c: f043 0301 orr.w r3, r3, #1 + 8000820: 6313 str r3, [r2, #48] ; 0x30 GPIOA->MODER &= ~(3U << (0 * 2)); - 800084a: 4b64 ldr r3, [pc, #400] ; (80009dc ) - 800084c: 6819 ldr r1, [r3, #0] - 800084e: f021 0103 bic.w r1, r1, #3 - 8000852: 6019 str r1, [r3, #0] + 8000822: 4b64 ldr r3, [pc, #400] ; (80009b4 ) + 8000824: 6819 ldr r1, [r3, #0] + 8000826: f021 0103 bic.w r1, r1, #3 + 800082a: 6019 str r1, [r3, #0] GPIOA->MODER &= ~(3U << (3 * 2)); - 8000854: 6819 ldr r1, [r3, #0] - 8000856: f021 01c0 bic.w r1, r1, #192 ; 0xc0 - 800085a: 6019 str r1, [r3, #0] + 800082c: 6819 ldr r1, [r3, #0] + 800082e: f021 01c0 bic.w r1, r1, #192 ; 0xc0 + 8000832: 6019 str r1, [r3, #0] GPIOA->MODER |= (1U << (0 * 2)); - 800085c: 6819 ldr r1, [r3, #0] - 800085e: f041 0101 orr.w r1, r1, #1 - 8000862: 6019 str r1, [r3, #0] + 8000834: 6819 ldr r1, [r3, #0] + 8000836: f041 0101 orr.w r1, r1, #1 + 800083a: 6019 str r1, [r3, #0] GPIOA->MODER |= (1U << (3 * 2)); - 8000864: 6819 ldr r1, [r3, #0] - 8000866: f041 0140 orr.w r1, r1, #64 ; 0x40 - 800086a: 6019 str r1, [r3, #0] + 800083c: 6819 ldr r1, [r3, #0] + 800083e: f041 0140 orr.w r1, r1, #64 ; 0x40 + 8000842: 6019 str r1, [r3, #0] GPIOA->BSRR = GPIO_BSRR_BR0; - 800086c: f44f 3180 mov.w r1, #65536 ; 0x10000 - 8000870: 6199 str r1, [r3, #24] + 8000844: f44f 3180 mov.w r1, #65536 ; 0x10000 + 8000848: 6199 str r1, [r3, #24] GPIOA->BSRR = GPIO_BSRR_BR3; - 8000872: f44f 2100 mov.w r1, #524288 ; 0x80000 - 8000876: 6199 str r1, [r3, #24] + 800084a: f44f 2100 mov.w r1, #524288 ; 0x80000 + 800084e: 6199 str r1, [r3, #24] RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN; - 8000878: 6b13 ldr r3, [r2, #48] ; 0x30 - 800087a: f043 0304 orr.w r3, r3, #4 - 800087e: 6313 str r3, [r2, #48] ; 0x30 + 8000850: 6b13 ldr r3, [r2, #48] ; 0x30 + 8000852: f043 0304 orr.w r3, r3, #4 + 8000856: 6313 str r3, [r2, #48] ; 0x30 GPIOC->MODER &= ~(3U << (1 * 2)); // Сброс режима входа - 8000880: 4c57 ldr r4, [pc, #348] ; (80009e0 ) - 8000882: 6823 ldr r3, [r4, #0] - 8000884: f023 030c bic.w r3, r3, #12 - 8000888: 6023 str r3, [r4, #0] + 8000858: 4c57 ldr r4, [pc, #348] ; (80009b8 ) + 800085a: 6823 ldr r3, [r4, #0] + 800085c: f023 030c bic.w r3, r3, #12 + 8000860: 6023 str r3, [r4, #0] GPIOC->MODER |= (1U << (1 * 2)); // Установка режима выхода - 800088a: 6823 ldr r3, [r4, #0] - 800088c: f043 0304 orr.w r3, r3, #4 - 8000890: 6023 str r3, [r4, #0] + 8000862: 6823 ldr r3, [r4, #0] + 8000864: f043 0304 orr.w r3, r3, #4 + 8000868: 6023 str r3, [r4, #0] GPIOC->BSRR = GPIO_BSRR_BR1; - 8000892: f44f 3300 mov.w r3, #131072 ; 0x20000 - 8000896: 61a3 str r3, [r4, #24] + 800086a: f44f 3300 mov.w r3, #131072 ; 0x20000 + 800086e: 61a3 str r3, [r4, #24] HAL_Init(); - 8000898: f000 fb06 bl 8000ea8 + 8000870: f000 fb04 bl 8000e7c SystemClock_Config(); - 800089c: f7ff ff8a bl 80007b4 + 8000874: f7ff ff8a bl 800078c MX_GPIO_Init(); - 80008a0: f7ff fe10 bl 80004c4 + 8000878: f7ff fe24 bl 80004c4 MX_TIM2_Init(); - 80008a4: f7ff feac bl 8000600 + 800087c: f7ff feac bl 80005d8 MX_TIM1_Init(); - 80008a8: f7ff fefc bl 80006a4 + 8000880: f7ff fefc bl 800067c MX_SPI1_Init(); - 80008ac: f7ff ff68 bl 8000780 - uint8_t recData[12] = {0}; - 80008b0: 2300 movs r3, #0 - 80008b2: 9301 str r3, [sp, #4] - 80008b4: 9302 str r3, [sp, #8] - 80008b6: 9303 str r3, [sp, #12] + 8000884: f7ff ff68 bl 8000758 + uint8_t recData[10] = {0}; + 8000888: 2300 movs r3, #0 + 800088a: 9301 str r3, [sp, #4] + 800088c: 9302 str r3, [sp, #8] + 800088e: f8ad 300c strh.w r3, [sp, #12] HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, GPIO_PIN_SET); - 80008b8: 2201 movs r2, #1 - 80008ba: 2102 movs r1, #2 - 80008bc: 4620 mov r0, r4 - 80008be: f000 fe13 bl 80014e8 - if (HAL_SPI_Receive(&hspi1, recData, 12, HAL_MAX_DELAY) == HAL_OK) { - 80008c2: f04f 33ff mov.w r3, #4294967295 - 80008c6: 220c movs r2, #12 - 80008c8: a901 add r1, sp, #4 - 80008ca: 4846 ldr r0, [pc, #280] ; (80009e4 ) - 80008cc: f001 fad3 bl 8001e76 - 80008d0: b168 cbz r0, 80008ee + 8000892: 2201 movs r2, #1 + 8000894: 2102 movs r1, #2 + 8000896: 4620 mov r0, r4 + 8000898: f000 fe10 bl 80014bc + if (HAL_SPI_Receive(&hspi1, recData, 10, HAL_MAX_DELAY) == HAL_OK) { + 800089c: f04f 33ff mov.w r3, #4294967295 + 80008a0: 220a movs r2, #10 + 80008a2: a901 add r1, sp, #4 + 80008a4: 4845 ldr r0, [pc, #276] ; (80009bc ) + 80008a6: f001 fad0 bl 8001e4a + 80008aa: b168 cbz r0, 80008c8 FillMode(&modes[0], recData, 0); - 80008d2: 4c45 ldr r4, [pc, #276] ; (80009e8 ) - 80008d4: 2200 movs r2, #0 - 80008d6: a901 add r1, sp, #4 - 80008d8: 4620 mov r0, r4 - 80008da: f7ff fe7f bl 80005dc - FillMode(&modes[1], recData, 6); - 80008de: 2206 movs r2, #6 - 80008e0: a901 add r1, sp, #4 - 80008e2: f104 000c add.w r0, r4, #12 - 80008e6: f7ff fe79 bl 80005dc + 80008ac: 4c44 ldr r4, [pc, #272] ; (80009c0 ) + 80008ae: 2200 movs r2, #0 + 80008b0: a901 add r1, sp, #4 + 80008b2: 4620 mov r0, r4 + 80008b4: f7ff fe80 bl 80005b8 + FillMode(&modes[1], recData, 5); + 80008b8: 2205 movs r2, #5 + 80008ba: a901 add r1, sp, #4 + 80008bc: f104 000c add.w r0, r4, #12 + 80008c0: f7ff fe7a bl 80005b8 for (int i = 0; i < CHANNELS; i++) { - 80008ea: 2000 movs r0, #0 - 80008ec: e018 b.n 8000920 + 80008c4: 2000 movs r0, #0 + 80008c6: e018 b.n 80008fa HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, GPIO_PIN_RESET); - 80008ee: 2200 movs r2, #0 - 80008f0: 2102 movs r1, #2 - 80008f2: 4620 mov r0, r4 - 80008f4: f000 fdf8 bl 80014e8 - 80008f8: e7eb b.n 80008d2 + 80008c8: 2200 movs r2, #0 + 80008ca: 2102 movs r1, #2 + 80008cc: 4620 mov r0, r4 + 80008ce: f000 fdf5 bl 80014bc + 80008d2: e7eb b.n 80008ac int F_tmp = F_CPU / modes[i].coef; - 80008fa: eb00 0140 add.w r1, r0, r0, lsl #1 - 80008fe: 4a3a ldr r2, [pc, #232] ; (80009e8 ) - 8000900: eb02 0281 add.w r2, r2, r1, lsl #2 - 8000904: 79d4 ldrb r4, [r2, #7] - 8000906: 4939 ldr r1, [pc, #228] ; (80009ec ) - 8000908: fb91 f1f4 sdiv r1, r1, r4 + 80008d4: eb00 0140 add.w r1, r0, r0, lsl #1 + 80008d8: 4a39 ldr r2, [pc, #228] ; (80009c0 ) + 80008da: eb02 0281 add.w r2, r2, r1, lsl #2 + 80008de: 7994 ldrb r4, [r2, #6] + 80008e0: 4938 ldr r1, [pc, #224] ; (80009c4 ) + 80008e2: fb91 f1f4 sdiv r1, r1, r4 modes[i].freq_pwm_new = (F_tmp * T) / 1000; - 800090c: fb01 f303 mul.w r3, r1, r3 - 8000910: 4937 ldr r1, [pc, #220] ; (80009f0 ) - 8000912: fb81 4103 smull r4, r1, r1, r3 - 8000916: 17db asrs r3, r3, #31 - 8000918: ebc3 13a1 rsb r3, r3, r1, asr #6 - 800091c: 8113 strh r3, [r2, #8] + 80008e6: fb01 f303 mul.w r3, r1, r3 + 80008ea: 4937 ldr r1, [pc, #220] ; (80009c8 ) + 80008ec: fb81 4103 smull r4, r1, r1, r3 + 80008f0: 17db asrs r3, r3, #31 + 80008f2: ebc3 13a1 rsb r3, r3, r1, asr #6 + 80008f6: 8113 strh r3, [r2, #8] for (int i = 0; i < CHANNELS; i++) { - 800091e: 3001 adds r0, #1 - 8000920: 2801 cmp r0, #1 - 8000922: dc28 bgt.n 8000976 + 80008f8: 3001 adds r0, #1 + 80008fa: 2801 cmp r0, #1 + 80008fc: dc28 bgt.n 8000950 uint8_t T = 1000 / modes[i].f; // период следования импульсов - 8000924: eb00 0240 add.w r2, r0, r0, lsl #1 - 8000928: 4b2f ldr r3, [pc, #188] ; (80009e8 ) - 800092a: eb03 0382 add.w r3, r3, r2, lsl #2 - 800092e: 791a ldrb r2, [r3, #4] - 8000930: f44f 737a mov.w r3, #1000 ; 0x3e8 - 8000934: fb93 f3f2 sdiv r3, r3, r2 + 80008fe: eb00 0240 add.w r2, r0, r0, lsl #1 + 8000902: 4b2f ldr r3, [pc, #188] ; (80009c0 ) + 8000904: eb03 0382 add.w r3, r3, r2, lsl #2 + 8000908: 791a ldrb r2, [r3, #4] + 800090a: f44f 737a mov.w r3, #1000 ; 0x3e8 + 800090e: fb93 f3f2 sdiv r3, r3, r2 uint32_t freq_T_check = (F_CPU * T) / 100; - 8000938: b2db uxtb r3, r3 - 800093a: 4a2e ldr r2, [pc, #184] ; (80009f4 ) - 800093c: fb03 f202 mul.w r2, r3, r2 + 8000912: b2db uxtb r3, r3 + 8000914: 4a2d ldr r2, [pc, #180] ; (80009cc ) + 8000916: fb03 f202 mul.w r2, r3, r2 if (freq_T_check >= MAX_PWM_FREQ) { - 8000940: f64f 71fe movw r1, #65534 ; 0xfffe - 8000944: 428a cmp r2, r1 - 8000946: d9ea bls.n 800091e + 800091a: f64f 71fe movw r1, #65534 ; 0xfffe + 800091e: 428a cmp r2, r1 + 8000920: d9ea bls.n 80008f8 modes[i].coef = freq_T_check / MAX_PWM_FREQ; // предделитель - 8000948: 492b ldr r1, [pc, #172] ; (80009f8 ) - 800094a: fba1 4102 umull r4, r1, r1, r2 - 800094e: 0bcc lsrs r4, r1, #15 - 8000950: f3c1 31c7 ubfx r1, r1, #15, #8 - 8000954: eb00 0e40 add.w lr, r0, r0, lsl #1 - 8000958: 4d23 ldr r5, [pc, #140] ; (80009e8 ) - 800095a: eb05 0c8e add.w ip, r5, lr, lsl #2 - 800095e: f88c 1007 strb.w r1, [ip, #7] + 8000922: 492b ldr r1, [pc, #172] ; (80009d0 ) + 8000924: fba1 4102 umull r4, r1, r1, r2 + 8000928: 0bcc lsrs r4, r1, #15 + 800092a: f3c1 31c7 ubfx r1, r1, #15, #8 + 800092e: eb00 0e40 add.w lr, r0, r0, lsl #1 + 8000932: 4d23 ldr r5, [pc, #140] ; (80009c0 ) + 8000934: eb05 0c8e add.w ip, r5, lr, lsl #2 + 8000938: f88c 1006 strb.w r1, [ip, #6] if (freq_T_check % MAX_PWM_FREQ != 0) { - 8000962: ebc4 4404 rsb r4, r4, r4, lsl #16 - 8000966: 42a2 cmp r2, r4 - 8000968: d0c7 beq.n 80008fa + 800093c: ebc4 4404 rsb r4, r4, r4, lsl #16 + 8000940: 42a2 cmp r2, r4 + 8000942: d0c7 beq.n 80008d4 modes[i].coef++; - 800096a: 240c movs r4, #12 - 800096c: fb04 5200 mla r2, r4, r0, r5 - 8000970: 3101 adds r1, #1 - 8000972: 71d1 strb r1, [r2, #7] - 8000974: e7c1 b.n 80008fa + 8000944: 240c movs r4, #12 + 8000946: fb04 5200 mla r2, r4, r0, r5 + 800094a: 3101 adds r1, #1 + 800094c: 7191 strb r1, [r2, #6] + 800094e: e7c1 b.n 80008d4 modes[0].pwm_value_res = (modes[0].pwm_value * modes[0].freq_pwm_new) / MAX_PWM_FREQ; // пересчет скважности для 1 канала - 8000976: 4a1c ldr r2, [pc, #112] ; (80009e8 ) - 8000978: 8853 ldrh r3, [r2, #2] - 800097a: 8911 ldrh r1, [r2, #8] - 800097c: fb01 f303 mul.w r3, r1, r3 - 8000980: 491d ldr r1, [pc, #116] ; (80009f8 ) - 8000982: fb81 4003 smull r4, r0, r1, r3 - 8000986: 4418 add r0, r3 - 8000988: 17db asrs r3, r3, #31 - 800098a: ebc3 33e0 rsb r3, r3, r0, asr #15 - 800098e: 8153 strh r3, [r2, #10] + 8000950: 4a1b ldr r2, [pc, #108] ; (80009c0 ) + 8000952: 8853 ldrh r3, [r2, #2] + 8000954: 8911 ldrh r1, [r2, #8] + 8000956: fb01 f303 mul.w r3, r1, r3 + 800095a: 491d ldr r1, [pc, #116] ; (80009d0 ) + 800095c: fb81 4003 smull r4, r0, r1, r3 + 8000960: 4418 add r0, r3 + 8000962: 17db asrs r3, r3, #31 + 8000964: ebc3 33e0 rsb r3, r3, r0, asr #15 + 8000968: 8153 strh r3, [r2, #10] modes[1].pwm_value_res = (modes[1].pwm_value * modes[1].freq_pwm_new) / MAX_PWM_FREQ; // пересчет скважности для 2 канала - 8000990: 89d3 ldrh r3, [r2, #14] - 8000992: 8a90 ldrh r0, [r2, #20] - 8000994: fb00 f303 mul.w r3, r0, r3 - 8000998: fb81 0103 smull r0, r1, r1, r3 - 800099c: 4419 add r1, r3 - 800099e: 17db asrs r3, r3, #31 - 80009a0: ebc3 33e1 rsb r3, r3, r1, asr #15 - 80009a4: 82d3 strh r3, [r2, #22] + 800096a: 89d3 ldrh r3, [r2, #14] + 800096c: 8a90 ldrh r0, [r2, #20] + 800096e: fb00 f303 mul.w r3, r0, r3 + 8000972: fb81 0103 smull r0, r1, r1, r3 + 8000976: 4419 add r1, r3 + 8000978: 17db asrs r3, r3, #31 + 800097a: ebc3 33e1 rsb r3, r3, r1, asr #15 + 800097e: 82d3 strh r3, [r2, #22] HAL_TIM_Base_Start_IT(&htim1); - 80009a6: 4815 ldr r0, [pc, #84] ; (80009fc ) - 80009a8: f001 fe98 bl 80026dc - 80009ac: e005 b.n 80009ba + 8000980: 4814 ldr r0, [pc, #80] ; (80009d4 ) + 8000982: f001 fe95 bl 80026b0 + 8000986: e005 b.n 8000994 if (channel == 1 && settings_set == 0) { - 80009ae: 4a14 ldr r2, [pc, #80] ; (8000a00 ) - 80009b0: 6812 ldr r2, [r2, #0] - 80009b2: b932 cbnz r2, 80009c2 + 8000988: 4a13 ldr r2, [pc, #76] ; (80009d8 ) + 800098a: 6812 ldr r2, [r2, #0] + 800098c: b932 cbnz r2, 800099c settings_set = 1; // канал 1 настроен - 80009b4: 4b12 ldr r3, [pc, #72] ; (8000a00 ) - 80009b6: 2201 movs r2, #1 - 80009b8: 601a str r2, [r3, #0] + 800098e: 4b12 ldr r3, [pc, #72] ; (80009d8 ) + 8000990: 2201 movs r2, #1 + 8000992: 601a str r2, [r3, #0] if (channel == 1 && settings_set == 0) { - 80009ba: 4b12 ldr r3, [pc, #72] ; (8000a04 ) - 80009bc: 681b ldr r3, [r3, #0] - 80009be: 2b01 cmp r3, #1 - 80009c0: d0f5 beq.n 80009ae + 8000994: 4b11 ldr r3, [pc, #68] ; (80009dc ) + 8000996: 681b ldr r3, [r3, #0] + 8000998: 2b01 cmp r3, #1 + 800099a: d0f5 beq.n 8000988 } else if (channel == 2 && settings_set == 0) { - 80009c2: 2b02 cmp r3, #2 - 80009c4: d1f9 bne.n 80009ba - 80009c6: 4b0e ldr r3, [pc, #56] ; (8000a00 ) - 80009c8: 681b ldr r3, [r3, #0] - 80009ca: 2b00 cmp r3, #0 - 80009cc: d1f5 bne.n 80009ba + 800099c: 2b02 cmp r3, #2 + 800099e: d1f9 bne.n 8000994 + 80009a0: 4b0d ldr r3, [pc, #52] ; (80009d8 ) + 80009a2: 681b ldr r3, [r3, #0] + 80009a4: 2b00 cmp r3, #0 + 80009a6: d1f5 bne.n 8000994 settings_set = 1; // канал 2 настроен - 80009ce: 4b0c ldr r3, [pc, #48] ; (8000a00 ) - 80009d0: 2201 movs r2, #1 - 80009d2: 601a str r2, [r3, #0] - 80009d4: e7f1 b.n 80009ba - 80009d6: bf00 nop - 80009d8: 40023800 .word 0x40023800 - 80009dc: 40020000 .word 0x40020000 - 80009e0: 40020800 .word 0x40020800 - 80009e4: 2000002c .word 0x2000002c - 80009e8: 20000118 .word 0x20000118 - 80009ec: 016e3600 .word 0x016e3600 - 80009f0: 10624dd3 .word 0x10624dd3 - 80009f4: 0003a980 .word 0x0003a980 - 80009f8: 80008001 .word 0x80008001 - 80009fc: 20000084 .word 0x20000084 - 8000a00: 20000130 .word 0x20000130 - 8000a04: 20000000 .word 0x20000000 - -08000a08 : + 80009a8: 4b0b ldr r3, [pc, #44] ; (80009d8 ) + 80009aa: 2201 movs r2, #1 + 80009ac: 601a str r2, [r3, #0] + 80009ae: e7f1 b.n 8000994 + 80009b0: 40023800 .word 0x40023800 + 80009b4: 40020000 .word 0x40020000 + 80009b8: 40020800 .word 0x40020800 + 80009bc: 2000002c .word 0x2000002c + 80009c0: 20000118 .word 0x20000118 + 80009c4: 016e3600 .word 0x016e3600 + 80009c8: 10624dd3 .word 0x10624dd3 + 80009cc: 0003a980 .word 0x0003a980 + 80009d0: 80008001 .word 0x80008001 + 80009d4: 20000084 .word 0x20000084 + 80009d8: 20000130 .word 0x20000130 + 80009dc: 20000000 .word 0x20000000 + +080009e0 : void PWMInit(uint8_t prescaler, uint16_t period, uint16_t pwm_value) { - 8000a08: b570 push {r4, r5, r6, lr} - 8000a0a: b08e sub sp, #56 ; 0x38 - 8000a0c: 4604 mov r4, r0 - 8000a0e: 4616 mov r6, r2 + 80009e0: b570 push {r4, r5, r6, lr} + 80009e2: b08e sub sp, #56 ; 0x38 + 80009e4: 4604 mov r4, r0 + 80009e6: 4616 mov r6, r2 TIM_ClockConfigTypeDef sClockSourceConfig = {0}; - 8000a10: 2300 movs r3, #0 - 8000a12: 930a str r3, [sp, #40] ; 0x28 - 8000a14: 930b str r3, [sp, #44] ; 0x2c - 8000a16: 930c str r3, [sp, #48] ; 0x30 - 8000a18: 930d str r3, [sp, #52] ; 0x34 + 80009e8: 2300 movs r3, #0 + 80009ea: 930a str r3, [sp, #40] ; 0x28 + 80009ec: 930b str r3, [sp, #44] ; 0x2c + 80009ee: 930c str r3, [sp, #48] ; 0x30 + 80009f0: 930d str r3, [sp, #52] ; 0x34 TIM_MasterConfigTypeDef sMasterConfig = {0}; - 8000a1a: 9308 str r3, [sp, #32] - 8000a1c: 9309 str r3, [sp, #36] ; 0x24 + 80009f2: 9308 str r3, [sp, #32] + 80009f4: 9309 str r3, [sp, #36] ; 0x24 TIM_OC_InitTypeDef sConfigOC = {0}; - 8000a1e: 9301 str r3, [sp, #4] - 8000a20: 9302 str r3, [sp, #8] - 8000a22: 9303 str r3, [sp, #12] - 8000a24: 9304 str r3, [sp, #16] - 8000a26: 9305 str r3, [sp, #20] - 8000a28: 9306 str r3, [sp, #24] - 8000a2a: 9307 str r3, [sp, #28] + 80009f6: 9301 str r3, [sp, #4] + 80009f8: 9302 str r3, [sp, #8] + 80009fa: 9303 str r3, [sp, #12] + 80009fc: 9304 str r3, [sp, #16] + 80009fe: 9305 str r3, [sp, #20] + 8000a00: 9306 str r3, [sp, #24] + 8000a02: 9307 str r3, [sp, #28] htim2.Instance = TIM2; - 8000a2c: 481f ldr r0, [pc, #124] ; (8000aac ) - 8000a2e: f04f 4580 mov.w r5, #1073741824 ; 0x40000000 - 8000a32: 6005 str r5, [r0, #0] + 8000a04: 481f ldr r0, [pc, #124] ; (8000a84 ) + 8000a06: f04f 4580 mov.w r5, #1073741824 ; 0x40000000 + 8000a0a: 6005 str r5, [r0, #0] htim2.Init.Prescaler = prescaler; - 8000a34: 6044 str r4, [r0, #4] + 8000a0c: 6044 str r4, [r0, #4] htim2.Init.CounterMode = TIM_COUNTERMODE_UP; - 8000a36: 6083 str r3, [r0, #8] + 8000a0e: 6083 str r3, [r0, #8] htim2.Init.Period = period; - 8000a38: 60c1 str r1, [r0, #12] + 8000a10: 60c1 str r1, [r0, #12] htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 8000a3a: 6103 str r3, [r0, #16] + 8000a12: 6103 str r3, [r0, #16] htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - 8000a3c: 6183 str r3, [r0, #24] + 8000a14: 6183 str r3, [r0, #24] if (HAL_TIM_Base_Init(&htim2) != HAL_OK) - 8000a3e: f001 fdfd bl 800263c - 8000a42: bb40 cbnz r0, 8000a96 + 8000a16: f001 fdfb bl 8002610 + 8000a1a: bb40 cbnz r0, 8000a6e sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; - 8000a44: f44f 5380 mov.w r3, #4096 ; 0x1000 - 8000a48: 930a str r3, [sp, #40] ; 0x28 + 8000a1c: f44f 5380 mov.w r3, #4096 ; 0x1000 + 8000a20: 930a str r3, [sp, #40] ; 0x28 if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK) - 8000a4a: a90a add r1, sp, #40 ; 0x28 - 8000a4c: 4817 ldr r0, [pc, #92] ; (8000aac ) - 8000a4e: f002 fac5 bl 8002fdc - 8000a52: bb10 cbnz r0, 8000a9a + 8000a22: a90a add r1, sp, #40 ; 0x28 + 8000a24: 4817 ldr r0, [pc, #92] ; (8000a84 ) + 8000a26: f002 fac3 bl 8002fb0 + 8000a2a: bb10 cbnz r0, 8000a72 if (HAL_TIM_PWM_Init(&htim2) != HAL_OK) - 8000a54: 4815 ldr r0, [pc, #84] ; (8000aac ) - 8000a56: f001 ff0a bl 800286e - 8000a5a: bb00 cbnz r0, 8000a9e + 8000a2c: 4815 ldr r0, [pc, #84] ; (8000a84 ) + 8000a2e: f001 ff08 bl 8002842 + 8000a32: bb00 cbnz r0, 8000a76 sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; - 8000a5c: 2300 movs r3, #0 - 8000a5e: 9308 str r3, [sp, #32] + 8000a34: 2300 movs r3, #0 + 8000a36: 9308 str r3, [sp, #32] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - 8000a60: 9309 str r3, [sp, #36] ; 0x24 + 8000a38: 9309 str r3, [sp, #36] ; 0x24 if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) - 8000a62: a908 add r1, sp, #32 - 8000a64: 4811 ldr r0, [pc, #68] ; (8000aac ) - 8000a66: f002 fec3 bl 80037f0 - 8000a6a: b9d0 cbnz r0, 8000aa2 + 8000a3a: a908 add r1, sp, #32 + 8000a3c: 4811 ldr r0, [pc, #68] ; (8000a84 ) + 8000a3e: f002 fec1 bl 80037c4 + 8000a42: b9d0 cbnz r0, 8000a7a sConfigOC.OCMode = TIM_OCMODE_PWM1; - 8000a6c: 2360 movs r3, #96 ; 0x60 - 8000a6e: 9301 str r3, [sp, #4] + 8000a44: 2360 movs r3, #96 ; 0x60 + 8000a46: 9301 str r3, [sp, #4] sConfigOC.Pulse = pwm_value; - 8000a70: 9602 str r6, [sp, #8] + 8000a48: 9602 str r6, [sp, #8] sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; - 8000a72: 2200 movs r2, #0 - 8000a74: 9203 str r2, [sp, #12] + 8000a4a: 2200 movs r2, #0 + 8000a4c: 9203 str r2, [sp, #12] sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; - 8000a76: 9205 str r2, [sp, #20] + 8000a4e: 9205 str r2, [sp, #20] if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) - 8000a78: a901 add r1, sp, #4 - 8000a7a: 480c ldr r0, [pc, #48] ; (8000aac ) - 8000a7c: f002 f9ec bl 8002e58 - 8000a80: b988 cbnz r0, 8000aa6 + 8000a50: a901 add r1, sp, #4 + 8000a52: 480c ldr r0, [pc, #48] ; (8000a84 ) + 8000a54: f002 f9ea bl 8002e2c + 8000a58: b988 cbnz r0, 8000a7e HAL_TIM_MspPostInit(&htim2); - 8000a82: 4c0a ldr r4, [pc, #40] ; (8000aac ) - 8000a84: 4620 mov r0, r4 - 8000a86: f000 f8e1 bl 8000c4c + 8000a5a: 4c0a ldr r4, [pc, #40] ; (8000a84 ) + 8000a5c: 4620 mov r0, r4 + 8000a5e: f000 f8e1 bl 8000c24 HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); - 8000a8a: 2100 movs r1, #0 - 8000a8c: 4620 mov r0, r4 - 8000a8e: f001 ff47 bl 8002920 + 8000a62: 2100 movs r1, #0 + 8000a64: 4620 mov r0, r4 + 8000a66: f001 ff45 bl 80028f4 } - 8000a92: b00e add sp, #56 ; 0x38 - 8000a94: bd70 pop {r4, r5, r6, pc} + 8000a6a: b00e add sp, #56 ; 0x38 + 8000a6c: bd70 pop {r4, r5, r6, pc} Error_Handler(); - 8000a96: f7ff fdb0 bl 80005fa + 8000a6e: f7ff fdb0 bl 80005d2 Error_Handler(); - 8000a9a: f7ff fdae bl 80005fa + 8000a72: f7ff fdae bl 80005d2 Error_Handler(); - 8000a9e: f7ff fdac bl 80005fa + 8000a76: f7ff fdac bl 80005d2 Error_Handler(); - 8000aa2: f7ff fdaa bl 80005fa + 8000a7a: f7ff fdaa bl 80005d2 Error_Handler(); - 8000aa6: f7ff fda8 bl 80005fa - 8000aaa: bf00 nop - 8000aac: 200000cc .word 0x200000cc + 8000a7e: f7ff fda8 bl 80005d2 + 8000a82: bf00 nop + 8000a84: 200000cc .word 0x200000cc -08000ab0 : +08000a88 : void ChannelSwap(Mode *mode_ptr, int channel_new, int *channel_var, int settings_flag, int *settings_var) { - 8000ab0: b5f8 push {r3, r4, r5, r6, r7, lr} - 8000ab2: 4604 mov r4, r0 - 8000ab4: 460f mov r7, r1 - 8000ab6: 4616 mov r6, r2 - 8000ab8: 461d mov r5, r3 + 8000a88: b5f8 push {r3, r4, r5, r6, r7, lr} + 8000a8a: 4604 mov r4, r0 + 8000a8c: 460f mov r7, r1 + 8000a8e: 4616 mov r6, r2 + 8000a90: 461d mov r5, r3 PWMInit(mode_ptr->coef-1, mode_ptr->freq_pwm_new-1, mode_ptr->pwm_value_res); - 8000aba: 79c0 ldrb r0, [r0, #7] - 8000abc: 8921 ldrh r1, [r4, #8] - 8000abe: 3901 subs r1, #1 - 8000ac0: 3801 subs r0, #1 - 8000ac2: 8962 ldrh r2, [r4, #10] - 8000ac4: b289 uxth r1, r1 - 8000ac6: b2c0 uxtb r0, r0 - 8000ac8: f7ff ff9e bl 8000a08 + 8000a92: 7980 ldrb r0, [r0, #6] + 8000a94: 8921 ldrh r1, [r4, #8] + 8000a96: 3901 subs r1, #1 + 8000a98: 3801 subs r0, #1 + 8000a9a: 8962 ldrh r2, [r4, #10] + 8000a9c: b289 uxth r1, r1 + 8000a9e: b2c0 uxtb r0, r0 + 8000aa0: f7ff ff9e bl 80009e0 __HAL_TIM_SET_AUTORELOAD(&htim1, (mode_ptr->time_mode * F_CPU_TIM1 - 1)); - 8000acc: 7820 ldrb r0, [r4, #0] - 8000ace: f44f 717a mov.w r1, #1000 ; 0x3e8 - 8000ad2: fb01 f000 mul.w r0, r1, r0 - 8000ad6: 4b06 ldr r3, [pc, #24] ; (8000af0 ) - 8000ad8: 681a ldr r2, [r3, #0] - 8000ada: 3801 subs r0, #1 - 8000adc: 62d0 str r0, [r2, #44] ; 0x2c - 8000ade: 7820 ldrb r0, [r4, #0] - 8000ae0: fb01 f000 mul.w r0, r1, r0 - 8000ae4: 3801 subs r0, #1 - 8000ae6: 60d8 str r0, [r3, #12] + 8000aa4: 7820 ldrb r0, [r4, #0] + 8000aa6: f44f 717a mov.w r1, #1000 ; 0x3e8 + 8000aaa: fb01 f000 mul.w r0, r1, r0 + 8000aae: 4b06 ldr r3, [pc, #24] ; (8000ac8 ) + 8000ab0: 681a ldr r2, [r3, #0] + 8000ab2: 3801 subs r0, #1 + 8000ab4: 62d0 str r0, [r2, #44] ; 0x2c + 8000ab6: 7820 ldrb r0, [r4, #0] + 8000ab8: fb01 f000 mul.w r0, r1, r0 + 8000abc: 3801 subs r0, #1 + 8000abe: 60d8 str r0, [r3, #12] *channel_var = channel_new; - 8000ae8: 6037 str r7, [r6, #0] + 8000ac0: 6037 str r7, [r6, #0] *settings_var = settings_flag; - 8000aea: 9b06 ldr r3, [sp, #24] - 8000aec: 601d str r5, [r3, #0] + 8000ac2: 9b06 ldr r3, [sp, #24] + 8000ac4: 601d str r5, [r3, #0] } - 8000aee: bdf8 pop {r3, r4, r5, r6, r7, pc} - 8000af0: 20000084 .word 0x20000084 + 8000ac6: bdf8 pop {r3, r4, r5, r6, r7, pc} + 8000ac8: 20000084 .word 0x20000084 -08000af4 : +08000acc : void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); /** * Initializes the Global MSP. */ void HAL_MspInit(void) { - 8000af4: b480 push {r7} - 8000af6: b083 sub sp, #12 - 8000af8: af00 add r7, sp, #0 + 8000acc: b480 push {r7} + 8000ace: b083 sub sp, #12 + 8000ad0: af00 add r7, sp, #0 /* USER CODE BEGIN MspInit 0 */ /* USER CODE END MspInit 0 */ __HAL_RCC_SYSCFG_CLK_ENABLE(); - 8000afa: 2300 movs r3, #0 - 8000afc: 607b str r3, [r7, #4] - 8000afe: 4b10 ldr r3, [pc, #64] ; (8000b40 ) - 8000b00: 6c5b ldr r3, [r3, #68] ; 0x44 - 8000b02: 4a0f ldr r2, [pc, #60] ; (8000b40 ) - 8000b04: f443 4380 orr.w r3, r3, #16384 ; 0x4000 - 8000b08: 6453 str r3, [r2, #68] ; 0x44 - 8000b0a: 4b0d ldr r3, [pc, #52] ; (8000b40 ) - 8000b0c: 6c5b ldr r3, [r3, #68] ; 0x44 - 8000b0e: f403 4380 and.w r3, r3, #16384 ; 0x4000 - 8000b12: 607b str r3, [r7, #4] - 8000b14: 687b ldr r3, [r7, #4] + 8000ad2: 2300 movs r3, #0 + 8000ad4: 607b str r3, [r7, #4] + 8000ad6: 4b10 ldr r3, [pc, #64] ; (8000b18 ) + 8000ad8: 6c5b ldr r3, [r3, #68] ; 0x44 + 8000ada: 4a0f ldr r2, [pc, #60] ; (8000b18 ) + 8000adc: f443 4380 orr.w r3, r3, #16384 ; 0x4000 + 8000ae0: 6453 str r3, [r2, #68] ; 0x44 + 8000ae2: 4b0d ldr r3, [pc, #52] ; (8000b18 ) + 8000ae4: 6c5b ldr r3, [r3, #68] ; 0x44 + 8000ae6: f403 4380 and.w r3, r3, #16384 ; 0x4000 + 8000aea: 607b str r3, [r7, #4] + 8000aec: 687b ldr r3, [r7, #4] __HAL_RCC_PWR_CLK_ENABLE(); - 8000b16: 2300 movs r3, #0 - 8000b18: 603b str r3, [r7, #0] - 8000b1a: 4b09 ldr r3, [pc, #36] ; (8000b40 ) - 8000b1c: 6c1b ldr r3, [r3, #64] ; 0x40 - 8000b1e: 4a08 ldr r2, [pc, #32] ; (8000b40 ) - 8000b20: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 - 8000b24: 6413 str r3, [r2, #64] ; 0x40 - 8000b26: 4b06 ldr r3, [pc, #24] ; (8000b40 ) - 8000b28: 6c1b ldr r3, [r3, #64] ; 0x40 - 8000b2a: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 - 8000b2e: 603b str r3, [r7, #0] - 8000b30: 683b ldr r3, [r7, #0] + 8000aee: 2300 movs r3, #0 + 8000af0: 603b str r3, [r7, #0] + 8000af2: 4b09 ldr r3, [pc, #36] ; (8000b18 ) + 8000af4: 6c1b ldr r3, [r3, #64] ; 0x40 + 8000af6: 4a08 ldr r2, [pc, #32] ; (8000b18 ) + 8000af8: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 + 8000afc: 6413 str r3, [r2, #64] ; 0x40 + 8000afe: 4b06 ldr r3, [pc, #24] ; (8000b18 ) + 8000b00: 6c1b ldr r3, [r3, #64] ; 0x40 + 8000b02: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 + 8000b06: 603b str r3, [r7, #0] + 8000b08: 683b ldr r3, [r7, #0] /* System interrupt init*/ /* USER CODE BEGIN MspInit 1 */ /* USER CODE END MspInit 1 */ } - 8000b32: bf00 nop - 8000b34: 370c adds r7, #12 - 8000b36: 46bd mov sp, r7 - 8000b38: f85d 7b04 ldr.w r7, [sp], #4 - 8000b3c: 4770 bx lr - 8000b3e: bf00 nop - 8000b40: 40023800 .word 0x40023800 - -08000b44 : + 8000b0a: bf00 nop + 8000b0c: 370c adds r7, #12 + 8000b0e: 46bd mov sp, r7 + 8000b10: f85d 7b04 ldr.w r7, [sp], #4 + 8000b14: 4770 bx lr + 8000b16: bf00 nop + 8000b18: 40023800 .word 0x40023800 + +08000b1c : * This function configures the hardware resources used in this example * @param hspi: SPI handle pointer * @retval None */ void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi) { - 8000b44: b580 push {r7, lr} - 8000b46: b08a sub sp, #40 ; 0x28 - 8000b48: af00 add r7, sp, #0 - 8000b4a: 6078 str r0, [r7, #4] + 8000b1c: b580 push {r7, lr} + 8000b1e: b08a sub sp, #40 ; 0x28 + 8000b20: af00 add r7, sp, #0 + 8000b22: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct = {0}; - 8000b4c: f107 0314 add.w r3, r7, #20 - 8000b50: 2200 movs r2, #0 - 8000b52: 601a str r2, [r3, #0] - 8000b54: 605a str r2, [r3, #4] - 8000b56: 609a str r2, [r3, #8] - 8000b58: 60da str r2, [r3, #12] - 8000b5a: 611a str r2, [r3, #16] + 8000b24: f107 0314 add.w r3, r7, #20 + 8000b28: 2200 movs r2, #0 + 8000b2a: 601a str r2, [r3, #0] + 8000b2c: 605a str r2, [r3, #4] + 8000b2e: 609a str r2, [r3, #8] + 8000b30: 60da str r2, [r3, #12] + 8000b32: 611a str r2, [r3, #16] if(hspi->Instance==SPI1) - 8000b5c: 687b ldr r3, [r7, #4] - 8000b5e: 681b ldr r3, [r3, #0] - 8000b60: 4a19 ldr r2, [pc, #100] ; (8000bc8 ) - 8000b62: 4293 cmp r3, r2 - 8000b64: d12b bne.n 8000bbe + 8000b34: 687b ldr r3, [r7, #4] + 8000b36: 681b ldr r3, [r3, #0] + 8000b38: 4a19 ldr r2, [pc, #100] ; (8000ba0 ) + 8000b3a: 4293 cmp r3, r2 + 8000b3c: d12b bne.n 8000b96 { /* USER CODE BEGIN SPI1_MspInit 0 */ /* USER CODE END SPI1_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_SPI1_CLK_ENABLE(); - 8000b66: 2300 movs r3, #0 - 8000b68: 613b str r3, [r7, #16] - 8000b6a: 4b18 ldr r3, [pc, #96] ; (8000bcc ) - 8000b6c: 6c5b ldr r3, [r3, #68] ; 0x44 - 8000b6e: 4a17 ldr r2, [pc, #92] ; (8000bcc ) - 8000b70: f443 5380 orr.w r3, r3, #4096 ; 0x1000 - 8000b74: 6453 str r3, [r2, #68] ; 0x44 - 8000b76: 4b15 ldr r3, [pc, #84] ; (8000bcc ) - 8000b78: 6c5b ldr r3, [r3, #68] ; 0x44 - 8000b7a: f403 5380 and.w r3, r3, #4096 ; 0x1000 - 8000b7e: 613b str r3, [r7, #16] - 8000b80: 693b ldr r3, [r7, #16] + 8000b3e: 2300 movs r3, #0 + 8000b40: 613b str r3, [r7, #16] + 8000b42: 4b18 ldr r3, [pc, #96] ; (8000ba4 ) + 8000b44: 6c5b ldr r3, [r3, #68] ; 0x44 + 8000b46: 4a17 ldr r2, [pc, #92] ; (8000ba4 ) + 8000b48: f443 5380 orr.w r3, r3, #4096 ; 0x1000 + 8000b4c: 6453 str r3, [r2, #68] ; 0x44 + 8000b4e: 4b15 ldr r3, [pc, #84] ; (8000ba4 ) + 8000b50: 6c5b ldr r3, [r3, #68] ; 0x44 + 8000b52: f403 5380 and.w r3, r3, #4096 ; 0x1000 + 8000b56: 613b str r3, [r7, #16] + 8000b58: 693b ldr r3, [r7, #16] __HAL_RCC_GPIOA_CLK_ENABLE(); - 8000b82: 2300 movs r3, #0 - 8000b84: 60fb str r3, [r7, #12] - 8000b86: 4b11 ldr r3, [pc, #68] ; (8000bcc ) - 8000b88: 6b1b ldr r3, [r3, #48] ; 0x30 - 8000b8a: 4a10 ldr r2, [pc, #64] ; (8000bcc ) - 8000b8c: f043 0301 orr.w r3, r3, #1 - 8000b90: 6313 str r3, [r2, #48] ; 0x30 - 8000b92: 4b0e ldr r3, [pc, #56] ; (8000bcc ) - 8000b94: 6b1b ldr r3, [r3, #48] ; 0x30 - 8000b96: f003 0301 and.w r3, r3, #1 - 8000b9a: 60fb str r3, [r7, #12] - 8000b9c: 68fb ldr r3, [r7, #12] + 8000b5a: 2300 movs r3, #0 + 8000b5c: 60fb str r3, [r7, #12] + 8000b5e: 4b11 ldr r3, [pc, #68] ; (8000ba4 ) + 8000b60: 6b1b ldr r3, [r3, #48] ; 0x30 + 8000b62: 4a10 ldr r2, [pc, #64] ; (8000ba4 ) + 8000b64: f043 0301 orr.w r3, r3, #1 + 8000b68: 6313 str r3, [r2, #48] ; 0x30 + 8000b6a: 4b0e ldr r3, [pc, #56] ; (8000ba4 ) + 8000b6c: 6b1b ldr r3, [r3, #48] ; 0x30 + 8000b6e: f003 0301 and.w r3, r3, #1 + 8000b72: 60fb str r3, [r7, #12] + 8000b74: 68fb ldr r3, [r7, #12] /**SPI1 GPIO Configuration PA5 ------> SPI1_SCK PA6 ------> SPI1_MISO PA7 ------> SPI1_MOSI */ GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7; - 8000b9e: 23e0 movs r3, #224 ; 0xe0 - 8000ba0: 617b str r3, [r7, #20] + 8000b76: 23e0 movs r3, #224 ; 0xe0 + 8000b78: 617b str r3, [r7, #20] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - 8000ba2: 2302 movs r3, #2 - 8000ba4: 61bb str r3, [r7, #24] + 8000b7a: 2302 movs r3, #2 + 8000b7c: 61bb str r3, [r7, #24] GPIO_InitStruct.Pull = GPIO_NOPULL; - 8000ba6: 2300 movs r3, #0 - 8000ba8: 61fb str r3, [r7, #28] + 8000b7e: 2300 movs r3, #0 + 8000b80: 61fb str r3, [r7, #28] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; - 8000baa: 2303 movs r3, #3 - 8000bac: 623b str r3, [r7, #32] + 8000b82: 2303 movs r3, #3 + 8000b84: 623b str r3, [r7, #32] GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; - 8000bae: 2305 movs r3, #5 - 8000bb0: 627b str r3, [r7, #36] ; 0x24 + 8000b86: 2305 movs r3, #5 + 8000b88: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 8000bb2: f107 0314 add.w r3, r7, #20 - 8000bb6: 4619 mov r1, r3 - 8000bb8: 4805 ldr r0, [pc, #20] ; (8000bd0 ) - 8000bba: f000 faf9 bl 80011b0 + 8000b8a: f107 0314 add.w r3, r7, #20 + 8000b8e: 4619 mov r1, r3 + 8000b90: 4805 ldr r0, [pc, #20] ; (8000ba8 ) + 8000b92: f000 faf7 bl 8001184 /* USER CODE BEGIN SPI1_MspInit 1 */ /* USER CODE END SPI1_MspInit 1 */ } } - 8000bbe: bf00 nop - 8000bc0: 3728 adds r7, #40 ; 0x28 - 8000bc2: 46bd mov sp, r7 - 8000bc4: bd80 pop {r7, pc} - 8000bc6: bf00 nop - 8000bc8: 40013000 .word 0x40013000 - 8000bcc: 40023800 .word 0x40023800 - 8000bd0: 40020000 .word 0x40020000 - -08000bd4 : + 8000b96: bf00 nop + 8000b98: 3728 adds r7, #40 ; 0x28 + 8000b9a: 46bd mov sp, r7 + 8000b9c: bd80 pop {r7, pc} + 8000b9e: bf00 nop + 8000ba0: 40013000 .word 0x40013000 + 8000ba4: 40023800 .word 0x40023800 + 8000ba8: 40020000 .word 0x40020000 + +08000bac : * This function configures the hardware resources used in this example * @param htim_base: TIM_Base handle pointer * @retval None */ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base) { - 8000bd4: b580 push {r7, lr} - 8000bd6: b084 sub sp, #16 - 8000bd8: af00 add r7, sp, #0 - 8000bda: 6078 str r0, [r7, #4] + 8000bac: b580 push {r7, lr} + 8000bae: b084 sub sp, #16 + 8000bb0: af00 add r7, sp, #0 + 8000bb2: 6078 str r0, [r7, #4] if(htim_base->Instance==TIM1) - 8000bdc: 687b ldr r3, [r7, #4] - 8000bde: 681b ldr r3, [r3, #0] - 8000be0: 4a18 ldr r2, [pc, #96] ; (8000c44 ) - 8000be2: 4293 cmp r3, r2 - 8000be4: d116 bne.n 8000c14 + 8000bb4: 687b ldr r3, [r7, #4] + 8000bb6: 681b ldr r3, [r3, #0] + 8000bb8: 4a18 ldr r2, [pc, #96] ; (8000c1c ) + 8000bba: 4293 cmp r3, r2 + 8000bbc: d116 bne.n 8000bec { /* USER CODE BEGIN TIM1_MspInit 0 */ /* USER CODE END TIM1_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_TIM1_CLK_ENABLE(); - 8000be6: 2300 movs r3, #0 - 8000be8: 60fb str r3, [r7, #12] - 8000bea: 4b17 ldr r3, [pc, #92] ; (8000c48 ) - 8000bec: 6c5b ldr r3, [r3, #68] ; 0x44 - 8000bee: 4a16 ldr r2, [pc, #88] ; (8000c48 ) - 8000bf0: f043 0301 orr.w r3, r3, #1 - 8000bf4: 6453 str r3, [r2, #68] ; 0x44 - 8000bf6: 4b14 ldr r3, [pc, #80] ; (8000c48 ) - 8000bf8: 6c5b ldr r3, [r3, #68] ; 0x44 - 8000bfa: f003 0301 and.w r3, r3, #1 - 8000bfe: 60fb str r3, [r7, #12] - 8000c00: 68fb ldr r3, [r7, #12] + 8000bbe: 2300 movs r3, #0 + 8000bc0: 60fb str r3, [r7, #12] + 8000bc2: 4b17 ldr r3, [pc, #92] ; (8000c20 ) + 8000bc4: 6c5b ldr r3, [r3, #68] ; 0x44 + 8000bc6: 4a16 ldr r2, [pc, #88] ; (8000c20 ) + 8000bc8: f043 0301 orr.w r3, r3, #1 + 8000bcc: 6453 str r3, [r2, #68] ; 0x44 + 8000bce: 4b14 ldr r3, [pc, #80] ; (8000c20 ) + 8000bd0: 6c5b ldr r3, [r3, #68] ; 0x44 + 8000bd2: f003 0301 and.w r3, r3, #1 + 8000bd6: 60fb str r3, [r7, #12] + 8000bd8: 68fb ldr r3, [r7, #12] /* TIM1 interrupt Init */ HAL_NVIC_SetPriority(TIM1_UP_TIM10_IRQn, 0, 0); - 8000c02: 2200 movs r2, #0 - 8000c04: 2100 movs r1, #0 - 8000c06: 2019 movs r0, #25 - 8000c08: f000 fa9b bl 8001142 + 8000bda: 2200 movs r2, #0 + 8000bdc: 2100 movs r1, #0 + 8000bde: 2019 movs r0, #25 + 8000be0: f000 fa99 bl 8001116 HAL_NVIC_EnableIRQ(TIM1_UP_TIM10_IRQn); - 8000c0c: 2019 movs r0, #25 - 8000c0e: f000 fab4 bl 800117a + 8000be4: 2019 movs r0, #25 + 8000be6: f000 fab2 bl 800114e /* USER CODE BEGIN TIM2_MspInit 1 */ /* USER CODE END TIM2_MspInit 1 */ } } - 8000c12: e012 b.n 8000c3a + 8000bea: e012 b.n 8000c12 else if(htim_base->Instance==TIM2) - 8000c14: 687b ldr r3, [r7, #4] - 8000c16: 681b ldr r3, [r3, #0] - 8000c18: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 - 8000c1c: d10d bne.n 8000c3a + 8000bec: 687b ldr r3, [r7, #4] + 8000bee: 681b ldr r3, [r3, #0] + 8000bf0: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 + 8000bf4: d10d bne.n 8000c12 __HAL_RCC_TIM2_CLK_ENABLE(); - 8000c1e: 2300 movs r3, #0 - 8000c20: 60bb str r3, [r7, #8] - 8000c22: 4b09 ldr r3, [pc, #36] ; (8000c48 ) - 8000c24: 6c1b ldr r3, [r3, #64] ; 0x40 - 8000c26: 4a08 ldr r2, [pc, #32] ; (8000c48 ) - 8000c28: f043 0301 orr.w r3, r3, #1 - 8000c2c: 6413 str r3, [r2, #64] ; 0x40 - 8000c2e: 4b06 ldr r3, [pc, #24] ; (8000c48 ) - 8000c30: 6c1b ldr r3, [r3, #64] ; 0x40 - 8000c32: f003 0301 and.w r3, r3, #1 - 8000c36: 60bb str r3, [r7, #8] - 8000c38: 68bb ldr r3, [r7, #8] + 8000bf6: 2300 movs r3, #0 + 8000bf8: 60bb str r3, [r7, #8] + 8000bfa: 4b09 ldr r3, [pc, #36] ; (8000c20 ) + 8000bfc: 6c1b ldr r3, [r3, #64] ; 0x40 + 8000bfe: 4a08 ldr r2, [pc, #32] ; (8000c20 ) + 8000c00: f043 0301 orr.w r3, r3, #1 + 8000c04: 6413 str r3, [r2, #64] ; 0x40 + 8000c06: 4b06 ldr r3, [pc, #24] ; (8000c20 ) + 8000c08: 6c1b ldr r3, [r3, #64] ; 0x40 + 8000c0a: f003 0301 and.w r3, r3, #1 + 8000c0e: 60bb str r3, [r7, #8] + 8000c10: 68bb ldr r3, [r7, #8] } - 8000c3a: bf00 nop - 8000c3c: 3710 adds r7, #16 - 8000c3e: 46bd mov sp, r7 - 8000c40: bd80 pop {r7, pc} - 8000c42: bf00 nop - 8000c44: 40010000 .word 0x40010000 - 8000c48: 40023800 .word 0x40023800 + 8000c12: bf00 nop + 8000c14: 3710 adds r7, #16 + 8000c16: 46bd mov sp, r7 + 8000c18: bd80 pop {r7, pc} + 8000c1a: bf00 nop + 8000c1c: 40010000 .word 0x40010000 + 8000c20: 40023800 .word 0x40023800 -08000c4c : +08000c24 : void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim) { - 8000c4c: b580 push {r7, lr} - 8000c4e: b08a sub sp, #40 ; 0x28 - 8000c50: af00 add r7, sp, #0 - 8000c52: 6078 str r0, [r7, #4] + 8000c24: b580 push {r7, lr} + 8000c26: b08a sub sp, #40 ; 0x28 + 8000c28: af00 add r7, sp, #0 + 8000c2a: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct = {0}; - 8000c54: f107 0314 add.w r3, r7, #20 - 8000c58: 2200 movs r2, #0 - 8000c5a: 601a str r2, [r3, #0] - 8000c5c: 605a str r2, [r3, #4] - 8000c5e: 609a str r2, [r3, #8] - 8000c60: 60da str r2, [r3, #12] - 8000c62: 611a str r2, [r3, #16] + 8000c2c: f107 0314 add.w r3, r7, #20 + 8000c30: 2200 movs r2, #0 + 8000c32: 601a str r2, [r3, #0] + 8000c34: 605a str r2, [r3, #4] + 8000c36: 609a str r2, [r3, #8] + 8000c38: 60da str r2, [r3, #12] + 8000c3a: 611a str r2, [r3, #16] if(htim->Instance==TIM1) - 8000c64: 687b ldr r3, [r7, #4] - 8000c66: 681b ldr r3, [r3, #0] - 8000c68: 4a24 ldr r2, [pc, #144] ; (8000cfc ) - 8000c6a: 4293 cmp r3, r2 - 8000c6c: d11f bne.n 8000cae + 8000c3c: 687b ldr r3, [r7, #4] + 8000c3e: 681b ldr r3, [r3, #0] + 8000c40: 4a24 ldr r2, [pc, #144] ; (8000cd4 ) + 8000c42: 4293 cmp r3, r2 + 8000c44: d11f bne.n 8000c86 { /* USER CODE BEGIN TIM1_MspPostInit 0 */ /* USER CODE END TIM1_MspPostInit 0 */ __HAL_RCC_GPIOE_CLK_ENABLE(); - 8000c6e: 2300 movs r3, #0 - 8000c70: 613b str r3, [r7, #16] - 8000c72: 4b23 ldr r3, [pc, #140] ; (8000d00 ) - 8000c74: 6b1b ldr r3, [r3, #48] ; 0x30 - 8000c76: 4a22 ldr r2, [pc, #136] ; (8000d00 ) - 8000c78: f043 0310 orr.w r3, r3, #16 - 8000c7c: 6313 str r3, [r2, #48] ; 0x30 - 8000c7e: 4b20 ldr r3, [pc, #128] ; (8000d00 ) - 8000c80: 6b1b ldr r3, [r3, #48] ; 0x30 - 8000c82: f003 0310 and.w r3, r3, #16 - 8000c86: 613b str r3, [r7, #16] - 8000c88: 693b ldr r3, [r7, #16] + 8000c46: 2300 movs r3, #0 + 8000c48: 613b str r3, [r7, #16] + 8000c4a: 4b23 ldr r3, [pc, #140] ; (8000cd8 ) + 8000c4c: 6b1b ldr r3, [r3, #48] ; 0x30 + 8000c4e: 4a22 ldr r2, [pc, #136] ; (8000cd8 ) + 8000c50: f043 0310 orr.w r3, r3, #16 + 8000c54: 6313 str r3, [r2, #48] ; 0x30 + 8000c56: 4b20 ldr r3, [pc, #128] ; (8000cd8 ) + 8000c58: 6b1b ldr r3, [r3, #48] ; 0x30 + 8000c5a: f003 0310 and.w r3, r3, #16 + 8000c5e: 613b str r3, [r7, #16] + 8000c60: 693b ldr r3, [r7, #16] /**TIM1 GPIO Configuration PE9 ------> TIM1_CH1 */ GPIO_InitStruct.Pin = GPIO_PIN_9; - 8000c8a: f44f 7300 mov.w r3, #512 ; 0x200 - 8000c8e: 617b str r3, [r7, #20] + 8000c62: f44f 7300 mov.w r3, #512 ; 0x200 + 8000c66: 617b str r3, [r7, #20] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - 8000c90: 2302 movs r3, #2 - 8000c92: 61bb str r3, [r7, #24] + 8000c68: 2302 movs r3, #2 + 8000c6a: 61bb str r3, [r7, #24] GPIO_InitStruct.Pull = GPIO_NOPULL; - 8000c94: 2300 movs r3, #0 - 8000c96: 61fb str r3, [r7, #28] + 8000c6c: 2300 movs r3, #0 + 8000c6e: 61fb str r3, [r7, #28] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - 8000c98: 2300 movs r3, #0 - 8000c9a: 623b str r3, [r7, #32] + 8000c70: 2300 movs r3, #0 + 8000c72: 623b str r3, [r7, #32] GPIO_InitStruct.Alternate = GPIO_AF1_TIM1; - 8000c9c: 2301 movs r3, #1 - 8000c9e: 627b str r3, [r7, #36] ; 0x24 + 8000c74: 2301 movs r3, #1 + 8000c76: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); - 8000ca0: f107 0314 add.w r3, r7, #20 - 8000ca4: 4619 mov r1, r3 - 8000ca6: 4817 ldr r0, [pc, #92] ; (8000d04 ) - 8000ca8: f000 fa82 bl 80011b0 + 8000c78: f107 0314 add.w r3, r7, #20 + 8000c7c: 4619 mov r1, r3 + 8000c7e: 4817 ldr r0, [pc, #92] ; (8000cdc ) + 8000c80: f000 fa80 bl 8001184 /* USER CODE BEGIN TIM2_MspPostInit 1 */ /* USER CODE END TIM2_MspPostInit 1 */ } } - 8000cac: e022 b.n 8000cf4 + 8000c84: e022 b.n 8000ccc else if(htim->Instance==TIM2) - 8000cae: 687b ldr r3, [r7, #4] - 8000cb0: 681b ldr r3, [r3, #0] - 8000cb2: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 - 8000cb6: d11d bne.n 8000cf4 + 8000c86: 687b ldr r3, [r7, #4] + 8000c88: 681b ldr r3, [r3, #0] + 8000c8a: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 + 8000c8e: d11d bne.n 8000ccc __HAL_RCC_GPIOA_CLK_ENABLE(); - 8000cb8: 2300 movs r3, #0 - 8000cba: 60fb str r3, [r7, #12] - 8000cbc: 4b10 ldr r3, [pc, #64] ; (8000d00 ) - 8000cbe: 6b1b ldr r3, [r3, #48] ; 0x30 - 8000cc0: 4a0f ldr r2, [pc, #60] ; (8000d00 ) - 8000cc2: f043 0301 orr.w r3, r3, #1 - 8000cc6: 6313 str r3, [r2, #48] ; 0x30 - 8000cc8: 4b0d ldr r3, [pc, #52] ; (8000d00 ) - 8000cca: 6b1b ldr r3, [r3, #48] ; 0x30 - 8000ccc: f003 0301 and.w r3, r3, #1 - 8000cd0: 60fb str r3, [r7, #12] - 8000cd2: 68fb ldr r3, [r7, #12] + 8000c90: 2300 movs r3, #0 + 8000c92: 60fb str r3, [r7, #12] + 8000c94: 4b10 ldr r3, [pc, #64] ; (8000cd8 ) + 8000c96: 6b1b ldr r3, [r3, #48] ; 0x30 + 8000c98: 4a0f ldr r2, [pc, #60] ; (8000cd8 ) + 8000c9a: f043 0301 orr.w r3, r3, #1 + 8000c9e: 6313 str r3, [r2, #48] ; 0x30 + 8000ca0: 4b0d ldr r3, [pc, #52] ; (8000cd8 ) + 8000ca2: 6b1b ldr r3, [r3, #48] ; 0x30 + 8000ca4: f003 0301 and.w r3, r3, #1 + 8000ca8: 60fb str r3, [r7, #12] + 8000caa: 68fb ldr r3, [r7, #12] GPIO_InitStruct.Pin = GPIO_PIN_0; - 8000cd4: 2301 movs r3, #1 - 8000cd6: 617b str r3, [r7, #20] + 8000cac: 2301 movs r3, #1 + 8000cae: 617b str r3, [r7, #20] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - 8000cd8: 2302 movs r3, #2 - 8000cda: 61bb str r3, [r7, #24] + 8000cb0: 2302 movs r3, #2 + 8000cb2: 61bb str r3, [r7, #24] GPIO_InitStruct.Pull = GPIO_PULLDOWN; - 8000cdc: 2302 movs r3, #2 - 8000cde: 61fb str r3, [r7, #28] + 8000cb4: 2302 movs r3, #2 + 8000cb6: 61fb str r3, [r7, #28] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - 8000ce0: 2300 movs r3, #0 - 8000ce2: 623b str r3, [r7, #32] + 8000cb8: 2300 movs r3, #0 + 8000cba: 623b str r3, [r7, #32] GPIO_InitStruct.Alternate = GPIO_AF1_TIM2; - 8000ce4: 2301 movs r3, #1 - 8000ce6: 627b str r3, [r7, #36] ; 0x24 + 8000cbc: 2301 movs r3, #1 + 8000cbe: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 8000ce8: f107 0314 add.w r3, r7, #20 - 8000cec: 4619 mov r1, r3 - 8000cee: 4806 ldr r0, [pc, #24] ; (8000d08 ) - 8000cf0: f000 fa5e bl 80011b0 + 8000cc0: f107 0314 add.w r3, r7, #20 + 8000cc4: 4619 mov r1, r3 + 8000cc6: 4806 ldr r0, [pc, #24] ; (8000ce0 ) + 8000cc8: f000 fa5c bl 8001184 } - 8000cf4: bf00 nop - 8000cf6: 3728 adds r7, #40 ; 0x28 - 8000cf8: 46bd mov sp, r7 - 8000cfa: bd80 pop {r7, pc} - 8000cfc: 40010000 .word 0x40010000 - 8000d00: 40023800 .word 0x40023800 - 8000d04: 40021000 .word 0x40021000 - 8000d08: 40020000 .word 0x40020000 - -08000d0c : + 8000ccc: bf00 nop + 8000cce: 3728 adds r7, #40 ; 0x28 + 8000cd0: 46bd mov sp, r7 + 8000cd2: bd80 pop {r7, pc} + 8000cd4: 40010000 .word 0x40010000 + 8000cd8: 40023800 .word 0x40023800 + 8000cdc: 40021000 .word 0x40021000 + 8000ce0: 40020000 .word 0x40020000 + +08000ce4 : /******************************************************************************/ /** * @brief This function handles Non maskable interrupt. */ void NMI_Handler(void) { - 8000d0c: b480 push {r7} - 8000d0e: af00 add r7, sp, #0 + 8000ce4: b480 push {r7} + 8000ce6: af00 add r7, sp, #0 /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ /* USER CODE END NonMaskableInt_IRQn 0 */ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ while (1) - 8000d10: e7fe b.n 8000d10 + 8000ce8: e7fe b.n 8000ce8 -08000d12 : +08000cea : /** * @brief This function handles Hard fault interrupt. */ void HardFault_Handler(void) { - 8000d12: b480 push {r7} - 8000d14: af00 add r7, sp, #0 + 8000cea: b480 push {r7} + 8000cec: af00 add r7, sp, #0 /* USER CODE BEGIN HardFault_IRQn 0 */ /* USER CODE END HardFault_IRQn 0 */ while (1) - 8000d16: e7fe b.n 8000d16 + 8000cee: e7fe b.n 8000cee -08000d18 : +08000cf0 : /** * @brief This function handles Memory management fault. */ void MemManage_Handler(void) { - 8000d18: b480 push {r7} - 8000d1a: af00 add r7, sp, #0 + 8000cf0: b480 push {r7} + 8000cf2: af00 add r7, sp, #0 /* USER CODE BEGIN MemoryManagement_IRQn 0 */ /* USER CODE END MemoryManagement_IRQn 0 */ while (1) - 8000d1c: e7fe b.n 8000d1c + 8000cf4: e7fe b.n 8000cf4 -08000d1e : +08000cf6 : /** * @brief This function handles Pre-fetch fault, memory access fault. */ void BusFault_Handler(void) { - 8000d1e: b480 push {r7} - 8000d20: af00 add r7, sp, #0 + 8000cf6: b480 push {r7} + 8000cf8: af00 add r7, sp, #0 /* USER CODE BEGIN BusFault_IRQn 0 */ /* USER CODE END BusFault_IRQn 0 */ while (1) - 8000d22: e7fe b.n 8000d22 + 8000cfa: e7fe b.n 8000cfa -08000d24 : +08000cfc : /** * @brief This function handles Undefined instruction or illegal state. */ void UsageFault_Handler(void) { - 8000d24: b480 push {r7} - 8000d26: af00 add r7, sp, #0 + 8000cfc: b480 push {r7} + 8000cfe: af00 add r7, sp, #0 /* USER CODE BEGIN UsageFault_IRQn 0 */ /* USER CODE END UsageFault_IRQn 0 */ while (1) - 8000d28: e7fe b.n 8000d28 + 8000d00: e7fe b.n 8000d00 -08000d2a : +08000d02 : /** * @brief This function handles System service call via SWI instruction. */ void SVC_Handler(void) { - 8000d2a: b480 push {r7} - 8000d2c: af00 add r7, sp, #0 + 8000d02: b480 push {r7} + 8000d04: af00 add r7, sp, #0 /* USER CODE END SVCall_IRQn 0 */ /* USER CODE BEGIN SVCall_IRQn 1 */ /* USER CODE END SVCall_IRQn 1 */ } - 8000d2e: bf00 nop - 8000d30: 46bd mov sp, r7 - 8000d32: f85d 7b04 ldr.w r7, [sp], #4 - 8000d36: 4770 bx lr + 8000d06: bf00 nop + 8000d08: 46bd mov sp, r7 + 8000d0a: f85d 7b04 ldr.w r7, [sp], #4 + 8000d0e: 4770 bx lr -08000d38 : +08000d10 : /** * @brief This function handles Debug monitor. */ void DebugMon_Handler(void) { - 8000d38: b480 push {r7} - 8000d3a: af00 add r7, sp, #0 + 8000d10: b480 push {r7} + 8000d12: af00 add r7, sp, #0 /* USER CODE END DebugMonitor_IRQn 0 */ /* USER CODE BEGIN DebugMonitor_IRQn 1 */ /* USER CODE END DebugMonitor_IRQn 1 */ } - 8000d3c: bf00 nop - 8000d3e: 46bd mov sp, r7 - 8000d40: f85d 7b04 ldr.w r7, [sp], #4 - 8000d44: 4770 bx lr + 8000d14: bf00 nop + 8000d16: 46bd mov sp, r7 + 8000d18: f85d 7b04 ldr.w r7, [sp], #4 + 8000d1c: 4770 bx lr -08000d46 : +08000d1e : /** * @brief This function handles Pendable request for system service. */ void PendSV_Handler(void) { - 8000d46: b480 push {r7} - 8000d48: af00 add r7, sp, #0 + 8000d1e: b480 push {r7} + 8000d20: af00 add r7, sp, #0 /* USER CODE END PendSV_IRQn 0 */ /* USER CODE BEGIN PendSV_IRQn 1 */ /* USER CODE END PendSV_IRQn 1 */ } - 8000d4a: bf00 nop - 8000d4c: 46bd mov sp, r7 - 8000d4e: f85d 7b04 ldr.w r7, [sp], #4 - 8000d52: 4770 bx lr + 8000d22: bf00 nop + 8000d24: 46bd mov sp, r7 + 8000d26: f85d 7b04 ldr.w r7, [sp], #4 + 8000d2a: 4770 bx lr -08000d54 : +08000d2c : /** * @brief This function handles System tick timer. */ void SysTick_Handler(void) { - 8000d54: b580 push {r7, lr} - 8000d56: af00 add r7, sp, #0 + 8000d2c: b580 push {r7, lr} + 8000d2e: af00 add r7, sp, #0 /* USER CODE BEGIN SysTick_IRQn 0 */ /* USER CODE END SysTick_IRQn 0 */ HAL_IncTick(); - 8000d58: f000 f8f8 bl 8000f4c + 8000d30: f000 f8f6 bl 8000f20 /* USER CODE BEGIN SysTick_IRQn 1 */ /* USER CODE END SysTick_IRQn 1 */ } - 8000d5c: bf00 nop - 8000d5e: bd80 pop {r7, pc} + 8000d34: bf00 nop + 8000d36: bd80 pop {r7, pc} -08000d60 : +08000d38 : /** * @brief This function handles TIM1 update interrupt and TIM10 global interrupt. */ void TIM1_UP_TIM10_IRQHandler(void) { - 8000d60: b580 push {r7, lr} - 8000d62: b082 sub sp, #8 - 8000d64: af02 add r7, sp, #8 + 8000d38: b580 push {r7, lr} + 8000d3a: b082 sub sp, #8 + 8000d3c: af02 add r7, sp, #8 /* USER CODE BEGIN TIM1_UP_TIM10_IRQn 0 */ HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_1); - 8000d66: 2100 movs r1, #0 - 8000d68: 4817 ldr r0, [pc, #92] ; (8000dc8 ) - 8000d6a: f001 fea1 bl 8002ab0 + 8000d3e: 2100 movs r1, #0 + 8000d40: 4817 ldr r0, [pc, #92] ; (8000da0 ) + 8000d42: f001 fe9f bl 8002a84 if (channel == 1) { // сейчас канал 1 - 8000d6e: 4b17 ldr r3, [pc, #92] ; (8000dcc ) - 8000d70: 681b ldr r3, [r3, #0] - 8000d72: 2b01 cmp r3, #1 - 8000d74: d115 bne.n 8000da2 + 8000d46: 4b17 ldr r3, [pc, #92] ; (8000da4 ) + 8000d48: 681b ldr r3, [r3, #0] + 8000d4a: 2b01 cmp r3, #1 + 8000d4c: d115 bne.n 8000d7a if (iter == 0) { // стартовая настройка - 8000d76: 4b16 ldr r3, [pc, #88] ; (8000dd0 ) - 8000d78: 681b ldr r3, [r3, #0] - 8000d7a: 2b00 cmp r3, #0 - 8000d7c: d108 bne.n 8000d90 + 8000d4e: 4b16 ldr r3, [pc, #88] ; (8000da8 ) + 8000d50: 681b ldr r3, [r3, #0] + 8000d52: 2b00 cmp r3, #0 + 8000d54: d108 bne.n 8000d68 CommonChannelActions(&modes[0], 1, &channel, &iter, &settings_set); - 8000d7e: 4b15 ldr r3, [pc, #84] ; (8000dd4 ) - 8000d80: 9300 str r3, [sp, #0] - 8000d82: 4b13 ldr r3, [pc, #76] ; (8000dd0 ) - 8000d84: 4a11 ldr r2, [pc, #68] ; (8000dcc ) - 8000d86: 2101 movs r1, #1 - 8000d88: 4813 ldr r0, [pc, #76] ; (8000dd8 ) - 8000d8a: f000 f82b bl 8000de4 - 8000d8e: e014 b.n 8000dba + 8000d56: 4b15 ldr r3, [pc, #84] ; (8000dac ) + 8000d58: 9300 str r3, [sp, #0] + 8000d5a: 4b13 ldr r3, [pc, #76] ; (8000da8 ) + 8000d5c: 4a11 ldr r2, [pc, #68] ; (8000da4 ) + 8000d5e: 2101 movs r1, #1 + 8000d60: 4813 ldr r0, [pc, #76] ; (8000db0 ) + 8000d62: f000 f82b bl 8000dbc + 8000d66: e014 b.n 8000d92 } else { CommonChannelActions(&modes[1], 2, &channel, &iter, &settings_set); - 8000d90: 4b10 ldr r3, [pc, #64] ; (8000dd4 ) - 8000d92: 9300 str r3, [sp, #0] - 8000d94: 4b0e ldr r3, [pc, #56] ; (8000dd0 ) - 8000d96: 4a0d ldr r2, [pc, #52] ; (8000dcc ) - 8000d98: 2102 movs r1, #2 - 8000d9a: 4810 ldr r0, [pc, #64] ; (8000ddc ) - 8000d9c: f000 f822 bl 8000de4 - 8000da0: e00b b.n 8000dba + 8000d68: 4b10 ldr r3, [pc, #64] ; (8000dac ) + 8000d6a: 9300 str r3, [sp, #0] + 8000d6c: 4b0e ldr r3, [pc, #56] ; (8000da8 ) + 8000d6e: 4a0d ldr r2, [pc, #52] ; (8000da4 ) + 8000d70: 2102 movs r1, #2 + 8000d72: 4810 ldr r0, [pc, #64] ; (8000db4 ) + 8000d74: f000 f822 bl 8000dbc + 8000d78: e00b b.n 8000d92 } } else if (channel == 2) { // сейчас канал 2 - 8000da2: 4b0a ldr r3, [pc, #40] ; (8000dcc ) - 8000da4: 681b ldr r3, [r3, #0] - 8000da6: 2b02 cmp r3, #2 - 8000da8: d107 bne.n 8000dba + 8000d7a: 4b0a ldr r3, [pc, #40] ; (8000da4 ) + 8000d7c: 681b ldr r3, [r3, #0] + 8000d7e: 2b02 cmp r3, #2 + 8000d80: d107 bne.n 8000d92 CommonChannelActions(&modes[0], 1, &channel, &iter, &settings_set); - 8000daa: 4b0a ldr r3, [pc, #40] ; (8000dd4 ) - 8000dac: 9300 str r3, [sp, #0] - 8000dae: 4b08 ldr r3, [pc, #32] ; (8000dd0 ) - 8000db0: 4a06 ldr r2, [pc, #24] ; (8000dcc ) - 8000db2: 2101 movs r1, #1 - 8000db4: 4808 ldr r0, [pc, #32] ; (8000dd8 ) - 8000db6: f000 f815 bl 8000de4 + 8000d82: 4b0a ldr r3, [pc, #40] ; (8000dac ) + 8000d84: 9300 str r3, [sp, #0] + 8000d86: 4b08 ldr r3, [pc, #32] ; (8000da8 ) + 8000d88: 4a06 ldr r2, [pc, #24] ; (8000da4 ) + 8000d8a: 2101 movs r1, #1 + 8000d8c: 4808 ldr r0, [pc, #32] ; (8000db0 ) + 8000d8e: f000 f815 bl 8000dbc } //HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_1); /* USER CODE END TIM1_UP_TIM10_IRQn 0 */ HAL_TIM_IRQHandler(&htim1); - 8000dba: 4809 ldr r0, [pc, #36] ; (8000de0 ) - 8000dbc: f001 fee8 bl 8002b90 + 8000d92: 4809 ldr r0, [pc, #36] ; (8000db8 ) + 8000d94: f001 fee6 bl 8002b64 /* USER CODE BEGIN TIM1_UP_TIM10_IRQn 1 */ /* USER CODE END TIM1_UP_TIM10_IRQn 1 */ } - 8000dc0: bf00 nop - 8000dc2: 46bd mov sp, r7 - 8000dc4: bd80 pop {r7, pc} - 8000dc6: bf00 nop - 8000dc8: 200000cc .word 0x200000cc - 8000dcc: 20000000 .word 0x20000000 - 8000dd0: 20000114 .word 0x20000114 - 8000dd4: 20000130 .word 0x20000130 - 8000dd8: 20000118 .word 0x20000118 - 8000ddc: 20000124 .word 0x20000124 - 8000de0: 20000084 .word 0x20000084 - -08000de4 : + 8000d98: bf00 nop + 8000d9a: 46bd mov sp, r7 + 8000d9c: bd80 pop {r7, pc} + 8000d9e: bf00 nop + 8000da0: 200000cc .word 0x200000cc + 8000da4: 20000000 .word 0x20000000 + 8000da8: 20000114 .word 0x20000114 + 8000dac: 20000130 .word 0x20000130 + 8000db0: 20000118 .word 0x20000118 + 8000db4: 20000124 .word 0x20000124 + 8000db8: 20000084 .word 0x20000084 + +08000dbc : /* USER CODE BEGIN 1 */ void CommonChannelActions(Mode *mode_ptr, int channel, int *channelPtr, int *iter, int *settings_set) { - 8000de4: b580 push {r7, lr} - 8000de6: b086 sub sp, #24 - 8000de8: af02 add r7, sp, #8 - 8000dea: 60f8 str r0, [r7, #12] - 8000dec: 60b9 str r1, [r7, #8] - 8000dee: 607a str r2, [r7, #4] - 8000df0: 603b str r3, [r7, #0] + 8000dbc: b580 push {r7, lr} + 8000dbe: b086 sub sp, #24 + 8000dc0: af02 add r7, sp, #8 + 8000dc2: 60f8 str r0, [r7, #12] + 8000dc4: 60b9 str r1, [r7, #8] + 8000dc6: 607a str r2, [r7, #4] + 8000dc8: 603b str r3, [r7, #0] ChannelSwap(mode_ptr, channel, channelPtr, (channel == 1) ? 1 : 0, settings_set); - 8000df2: 68bb ldr r3, [r7, #8] - 8000df4: 2b01 cmp r3, #1 - 8000df6: bf0c ite eq - 8000df8: 2301 moveq r3, #1 - 8000dfa: 2300 movne r3, #0 - 8000dfc: b2db uxtb r3, r3 - 8000dfe: 461a mov r2, r3 - 8000e00: 69bb ldr r3, [r7, #24] - 8000e02: 9300 str r3, [sp, #0] - 8000e04: 4613 mov r3, r2 - 8000e06: 687a ldr r2, [r7, #4] - 8000e08: 68b9 ldr r1, [r7, #8] - 8000e0a: 68f8 ldr r0, [r7, #12] - 8000e0c: f7ff fe50 bl 8000ab0 + 8000dca: 68bb ldr r3, [r7, #8] + 8000dcc: 2b01 cmp r3, #1 + 8000dce: bf0c ite eq + 8000dd0: 2301 moveq r3, #1 + 8000dd2: 2300 movne r3, #0 + 8000dd4: b2db uxtb r3, r3 + 8000dd6: 461a mov r2, r3 + 8000dd8: 69bb ldr r3, [r7, #24] + 8000dda: 9300 str r3, [sp, #0] + 8000ddc: 4613 mov r3, r2 + 8000dde: 687a ldr r2, [r7, #4] + 8000de0: 68b9 ldr r1, [r7, #8] + 8000de2: 68f8 ldr r0, [r7, #12] + 8000de4: f7ff fe50 bl 8000a88 SetInvert(mode_ptr); - 8000e10: 68f8 ldr r0, [r7, #12] - 8000e12: f7ff fbbf bl 8000594 - SetIN_R1(mode_ptr); - 8000e16: 68f8 ldr r0, [r7, #12] - 8000e18: f7ff fbce bl 80005b8 + 8000de8: 68f8 ldr r0, [r7, #12] + 8000dea: f7ff fbd3 bl 8000594 + //SetIN_R1(mode_ptr); if (channel == 1) *iter = 1; - 8000e1c: 68bb ldr r3, [r7, #8] - 8000e1e: 2b01 cmp r3, #1 - 8000e20: d102 bne.n 8000e28 - 8000e22: 683b ldr r3, [r7, #0] - 8000e24: 2201 movs r2, #1 - 8000e26: 601a str r2, [r3, #0] + 8000dee: 68bb ldr r3, [r7, #8] + 8000df0: 2b01 cmp r3, #1 + 8000df2: d102 bne.n 8000dfa + 8000df4: 683b ldr r3, [r7, #0] + 8000df6: 2201 movs r2, #1 + 8000df8: 601a str r2, [r3, #0] } - 8000e28: bf00 nop - 8000e2a: 3710 adds r7, #16 - 8000e2c: 46bd mov sp, r7 - 8000e2e: bd80 pop {r7, pc} + 8000dfa: bf00 nop + 8000dfc: 3710 adds r7, #16 + 8000dfe: 46bd mov sp, r7 + 8000e00: bd80 pop {r7, pc} + ... -08000e30 : +08000e04 : * configuration. * @param None * @retval None */ void SystemInit(void) { - 8000e30: b480 push {r7} - 8000e32: af00 add r7, sp, #0 + 8000e04: b480 push {r7} + 8000e06: 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 */ - 8000e34: 4b06 ldr r3, [pc, #24] ; (8000e50 ) - 8000e36: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 - 8000e3a: 4a05 ldr r2, [pc, #20] ; (8000e50 ) - 8000e3c: f443 0370 orr.w r3, r3, #15728640 ; 0xf00000 - 8000e40: f8c2 3088 str.w r3, [r2, #136] ; 0x88 + 8000e08: 4b06 ldr r3, [pc, #24] ; (8000e24 ) + 8000e0a: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 + 8000e0e: 4a05 ldr r2, [pc, #20] ; (8000e24 ) + 8000e10: f443 0370 orr.w r3, r3, #15728640 ; 0xf00000 + 8000e14: f8c2 3088 str.w r3, [r2, #136] ; 0x88 /* Configure the Vector Table location -------------------------------------*/ #if defined(USER_VECT_TAB_ADDRESS) SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ #endif /* USER_VECT_TAB_ADDRESS */ } - 8000e44: bf00 nop - 8000e46: 46bd mov sp, r7 - 8000e48: f85d 7b04 ldr.w r7, [sp], #4 - 8000e4c: 4770 bx lr - 8000e4e: bf00 nop - 8000e50: e000ed00 .word 0xe000ed00 + 8000e18: bf00 nop + 8000e1a: 46bd mov sp, r7 + 8000e1c: f85d 7b04 ldr.w r7, [sp], #4 + 8000e20: 4770 bx lr + 8000e22: bf00 nop + 8000e24: e000ed00 .word 0xe000ed00 -08000e54 : +08000e28 : .section .text.Reset_Handler .weak Reset_Handler .type Reset_Handler, %function Reset_Handler: ldr sp, =_estack /* set stack pointer */ - 8000e54: f8df d034 ldr.w sp, [pc, #52] ; 8000e8c + 8000e28: f8df d034 ldr.w sp, [pc, #52] ; 8000e60 /* Copy the data segment initializers from flash to SRAM */ ldr r0, =_sdata - 8000e58: 480d ldr r0, [pc, #52] ; (8000e90 ) + 8000e2c: 480d ldr r0, [pc, #52] ; (8000e64 ) ldr r1, =_edata - 8000e5a: 490e ldr r1, [pc, #56] ; (8000e94 ) + 8000e2e: 490e ldr r1, [pc, #56] ; (8000e68 ) ldr r2, =_sidata - 8000e5c: 4a0e ldr r2, [pc, #56] ; (8000e98 ) + 8000e30: 4a0e ldr r2, [pc, #56] ; (8000e6c ) movs r3, #0 - 8000e5e: 2300 movs r3, #0 + 8000e32: 2300 movs r3, #0 b LoopCopyDataInit - 8000e60: e002 b.n 8000e68 + 8000e34: e002 b.n 8000e3c -08000e62 : +08000e36 : CopyDataInit: ldr r4, [r2, r3] - 8000e62: 58d4 ldr r4, [r2, r3] + 8000e36: 58d4 ldr r4, [r2, r3] str r4, [r0, r3] - 8000e64: 50c4 str r4, [r0, r3] + 8000e38: 50c4 str r4, [r0, r3] adds r3, r3, #4 - 8000e66: 3304 adds r3, #4 + 8000e3a: 3304 adds r3, #4 -08000e68 : +08000e3c : LoopCopyDataInit: adds r4, r0, r3 - 8000e68: 18c4 adds r4, r0, r3 + 8000e3c: 18c4 adds r4, r0, r3 cmp r4, r1 - 8000e6a: 428c cmp r4, r1 + 8000e3e: 428c cmp r4, r1 bcc CopyDataInit - 8000e6c: d3f9 bcc.n 8000e62 + 8000e40: d3f9 bcc.n 8000e36 /* Zero fill the bss segment. */ ldr r2, =_sbss - 8000e6e: 4a0b ldr r2, [pc, #44] ; (8000e9c ) + 8000e42: 4a0b ldr r2, [pc, #44] ; (8000e70 ) ldr r4, =_ebss - 8000e70: 4c0b ldr r4, [pc, #44] ; (8000ea0 ) + 8000e44: 4c0b ldr r4, [pc, #44] ; (8000e74 ) movs r3, #0 - 8000e72: 2300 movs r3, #0 + 8000e46: 2300 movs r3, #0 b LoopFillZerobss - 8000e74: e001 b.n 8000e7a + 8000e48: e001 b.n 8000e4e -08000e76 : +08000e4a : FillZerobss: str r3, [r2] - 8000e76: 6013 str r3, [r2, #0] + 8000e4a: 6013 str r3, [r2, #0] adds r2, r2, #4 - 8000e78: 3204 adds r2, #4 + 8000e4c: 3204 adds r2, #4 -08000e7a : +08000e4e : LoopFillZerobss: cmp r2, r4 - 8000e7a: 42a2 cmp r2, r4 + 8000e4e: 42a2 cmp r2, r4 bcc FillZerobss - 8000e7c: d3fb bcc.n 8000e76 + 8000e50: d3fb bcc.n 8000e4a /* Call the clock system initialization function.*/ bl SystemInit - 8000e7e: f7ff ffd7 bl 8000e30 + 8000e52: f7ff ffd7 bl 8000e04 /* Call static constructors */ bl __libc_init_array - 8000e82: f002 fd9f bl 80039c4 <__libc_init_array> + 8000e56: f002 fd9f bl 8003998 <__libc_init_array> /* Call the application's entry point.*/ bl main - 8000e86: f7ff fcd9 bl 800083c
+ 8000e5a: f7ff fcdb bl 8000814
bx lr - 8000e8a: 4770 bx lr + 8000e5e: 4770 bx lr ldr sp, =_estack /* set stack pointer */ - 8000e8c: 20020000 .word 0x20020000 + 8000e60: 20020000 .word 0x20020000 ldr r0, =_sdata - 8000e90: 20000000 .word 0x20000000 + 8000e64: 20000000 .word 0x20000000 ldr r1, =_edata - 8000e94: 20000010 .word 0x20000010 + 8000e68: 20000010 .word 0x20000010 ldr r2, =_sidata - 8000e98: 08003a44 .word 0x08003a44 + 8000e6c: 08003a18 .word 0x08003a18 ldr r2, =_sbss - 8000e9c: 20000010 .word 0x20000010 + 8000e70: 20000010 .word 0x20000010 ldr r4, =_ebss - 8000ea0: 20000138 .word 0x20000138 + 8000e74: 20000138 .word 0x20000138 -08000ea4 : +08000e78 : * @retval None */ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: b Infinite_Loop - 8000ea4: e7fe b.n 8000ea4 + 8000e78: e7fe b.n 8000e78 ... -08000ea8 : +08000e7c : * need to ensure that the SysTick time base is always set to 1 millisecond * to have correct HAL operation. * @retval HAL status */ HAL_StatusTypeDef HAL_Init(void) { - 8000ea8: b580 push {r7, lr} - 8000eaa: af00 add r7, sp, #0 + 8000e7c: b580 push {r7, lr} + 8000e7e: af00 add r7, sp, #0 /* Configure Flash prefetch, Instruction cache, Data cache */ #if (INSTRUCTION_CACHE_ENABLE != 0U) __HAL_FLASH_INSTRUCTION_CACHE_ENABLE(); - 8000eac: 4b0e ldr r3, [pc, #56] ; (8000ee8 ) - 8000eae: 681b ldr r3, [r3, #0] - 8000eb0: 4a0d ldr r2, [pc, #52] ; (8000ee8 ) - 8000eb2: f443 7300 orr.w r3, r3, #512 ; 0x200 - 8000eb6: 6013 str r3, [r2, #0] + 8000e80: 4b0e ldr r3, [pc, #56] ; (8000ebc ) + 8000e82: 681b ldr r3, [r3, #0] + 8000e84: 4a0d ldr r2, [pc, #52] ; (8000ebc ) + 8000e86: f443 7300 orr.w r3, r3, #512 ; 0x200 + 8000e8a: 6013 str r3, [r2, #0] #endif /* INSTRUCTION_CACHE_ENABLE */ #if (DATA_CACHE_ENABLE != 0U) __HAL_FLASH_DATA_CACHE_ENABLE(); - 8000eb8: 4b0b ldr r3, [pc, #44] ; (8000ee8 ) - 8000eba: 681b ldr r3, [r3, #0] - 8000ebc: 4a0a ldr r2, [pc, #40] ; (8000ee8 ) - 8000ebe: f443 6380 orr.w r3, r3, #1024 ; 0x400 - 8000ec2: 6013 str r3, [r2, #0] + 8000e8c: 4b0b ldr r3, [pc, #44] ; (8000ebc ) + 8000e8e: 681b ldr r3, [r3, #0] + 8000e90: 4a0a ldr r2, [pc, #40] ; (8000ebc ) + 8000e92: f443 6380 orr.w r3, r3, #1024 ; 0x400 + 8000e96: 6013 str r3, [r2, #0] #endif /* DATA_CACHE_ENABLE */ #if (PREFETCH_ENABLE != 0U) __HAL_FLASH_PREFETCH_BUFFER_ENABLE(); - 8000ec4: 4b08 ldr r3, [pc, #32] ; (8000ee8 ) - 8000ec6: 681b ldr r3, [r3, #0] - 8000ec8: 4a07 ldr r2, [pc, #28] ; (8000ee8 ) - 8000eca: f443 7380 orr.w r3, r3, #256 ; 0x100 - 8000ece: 6013 str r3, [r2, #0] + 8000e98: 4b08 ldr r3, [pc, #32] ; (8000ebc ) + 8000e9a: 681b ldr r3, [r3, #0] + 8000e9c: 4a07 ldr r2, [pc, #28] ; (8000ebc ) + 8000e9e: f443 7380 orr.w r3, r3, #256 ; 0x100 + 8000ea2: 6013 str r3, [r2, #0] #endif /* PREFETCH_ENABLE */ /* Set Interrupt Group Priority */ HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4); - 8000ed0: 2003 movs r0, #3 - 8000ed2: f000 f92b bl 800112c + 8000ea4: 2003 movs r0, #3 + 8000ea6: f000 f92b bl 8001100 /* Use systick as time base source and configure 1ms tick (default clock after Reset is HSI) */ HAL_InitTick(TICK_INT_PRIORITY); - 8000ed6: 200f movs r0, #15 - 8000ed8: f000 f808 bl 8000eec + 8000eaa: 200f movs r0, #15 + 8000eac: f000 f808 bl 8000ec0 /* Init the low level hardware */ HAL_MspInit(); - 8000edc: f7ff fe0a bl 8000af4 + 8000eb0: f7ff fe0c bl 8000acc /* Return function status */ return HAL_OK; - 8000ee0: 2300 movs r3, #0 + 8000eb4: 2300 movs r3, #0 } - 8000ee2: 4618 mov r0, r3 - 8000ee4: bd80 pop {r7, pc} - 8000ee6: bf00 nop - 8000ee8: 40023c00 .word 0x40023c00 + 8000eb6: 4618 mov r0, r3 + 8000eb8: bd80 pop {r7, pc} + 8000eba: bf00 nop + 8000ebc: 40023c00 .word 0x40023c00 -08000eec : +08000ec0 : * implementation in user file. * @param TickPriority Tick interrupt priority. * @retval HAL status */ __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) { - 8000eec: b580 push {r7, lr} - 8000eee: b082 sub sp, #8 - 8000ef0: af00 add r7, sp, #0 - 8000ef2: 6078 str r0, [r7, #4] + 8000ec0: b580 push {r7, lr} + 8000ec2: b082 sub sp, #8 + 8000ec4: af00 add r7, sp, #0 + 8000ec6: 6078 str r0, [r7, #4] /* Configure the SysTick to have interrupt in 1ms time basis*/ if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) > 0U) - 8000ef4: 4b12 ldr r3, [pc, #72] ; (8000f40 ) - 8000ef6: 681a ldr r2, [r3, #0] - 8000ef8: 4b12 ldr r3, [pc, #72] ; (8000f44 ) - 8000efa: 781b ldrb r3, [r3, #0] - 8000efc: 4619 mov r1, r3 - 8000efe: f44f 737a mov.w r3, #1000 ; 0x3e8 - 8000f02: fbb3 f3f1 udiv r3, r3, r1 - 8000f06: fbb2 f3f3 udiv r3, r2, r3 - 8000f0a: 4618 mov r0, r3 - 8000f0c: f000 f943 bl 8001196 - 8000f10: 4603 mov r3, r0 - 8000f12: 2b00 cmp r3, #0 - 8000f14: d001 beq.n 8000f1a + 8000ec8: 4b12 ldr r3, [pc, #72] ; (8000f14 ) + 8000eca: 681a ldr r2, [r3, #0] + 8000ecc: 4b12 ldr r3, [pc, #72] ; (8000f18 ) + 8000ece: 781b ldrb r3, [r3, #0] + 8000ed0: 4619 mov r1, r3 + 8000ed2: f44f 737a mov.w r3, #1000 ; 0x3e8 + 8000ed6: fbb3 f3f1 udiv r3, r3, r1 + 8000eda: fbb2 f3f3 udiv r3, r2, r3 + 8000ede: 4618 mov r0, r3 + 8000ee0: f000 f943 bl 800116a + 8000ee4: 4603 mov r3, r0 + 8000ee6: 2b00 cmp r3, #0 + 8000ee8: d001 beq.n 8000eee { return HAL_ERROR; - 8000f16: 2301 movs r3, #1 - 8000f18: e00e b.n 8000f38 + 8000eea: 2301 movs r3, #1 + 8000eec: e00e b.n 8000f0c } /* Configure the SysTick IRQ priority */ if (TickPriority < (1UL << __NVIC_PRIO_BITS)) - 8000f1a: 687b ldr r3, [r7, #4] - 8000f1c: 2b0f cmp r3, #15 - 8000f1e: d80a bhi.n 8000f36 + 8000eee: 687b ldr r3, [r7, #4] + 8000ef0: 2b0f cmp r3, #15 + 8000ef2: d80a bhi.n 8000f0a { HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U); - 8000f20: 2200 movs r2, #0 - 8000f22: 6879 ldr r1, [r7, #4] - 8000f24: f04f 30ff mov.w r0, #4294967295 - 8000f28: f000 f90b bl 8001142 + 8000ef4: 2200 movs r2, #0 + 8000ef6: 6879 ldr r1, [r7, #4] + 8000ef8: f04f 30ff mov.w r0, #4294967295 + 8000efc: f000 f90b bl 8001116 uwTickPrio = TickPriority; - 8000f2c: 4a06 ldr r2, [pc, #24] ; (8000f48 ) - 8000f2e: 687b ldr r3, [r7, #4] - 8000f30: 6013 str r3, [r2, #0] + 8000f00: 4a06 ldr r2, [pc, #24] ; (8000f1c ) + 8000f02: 687b ldr r3, [r7, #4] + 8000f04: 6013 str r3, [r2, #0] { return HAL_ERROR; } /* Return function status */ return HAL_OK; - 8000f32: 2300 movs r3, #0 - 8000f34: e000 b.n 8000f38 + 8000f06: 2300 movs r3, #0 + 8000f08: e000 b.n 8000f0c return HAL_ERROR; - 8000f36: 2301 movs r3, #1 + 8000f0a: 2301 movs r3, #1 } - 8000f38: 4618 mov r0, r3 - 8000f3a: 3708 adds r7, #8 - 8000f3c: 46bd mov sp, r7 - 8000f3e: bd80 pop {r7, pc} - 8000f40: 20000004 .word 0x20000004 - 8000f44: 2000000c .word 0x2000000c - 8000f48: 20000008 .word 0x20000008 - -08000f4c : + 8000f0c: 4618 mov r0, r3 + 8000f0e: 3708 adds r7, #8 + 8000f10: 46bd mov sp, r7 + 8000f12: bd80 pop {r7, pc} + 8000f14: 20000004 .word 0x20000004 + 8000f18: 2000000c .word 0x2000000c + 8000f1c: 20000008 .word 0x20000008 + +08000f20 : * @note This function is declared as __weak to be overwritten in case of other * implementations in user file. * @retval None */ __weak void HAL_IncTick(void) { - 8000f4c: b480 push {r7} - 8000f4e: af00 add r7, sp, #0 + 8000f20: b480 push {r7} + 8000f22: af00 add r7, sp, #0 uwTick += uwTickFreq; - 8000f50: 4b06 ldr r3, [pc, #24] ; (8000f6c ) - 8000f52: 781b ldrb r3, [r3, #0] - 8000f54: 461a mov r2, r3 - 8000f56: 4b06 ldr r3, [pc, #24] ; (8000f70 ) - 8000f58: 681b ldr r3, [r3, #0] - 8000f5a: 4413 add r3, r2 - 8000f5c: 4a04 ldr r2, [pc, #16] ; (8000f70 ) - 8000f5e: 6013 str r3, [r2, #0] + 8000f24: 4b06 ldr r3, [pc, #24] ; (8000f40 ) + 8000f26: 781b ldrb r3, [r3, #0] + 8000f28: 461a mov r2, r3 + 8000f2a: 4b06 ldr r3, [pc, #24] ; (8000f44 ) + 8000f2c: 681b ldr r3, [r3, #0] + 8000f2e: 4413 add r3, r2 + 8000f30: 4a04 ldr r2, [pc, #16] ; (8000f44 ) + 8000f32: 6013 str r3, [r2, #0] } - 8000f60: bf00 nop - 8000f62: 46bd mov sp, r7 - 8000f64: f85d 7b04 ldr.w r7, [sp], #4 - 8000f68: 4770 bx lr - 8000f6a: bf00 nop - 8000f6c: 2000000c .word 0x2000000c - 8000f70: 20000134 .word 0x20000134 - -08000f74 : + 8000f34: bf00 nop + 8000f36: 46bd mov sp, r7 + 8000f38: f85d 7b04 ldr.w r7, [sp], #4 + 8000f3c: 4770 bx lr + 8000f3e: bf00 nop + 8000f40: 2000000c .word 0x2000000c + 8000f44: 20000134 .word 0x20000134 + +08000f48 : * @note This function is declared as __weak to be overwritten in case of other * implementations in user file. * @retval tick value */ __weak uint32_t HAL_GetTick(void) { - 8000f74: b480 push {r7} - 8000f76: af00 add r7, sp, #0 + 8000f48: b480 push {r7} + 8000f4a: af00 add r7, sp, #0 return uwTick; - 8000f78: 4b03 ldr r3, [pc, #12] ; (8000f88 ) - 8000f7a: 681b ldr r3, [r3, #0] + 8000f4c: 4b03 ldr r3, [pc, #12] ; (8000f5c ) + 8000f4e: 681b ldr r3, [r3, #0] } - 8000f7c: 4618 mov r0, r3 - 8000f7e: 46bd mov sp, r7 - 8000f80: f85d 7b04 ldr.w r7, [sp], #4 - 8000f84: 4770 bx lr - 8000f86: bf00 nop - 8000f88: 20000134 .word 0x20000134 - -08000f8c <__NVIC_SetPriorityGrouping>: + 8000f50: 4618 mov r0, r3 + 8000f52: 46bd mov sp, r7 + 8000f54: f85d 7b04 ldr.w r7, [sp], #4 + 8000f58: 4770 bx lr + 8000f5a: bf00 nop + 8000f5c: 20000134 .word 0x20000134 + +08000f60 <__NVIC_SetPriorityGrouping>: In case of a conflict between priority grouping and available priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. \param [in] PriorityGroup Priority grouping field. */ __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup) { - 8000f8c: b480 push {r7} - 8000f8e: b085 sub sp, #20 - 8000f90: af00 add r7, sp, #0 - 8000f92: 6078 str r0, [r7, #4] + 8000f60: b480 push {r7} + 8000f62: b085 sub sp, #20 + 8000f64: af00 add r7, sp, #0 + 8000f66: 6078 str r0, [r7, #4] uint32_t reg_value; uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ - 8000f94: 687b ldr r3, [r7, #4] - 8000f96: f003 0307 and.w r3, r3, #7 - 8000f9a: 60fb str r3, [r7, #12] + 8000f68: 687b ldr r3, [r7, #4] + 8000f6a: f003 0307 and.w r3, r3, #7 + 8000f6e: 60fb str r3, [r7, #12] reg_value = SCB->AIRCR; /* read old register configuration */ - 8000f9c: 4b0c ldr r3, [pc, #48] ; (8000fd0 <__NVIC_SetPriorityGrouping+0x44>) - 8000f9e: 68db ldr r3, [r3, #12] - 8000fa0: 60bb str r3, [r7, #8] + 8000f70: 4b0c ldr r3, [pc, #48] ; (8000fa4 <__NVIC_SetPriorityGrouping+0x44>) + 8000f72: 68db ldr r3, [r3, #12] + 8000f74: 60bb str r3, [r7, #8] reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ - 8000fa2: 68ba ldr r2, [r7, #8] - 8000fa4: f64f 03ff movw r3, #63743 ; 0xf8ff - 8000fa8: 4013 ands r3, r2 - 8000faa: 60bb str r3, [r7, #8] + 8000f76: 68ba ldr r2, [r7, #8] + 8000f78: f64f 03ff movw r3, #63743 ; 0xf8ff + 8000f7c: 4013 ands r3, r2 + 8000f7e: 60bb str r3, [r7, #8] reg_value = (reg_value | ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ - 8000fac: 68fb ldr r3, [r7, #12] - 8000fae: 021a lsls r2, r3, #8 + 8000f80: 68fb ldr r3, [r7, #12] + 8000f82: 021a lsls r2, r3, #8 ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | - 8000fb0: 68bb ldr r3, [r7, #8] - 8000fb2: 4313 orrs r3, r2 + 8000f84: 68bb ldr r3, [r7, #8] + 8000f86: 4313 orrs r3, r2 reg_value = (reg_value | - 8000fb4: f043 63bf orr.w r3, r3, #100139008 ; 0x5f80000 - 8000fb8: f443 3300 orr.w r3, r3, #131072 ; 0x20000 - 8000fbc: 60bb str r3, [r7, #8] + 8000f88: f043 63bf orr.w r3, r3, #100139008 ; 0x5f80000 + 8000f8c: f443 3300 orr.w r3, r3, #131072 ; 0x20000 + 8000f90: 60bb str r3, [r7, #8] SCB->AIRCR = reg_value; - 8000fbe: 4a04 ldr r2, [pc, #16] ; (8000fd0 <__NVIC_SetPriorityGrouping+0x44>) - 8000fc0: 68bb ldr r3, [r7, #8] - 8000fc2: 60d3 str r3, [r2, #12] + 8000f92: 4a04 ldr r2, [pc, #16] ; (8000fa4 <__NVIC_SetPriorityGrouping+0x44>) + 8000f94: 68bb ldr r3, [r7, #8] + 8000f96: 60d3 str r3, [r2, #12] } - 8000fc4: bf00 nop - 8000fc6: 3714 adds r7, #20 - 8000fc8: 46bd mov sp, r7 - 8000fca: f85d 7b04 ldr.w r7, [sp], #4 - 8000fce: 4770 bx lr - 8000fd0: e000ed00 .word 0xe000ed00 - -08000fd4 <__NVIC_GetPriorityGrouping>: + 8000f98: bf00 nop + 8000f9a: 3714 adds r7, #20 + 8000f9c: 46bd mov sp, r7 + 8000f9e: f85d 7b04 ldr.w r7, [sp], #4 + 8000fa2: 4770 bx lr + 8000fa4: e000ed00 .word 0xe000ed00 + +08000fa8 <__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) { - 8000fd4: b480 push {r7} - 8000fd6: af00 add r7, sp, #0 + 8000fa8: b480 push {r7} + 8000faa: af00 add r7, sp, #0 return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); - 8000fd8: 4b04 ldr r3, [pc, #16] ; (8000fec <__NVIC_GetPriorityGrouping+0x18>) - 8000fda: 68db ldr r3, [r3, #12] - 8000fdc: 0a1b lsrs r3, r3, #8 - 8000fde: f003 0307 and.w r3, r3, #7 + 8000fac: 4b04 ldr r3, [pc, #16] ; (8000fc0 <__NVIC_GetPriorityGrouping+0x18>) + 8000fae: 68db ldr r3, [r3, #12] + 8000fb0: 0a1b lsrs r3, r3, #8 + 8000fb2: f003 0307 and.w r3, r3, #7 } - 8000fe2: 4618 mov r0, r3 - 8000fe4: 46bd mov sp, r7 - 8000fe6: f85d 7b04 ldr.w r7, [sp], #4 - 8000fea: 4770 bx lr - 8000fec: e000ed00 .word 0xe000ed00 + 8000fb6: 4618 mov r0, r3 + 8000fb8: 46bd mov sp, r7 + 8000fba: f85d 7b04 ldr.w r7, [sp], #4 + 8000fbe: 4770 bx lr + 8000fc0: e000ed00 .word 0xe000ed00 -08000ff0 <__NVIC_EnableIRQ>: +08000fc4 <__NVIC_EnableIRQ>: \details Enables a device specific interrupt in the NVIC interrupt controller. \param [in] IRQn Device specific interrupt number. \note IRQn must not be negative. */ __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) { - 8000ff0: b480 push {r7} - 8000ff2: b083 sub sp, #12 - 8000ff4: af00 add r7, sp, #0 - 8000ff6: 4603 mov r3, r0 - 8000ff8: 71fb strb r3, [r7, #7] + 8000fc4: b480 push {r7} + 8000fc6: b083 sub sp, #12 + 8000fc8: af00 add r7, sp, #0 + 8000fca: 4603 mov r3, r0 + 8000fcc: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) - 8000ffa: f997 3007 ldrsb.w r3, [r7, #7] - 8000ffe: 2b00 cmp r3, #0 - 8001000: db0b blt.n 800101a <__NVIC_EnableIRQ+0x2a> + 8000fce: f997 3007 ldrsb.w r3, [r7, #7] + 8000fd2: 2b00 cmp r3, #0 + 8000fd4: db0b blt.n 8000fee <__NVIC_EnableIRQ+0x2a> { NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 8001002: 79fb ldrb r3, [r7, #7] - 8001004: f003 021f and.w r2, r3, #31 - 8001008: 4907 ldr r1, [pc, #28] ; (8001028 <__NVIC_EnableIRQ+0x38>) - 800100a: f997 3007 ldrsb.w r3, [r7, #7] - 800100e: 095b lsrs r3, r3, #5 - 8001010: 2001 movs r0, #1 - 8001012: fa00 f202 lsl.w r2, r0, r2 - 8001016: f841 2023 str.w r2, [r1, r3, lsl #2] + 8000fd6: 79fb ldrb r3, [r7, #7] + 8000fd8: f003 021f and.w r2, r3, #31 + 8000fdc: 4907 ldr r1, [pc, #28] ; (8000ffc <__NVIC_EnableIRQ+0x38>) + 8000fde: f997 3007 ldrsb.w r3, [r7, #7] + 8000fe2: 095b lsrs r3, r3, #5 + 8000fe4: 2001 movs r0, #1 + 8000fe6: fa00 f202 lsl.w r2, r0, r2 + 8000fea: f841 2023 str.w r2, [r1, r3, lsl #2] } } - 800101a: bf00 nop - 800101c: 370c adds r7, #12 - 800101e: 46bd mov sp, r7 - 8001020: f85d 7b04 ldr.w r7, [sp], #4 - 8001024: 4770 bx lr - 8001026: bf00 nop - 8001028: e000e100 .word 0xe000e100 - -0800102c <__NVIC_SetPriority>: + 8000fee: bf00 nop + 8000ff0: 370c adds r7, #12 + 8000ff2: 46bd mov sp, r7 + 8000ff4: f85d 7b04 ldr.w r7, [sp], #4 + 8000ff8: 4770 bx lr + 8000ffa: bf00 nop + 8000ffc: e000e100 .word 0xe000e100 + +08001000 <__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) { - 800102c: b480 push {r7} - 800102e: b083 sub sp, #12 - 8001030: af00 add r7, sp, #0 - 8001032: 4603 mov r3, r0 - 8001034: 6039 str r1, [r7, #0] - 8001036: 71fb strb r3, [r7, #7] + 8001000: b480 push {r7} + 8001002: b083 sub sp, #12 + 8001004: af00 add r7, sp, #0 + 8001006: 4603 mov r3, r0 + 8001008: 6039 str r1, [r7, #0] + 800100a: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) - 8001038: f997 3007 ldrsb.w r3, [r7, #7] - 800103c: 2b00 cmp r3, #0 - 800103e: db0a blt.n 8001056 <__NVIC_SetPriority+0x2a> + 800100c: f997 3007 ldrsb.w r3, [r7, #7] + 8001010: 2b00 cmp r3, #0 + 8001012: db0a blt.n 800102a <__NVIC_SetPriority+0x2a> { NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); - 8001040: 683b ldr r3, [r7, #0] - 8001042: b2da uxtb r2, r3 - 8001044: 490c ldr r1, [pc, #48] ; (8001078 <__NVIC_SetPriority+0x4c>) - 8001046: f997 3007 ldrsb.w r3, [r7, #7] - 800104a: 0112 lsls r2, r2, #4 - 800104c: b2d2 uxtb r2, r2 - 800104e: 440b add r3, r1 - 8001050: f883 2300 strb.w r2, [r3, #768] ; 0x300 + 8001014: 683b ldr r3, [r7, #0] + 8001016: b2da uxtb r2, r3 + 8001018: 490c ldr r1, [pc, #48] ; (800104c <__NVIC_SetPriority+0x4c>) + 800101a: f997 3007 ldrsb.w r3, [r7, #7] + 800101e: 0112 lsls r2, r2, #4 + 8001020: b2d2 uxtb r2, r2 + 8001022: 440b add r3, r1 + 8001024: 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); } } - 8001054: e00a b.n 800106c <__NVIC_SetPriority+0x40> + 8001028: e00a b.n 8001040 <__NVIC_SetPriority+0x40> SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); - 8001056: 683b ldr r3, [r7, #0] - 8001058: b2da uxtb r2, r3 - 800105a: 4908 ldr r1, [pc, #32] ; (800107c <__NVIC_SetPriority+0x50>) - 800105c: 79fb ldrb r3, [r7, #7] - 800105e: f003 030f and.w r3, r3, #15 - 8001062: 3b04 subs r3, #4 - 8001064: 0112 lsls r2, r2, #4 - 8001066: b2d2 uxtb r2, r2 - 8001068: 440b add r3, r1 - 800106a: 761a strb r2, [r3, #24] + 800102a: 683b ldr r3, [r7, #0] + 800102c: b2da uxtb r2, r3 + 800102e: 4908 ldr r1, [pc, #32] ; (8001050 <__NVIC_SetPriority+0x50>) + 8001030: 79fb ldrb r3, [r7, #7] + 8001032: f003 030f and.w r3, r3, #15 + 8001036: 3b04 subs r3, #4 + 8001038: 0112 lsls r2, r2, #4 + 800103a: b2d2 uxtb r2, r2 + 800103c: 440b add r3, r1 + 800103e: 761a strb r2, [r3, #24] } - 800106c: bf00 nop - 800106e: 370c adds r7, #12 - 8001070: 46bd mov sp, r7 - 8001072: f85d 7b04 ldr.w r7, [sp], #4 - 8001076: 4770 bx lr - 8001078: e000e100 .word 0xe000e100 - 800107c: e000ed00 .word 0xe000ed00 - -08001080 : + 8001040: bf00 nop + 8001042: 370c adds r7, #12 + 8001044: 46bd mov sp, r7 + 8001046: f85d 7b04 ldr.w r7, [sp], #4 + 800104a: 4770 bx lr + 800104c: e000e100 .word 0xe000e100 + 8001050: e000ed00 .word 0xe000ed00 + +08001054 : \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) { - 8001080: b480 push {r7} - 8001082: b089 sub sp, #36 ; 0x24 - 8001084: af00 add r7, sp, #0 - 8001086: 60f8 str r0, [r7, #12] - 8001088: 60b9 str r1, [r7, #8] - 800108a: 607a str r2, [r7, #4] + 8001054: b480 push {r7} + 8001056: b089 sub sp, #36 ; 0x24 + 8001058: af00 add r7, sp, #0 + 800105a: 60f8 str r0, [r7, #12] + 800105c: 60b9 str r1, [r7, #8] + 800105e: 607a str r2, [r7, #4] uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ - 800108c: 68fb ldr r3, [r7, #12] - 800108e: f003 0307 and.w r3, r3, #7 - 8001092: 61fb str r3, [r7, #28] + 8001060: 68fb ldr r3, [r7, #12] + 8001062: f003 0307 and.w r3, r3, #7 + 8001066: 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); - 8001094: 69fb ldr r3, [r7, #28] - 8001096: f1c3 0307 rsb r3, r3, #7 - 800109a: 2b04 cmp r3, #4 - 800109c: bf28 it cs - 800109e: 2304 movcs r3, #4 - 80010a0: 61bb str r3, [r7, #24] + 8001068: 69fb ldr r3, [r7, #28] + 800106a: f1c3 0307 rsb r3, r3, #7 + 800106e: 2b04 cmp r3, #4 + 8001070: bf28 it cs + 8001072: 2304 movcs r3, #4 + 8001074: 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)); - 80010a2: 69fb ldr r3, [r7, #28] - 80010a4: 3304 adds r3, #4 - 80010a6: 2b06 cmp r3, #6 - 80010a8: d902 bls.n 80010b0 - 80010aa: 69fb ldr r3, [r7, #28] - 80010ac: 3b03 subs r3, #3 - 80010ae: e000 b.n 80010b2 - 80010b0: 2300 movs r3, #0 - 80010b2: 617b str r3, [r7, #20] + 8001076: 69fb ldr r3, [r7, #28] + 8001078: 3304 adds r3, #4 + 800107a: 2b06 cmp r3, #6 + 800107c: d902 bls.n 8001084 + 800107e: 69fb ldr r3, [r7, #28] + 8001080: 3b03 subs r3, #3 + 8001082: e000 b.n 8001086 + 8001084: 2300 movs r3, #0 + 8001086: 617b str r3, [r7, #20] return ( ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | - 80010b4: f04f 32ff mov.w r2, #4294967295 - 80010b8: 69bb ldr r3, [r7, #24] - 80010ba: fa02 f303 lsl.w r3, r2, r3 - 80010be: 43da mvns r2, r3 - 80010c0: 68bb ldr r3, [r7, #8] - 80010c2: 401a ands r2, r3 - 80010c4: 697b ldr r3, [r7, #20] - 80010c6: 409a lsls r2, r3 + 8001088: f04f 32ff mov.w r2, #4294967295 + 800108c: 69bb ldr r3, [r7, #24] + 800108e: fa02 f303 lsl.w r3, r2, r3 + 8001092: 43da mvns r2, r3 + 8001094: 68bb ldr r3, [r7, #8] + 8001096: 401a ands r2, r3 + 8001098: 697b ldr r3, [r7, #20] + 800109a: 409a lsls r2, r3 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) - 80010c8: f04f 31ff mov.w r1, #4294967295 - 80010cc: 697b ldr r3, [r7, #20] - 80010ce: fa01 f303 lsl.w r3, r1, r3 - 80010d2: 43d9 mvns r1, r3 - 80010d4: 687b ldr r3, [r7, #4] - 80010d6: 400b ands r3, r1 + 800109c: f04f 31ff mov.w r1, #4294967295 + 80010a0: 697b ldr r3, [r7, #20] + 80010a2: fa01 f303 lsl.w r3, r1, r3 + 80010a6: 43d9 mvns r1, r3 + 80010a8: 687b ldr r3, [r7, #4] + 80010aa: 400b ands r3, r1 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | - 80010d8: 4313 orrs r3, r2 + 80010ac: 4313 orrs r3, r2 ); } - 80010da: 4618 mov r0, r3 - 80010dc: 3724 adds r7, #36 ; 0x24 - 80010de: 46bd mov sp, r7 - 80010e0: f85d 7b04 ldr.w r7, [sp], #4 - 80010e4: 4770 bx lr + 80010ae: 4618 mov r0, r3 + 80010b0: 3724 adds r7, #36 ; 0x24 + 80010b2: 46bd mov sp, r7 + 80010b4: f85d 7b04 ldr.w r7, [sp], #4 + 80010b8: 4770 bx lr ... -080010e8 : +080010bc : \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) { - 80010e8: b580 push {r7, lr} - 80010ea: b082 sub sp, #8 - 80010ec: af00 add r7, sp, #0 - 80010ee: 6078 str r0, [r7, #4] + 80010bc: b580 push {r7, lr} + 80010be: b082 sub sp, #8 + 80010c0: af00 add r7, sp, #0 + 80010c2: 6078 str r0, [r7, #4] if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) - 80010f0: 687b ldr r3, [r7, #4] - 80010f2: 3b01 subs r3, #1 - 80010f4: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 - 80010f8: d301 bcc.n 80010fe + 80010c4: 687b ldr r3, [r7, #4] + 80010c6: 3b01 subs r3, #1 + 80010c8: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 + 80010cc: d301 bcc.n 80010d2 { return (1UL); /* Reload value impossible */ - 80010fa: 2301 movs r3, #1 - 80010fc: e00f b.n 800111e + 80010ce: 2301 movs r3, #1 + 80010d0: e00f b.n 80010f2 } SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ - 80010fe: 4a0a ldr r2, [pc, #40] ; (8001128 ) - 8001100: 687b ldr r3, [r7, #4] - 8001102: 3b01 subs r3, #1 - 8001104: 6053 str r3, [r2, #4] + 80010d2: 4a0a ldr r2, [pc, #40] ; (80010fc ) + 80010d4: 687b ldr r3, [r7, #4] + 80010d6: 3b01 subs r3, #1 + 80010d8: 6053 str r3, [r2, #4] NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ - 8001106: 210f movs r1, #15 - 8001108: f04f 30ff mov.w r0, #4294967295 - 800110c: f7ff ff8e bl 800102c <__NVIC_SetPriority> + 80010da: 210f movs r1, #15 + 80010dc: f04f 30ff mov.w r0, #4294967295 + 80010e0: f7ff ff8e bl 8001000 <__NVIC_SetPriority> SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ - 8001110: 4b05 ldr r3, [pc, #20] ; (8001128 ) - 8001112: 2200 movs r2, #0 - 8001114: 609a str r2, [r3, #8] + 80010e4: 4b05 ldr r3, [pc, #20] ; (80010fc ) + 80010e6: 2200 movs r2, #0 + 80010e8: 609a str r2, [r3, #8] SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | - 8001116: 4b04 ldr r3, [pc, #16] ; (8001128 ) - 8001118: 2207 movs r2, #7 - 800111a: 601a str r2, [r3, #0] + 80010ea: 4b04 ldr r3, [pc, #16] ; (80010fc ) + 80010ec: 2207 movs r2, #7 + 80010ee: 601a str r2, [r3, #0] SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ return (0UL); /* Function successful */ - 800111c: 2300 movs r3, #0 + 80010f0: 2300 movs r3, #0 } - 800111e: 4618 mov r0, r3 - 8001120: 3708 adds r7, #8 - 8001122: 46bd mov sp, r7 - 8001124: bd80 pop {r7, pc} - 8001126: bf00 nop - 8001128: e000e010 .word 0xe000e010 - -0800112c : + 80010f2: 4618 mov r0, r3 + 80010f4: 3708 adds r7, #8 + 80010f6: 46bd mov sp, r7 + 80010f8: bd80 pop {r7, pc} + 80010fa: bf00 nop + 80010fc: e000e010 .word 0xe000e010 + +08001100 : * @note When the NVIC_PriorityGroup_0 is selected, IRQ preemption is no more possible. * The pending IRQ priority will be managed only by the subpriority. * @retval None */ void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup) { - 800112c: b580 push {r7, lr} - 800112e: b082 sub sp, #8 - 8001130: af00 add r7, sp, #0 - 8001132: 6078 str r0, [r7, #4] + 8001100: b580 push {r7, lr} + 8001102: b082 sub sp, #8 + 8001104: af00 add r7, sp, #0 + 8001106: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_NVIC_PRIORITY_GROUP(PriorityGroup)); /* Set the PRIGROUP[10:8] bits according to the PriorityGroup parameter value */ NVIC_SetPriorityGrouping(PriorityGroup); - 8001134: 6878 ldr r0, [r7, #4] - 8001136: f7ff ff29 bl 8000f8c <__NVIC_SetPriorityGrouping> + 8001108: 6878 ldr r0, [r7, #4] + 800110a: f7ff ff29 bl 8000f60 <__NVIC_SetPriorityGrouping> } - 800113a: bf00 nop - 800113c: 3708 adds r7, #8 - 800113e: 46bd mov sp, r7 - 8001140: bd80 pop {r7, pc} + 800110e: bf00 nop + 8001110: 3708 adds r7, #8 + 8001112: 46bd mov sp, r7 + 8001114: bd80 pop {r7, pc} -08001142 : +08001116 : * 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) { - 8001142: b580 push {r7, lr} - 8001144: b086 sub sp, #24 - 8001146: af00 add r7, sp, #0 - 8001148: 4603 mov r3, r0 - 800114a: 60b9 str r1, [r7, #8] - 800114c: 607a str r2, [r7, #4] - 800114e: 73fb strb r3, [r7, #15] + 8001116: b580 push {r7, lr} + 8001118: b086 sub sp, #24 + 800111a: af00 add r7, sp, #0 + 800111c: 4603 mov r3, r0 + 800111e: 60b9 str r1, [r7, #8] + 8001120: 607a str r2, [r7, #4] + 8001122: 73fb strb r3, [r7, #15] uint32_t prioritygroup = 0x00U; - 8001150: 2300 movs r3, #0 - 8001152: 617b str r3, [r7, #20] + 8001124: 2300 movs r3, #0 + 8001126: 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(); - 8001154: f7ff ff3e bl 8000fd4 <__NVIC_GetPriorityGrouping> - 8001158: 6178 str r0, [r7, #20] + 8001128: f7ff ff3e bl 8000fa8 <__NVIC_GetPriorityGrouping> + 800112c: 6178 str r0, [r7, #20] NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority)); - 800115a: 687a ldr r2, [r7, #4] - 800115c: 68b9 ldr r1, [r7, #8] - 800115e: 6978 ldr r0, [r7, #20] - 8001160: f7ff ff8e bl 8001080 - 8001164: 4602 mov r2, r0 - 8001166: f997 300f ldrsb.w r3, [r7, #15] - 800116a: 4611 mov r1, r2 - 800116c: 4618 mov r0, r3 - 800116e: f7ff ff5d bl 800102c <__NVIC_SetPriority> + 800112e: 687a ldr r2, [r7, #4] + 8001130: 68b9 ldr r1, [r7, #8] + 8001132: 6978 ldr r0, [r7, #20] + 8001134: f7ff ff8e bl 8001054 + 8001138: 4602 mov r2, r0 + 800113a: f997 300f ldrsb.w r3, [r7, #15] + 800113e: 4611 mov r1, r2 + 8001140: 4618 mov r0, r3 + 8001142: f7ff ff5d bl 8001000 <__NVIC_SetPriority> } - 8001172: bf00 nop - 8001174: 3718 adds r7, #24 - 8001176: 46bd mov sp, r7 - 8001178: bd80 pop {r7, pc} + 8001146: bf00 nop + 8001148: 3718 adds r7, #24 + 800114a: 46bd mov sp, r7 + 800114c: bd80 pop {r7, pc} -0800117a : +0800114e : * This parameter can be an enumerator of IRQn_Type enumeration * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32f4xxxx.h)) * @retval None */ void HAL_NVIC_EnableIRQ(IRQn_Type IRQn) { - 800117a: b580 push {r7, lr} - 800117c: b082 sub sp, #8 - 800117e: af00 add r7, sp, #0 - 8001180: 4603 mov r3, r0 - 8001182: 71fb strb r3, [r7, #7] + 800114e: b580 push {r7, lr} + 8001150: b082 sub sp, #8 + 8001152: af00 add r7, sp, #0 + 8001154: 4603 mov r3, r0 + 8001156: 71fb strb r3, [r7, #7] /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Enable interrupt */ NVIC_EnableIRQ(IRQn); - 8001184: f997 3007 ldrsb.w r3, [r7, #7] - 8001188: 4618 mov r0, r3 - 800118a: f7ff ff31 bl 8000ff0 <__NVIC_EnableIRQ> + 8001158: f997 3007 ldrsb.w r3, [r7, #7] + 800115c: 4618 mov r0, r3 + 800115e: f7ff ff31 bl 8000fc4 <__NVIC_EnableIRQ> } - 800118e: bf00 nop - 8001190: 3708 adds r7, #8 - 8001192: 46bd mov sp, r7 - 8001194: bd80 pop {r7, pc} + 8001162: bf00 nop + 8001164: 3708 adds r7, #8 + 8001166: 46bd mov sp, r7 + 8001168: bd80 pop {r7, pc} -08001196 : +0800116a : * @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) { - 8001196: b580 push {r7, lr} - 8001198: b082 sub sp, #8 - 800119a: af00 add r7, sp, #0 - 800119c: 6078 str r0, [r7, #4] + 800116a: b580 push {r7, lr} + 800116c: b082 sub sp, #8 + 800116e: af00 add r7, sp, #0 + 8001170: 6078 str r0, [r7, #4] return SysTick_Config(TicksNumb); - 800119e: 6878 ldr r0, [r7, #4] - 80011a0: f7ff ffa2 bl 80010e8 - 80011a4: 4603 mov r3, r0 + 8001172: 6878 ldr r0, [r7, #4] + 8001174: f7ff ffa2 bl 80010bc + 8001178: 4603 mov r3, r0 } - 80011a6: 4618 mov r0, r3 - 80011a8: 3708 adds r7, #8 - 80011aa: 46bd mov sp, r7 - 80011ac: bd80 pop {r7, pc} + 800117a: 4618 mov r0, r3 + 800117c: 3708 adds r7, #8 + 800117e: 46bd mov sp, r7 + 8001180: bd80 pop {r7, pc} ... -080011b0 : +08001184 : * @param GPIO_Init pointer to a GPIO_InitTypeDef structure that contains * the configuration information for the specified GPIO peripheral. * @retval None */ void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init) { - 80011b0: b480 push {r7} - 80011b2: b089 sub sp, #36 ; 0x24 - 80011b4: af00 add r7, sp, #0 - 80011b6: 6078 str r0, [r7, #4] - 80011b8: 6039 str r1, [r7, #0] + 8001184: b480 push {r7} + 8001186: b089 sub sp, #36 ; 0x24 + 8001188: af00 add r7, sp, #0 + 800118a: 6078 str r0, [r7, #4] + 800118c: 6039 str r1, [r7, #0] uint32_t position; uint32_t ioposition = 0x00U; - 80011ba: 2300 movs r3, #0 - 80011bc: 617b str r3, [r7, #20] + 800118e: 2300 movs r3, #0 + 8001190: 617b str r3, [r7, #20] uint32_t iocurrent = 0x00U; - 80011be: 2300 movs r3, #0 - 80011c0: 613b str r3, [r7, #16] + 8001192: 2300 movs r3, #0 + 8001194: 613b str r3, [r7, #16] uint32_t temp = 0x00U; - 80011c2: 2300 movs r3, #0 - 80011c4: 61bb str r3, [r7, #24] + 8001196: 2300 movs r3, #0 + 8001198: 61bb str r3, [r7, #24] assert_param(IS_GPIO_ALL_INSTANCE(GPIOx)); assert_param(IS_GPIO_PIN(GPIO_Init->Pin)); assert_param(IS_GPIO_MODE(GPIO_Init->Mode)); /* Configure the port pins */ for(position = 0U; position < GPIO_NUMBER; position++) - 80011c6: 2300 movs r3, #0 - 80011c8: 61fb str r3, [r7, #28] - 80011ca: e16b b.n 80014a4 + 800119a: 2300 movs r3, #0 + 800119c: 61fb str r3, [r7, #28] + 800119e: e16b b.n 8001478 { /* Get the IO position */ ioposition = 0x01U << position; - 80011cc: 2201 movs r2, #1 - 80011ce: 69fb ldr r3, [r7, #28] - 80011d0: fa02 f303 lsl.w r3, r2, r3 - 80011d4: 617b str r3, [r7, #20] + 80011a0: 2201 movs r2, #1 + 80011a2: 69fb ldr r3, [r7, #28] + 80011a4: fa02 f303 lsl.w r3, r2, r3 + 80011a8: 617b str r3, [r7, #20] /* Get the current IO position */ iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition; - 80011d6: 683b ldr r3, [r7, #0] - 80011d8: 681b ldr r3, [r3, #0] - 80011da: 697a ldr r2, [r7, #20] - 80011dc: 4013 ands r3, r2 - 80011de: 613b str r3, [r7, #16] + 80011aa: 683b ldr r3, [r7, #0] + 80011ac: 681b ldr r3, [r3, #0] + 80011ae: 697a ldr r2, [r7, #20] + 80011b0: 4013 ands r3, r2 + 80011b2: 613b str r3, [r7, #16] if(iocurrent == ioposition) - 80011e0: 693a ldr r2, [r7, #16] - 80011e2: 697b ldr r3, [r7, #20] - 80011e4: 429a cmp r2, r3 - 80011e6: f040 815a bne.w 800149e + 80011b4: 693a ldr r2, [r7, #16] + 80011b6: 697b ldr r3, [r7, #20] + 80011b8: 429a cmp r2, r3 + 80011ba: f040 815a bne.w 8001472 { /*--------------------- GPIO Mode Configuration ------------------------*/ /* In case of Output or Alternate function mode selection */ if(((GPIO_Init->Mode & GPIO_MODE) == MODE_OUTPUT) || \ - 80011ea: 683b ldr r3, [r7, #0] - 80011ec: 685b ldr r3, [r3, #4] - 80011ee: f003 0303 and.w r3, r3, #3 - 80011f2: 2b01 cmp r3, #1 - 80011f4: d005 beq.n 8001202 + 80011be: 683b ldr r3, [r7, #0] + 80011c0: 685b ldr r3, [r3, #4] + 80011c2: f003 0303 and.w r3, r3, #3 + 80011c6: 2b01 cmp r3, #1 + 80011c8: d005 beq.n 80011d6 (GPIO_Init->Mode & GPIO_MODE) == MODE_AF) - 80011f6: 683b ldr r3, [r7, #0] - 80011f8: 685b ldr r3, [r3, #4] - 80011fa: f003 0303 and.w r3, r3, #3 + 80011ca: 683b ldr r3, [r7, #0] + 80011cc: 685b ldr r3, [r3, #4] + 80011ce: f003 0303 and.w r3, r3, #3 if(((GPIO_Init->Mode & GPIO_MODE) == MODE_OUTPUT) || \ - 80011fe: 2b02 cmp r3, #2 - 8001200: d130 bne.n 8001264 + 80011d2: 2b02 cmp r3, #2 + 80011d4: d130 bne.n 8001238 { /* Check the Speed parameter */ assert_param(IS_GPIO_SPEED(GPIO_Init->Speed)); /* Configure the IO Speed */ temp = GPIOx->OSPEEDR; - 8001202: 687b ldr r3, [r7, #4] - 8001204: 689b ldr r3, [r3, #8] - 8001206: 61bb str r3, [r7, #24] + 80011d6: 687b ldr r3, [r7, #4] + 80011d8: 689b ldr r3, [r3, #8] + 80011da: 61bb str r3, [r7, #24] temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2U)); - 8001208: 69fb ldr r3, [r7, #28] - 800120a: 005b lsls r3, r3, #1 - 800120c: 2203 movs r2, #3 - 800120e: fa02 f303 lsl.w r3, r2, r3 - 8001212: 43db mvns r3, r3 - 8001214: 69ba ldr r2, [r7, #24] - 8001216: 4013 ands r3, r2 - 8001218: 61bb str r3, [r7, #24] + 80011dc: 69fb ldr r3, [r7, #28] + 80011de: 005b lsls r3, r3, #1 + 80011e0: 2203 movs r2, #3 + 80011e2: fa02 f303 lsl.w r3, r2, r3 + 80011e6: 43db mvns r3, r3 + 80011e8: 69ba ldr r2, [r7, #24] + 80011ea: 4013 ands r3, r2 + 80011ec: 61bb str r3, [r7, #24] temp |= (GPIO_Init->Speed << (position * 2U)); - 800121a: 683b ldr r3, [r7, #0] - 800121c: 68da ldr r2, [r3, #12] - 800121e: 69fb ldr r3, [r7, #28] - 8001220: 005b lsls r3, r3, #1 - 8001222: fa02 f303 lsl.w r3, r2, r3 - 8001226: 69ba ldr r2, [r7, #24] - 8001228: 4313 orrs r3, r2 - 800122a: 61bb str r3, [r7, #24] + 80011ee: 683b ldr r3, [r7, #0] + 80011f0: 68da ldr r2, [r3, #12] + 80011f2: 69fb ldr r3, [r7, #28] + 80011f4: 005b lsls r3, r3, #1 + 80011f6: fa02 f303 lsl.w r3, r2, r3 + 80011fa: 69ba ldr r2, [r7, #24] + 80011fc: 4313 orrs r3, r2 + 80011fe: 61bb str r3, [r7, #24] GPIOx->OSPEEDR = temp; - 800122c: 687b ldr r3, [r7, #4] - 800122e: 69ba ldr r2, [r7, #24] - 8001230: 609a str r2, [r3, #8] + 8001200: 687b ldr r3, [r7, #4] + 8001202: 69ba ldr r2, [r7, #24] + 8001204: 609a str r2, [r3, #8] /* Configure the IO Output Type */ temp = GPIOx->OTYPER; - 8001232: 687b ldr r3, [r7, #4] - 8001234: 685b ldr r3, [r3, #4] - 8001236: 61bb str r3, [r7, #24] + 8001206: 687b ldr r3, [r7, #4] + 8001208: 685b ldr r3, [r3, #4] + 800120a: 61bb str r3, [r7, #24] temp &= ~(GPIO_OTYPER_OT_0 << position) ; - 8001238: 2201 movs r2, #1 - 800123a: 69fb ldr r3, [r7, #28] - 800123c: fa02 f303 lsl.w r3, r2, r3 - 8001240: 43db mvns r3, r3 - 8001242: 69ba ldr r2, [r7, #24] - 8001244: 4013 ands r3, r2 - 8001246: 61bb str r3, [r7, #24] + 800120c: 2201 movs r2, #1 + 800120e: 69fb ldr r3, [r7, #28] + 8001210: fa02 f303 lsl.w r3, r2, r3 + 8001214: 43db mvns r3, r3 + 8001216: 69ba ldr r2, [r7, #24] + 8001218: 4013 ands r3, r2 + 800121a: 61bb str r3, [r7, #24] temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position); - 8001248: 683b ldr r3, [r7, #0] - 800124a: 685b ldr r3, [r3, #4] - 800124c: 091b lsrs r3, r3, #4 - 800124e: f003 0201 and.w r2, r3, #1 - 8001252: 69fb ldr r3, [r7, #28] - 8001254: fa02 f303 lsl.w r3, r2, r3 - 8001258: 69ba ldr r2, [r7, #24] - 800125a: 4313 orrs r3, r2 - 800125c: 61bb str r3, [r7, #24] + 800121c: 683b ldr r3, [r7, #0] + 800121e: 685b ldr r3, [r3, #4] + 8001220: 091b lsrs r3, r3, #4 + 8001222: f003 0201 and.w r2, r3, #1 + 8001226: 69fb ldr r3, [r7, #28] + 8001228: fa02 f303 lsl.w r3, r2, r3 + 800122c: 69ba ldr r2, [r7, #24] + 800122e: 4313 orrs r3, r2 + 8001230: 61bb str r3, [r7, #24] GPIOx->OTYPER = temp; - 800125e: 687b ldr r3, [r7, #4] - 8001260: 69ba ldr r2, [r7, #24] - 8001262: 605a str r2, [r3, #4] + 8001232: 687b ldr r3, [r7, #4] + 8001234: 69ba ldr r2, [r7, #24] + 8001236: 605a str r2, [r3, #4] } if((GPIO_Init->Mode & GPIO_MODE) != MODE_ANALOG) - 8001264: 683b ldr r3, [r7, #0] - 8001266: 685b ldr r3, [r3, #4] - 8001268: f003 0303 and.w r3, r3, #3 - 800126c: 2b03 cmp r3, #3 - 800126e: d017 beq.n 80012a0 + 8001238: 683b ldr r3, [r7, #0] + 800123a: 685b ldr r3, [r3, #4] + 800123c: f003 0303 and.w r3, r3, #3 + 8001240: 2b03 cmp r3, #3 + 8001242: d017 beq.n 8001274 { /* Check the parameters */ assert_param(IS_GPIO_PULL(GPIO_Init->Pull)); /* Activate the Pull-up or Pull down resistor for the current IO */ temp = GPIOx->PUPDR; - 8001270: 687b ldr r3, [r7, #4] - 8001272: 68db ldr r3, [r3, #12] - 8001274: 61bb str r3, [r7, #24] + 8001244: 687b ldr r3, [r7, #4] + 8001246: 68db ldr r3, [r3, #12] + 8001248: 61bb str r3, [r7, #24] temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2U)); - 8001276: 69fb ldr r3, [r7, #28] - 8001278: 005b lsls r3, r3, #1 - 800127a: 2203 movs r2, #3 - 800127c: fa02 f303 lsl.w r3, r2, r3 - 8001280: 43db mvns r3, r3 - 8001282: 69ba ldr r2, [r7, #24] - 8001284: 4013 ands r3, r2 - 8001286: 61bb str r3, [r7, #24] + 800124a: 69fb ldr r3, [r7, #28] + 800124c: 005b lsls r3, r3, #1 + 800124e: 2203 movs r2, #3 + 8001250: fa02 f303 lsl.w r3, r2, r3 + 8001254: 43db mvns r3, r3 + 8001256: 69ba ldr r2, [r7, #24] + 8001258: 4013 ands r3, r2 + 800125a: 61bb str r3, [r7, #24] temp |= ((GPIO_Init->Pull) << (position * 2U)); - 8001288: 683b ldr r3, [r7, #0] - 800128a: 689a ldr r2, [r3, #8] - 800128c: 69fb ldr r3, [r7, #28] - 800128e: 005b lsls r3, r3, #1 - 8001290: fa02 f303 lsl.w r3, r2, r3 - 8001294: 69ba ldr r2, [r7, #24] - 8001296: 4313 orrs r3, r2 - 8001298: 61bb str r3, [r7, #24] + 800125c: 683b ldr r3, [r7, #0] + 800125e: 689a ldr r2, [r3, #8] + 8001260: 69fb ldr r3, [r7, #28] + 8001262: 005b lsls r3, r3, #1 + 8001264: fa02 f303 lsl.w r3, r2, r3 + 8001268: 69ba ldr r2, [r7, #24] + 800126a: 4313 orrs r3, r2 + 800126c: 61bb str r3, [r7, #24] GPIOx->PUPDR = temp; - 800129a: 687b ldr r3, [r7, #4] - 800129c: 69ba ldr r2, [r7, #24] - 800129e: 60da str r2, [r3, #12] + 800126e: 687b ldr r3, [r7, #4] + 8001270: 69ba ldr r2, [r7, #24] + 8001272: 60da str r2, [r3, #12] } /* In case of Alternate function mode selection */ if((GPIO_Init->Mode & GPIO_MODE) == MODE_AF) - 80012a0: 683b ldr r3, [r7, #0] - 80012a2: 685b ldr r3, [r3, #4] - 80012a4: f003 0303 and.w r3, r3, #3 - 80012a8: 2b02 cmp r3, #2 - 80012aa: d123 bne.n 80012f4 + 8001274: 683b ldr r3, [r7, #0] + 8001276: 685b ldr r3, [r3, #4] + 8001278: f003 0303 and.w r3, r3, #3 + 800127c: 2b02 cmp r3, #2 + 800127e: d123 bne.n 80012c8 { /* Check the Alternate function parameter */ assert_param(IS_GPIO_AF(GPIO_Init->Alternate)); /* Configure Alternate function mapped with the current IO */ temp = GPIOx->AFR[position >> 3U]; - 80012ac: 69fb ldr r3, [r7, #28] - 80012ae: 08da lsrs r2, r3, #3 - 80012b0: 687b ldr r3, [r7, #4] - 80012b2: 3208 adds r2, #8 - 80012b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 80012b8: 61bb str r3, [r7, #24] + 8001280: 69fb ldr r3, [r7, #28] + 8001282: 08da lsrs r2, r3, #3 + 8001284: 687b ldr r3, [r7, #4] + 8001286: 3208 adds r2, #8 + 8001288: f853 3022 ldr.w r3, [r3, r2, lsl #2] + 800128c: 61bb str r3, [r7, #24] temp &= ~(0xFU << ((uint32_t)(position & 0x07U) * 4U)) ; - 80012ba: 69fb ldr r3, [r7, #28] - 80012bc: f003 0307 and.w r3, r3, #7 - 80012c0: 009b lsls r3, r3, #2 - 80012c2: 220f movs r2, #15 - 80012c4: fa02 f303 lsl.w r3, r2, r3 - 80012c8: 43db mvns r3, r3 - 80012ca: 69ba ldr r2, [r7, #24] - 80012cc: 4013 ands r3, r2 - 80012ce: 61bb str r3, [r7, #24] + 800128e: 69fb ldr r3, [r7, #28] + 8001290: f003 0307 and.w r3, r3, #7 + 8001294: 009b lsls r3, r3, #2 + 8001296: 220f movs r2, #15 + 8001298: fa02 f303 lsl.w r3, r2, r3 + 800129c: 43db mvns r3, r3 + 800129e: 69ba ldr r2, [r7, #24] + 80012a0: 4013 ands r3, r2 + 80012a2: 61bb str r3, [r7, #24] temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & 0x07U) * 4U)); - 80012d0: 683b ldr r3, [r7, #0] - 80012d2: 691a ldr r2, [r3, #16] - 80012d4: 69fb ldr r3, [r7, #28] - 80012d6: f003 0307 and.w r3, r3, #7 - 80012da: 009b lsls r3, r3, #2 - 80012dc: fa02 f303 lsl.w r3, r2, r3 - 80012e0: 69ba ldr r2, [r7, #24] - 80012e2: 4313 orrs r3, r2 - 80012e4: 61bb str r3, [r7, #24] + 80012a4: 683b ldr r3, [r7, #0] + 80012a6: 691a ldr r2, [r3, #16] + 80012a8: 69fb ldr r3, [r7, #28] + 80012aa: f003 0307 and.w r3, r3, #7 + 80012ae: 009b lsls r3, r3, #2 + 80012b0: fa02 f303 lsl.w r3, r2, r3 + 80012b4: 69ba ldr r2, [r7, #24] + 80012b6: 4313 orrs r3, r2 + 80012b8: 61bb str r3, [r7, #24] GPIOx->AFR[position >> 3U] = temp; - 80012e6: 69fb ldr r3, [r7, #28] - 80012e8: 08da lsrs r2, r3, #3 - 80012ea: 687b ldr r3, [r7, #4] - 80012ec: 3208 adds r2, #8 - 80012ee: 69b9 ldr r1, [r7, #24] - 80012f0: f843 1022 str.w r1, [r3, r2, lsl #2] + 80012ba: 69fb ldr r3, [r7, #28] + 80012bc: 08da lsrs r2, r3, #3 + 80012be: 687b ldr r3, [r7, #4] + 80012c0: 3208 adds r2, #8 + 80012c2: 69b9 ldr r1, [r7, #24] + 80012c4: f843 1022 str.w r1, [r3, r2, lsl #2] } /* Configure IO Direction mode (Input, Output, Alternate or Analog) */ temp = GPIOx->MODER; - 80012f4: 687b ldr r3, [r7, #4] - 80012f6: 681b ldr r3, [r3, #0] - 80012f8: 61bb str r3, [r7, #24] + 80012c8: 687b ldr r3, [r7, #4] + 80012ca: 681b ldr r3, [r3, #0] + 80012cc: 61bb str r3, [r7, #24] temp &= ~(GPIO_MODER_MODER0 << (position * 2U)); - 80012fa: 69fb ldr r3, [r7, #28] - 80012fc: 005b lsls r3, r3, #1 - 80012fe: 2203 movs r2, #3 - 8001300: fa02 f303 lsl.w r3, r2, r3 - 8001304: 43db mvns r3, r3 - 8001306: 69ba ldr r2, [r7, #24] - 8001308: 4013 ands r3, r2 - 800130a: 61bb str r3, [r7, #24] + 80012ce: 69fb ldr r3, [r7, #28] + 80012d0: 005b lsls r3, r3, #1 + 80012d2: 2203 movs r2, #3 + 80012d4: fa02 f303 lsl.w r3, r2, r3 + 80012d8: 43db mvns r3, r3 + 80012da: 69ba ldr r2, [r7, #24] + 80012dc: 4013 ands r3, r2 + 80012de: 61bb str r3, [r7, #24] temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U)); - 800130c: 683b ldr r3, [r7, #0] - 800130e: 685b ldr r3, [r3, #4] - 8001310: f003 0203 and.w r2, r3, #3 - 8001314: 69fb ldr r3, [r7, #28] - 8001316: 005b lsls r3, r3, #1 - 8001318: fa02 f303 lsl.w r3, r2, r3 - 800131c: 69ba ldr r2, [r7, #24] - 800131e: 4313 orrs r3, r2 - 8001320: 61bb str r3, [r7, #24] + 80012e0: 683b ldr r3, [r7, #0] + 80012e2: 685b ldr r3, [r3, #4] + 80012e4: f003 0203 and.w r2, r3, #3 + 80012e8: 69fb ldr r3, [r7, #28] + 80012ea: 005b lsls r3, r3, #1 + 80012ec: fa02 f303 lsl.w r3, r2, r3 + 80012f0: 69ba ldr r2, [r7, #24] + 80012f2: 4313 orrs r3, r2 + 80012f4: 61bb str r3, [r7, #24] GPIOx->MODER = temp; - 8001322: 687b ldr r3, [r7, #4] - 8001324: 69ba ldr r2, [r7, #24] - 8001326: 601a str r2, [r3, #0] + 80012f6: 687b ldr r3, [r7, #4] + 80012f8: 69ba ldr r2, [r7, #24] + 80012fa: 601a str r2, [r3, #0] /*--------------------- EXTI Mode Configuration ------------------------*/ /* Configure the External Interrupt or event for the current IO */ if((GPIO_Init->Mode & EXTI_MODE) != 0x00U) - 8001328: 683b ldr r3, [r7, #0] - 800132a: 685b ldr r3, [r3, #4] - 800132c: f403 3340 and.w r3, r3, #196608 ; 0x30000 - 8001330: 2b00 cmp r3, #0 - 8001332: f000 80b4 beq.w 800149e + 80012fc: 683b ldr r3, [r7, #0] + 80012fe: 685b ldr r3, [r3, #4] + 8001300: f403 3340 and.w r3, r3, #196608 ; 0x30000 + 8001304: 2b00 cmp r3, #0 + 8001306: f000 80b4 beq.w 8001472 { /* Enable SYSCFG Clock */ __HAL_RCC_SYSCFG_CLK_ENABLE(); - 8001336: 2300 movs r3, #0 - 8001338: 60fb str r3, [r7, #12] - 800133a: 4b60 ldr r3, [pc, #384] ; (80014bc ) - 800133c: 6c5b ldr r3, [r3, #68] ; 0x44 - 800133e: 4a5f ldr r2, [pc, #380] ; (80014bc ) - 8001340: f443 4380 orr.w r3, r3, #16384 ; 0x4000 - 8001344: 6453 str r3, [r2, #68] ; 0x44 - 8001346: 4b5d ldr r3, [pc, #372] ; (80014bc ) - 8001348: 6c5b ldr r3, [r3, #68] ; 0x44 - 800134a: f403 4380 and.w r3, r3, #16384 ; 0x4000 - 800134e: 60fb str r3, [r7, #12] - 8001350: 68fb ldr r3, [r7, #12] + 800130a: 2300 movs r3, #0 + 800130c: 60fb str r3, [r7, #12] + 800130e: 4b60 ldr r3, [pc, #384] ; (8001490 ) + 8001310: 6c5b ldr r3, [r3, #68] ; 0x44 + 8001312: 4a5f ldr r2, [pc, #380] ; (8001490 ) + 8001314: f443 4380 orr.w r3, r3, #16384 ; 0x4000 + 8001318: 6453 str r3, [r2, #68] ; 0x44 + 800131a: 4b5d ldr r3, [pc, #372] ; (8001490 ) + 800131c: 6c5b ldr r3, [r3, #68] ; 0x44 + 800131e: f403 4380 and.w r3, r3, #16384 ; 0x4000 + 8001322: 60fb str r3, [r7, #12] + 8001324: 68fb ldr r3, [r7, #12] temp = SYSCFG->EXTICR[position >> 2U]; - 8001352: 4a5b ldr r2, [pc, #364] ; (80014c0 ) - 8001354: 69fb ldr r3, [r7, #28] - 8001356: 089b lsrs r3, r3, #2 - 8001358: 3302 adds r3, #2 - 800135a: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 800135e: 61bb str r3, [r7, #24] + 8001326: 4a5b ldr r2, [pc, #364] ; (8001494 ) + 8001328: 69fb ldr r3, [r7, #28] + 800132a: 089b lsrs r3, r3, #2 + 800132c: 3302 adds r3, #2 + 800132e: f852 3023 ldr.w r3, [r2, r3, lsl #2] + 8001332: 61bb str r3, [r7, #24] temp &= ~(0x0FU << (4U * (position & 0x03U))); - 8001360: 69fb ldr r3, [r7, #28] - 8001362: f003 0303 and.w r3, r3, #3 - 8001366: 009b lsls r3, r3, #2 - 8001368: 220f movs r2, #15 - 800136a: fa02 f303 lsl.w r3, r2, r3 - 800136e: 43db mvns r3, r3 - 8001370: 69ba ldr r2, [r7, #24] - 8001372: 4013 ands r3, r2 - 8001374: 61bb str r3, [r7, #24] + 8001334: 69fb ldr r3, [r7, #28] + 8001336: f003 0303 and.w r3, r3, #3 + 800133a: 009b lsls r3, r3, #2 + 800133c: 220f movs r2, #15 + 800133e: fa02 f303 lsl.w r3, r2, r3 + 8001342: 43db mvns r3, r3 + 8001344: 69ba ldr r2, [r7, #24] + 8001346: 4013 ands r3, r2 + 8001348: 61bb str r3, [r7, #24] temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U))); - 8001376: 687b ldr r3, [r7, #4] - 8001378: 4a52 ldr r2, [pc, #328] ; (80014c4 ) - 800137a: 4293 cmp r3, r2 - 800137c: d02b beq.n 80013d6 - 800137e: 687b ldr r3, [r7, #4] - 8001380: 4a51 ldr r2, [pc, #324] ; (80014c8 ) - 8001382: 4293 cmp r3, r2 - 8001384: d025 beq.n 80013d2 - 8001386: 687b ldr r3, [r7, #4] - 8001388: 4a50 ldr r2, [pc, #320] ; (80014cc ) - 800138a: 4293 cmp r3, r2 - 800138c: d01f beq.n 80013ce - 800138e: 687b ldr r3, [r7, #4] - 8001390: 4a4f ldr r2, [pc, #316] ; (80014d0 ) - 8001392: 4293 cmp r3, r2 - 8001394: d019 beq.n 80013ca - 8001396: 687b ldr r3, [r7, #4] - 8001398: 4a4e ldr r2, [pc, #312] ; (80014d4 ) - 800139a: 4293 cmp r3, r2 - 800139c: d013 beq.n 80013c6 - 800139e: 687b ldr r3, [r7, #4] - 80013a0: 4a4d ldr r2, [pc, #308] ; (80014d8 ) - 80013a2: 4293 cmp r3, r2 - 80013a4: d00d beq.n 80013c2 - 80013a6: 687b ldr r3, [r7, #4] - 80013a8: 4a4c ldr r2, [pc, #304] ; (80014dc ) - 80013aa: 4293 cmp r3, r2 - 80013ac: d007 beq.n 80013be - 80013ae: 687b ldr r3, [r7, #4] - 80013b0: 4a4b ldr r2, [pc, #300] ; (80014e0 ) - 80013b2: 4293 cmp r3, r2 - 80013b4: d101 bne.n 80013ba - 80013b6: 2307 movs r3, #7 - 80013b8: e00e b.n 80013d8 - 80013ba: 2308 movs r3, #8 - 80013bc: e00c b.n 80013d8 - 80013be: 2306 movs r3, #6 - 80013c0: e00a b.n 80013d8 - 80013c2: 2305 movs r3, #5 - 80013c4: e008 b.n 80013d8 - 80013c6: 2304 movs r3, #4 - 80013c8: e006 b.n 80013d8 - 80013ca: 2303 movs r3, #3 - 80013cc: e004 b.n 80013d8 - 80013ce: 2302 movs r3, #2 - 80013d0: e002 b.n 80013d8 - 80013d2: 2301 movs r3, #1 - 80013d4: e000 b.n 80013d8 - 80013d6: 2300 movs r3, #0 - 80013d8: 69fa ldr r2, [r7, #28] - 80013da: f002 0203 and.w r2, r2, #3 - 80013de: 0092 lsls r2, r2, #2 - 80013e0: 4093 lsls r3, r2 - 80013e2: 69ba ldr r2, [r7, #24] - 80013e4: 4313 orrs r3, r2 - 80013e6: 61bb str r3, [r7, #24] + 800134a: 687b ldr r3, [r7, #4] + 800134c: 4a52 ldr r2, [pc, #328] ; (8001498 ) + 800134e: 4293 cmp r3, r2 + 8001350: d02b beq.n 80013aa + 8001352: 687b ldr r3, [r7, #4] + 8001354: 4a51 ldr r2, [pc, #324] ; (800149c ) + 8001356: 4293 cmp r3, r2 + 8001358: d025 beq.n 80013a6 + 800135a: 687b ldr r3, [r7, #4] + 800135c: 4a50 ldr r2, [pc, #320] ; (80014a0 ) + 800135e: 4293 cmp r3, r2 + 8001360: d01f beq.n 80013a2 + 8001362: 687b ldr r3, [r7, #4] + 8001364: 4a4f ldr r2, [pc, #316] ; (80014a4 ) + 8001366: 4293 cmp r3, r2 + 8001368: d019 beq.n 800139e + 800136a: 687b ldr r3, [r7, #4] + 800136c: 4a4e ldr r2, [pc, #312] ; (80014a8 ) + 800136e: 4293 cmp r3, r2 + 8001370: d013 beq.n 800139a + 8001372: 687b ldr r3, [r7, #4] + 8001374: 4a4d ldr r2, [pc, #308] ; (80014ac ) + 8001376: 4293 cmp r3, r2 + 8001378: d00d beq.n 8001396 + 800137a: 687b ldr r3, [r7, #4] + 800137c: 4a4c ldr r2, [pc, #304] ; (80014b0 ) + 800137e: 4293 cmp r3, r2 + 8001380: d007 beq.n 8001392 + 8001382: 687b ldr r3, [r7, #4] + 8001384: 4a4b ldr r2, [pc, #300] ; (80014b4 ) + 8001386: 4293 cmp r3, r2 + 8001388: d101 bne.n 800138e + 800138a: 2307 movs r3, #7 + 800138c: e00e b.n 80013ac + 800138e: 2308 movs r3, #8 + 8001390: e00c b.n 80013ac + 8001392: 2306 movs r3, #6 + 8001394: e00a b.n 80013ac + 8001396: 2305 movs r3, #5 + 8001398: e008 b.n 80013ac + 800139a: 2304 movs r3, #4 + 800139c: e006 b.n 80013ac + 800139e: 2303 movs r3, #3 + 80013a0: e004 b.n 80013ac + 80013a2: 2302 movs r3, #2 + 80013a4: e002 b.n 80013ac + 80013a6: 2301 movs r3, #1 + 80013a8: e000 b.n 80013ac + 80013aa: 2300 movs r3, #0 + 80013ac: 69fa ldr r2, [r7, #28] + 80013ae: f002 0203 and.w r2, r2, #3 + 80013b2: 0092 lsls r2, r2, #2 + 80013b4: 4093 lsls r3, r2 + 80013b6: 69ba ldr r2, [r7, #24] + 80013b8: 4313 orrs r3, r2 + 80013ba: 61bb str r3, [r7, #24] SYSCFG->EXTICR[position >> 2U] = temp; - 80013e8: 4935 ldr r1, [pc, #212] ; (80014c0 ) - 80013ea: 69fb ldr r3, [r7, #28] - 80013ec: 089b lsrs r3, r3, #2 - 80013ee: 3302 adds r3, #2 - 80013f0: 69ba ldr r2, [r7, #24] - 80013f2: f841 2023 str.w r2, [r1, r3, lsl #2] + 80013bc: 4935 ldr r1, [pc, #212] ; (8001494 ) + 80013be: 69fb ldr r3, [r7, #28] + 80013c0: 089b lsrs r3, r3, #2 + 80013c2: 3302 adds r3, #2 + 80013c4: 69ba ldr r2, [r7, #24] + 80013c6: f841 2023 str.w r2, [r1, r3, lsl #2] /* Clear Rising Falling edge configuration */ temp = EXTI->RTSR; - 80013f6: 4b3b ldr r3, [pc, #236] ; (80014e4 ) - 80013f8: 689b ldr r3, [r3, #8] - 80013fa: 61bb str r3, [r7, #24] + 80013ca: 4b3b ldr r3, [pc, #236] ; (80014b8 ) + 80013cc: 689b ldr r3, [r3, #8] + 80013ce: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); - 80013fc: 693b ldr r3, [r7, #16] - 80013fe: 43db mvns r3, r3 - 8001400: 69ba ldr r2, [r7, #24] - 8001402: 4013 ands r3, r2 - 8001404: 61bb str r3, [r7, #24] + 80013d0: 693b ldr r3, [r7, #16] + 80013d2: 43db mvns r3, r3 + 80013d4: 69ba ldr r2, [r7, #24] + 80013d6: 4013 ands r3, r2 + 80013d8: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & TRIGGER_RISING) != 0x00U) - 8001406: 683b ldr r3, [r7, #0] - 8001408: 685b ldr r3, [r3, #4] - 800140a: f403 1380 and.w r3, r3, #1048576 ; 0x100000 - 800140e: 2b00 cmp r3, #0 - 8001410: d003 beq.n 800141a + 80013da: 683b ldr r3, [r7, #0] + 80013dc: 685b ldr r3, [r3, #4] + 80013de: f403 1380 and.w r3, r3, #1048576 ; 0x100000 + 80013e2: 2b00 cmp r3, #0 + 80013e4: d003 beq.n 80013ee { temp |= iocurrent; - 8001412: 69ba ldr r2, [r7, #24] - 8001414: 693b ldr r3, [r7, #16] - 8001416: 4313 orrs r3, r2 - 8001418: 61bb str r3, [r7, #24] + 80013e6: 69ba ldr r2, [r7, #24] + 80013e8: 693b ldr r3, [r7, #16] + 80013ea: 4313 orrs r3, r2 + 80013ec: 61bb str r3, [r7, #24] } EXTI->RTSR = temp; - 800141a: 4a32 ldr r2, [pc, #200] ; (80014e4 ) - 800141c: 69bb ldr r3, [r7, #24] - 800141e: 6093 str r3, [r2, #8] + 80013ee: 4a32 ldr r2, [pc, #200] ; (80014b8 ) + 80013f0: 69bb ldr r3, [r7, #24] + 80013f2: 6093 str r3, [r2, #8] temp = EXTI->FTSR; - 8001420: 4b30 ldr r3, [pc, #192] ; (80014e4 ) - 8001422: 68db ldr r3, [r3, #12] - 8001424: 61bb str r3, [r7, #24] + 80013f4: 4b30 ldr r3, [pc, #192] ; (80014b8 ) + 80013f6: 68db ldr r3, [r3, #12] + 80013f8: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); - 8001426: 693b ldr r3, [r7, #16] - 8001428: 43db mvns r3, r3 - 800142a: 69ba ldr r2, [r7, #24] - 800142c: 4013 ands r3, r2 - 800142e: 61bb str r3, [r7, #24] + 80013fa: 693b ldr r3, [r7, #16] + 80013fc: 43db mvns r3, r3 + 80013fe: 69ba ldr r2, [r7, #24] + 8001400: 4013 ands r3, r2 + 8001402: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00U) - 8001430: 683b ldr r3, [r7, #0] - 8001432: 685b ldr r3, [r3, #4] - 8001434: f403 1300 and.w r3, r3, #2097152 ; 0x200000 - 8001438: 2b00 cmp r3, #0 - 800143a: d003 beq.n 8001444 + 8001404: 683b ldr r3, [r7, #0] + 8001406: 685b ldr r3, [r3, #4] + 8001408: f403 1300 and.w r3, r3, #2097152 ; 0x200000 + 800140c: 2b00 cmp r3, #0 + 800140e: d003 beq.n 8001418 { temp |= iocurrent; - 800143c: 69ba ldr r2, [r7, #24] - 800143e: 693b ldr r3, [r7, #16] - 8001440: 4313 orrs r3, r2 - 8001442: 61bb str r3, [r7, #24] + 8001410: 69ba ldr r2, [r7, #24] + 8001412: 693b ldr r3, [r7, #16] + 8001414: 4313 orrs r3, r2 + 8001416: 61bb str r3, [r7, #24] } EXTI->FTSR = temp; - 8001444: 4a27 ldr r2, [pc, #156] ; (80014e4 ) - 8001446: 69bb ldr r3, [r7, #24] - 8001448: 60d3 str r3, [r2, #12] + 8001418: 4a27 ldr r2, [pc, #156] ; (80014b8 ) + 800141a: 69bb ldr r3, [r7, #24] + 800141c: 60d3 str r3, [r2, #12] temp = EXTI->EMR; - 800144a: 4b26 ldr r3, [pc, #152] ; (80014e4 ) - 800144c: 685b ldr r3, [r3, #4] - 800144e: 61bb str r3, [r7, #24] + 800141e: 4b26 ldr r3, [pc, #152] ; (80014b8 ) + 8001420: 685b ldr r3, [r3, #4] + 8001422: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); - 8001450: 693b ldr r3, [r7, #16] - 8001452: 43db mvns r3, r3 - 8001454: 69ba ldr r2, [r7, #24] - 8001456: 4013 ands r3, r2 - 8001458: 61bb str r3, [r7, #24] + 8001424: 693b ldr r3, [r7, #16] + 8001426: 43db mvns r3, r3 + 8001428: 69ba ldr r2, [r7, #24] + 800142a: 4013 ands r3, r2 + 800142c: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & EXTI_EVT) != 0x00U) - 800145a: 683b ldr r3, [r7, #0] - 800145c: 685b ldr r3, [r3, #4] - 800145e: f403 3300 and.w r3, r3, #131072 ; 0x20000 - 8001462: 2b00 cmp r3, #0 - 8001464: d003 beq.n 800146e + 800142e: 683b ldr r3, [r7, #0] + 8001430: 685b ldr r3, [r3, #4] + 8001432: f403 3300 and.w r3, r3, #131072 ; 0x20000 + 8001436: 2b00 cmp r3, #0 + 8001438: d003 beq.n 8001442 { temp |= iocurrent; - 8001466: 69ba ldr r2, [r7, #24] - 8001468: 693b ldr r3, [r7, #16] - 800146a: 4313 orrs r3, r2 - 800146c: 61bb str r3, [r7, #24] + 800143a: 69ba ldr r2, [r7, #24] + 800143c: 693b ldr r3, [r7, #16] + 800143e: 4313 orrs r3, r2 + 8001440: 61bb str r3, [r7, #24] } EXTI->EMR = temp; - 800146e: 4a1d ldr r2, [pc, #116] ; (80014e4 ) - 8001470: 69bb ldr r3, [r7, #24] - 8001472: 6053 str r3, [r2, #4] + 8001442: 4a1d ldr r2, [pc, #116] ; (80014b8 ) + 8001444: 69bb ldr r3, [r7, #24] + 8001446: 6053 str r3, [r2, #4] /* Clear EXTI line configuration */ temp = EXTI->IMR; - 8001474: 4b1b ldr r3, [pc, #108] ; (80014e4 ) - 8001476: 681b ldr r3, [r3, #0] - 8001478: 61bb str r3, [r7, #24] + 8001448: 4b1b ldr r3, [pc, #108] ; (80014b8 ) + 800144a: 681b ldr r3, [r3, #0] + 800144c: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); - 800147a: 693b ldr r3, [r7, #16] - 800147c: 43db mvns r3, r3 - 800147e: 69ba ldr r2, [r7, #24] - 8001480: 4013 ands r3, r2 - 8001482: 61bb str r3, [r7, #24] + 800144e: 693b ldr r3, [r7, #16] + 8001450: 43db mvns r3, r3 + 8001452: 69ba ldr r2, [r7, #24] + 8001454: 4013 ands r3, r2 + 8001456: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & EXTI_IT) != 0x00U) - 8001484: 683b ldr r3, [r7, #0] - 8001486: 685b ldr r3, [r3, #4] - 8001488: f403 3380 and.w r3, r3, #65536 ; 0x10000 - 800148c: 2b00 cmp r3, #0 - 800148e: d003 beq.n 8001498 + 8001458: 683b ldr r3, [r7, #0] + 800145a: 685b ldr r3, [r3, #4] + 800145c: f403 3380 and.w r3, r3, #65536 ; 0x10000 + 8001460: 2b00 cmp r3, #0 + 8001462: d003 beq.n 800146c { temp |= iocurrent; - 8001490: 69ba ldr r2, [r7, #24] - 8001492: 693b ldr r3, [r7, #16] - 8001494: 4313 orrs r3, r2 - 8001496: 61bb str r3, [r7, #24] + 8001464: 69ba ldr r2, [r7, #24] + 8001466: 693b ldr r3, [r7, #16] + 8001468: 4313 orrs r3, r2 + 800146a: 61bb str r3, [r7, #24] } EXTI->IMR = temp; - 8001498: 4a12 ldr r2, [pc, #72] ; (80014e4 ) - 800149a: 69bb ldr r3, [r7, #24] - 800149c: 6013 str r3, [r2, #0] + 800146c: 4a12 ldr r2, [pc, #72] ; (80014b8 ) + 800146e: 69bb ldr r3, [r7, #24] + 8001470: 6013 str r3, [r2, #0] for(position = 0U; position < GPIO_NUMBER; position++) - 800149e: 69fb ldr r3, [r7, #28] - 80014a0: 3301 adds r3, #1 - 80014a2: 61fb str r3, [r7, #28] - 80014a4: 69fb ldr r3, [r7, #28] - 80014a6: 2b0f cmp r3, #15 - 80014a8: f67f ae90 bls.w 80011cc + 8001472: 69fb ldr r3, [r7, #28] + 8001474: 3301 adds r3, #1 + 8001476: 61fb str r3, [r7, #28] + 8001478: 69fb ldr r3, [r7, #28] + 800147a: 2b0f cmp r3, #15 + 800147c: f67f ae90 bls.w 80011a0 } } } } - 80014ac: bf00 nop - 80014ae: bf00 nop - 80014b0: 3724 adds r7, #36 ; 0x24 - 80014b2: 46bd mov sp, r7 - 80014b4: f85d 7b04 ldr.w r7, [sp], #4 - 80014b8: 4770 bx lr - 80014ba: bf00 nop - 80014bc: 40023800 .word 0x40023800 - 80014c0: 40013800 .word 0x40013800 - 80014c4: 40020000 .word 0x40020000 - 80014c8: 40020400 .word 0x40020400 - 80014cc: 40020800 .word 0x40020800 - 80014d0: 40020c00 .word 0x40020c00 - 80014d4: 40021000 .word 0x40021000 - 80014d8: 40021400 .word 0x40021400 - 80014dc: 40021800 .word 0x40021800 - 80014e0: 40021c00 .word 0x40021c00 - 80014e4: 40013c00 .word 0x40013c00 - -080014e8 : + 8001480: bf00 nop + 8001482: bf00 nop + 8001484: 3724 adds r7, #36 ; 0x24 + 8001486: 46bd mov sp, r7 + 8001488: f85d 7b04 ldr.w r7, [sp], #4 + 800148c: 4770 bx lr + 800148e: bf00 nop + 8001490: 40023800 .word 0x40023800 + 8001494: 40013800 .word 0x40013800 + 8001498: 40020000 .word 0x40020000 + 800149c: 40020400 .word 0x40020400 + 80014a0: 40020800 .word 0x40020800 + 80014a4: 40020c00 .word 0x40020c00 + 80014a8: 40021000 .word 0x40021000 + 80014ac: 40021400 .word 0x40021400 + 80014b0: 40021800 .word 0x40021800 + 80014b4: 40021c00 .word 0x40021c00 + 80014b8: 40013c00 .word 0x40013c00 + +080014bc : * @arg GPIO_PIN_RESET: to clear the port pin * @arg GPIO_PIN_SET: to set the port pin * @retval None */ void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState) { - 80014e8: b480 push {r7} - 80014ea: b083 sub sp, #12 - 80014ec: af00 add r7, sp, #0 - 80014ee: 6078 str r0, [r7, #4] - 80014f0: 460b mov r3, r1 - 80014f2: 807b strh r3, [r7, #2] - 80014f4: 4613 mov r3, r2 - 80014f6: 707b strb r3, [r7, #1] + 80014bc: b480 push {r7} + 80014be: b083 sub sp, #12 + 80014c0: af00 add r7, sp, #0 + 80014c2: 6078 str r0, [r7, #4] + 80014c4: 460b mov r3, r1 + 80014c6: 807b strh r3, [r7, #2] + 80014c8: 4613 mov r3, r2 + 80014ca: 707b strb r3, [r7, #1] /* Check the parameters */ assert_param(IS_GPIO_PIN(GPIO_Pin)); assert_param(IS_GPIO_PIN_ACTION(PinState)); if(PinState != GPIO_PIN_RESET) - 80014f8: 787b ldrb r3, [r7, #1] - 80014fa: 2b00 cmp r3, #0 - 80014fc: d003 beq.n 8001506 + 80014cc: 787b ldrb r3, [r7, #1] + 80014ce: 2b00 cmp r3, #0 + 80014d0: d003 beq.n 80014da { GPIOx->BSRR = GPIO_Pin; - 80014fe: 887a ldrh r2, [r7, #2] - 8001500: 687b ldr r3, [r7, #4] - 8001502: 619a str r2, [r3, #24] + 80014d2: 887a ldrh r2, [r7, #2] + 80014d4: 687b ldr r3, [r7, #4] + 80014d6: 619a str r2, [r3, #24] } else { GPIOx->BSRR = (uint32_t)GPIO_Pin << 16U; } } - 8001504: e003 b.n 800150e + 80014d8: e003 b.n 80014e2 GPIOx->BSRR = (uint32_t)GPIO_Pin << 16U; - 8001506: 887b ldrh r3, [r7, #2] - 8001508: 041a lsls r2, r3, #16 - 800150a: 687b ldr r3, [r7, #4] - 800150c: 619a str r2, [r3, #24] + 80014da: 887b ldrh r3, [r7, #2] + 80014dc: 041a lsls r2, r3, #16 + 80014de: 687b ldr r3, [r7, #4] + 80014e0: 619a str r2, [r3, #24] } - 800150e: bf00 nop - 8001510: 370c adds r7, #12 - 8001512: 46bd mov sp, r7 - 8001514: f85d 7b04 ldr.w r7, [sp], #4 - 8001518: 4770 bx lr + 80014e2: bf00 nop + 80014e4: 370c adds r7, #12 + 80014e6: 46bd mov sp, r7 + 80014e8: f85d 7b04 ldr.w r7, [sp], #4 + 80014ec: 4770 bx lr ... -0800151c : +080014f0 : * supported by this API. User should request a transition to HSE Off * first and then HSE On or HSE Bypass. * @retval HAL status */ __weak HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) { - 800151c: b580 push {r7, lr} - 800151e: b086 sub sp, #24 - 8001520: af00 add r7, sp, #0 - 8001522: 6078 str r0, [r7, #4] + 80014f0: b580 push {r7, lr} + 80014f2: b086 sub sp, #24 + 80014f4: af00 add r7, sp, #0 + 80014f6: 6078 str r0, [r7, #4] uint32_t tickstart, pll_config; /* Check Null pointer */ if(RCC_OscInitStruct == NULL) - 8001524: 687b ldr r3, [r7, #4] - 8001526: 2b00 cmp r3, #0 - 8001528: d101 bne.n 800152e + 80014f8: 687b ldr r3, [r7, #4] + 80014fa: 2b00 cmp r3, #0 + 80014fc: d101 bne.n 8001502 { return HAL_ERROR; - 800152a: 2301 movs r3, #1 - 800152c: e267 b.n 80019fe + 80014fe: 2301 movs r3, #1 + 8001500: e267 b.n 80019d2 } /* Check the parameters */ assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType)); /*------------------------------- HSE Configuration ------------------------*/ if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) - 800152e: 687b ldr r3, [r7, #4] - 8001530: 681b ldr r3, [r3, #0] - 8001532: f003 0301 and.w r3, r3, #1 - 8001536: 2b00 cmp r3, #0 - 8001538: d075 beq.n 8001626 + 8001502: 687b ldr r3, [r7, #4] + 8001504: 681b ldr r3, [r3, #0] + 8001506: f003 0301 and.w r3, r3, #1 + 800150a: 2b00 cmp r3, #0 + 800150c: d075 beq.n 80015fa { /* Check the parameters */ assert_param(IS_RCC_HSE(RCC_OscInitStruct->HSEState)); /* When the HSE is used as system clock or clock source for PLL in these cases HSE will not disabled */ if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_HSE) ||\ - 800153a: 4b88 ldr r3, [pc, #544] ; (800175c ) - 800153c: 689b ldr r3, [r3, #8] - 800153e: f003 030c and.w r3, r3, #12 - 8001542: 2b04 cmp r3, #4 - 8001544: d00c beq.n 8001560 + 800150e: 4b88 ldr r3, [pc, #544] ; (8001730 ) + 8001510: 689b ldr r3, [r3, #8] + 8001512: f003 030c and.w r3, r3, #12 + 8001516: 2b04 cmp r3, #4 + 8001518: d00c beq.n 8001534 ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_PLL) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSE))) - 8001546: 4b85 ldr r3, [pc, #532] ; (800175c ) - 8001548: 689b ldr r3, [r3, #8] - 800154a: f003 030c and.w r3, r3, #12 + 800151a: 4b85 ldr r3, [pc, #532] ; (8001730 ) + 800151c: 689b ldr r3, [r3, #8] + 800151e: f003 030c and.w r3, r3, #12 if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_HSE) ||\ - 800154e: 2b08 cmp r3, #8 - 8001550: d112 bne.n 8001578 + 8001522: 2b08 cmp r3, #8 + 8001524: d112 bne.n 800154c ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_PLL) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSE))) - 8001552: 4b82 ldr r3, [pc, #520] ; (800175c ) - 8001554: 685b ldr r3, [r3, #4] - 8001556: f403 0380 and.w r3, r3, #4194304 ; 0x400000 - 800155a: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 - 800155e: d10b bne.n 8001578 + 8001526: 4b82 ldr r3, [pc, #520] ; (8001730 ) + 8001528: 685b ldr r3, [r3, #4] + 800152a: f403 0380 and.w r3, r3, #4194304 ; 0x400000 + 800152e: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 + 8001532: d10b bne.n 800154c { if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF)) - 8001560: 4b7e ldr r3, [pc, #504] ; (800175c ) - 8001562: 681b ldr r3, [r3, #0] - 8001564: f403 3300 and.w r3, r3, #131072 ; 0x20000 - 8001568: 2b00 cmp r3, #0 - 800156a: d05b beq.n 8001624 - 800156c: 687b ldr r3, [r7, #4] - 800156e: 685b ldr r3, [r3, #4] - 8001570: 2b00 cmp r3, #0 - 8001572: d157 bne.n 8001624 + 8001534: 4b7e ldr r3, [pc, #504] ; (8001730 ) + 8001536: 681b ldr r3, [r3, #0] + 8001538: f403 3300 and.w r3, r3, #131072 ; 0x20000 + 800153c: 2b00 cmp r3, #0 + 800153e: d05b beq.n 80015f8 + 8001540: 687b ldr r3, [r7, #4] + 8001542: 685b ldr r3, [r3, #4] + 8001544: 2b00 cmp r3, #0 + 8001546: d157 bne.n 80015f8 { return HAL_ERROR; - 8001574: 2301 movs r3, #1 - 8001576: e242 b.n 80019fe + 8001548: 2301 movs r3, #1 + 800154a: e242 b.n 80019d2 } } else { /* Set the new HSE configuration ---------------------------------------*/ __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState); - 8001578: 687b ldr r3, [r7, #4] - 800157a: 685b ldr r3, [r3, #4] - 800157c: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 - 8001580: d106 bne.n 8001590 - 8001582: 4b76 ldr r3, [pc, #472] ; (800175c ) - 8001584: 681b ldr r3, [r3, #0] - 8001586: 4a75 ldr r2, [pc, #468] ; (800175c ) - 8001588: f443 3380 orr.w r3, r3, #65536 ; 0x10000 - 800158c: 6013 str r3, [r2, #0] - 800158e: e01d b.n 80015cc - 8001590: 687b ldr r3, [r7, #4] - 8001592: 685b ldr r3, [r3, #4] - 8001594: f5b3 2fa0 cmp.w r3, #327680 ; 0x50000 - 8001598: d10c bne.n 80015b4 - 800159a: 4b70 ldr r3, [pc, #448] ; (800175c ) - 800159c: 681b ldr r3, [r3, #0] - 800159e: 4a6f ldr r2, [pc, #444] ; (800175c ) - 80015a0: f443 2380 orr.w r3, r3, #262144 ; 0x40000 - 80015a4: 6013 str r3, [r2, #0] - 80015a6: 4b6d ldr r3, [pc, #436] ; (800175c ) - 80015a8: 681b ldr r3, [r3, #0] - 80015aa: 4a6c ldr r2, [pc, #432] ; (800175c ) - 80015ac: f443 3380 orr.w r3, r3, #65536 ; 0x10000 - 80015b0: 6013 str r3, [r2, #0] - 80015b2: e00b b.n 80015cc - 80015b4: 4b69 ldr r3, [pc, #420] ; (800175c ) - 80015b6: 681b ldr r3, [r3, #0] - 80015b8: 4a68 ldr r2, [pc, #416] ; (800175c ) - 80015ba: f423 3380 bic.w r3, r3, #65536 ; 0x10000 - 80015be: 6013 str r3, [r2, #0] - 80015c0: 4b66 ldr r3, [pc, #408] ; (800175c ) - 80015c2: 681b ldr r3, [r3, #0] - 80015c4: 4a65 ldr r2, [pc, #404] ; (800175c ) - 80015c6: f423 2380 bic.w r3, r3, #262144 ; 0x40000 - 80015ca: 6013 str r3, [r2, #0] + 800154c: 687b ldr r3, [r7, #4] + 800154e: 685b ldr r3, [r3, #4] + 8001550: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 + 8001554: d106 bne.n 8001564 + 8001556: 4b76 ldr r3, [pc, #472] ; (8001730 ) + 8001558: 681b ldr r3, [r3, #0] + 800155a: 4a75 ldr r2, [pc, #468] ; (8001730 ) + 800155c: f443 3380 orr.w r3, r3, #65536 ; 0x10000 + 8001560: 6013 str r3, [r2, #0] + 8001562: e01d b.n 80015a0 + 8001564: 687b ldr r3, [r7, #4] + 8001566: 685b ldr r3, [r3, #4] + 8001568: f5b3 2fa0 cmp.w r3, #327680 ; 0x50000 + 800156c: d10c bne.n 8001588 + 800156e: 4b70 ldr r3, [pc, #448] ; (8001730 ) + 8001570: 681b ldr r3, [r3, #0] + 8001572: 4a6f ldr r2, [pc, #444] ; (8001730 ) + 8001574: f443 2380 orr.w r3, r3, #262144 ; 0x40000 + 8001578: 6013 str r3, [r2, #0] + 800157a: 4b6d ldr r3, [pc, #436] ; (8001730 ) + 800157c: 681b ldr r3, [r3, #0] + 800157e: 4a6c ldr r2, [pc, #432] ; (8001730 ) + 8001580: f443 3380 orr.w r3, r3, #65536 ; 0x10000 + 8001584: 6013 str r3, [r2, #0] + 8001586: e00b b.n 80015a0 + 8001588: 4b69 ldr r3, [pc, #420] ; (8001730 ) + 800158a: 681b ldr r3, [r3, #0] + 800158c: 4a68 ldr r2, [pc, #416] ; (8001730 ) + 800158e: f423 3380 bic.w r3, r3, #65536 ; 0x10000 + 8001592: 6013 str r3, [r2, #0] + 8001594: 4b66 ldr r3, [pc, #408] ; (8001730 ) + 8001596: 681b ldr r3, [r3, #0] + 8001598: 4a65 ldr r2, [pc, #404] ; (8001730 ) + 800159a: f423 2380 bic.w r3, r3, #262144 ; 0x40000 + 800159e: 6013 str r3, [r2, #0] /* Check the HSE State */ if((RCC_OscInitStruct->HSEState) != RCC_HSE_OFF) - 80015cc: 687b ldr r3, [r7, #4] - 80015ce: 685b ldr r3, [r3, #4] - 80015d0: 2b00 cmp r3, #0 - 80015d2: d013 beq.n 80015fc + 80015a0: 687b ldr r3, [r7, #4] + 80015a2: 685b ldr r3, [r3, #4] + 80015a4: 2b00 cmp r3, #0 + 80015a6: d013 beq.n 80015d0 { /* Get Start Tick */ tickstart = HAL_GetTick(); - 80015d4: f7ff fcce bl 8000f74 - 80015d8: 6138 str r0, [r7, #16] + 80015a8: f7ff fcce bl 8000f48 + 80015ac: 6138 str r0, [r7, #16] /* Wait till HSE is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) - 80015da: e008 b.n 80015ee + 80015ae: e008 b.n 80015c2 { if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE) - 80015dc: f7ff fcca bl 8000f74 - 80015e0: 4602 mov r2, r0 - 80015e2: 693b ldr r3, [r7, #16] - 80015e4: 1ad3 subs r3, r2, r3 - 80015e6: 2b64 cmp r3, #100 ; 0x64 - 80015e8: d901 bls.n 80015ee + 80015b0: f7ff fcca bl 8000f48 + 80015b4: 4602 mov r2, r0 + 80015b6: 693b ldr r3, [r7, #16] + 80015b8: 1ad3 subs r3, r2, r3 + 80015ba: 2b64 cmp r3, #100 ; 0x64 + 80015bc: d901 bls.n 80015c2 { return HAL_TIMEOUT; - 80015ea: 2303 movs r3, #3 - 80015ec: e207 b.n 80019fe + 80015be: 2303 movs r3, #3 + 80015c0: e207 b.n 80019d2 while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) - 80015ee: 4b5b ldr r3, [pc, #364] ; (800175c ) - 80015f0: 681b ldr r3, [r3, #0] - 80015f2: f403 3300 and.w r3, r3, #131072 ; 0x20000 - 80015f6: 2b00 cmp r3, #0 - 80015f8: d0f0 beq.n 80015dc - 80015fa: e014 b.n 8001626 + 80015c2: 4b5b ldr r3, [pc, #364] ; (8001730 ) + 80015c4: 681b ldr r3, [r3, #0] + 80015c6: f403 3300 and.w r3, r3, #131072 ; 0x20000 + 80015ca: 2b00 cmp r3, #0 + 80015cc: d0f0 beq.n 80015b0 + 80015ce: e014 b.n 80015fa } } else { /* Get Start Tick */ tickstart = HAL_GetTick(); - 80015fc: f7ff fcba bl 8000f74 - 8001600: 6138 str r0, [r7, #16] + 80015d0: f7ff fcba bl 8000f48 + 80015d4: 6138 str r0, [r7, #16] /* Wait till HSE is bypassed or disabled */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) - 8001602: e008 b.n 8001616 + 80015d6: e008 b.n 80015ea { if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE) - 8001604: f7ff fcb6 bl 8000f74 - 8001608: 4602 mov r2, r0 - 800160a: 693b ldr r3, [r7, #16] - 800160c: 1ad3 subs r3, r2, r3 - 800160e: 2b64 cmp r3, #100 ; 0x64 - 8001610: d901 bls.n 8001616 + 80015d8: f7ff fcb6 bl 8000f48 + 80015dc: 4602 mov r2, r0 + 80015de: 693b ldr r3, [r7, #16] + 80015e0: 1ad3 subs r3, r2, r3 + 80015e2: 2b64 cmp r3, #100 ; 0x64 + 80015e4: d901 bls.n 80015ea { return HAL_TIMEOUT; - 8001612: 2303 movs r3, #3 - 8001614: e1f3 b.n 80019fe + 80015e6: 2303 movs r3, #3 + 80015e8: e1f3 b.n 80019d2 while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) - 8001616: 4b51 ldr r3, [pc, #324] ; (800175c ) - 8001618: 681b ldr r3, [r3, #0] - 800161a: f403 3300 and.w r3, r3, #131072 ; 0x20000 - 800161e: 2b00 cmp r3, #0 - 8001620: d1f0 bne.n 8001604 - 8001622: e000 b.n 8001626 + 80015ea: 4b51 ldr r3, [pc, #324] ; (8001730 ) + 80015ec: 681b ldr r3, [r3, #0] + 80015ee: f403 3300 and.w r3, r3, #131072 ; 0x20000 + 80015f2: 2b00 cmp r3, #0 + 80015f4: d1f0 bne.n 80015d8 + 80015f6: e000 b.n 80015fa if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF)) - 8001624: bf00 nop + 80015f8: bf00 nop } } } } /*----------------------------- HSI Configuration --------------------------*/ if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) - 8001626: 687b ldr r3, [r7, #4] - 8001628: 681b ldr r3, [r3, #0] - 800162a: f003 0302 and.w r3, r3, #2 - 800162e: 2b00 cmp r3, #0 - 8001630: d063 beq.n 80016fa + 80015fa: 687b ldr r3, [r7, #4] + 80015fc: 681b ldr r3, [r3, #0] + 80015fe: f003 0302 and.w r3, r3, #2 + 8001602: 2b00 cmp r3, #0 + 8001604: d063 beq.n 80016ce /* Check the parameters */ assert_param(IS_RCC_HSI(RCC_OscInitStruct->HSIState)); assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue)); /* Check if HSI is used as system clock or as PLL source when PLL is selected as system clock */ if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_HSI) ||\ - 8001632: 4b4a ldr r3, [pc, #296] ; (800175c ) - 8001634: 689b ldr r3, [r3, #8] - 8001636: f003 030c and.w r3, r3, #12 - 800163a: 2b00 cmp r3, #0 - 800163c: d00b beq.n 8001656 + 8001606: 4b4a ldr r3, [pc, #296] ; (8001730 ) + 8001608: 689b ldr r3, [r3, #8] + 800160a: f003 030c and.w r3, r3, #12 + 800160e: 2b00 cmp r3, #0 + 8001610: d00b beq.n 800162a ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_PLL) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSI))) - 800163e: 4b47 ldr r3, [pc, #284] ; (800175c ) - 8001640: 689b ldr r3, [r3, #8] - 8001642: f003 030c and.w r3, r3, #12 + 8001612: 4b47 ldr r3, [pc, #284] ; (8001730 ) + 8001614: 689b ldr r3, [r3, #8] + 8001616: f003 030c and.w r3, r3, #12 if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_HSI) ||\ - 8001646: 2b08 cmp r3, #8 - 8001648: d11c bne.n 8001684 + 800161a: 2b08 cmp r3, #8 + 800161c: d11c bne.n 8001658 ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_PLL) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSI))) - 800164a: 4b44 ldr r3, [pc, #272] ; (800175c ) - 800164c: 685b ldr r3, [r3, #4] - 800164e: f403 0380 and.w r3, r3, #4194304 ; 0x400000 - 8001652: 2b00 cmp r3, #0 - 8001654: d116 bne.n 8001684 + 800161e: 4b44 ldr r3, [pc, #272] ; (8001730 ) + 8001620: 685b ldr r3, [r3, #4] + 8001622: f403 0380 and.w r3, r3, #4194304 ; 0x400000 + 8001626: 2b00 cmp r3, #0 + 8001628: d116 bne.n 8001658 { /* When HSI is used as system clock it will not disabled */ if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ON)) - 8001656: 4b41 ldr r3, [pc, #260] ; (800175c ) - 8001658: 681b ldr r3, [r3, #0] - 800165a: f003 0302 and.w r3, r3, #2 - 800165e: 2b00 cmp r3, #0 - 8001660: d005 beq.n 800166e - 8001662: 687b ldr r3, [r7, #4] - 8001664: 68db ldr r3, [r3, #12] - 8001666: 2b01 cmp r3, #1 - 8001668: d001 beq.n 800166e + 800162a: 4b41 ldr r3, [pc, #260] ; (8001730 ) + 800162c: 681b ldr r3, [r3, #0] + 800162e: f003 0302 and.w r3, r3, #2 + 8001632: 2b00 cmp r3, #0 + 8001634: d005 beq.n 8001642 + 8001636: 687b ldr r3, [r7, #4] + 8001638: 68db ldr r3, [r3, #12] + 800163a: 2b01 cmp r3, #1 + 800163c: d001 beq.n 8001642 { return HAL_ERROR; - 800166a: 2301 movs r3, #1 - 800166c: e1c7 b.n 80019fe + 800163e: 2301 movs r3, #1 + 8001640: e1c7 b.n 80019d2 } /* Otherwise, just the calibration is allowed */ else { /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); - 800166e: 4b3b ldr r3, [pc, #236] ; (800175c ) - 8001670: 681b ldr r3, [r3, #0] - 8001672: f023 02f8 bic.w r2, r3, #248 ; 0xf8 - 8001676: 687b ldr r3, [r7, #4] - 8001678: 691b ldr r3, [r3, #16] - 800167a: 00db lsls r3, r3, #3 - 800167c: 4937 ldr r1, [pc, #220] ; (800175c ) - 800167e: 4313 orrs r3, r2 - 8001680: 600b str r3, [r1, #0] + 8001642: 4b3b ldr r3, [pc, #236] ; (8001730 ) + 8001644: 681b ldr r3, [r3, #0] + 8001646: f023 02f8 bic.w r2, r3, #248 ; 0xf8 + 800164a: 687b ldr r3, [r7, #4] + 800164c: 691b ldr r3, [r3, #16] + 800164e: 00db lsls r3, r3, #3 + 8001650: 4937 ldr r1, [pc, #220] ; (8001730 ) + 8001652: 4313 orrs r3, r2 + 8001654: 600b str r3, [r1, #0] if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ON)) - 8001682: e03a b.n 80016fa + 8001656: e03a b.n 80016ce } } else { /* Check the HSI State */ if((RCC_OscInitStruct->HSIState)!= RCC_HSI_OFF) - 8001684: 687b ldr r3, [r7, #4] - 8001686: 68db ldr r3, [r3, #12] - 8001688: 2b00 cmp r3, #0 - 800168a: d020 beq.n 80016ce + 8001658: 687b ldr r3, [r7, #4] + 800165a: 68db ldr r3, [r3, #12] + 800165c: 2b00 cmp r3, #0 + 800165e: d020 beq.n 80016a2 { /* Enable the Internal High Speed oscillator (HSI). */ __HAL_RCC_HSI_ENABLE(); - 800168c: 4b34 ldr r3, [pc, #208] ; (8001760 ) - 800168e: 2201 movs r2, #1 - 8001690: 601a str r2, [r3, #0] + 8001660: 4b34 ldr r3, [pc, #208] ; (8001734 ) + 8001662: 2201 movs r2, #1 + 8001664: 601a str r2, [r3, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 8001692: f7ff fc6f bl 8000f74 - 8001696: 6138 str r0, [r7, #16] + 8001666: f7ff fc6f bl 8000f48 + 800166a: 6138 str r0, [r7, #16] /* Wait till HSI is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) - 8001698: e008 b.n 80016ac + 800166c: e008 b.n 8001680 { if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE) - 800169a: f7ff fc6b bl 8000f74 - 800169e: 4602 mov r2, r0 - 80016a0: 693b ldr r3, [r7, #16] - 80016a2: 1ad3 subs r3, r2, r3 - 80016a4: 2b02 cmp r3, #2 - 80016a6: d901 bls.n 80016ac + 800166e: f7ff fc6b bl 8000f48 + 8001672: 4602 mov r2, r0 + 8001674: 693b ldr r3, [r7, #16] + 8001676: 1ad3 subs r3, r2, r3 + 8001678: 2b02 cmp r3, #2 + 800167a: d901 bls.n 8001680 { return HAL_TIMEOUT; - 80016a8: 2303 movs r3, #3 - 80016aa: e1a8 b.n 80019fe + 800167c: 2303 movs r3, #3 + 800167e: e1a8 b.n 80019d2 while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) - 80016ac: 4b2b ldr r3, [pc, #172] ; (800175c ) - 80016ae: 681b ldr r3, [r3, #0] - 80016b0: f003 0302 and.w r3, r3, #2 - 80016b4: 2b00 cmp r3, #0 - 80016b6: d0f0 beq.n 800169a + 8001680: 4b2b ldr r3, [pc, #172] ; (8001730 ) + 8001682: 681b ldr r3, [r3, #0] + 8001684: f003 0302 and.w r3, r3, #2 + 8001688: 2b00 cmp r3, #0 + 800168a: d0f0 beq.n 800166e } } /* Adjusts the Internal High Speed oscillator (HSI) calibration value. */ __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); - 80016b8: 4b28 ldr r3, [pc, #160] ; (800175c ) - 80016ba: 681b ldr r3, [r3, #0] - 80016bc: f023 02f8 bic.w r2, r3, #248 ; 0xf8 - 80016c0: 687b ldr r3, [r7, #4] - 80016c2: 691b ldr r3, [r3, #16] - 80016c4: 00db lsls r3, r3, #3 - 80016c6: 4925 ldr r1, [pc, #148] ; (800175c ) - 80016c8: 4313 orrs r3, r2 - 80016ca: 600b str r3, [r1, #0] - 80016cc: e015 b.n 80016fa + 800168c: 4b28 ldr r3, [pc, #160] ; (8001730 ) + 800168e: 681b ldr r3, [r3, #0] + 8001690: f023 02f8 bic.w r2, r3, #248 ; 0xf8 + 8001694: 687b ldr r3, [r7, #4] + 8001696: 691b ldr r3, [r3, #16] + 8001698: 00db lsls r3, r3, #3 + 800169a: 4925 ldr r1, [pc, #148] ; (8001730 ) + 800169c: 4313 orrs r3, r2 + 800169e: 600b str r3, [r1, #0] + 80016a0: e015 b.n 80016ce } else { /* Disable the Internal High Speed oscillator (HSI). */ __HAL_RCC_HSI_DISABLE(); - 80016ce: 4b24 ldr r3, [pc, #144] ; (8001760 ) - 80016d0: 2200 movs r2, #0 - 80016d2: 601a str r2, [r3, #0] + 80016a2: 4b24 ldr r3, [pc, #144] ; (8001734 ) + 80016a4: 2200 movs r2, #0 + 80016a6: 601a str r2, [r3, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 80016d4: f7ff fc4e bl 8000f74 - 80016d8: 6138 str r0, [r7, #16] + 80016a8: f7ff fc4e bl 8000f48 + 80016ac: 6138 str r0, [r7, #16] /* Wait till HSI is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) - 80016da: e008 b.n 80016ee + 80016ae: e008 b.n 80016c2 { if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE) - 80016dc: f7ff fc4a bl 8000f74 - 80016e0: 4602 mov r2, r0 - 80016e2: 693b ldr r3, [r7, #16] - 80016e4: 1ad3 subs r3, r2, r3 - 80016e6: 2b02 cmp r3, #2 - 80016e8: d901 bls.n 80016ee + 80016b0: f7ff fc4a bl 8000f48 + 80016b4: 4602 mov r2, r0 + 80016b6: 693b ldr r3, [r7, #16] + 80016b8: 1ad3 subs r3, r2, r3 + 80016ba: 2b02 cmp r3, #2 + 80016bc: d901 bls.n 80016c2 { return HAL_TIMEOUT; - 80016ea: 2303 movs r3, #3 - 80016ec: e187 b.n 80019fe + 80016be: 2303 movs r3, #3 + 80016c0: e187 b.n 80019d2 while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) - 80016ee: 4b1b ldr r3, [pc, #108] ; (800175c ) - 80016f0: 681b ldr r3, [r3, #0] - 80016f2: f003 0302 and.w r3, r3, #2 - 80016f6: 2b00 cmp r3, #0 - 80016f8: d1f0 bne.n 80016dc + 80016c2: 4b1b ldr r3, [pc, #108] ; (8001730 ) + 80016c4: 681b ldr r3, [r3, #0] + 80016c6: f003 0302 and.w r3, r3, #2 + 80016ca: 2b00 cmp r3, #0 + 80016cc: d1f0 bne.n 80016b0 } } } } /*------------------------------ LSI Configuration -------------------------*/ if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) - 80016fa: 687b ldr r3, [r7, #4] - 80016fc: 681b ldr r3, [r3, #0] - 80016fe: f003 0308 and.w r3, r3, #8 - 8001702: 2b00 cmp r3, #0 - 8001704: d036 beq.n 8001774 + 80016ce: 687b ldr r3, [r7, #4] + 80016d0: 681b ldr r3, [r3, #0] + 80016d2: f003 0308 and.w r3, r3, #8 + 80016d6: 2b00 cmp r3, #0 + 80016d8: d036 beq.n 8001748 { /* Check the parameters */ assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState)); /* Check the LSI State */ if((RCC_OscInitStruct->LSIState)!= RCC_LSI_OFF) - 8001706: 687b ldr r3, [r7, #4] - 8001708: 695b ldr r3, [r3, #20] - 800170a: 2b00 cmp r3, #0 - 800170c: d016 beq.n 800173c + 80016da: 687b ldr r3, [r7, #4] + 80016dc: 695b ldr r3, [r3, #20] + 80016de: 2b00 cmp r3, #0 + 80016e0: d016 beq.n 8001710 { /* Enable the Internal Low Speed oscillator (LSI). */ __HAL_RCC_LSI_ENABLE(); - 800170e: 4b15 ldr r3, [pc, #84] ; (8001764 ) - 8001710: 2201 movs r2, #1 - 8001712: 601a str r2, [r3, #0] + 80016e2: 4b15 ldr r3, [pc, #84] ; (8001738 ) + 80016e4: 2201 movs r2, #1 + 80016e6: 601a str r2, [r3, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); - 8001714: f7ff fc2e bl 8000f74 - 8001718: 6138 str r0, [r7, #16] + 80016e8: f7ff fc2e bl 8000f48 + 80016ec: 6138 str r0, [r7, #16] /* Wait till LSI is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) - 800171a: e008 b.n 800172e + 80016ee: e008 b.n 8001702 { if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE) - 800171c: f7ff fc2a bl 8000f74 - 8001720: 4602 mov r2, r0 - 8001722: 693b ldr r3, [r7, #16] - 8001724: 1ad3 subs r3, r2, r3 - 8001726: 2b02 cmp r3, #2 - 8001728: d901 bls.n 800172e + 80016f0: f7ff fc2a bl 8000f48 + 80016f4: 4602 mov r2, r0 + 80016f6: 693b ldr r3, [r7, #16] + 80016f8: 1ad3 subs r3, r2, r3 + 80016fa: 2b02 cmp r3, #2 + 80016fc: d901 bls.n 8001702 { return HAL_TIMEOUT; - 800172a: 2303 movs r3, #3 - 800172c: e167 b.n 80019fe + 80016fe: 2303 movs r3, #3 + 8001700: e167 b.n 80019d2 while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) - 800172e: 4b0b ldr r3, [pc, #44] ; (800175c ) - 8001730: 6f5b ldr r3, [r3, #116] ; 0x74 - 8001732: f003 0302 and.w r3, r3, #2 - 8001736: 2b00 cmp r3, #0 - 8001738: d0f0 beq.n 800171c - 800173a: e01b b.n 8001774 + 8001702: 4b0b ldr r3, [pc, #44] ; (8001730 ) + 8001704: 6f5b ldr r3, [r3, #116] ; 0x74 + 8001706: f003 0302 and.w r3, r3, #2 + 800170a: 2b00 cmp r3, #0 + 800170c: d0f0 beq.n 80016f0 + 800170e: e01b b.n 8001748 } } else { /* Disable the Internal Low Speed oscillator (LSI). */ __HAL_RCC_LSI_DISABLE(); - 800173c: 4b09 ldr r3, [pc, #36] ; (8001764 ) - 800173e: 2200 movs r2, #0 - 8001740: 601a str r2, [r3, #0] + 8001710: 4b09 ldr r3, [pc, #36] ; (8001738 ) + 8001712: 2200 movs r2, #0 + 8001714: 601a str r2, [r3, #0] /* Get Start Tick */ tickstart = HAL_GetTick(); - 8001742: f7ff fc17 bl 8000f74 - 8001746: 6138 str r0, [r7, #16] + 8001716: f7ff fc17 bl 8000f48 + 800171a: 6138 str r0, [r7, #16] /* Wait till LSI is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) - 8001748: e00e b.n 8001768 + 800171c: e00e b.n 800173c { if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE) - 800174a: f7ff fc13 bl 8000f74 - 800174e: 4602 mov r2, r0 - 8001750: 693b ldr r3, [r7, #16] - 8001752: 1ad3 subs r3, r2, r3 - 8001754: 2b02 cmp r3, #2 - 8001756: d907 bls.n 8001768 + 800171e: f7ff fc13 bl 8000f48 + 8001722: 4602 mov r2, r0 + 8001724: 693b ldr r3, [r7, #16] + 8001726: 1ad3 subs r3, r2, r3 + 8001728: 2b02 cmp r3, #2 + 800172a: d907 bls.n 800173c { return HAL_TIMEOUT; - 8001758: 2303 movs r3, #3 - 800175a: e150 b.n 80019fe - 800175c: 40023800 .word 0x40023800 - 8001760: 42470000 .word 0x42470000 - 8001764: 42470e80 .word 0x42470e80 + 800172c: 2303 movs r3, #3 + 800172e: e150 b.n 80019d2 + 8001730: 40023800 .word 0x40023800 + 8001734: 42470000 .word 0x42470000 + 8001738: 42470e80 .word 0x42470e80 while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) - 8001768: 4b88 ldr r3, [pc, #544] ; (800198c ) - 800176a: 6f5b ldr r3, [r3, #116] ; 0x74 - 800176c: f003 0302 and.w r3, r3, #2 - 8001770: 2b00 cmp r3, #0 - 8001772: d1ea bne.n 800174a + 800173c: 4b88 ldr r3, [pc, #544] ; (8001960 ) + 800173e: 6f5b ldr r3, [r3, #116] ; 0x74 + 8001740: f003 0302 and.w r3, r3, #2 + 8001744: 2b00 cmp r3, #0 + 8001746: d1ea bne.n 800171e } } } } /*------------------------------ LSE Configuration -------------------------*/ if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) - 8001774: 687b ldr r3, [r7, #4] - 8001776: 681b ldr r3, [r3, #0] - 8001778: f003 0304 and.w r3, r3, #4 - 800177c: 2b00 cmp r3, #0 - 800177e: f000 8097 beq.w 80018b0 + 8001748: 687b ldr r3, [r7, #4] + 800174a: 681b ldr r3, [r3, #0] + 800174c: f003 0304 and.w r3, r3, #4 + 8001750: 2b00 cmp r3, #0 + 8001752: f000 8097 beq.w 8001884 { FlagStatus pwrclkchanged = RESET; - 8001782: 2300 movs r3, #0 - 8001784: 75fb strb r3, [r7, #23] + 8001756: 2300 movs r3, #0 + 8001758: 75fb strb r3, [r7, #23] /* Check the parameters */ assert_param(IS_RCC_LSE(RCC_OscInitStruct->LSEState)); /* Update LSE configuration in Backup Domain control register */ /* Requires to enable write access to Backup Domain of necessary */ if(__HAL_RCC_PWR_IS_CLK_DISABLED()) - 8001786: 4b81 ldr r3, [pc, #516] ; (800198c ) - 8001788: 6c1b ldr r3, [r3, #64] ; 0x40 - 800178a: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 - 800178e: 2b00 cmp r3, #0 - 8001790: d10f bne.n 80017b2 + 800175a: 4b81 ldr r3, [pc, #516] ; (8001960 ) + 800175c: 6c1b ldr r3, [r3, #64] ; 0x40 + 800175e: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 + 8001762: 2b00 cmp r3, #0 + 8001764: d10f bne.n 8001786 { __HAL_RCC_PWR_CLK_ENABLE(); - 8001792: 2300 movs r3, #0 - 8001794: 60bb str r3, [r7, #8] - 8001796: 4b7d ldr r3, [pc, #500] ; (800198c ) - 8001798: 6c1b ldr r3, [r3, #64] ; 0x40 - 800179a: 4a7c ldr r2, [pc, #496] ; (800198c ) - 800179c: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 - 80017a0: 6413 str r3, [r2, #64] ; 0x40 - 80017a2: 4b7a ldr r3, [pc, #488] ; (800198c ) - 80017a4: 6c1b ldr r3, [r3, #64] ; 0x40 - 80017a6: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 - 80017aa: 60bb str r3, [r7, #8] - 80017ac: 68bb ldr r3, [r7, #8] + 8001766: 2300 movs r3, #0 + 8001768: 60bb str r3, [r7, #8] + 800176a: 4b7d ldr r3, [pc, #500] ; (8001960 ) + 800176c: 6c1b ldr r3, [r3, #64] ; 0x40 + 800176e: 4a7c ldr r2, [pc, #496] ; (8001960 ) + 8001770: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 + 8001774: 6413 str r3, [r2, #64] ; 0x40 + 8001776: 4b7a ldr r3, [pc, #488] ; (8001960 ) + 8001778: 6c1b ldr r3, [r3, #64] ; 0x40 + 800177a: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 + 800177e: 60bb str r3, [r7, #8] + 8001780: 68bb ldr r3, [r7, #8] pwrclkchanged = SET; - 80017ae: 2301 movs r3, #1 - 80017b0: 75fb strb r3, [r7, #23] + 8001782: 2301 movs r3, #1 + 8001784: 75fb strb r3, [r7, #23] } if(HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP)) - 80017b2: 4b77 ldr r3, [pc, #476] ; (8001990 ) - 80017b4: 681b ldr r3, [r3, #0] - 80017b6: f403 7380 and.w r3, r3, #256 ; 0x100 - 80017ba: 2b00 cmp r3, #0 - 80017bc: d118 bne.n 80017f0 + 8001786: 4b77 ldr r3, [pc, #476] ; (8001964 ) + 8001788: 681b ldr r3, [r3, #0] + 800178a: f403 7380 and.w r3, r3, #256 ; 0x100 + 800178e: 2b00 cmp r3, #0 + 8001790: d118 bne.n 80017c4 { /* Enable write access to Backup domain */ SET_BIT(PWR->CR, PWR_CR_DBP); - 80017be: 4b74 ldr r3, [pc, #464] ; (8001990 ) - 80017c0: 681b ldr r3, [r3, #0] - 80017c2: 4a73 ldr r2, [pc, #460] ; (8001990 ) - 80017c4: f443 7380 orr.w r3, r3, #256 ; 0x100 - 80017c8: 6013 str r3, [r2, #0] + 8001792: 4b74 ldr r3, [pc, #464] ; (8001964 ) + 8001794: 681b ldr r3, [r3, #0] + 8001796: 4a73 ldr r2, [pc, #460] ; (8001964 ) + 8001798: f443 7380 orr.w r3, r3, #256 ; 0x100 + 800179c: 6013 str r3, [r2, #0] /* Wait for Backup domain Write protection disable */ tickstart = HAL_GetTick(); - 80017ca: f7ff fbd3 bl 8000f74 - 80017ce: 6138 str r0, [r7, #16] + 800179e: f7ff fbd3 bl 8000f48 + 80017a2: 6138 str r0, [r7, #16] while(HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP)) - 80017d0: e008 b.n 80017e4 + 80017a4: e008 b.n 80017b8 { if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) - 80017d2: f7ff fbcf bl 8000f74 - 80017d6: 4602 mov r2, r0 - 80017d8: 693b ldr r3, [r7, #16] - 80017da: 1ad3 subs r3, r2, r3 - 80017dc: 2b02 cmp r3, #2 - 80017de: d901 bls.n 80017e4 + 80017a6: f7ff fbcf bl 8000f48 + 80017aa: 4602 mov r2, r0 + 80017ac: 693b ldr r3, [r7, #16] + 80017ae: 1ad3 subs r3, r2, r3 + 80017b0: 2b02 cmp r3, #2 + 80017b2: d901 bls.n 80017b8 { return HAL_TIMEOUT; - 80017e0: 2303 movs r3, #3 - 80017e2: e10c b.n 80019fe + 80017b4: 2303 movs r3, #3 + 80017b6: e10c b.n 80019d2 while(HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP)) - 80017e4: 4b6a ldr r3, [pc, #424] ; (8001990 ) - 80017e6: 681b ldr r3, [r3, #0] - 80017e8: f403 7380 and.w r3, r3, #256 ; 0x100 - 80017ec: 2b00 cmp r3, #0 - 80017ee: d0f0 beq.n 80017d2 + 80017b8: 4b6a ldr r3, [pc, #424] ; (8001964 ) + 80017ba: 681b ldr r3, [r3, #0] + 80017bc: f403 7380 and.w r3, r3, #256 ; 0x100 + 80017c0: 2b00 cmp r3, #0 + 80017c2: d0f0 beq.n 80017a6 } } } /* Set the new LSE configuration -----------------------------------------*/ __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState); - 80017f0: 687b ldr r3, [r7, #4] - 80017f2: 689b ldr r3, [r3, #8] - 80017f4: 2b01 cmp r3, #1 - 80017f6: d106 bne.n 8001806 - 80017f8: 4b64 ldr r3, [pc, #400] ; (800198c ) - 80017fa: 6f1b ldr r3, [r3, #112] ; 0x70 - 80017fc: 4a63 ldr r2, [pc, #396] ; (800198c ) - 80017fe: f043 0301 orr.w r3, r3, #1 - 8001802: 6713 str r3, [r2, #112] ; 0x70 - 8001804: e01c b.n 8001840 - 8001806: 687b ldr r3, [r7, #4] - 8001808: 689b ldr r3, [r3, #8] - 800180a: 2b05 cmp r3, #5 - 800180c: d10c bne.n 8001828 - 800180e: 4b5f ldr r3, [pc, #380] ; (800198c ) - 8001810: 6f1b ldr r3, [r3, #112] ; 0x70 - 8001812: 4a5e ldr r2, [pc, #376] ; (800198c ) - 8001814: f043 0304 orr.w r3, r3, #4 - 8001818: 6713 str r3, [r2, #112] ; 0x70 - 800181a: 4b5c ldr r3, [pc, #368] ; (800198c ) - 800181c: 6f1b ldr r3, [r3, #112] ; 0x70 - 800181e: 4a5b ldr r2, [pc, #364] ; (800198c ) - 8001820: f043 0301 orr.w r3, r3, #1 - 8001824: 6713 str r3, [r2, #112] ; 0x70 - 8001826: e00b b.n 8001840 - 8001828: 4b58 ldr r3, [pc, #352] ; (800198c ) - 800182a: 6f1b ldr r3, [r3, #112] ; 0x70 - 800182c: 4a57 ldr r2, [pc, #348] ; (800198c ) - 800182e: f023 0301 bic.w r3, r3, #1 - 8001832: 6713 str r3, [r2, #112] ; 0x70 - 8001834: 4b55 ldr r3, [pc, #340] ; (800198c ) - 8001836: 6f1b ldr r3, [r3, #112] ; 0x70 - 8001838: 4a54 ldr r2, [pc, #336] ; (800198c ) - 800183a: f023 0304 bic.w r3, r3, #4 - 800183e: 6713 str r3, [r2, #112] ; 0x70 + 80017c4: 687b ldr r3, [r7, #4] + 80017c6: 689b ldr r3, [r3, #8] + 80017c8: 2b01 cmp r3, #1 + 80017ca: d106 bne.n 80017da + 80017cc: 4b64 ldr r3, [pc, #400] ; (8001960 ) + 80017ce: 6f1b ldr r3, [r3, #112] ; 0x70 + 80017d0: 4a63 ldr r2, [pc, #396] ; (8001960 ) + 80017d2: f043 0301 orr.w r3, r3, #1 + 80017d6: 6713 str r3, [r2, #112] ; 0x70 + 80017d8: e01c b.n 8001814 + 80017da: 687b ldr r3, [r7, #4] + 80017dc: 689b ldr r3, [r3, #8] + 80017de: 2b05 cmp r3, #5 + 80017e0: d10c bne.n 80017fc + 80017e2: 4b5f ldr r3, [pc, #380] ; (8001960 ) + 80017e4: 6f1b ldr r3, [r3, #112] ; 0x70 + 80017e6: 4a5e ldr r2, [pc, #376] ; (8001960 ) + 80017e8: f043 0304 orr.w r3, r3, #4 + 80017ec: 6713 str r3, [r2, #112] ; 0x70 + 80017ee: 4b5c ldr r3, [pc, #368] ; (8001960 ) + 80017f0: 6f1b ldr r3, [r3, #112] ; 0x70 + 80017f2: 4a5b ldr r2, [pc, #364] ; (8001960 ) + 80017f4: f043 0301 orr.w r3, r3, #1 + 80017f8: 6713 str r3, [r2, #112] ; 0x70 + 80017fa: e00b b.n 8001814 + 80017fc: 4b58 ldr r3, [pc, #352] ; (8001960 ) + 80017fe: 6f1b ldr r3, [r3, #112] ; 0x70 + 8001800: 4a57 ldr r2, [pc, #348] ; (8001960 ) + 8001802: f023 0301 bic.w r3, r3, #1 + 8001806: 6713 str r3, [r2, #112] ; 0x70 + 8001808: 4b55 ldr r3, [pc, #340] ; (8001960 ) + 800180a: 6f1b ldr r3, [r3, #112] ; 0x70 + 800180c: 4a54 ldr r2, [pc, #336] ; (8001960 ) + 800180e: f023 0304 bic.w r3, r3, #4 + 8001812: 6713 str r3, [r2, #112] ; 0x70 /* Check the LSE State */ if((RCC_OscInitStruct->LSEState) != RCC_LSE_OFF) - 8001840: 687b ldr r3, [r7, #4] - 8001842: 689b ldr r3, [r3, #8] - 8001844: 2b00 cmp r3, #0 - 8001846: d015 beq.n 8001874 + 8001814: 687b ldr r3, [r7, #4] + 8001816: 689b ldr r3, [r3, #8] + 8001818: 2b00 cmp r3, #0 + 800181a: d015 beq.n 8001848 { /* Get Start Tick*/ tickstart = HAL_GetTick(); - 8001848: f7ff fb94 bl 8000f74 - 800184c: 6138 str r0, [r7, #16] + 800181c: f7ff fb94 bl 8000f48 + 8001820: 6138 str r0, [r7, #16] /* Wait till LSE is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) - 800184e: e00a b.n 8001866 + 8001822: e00a b.n 800183a { if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) - 8001850: f7ff fb90 bl 8000f74 - 8001854: 4602 mov r2, r0 - 8001856: 693b ldr r3, [r7, #16] - 8001858: 1ad3 subs r3, r2, r3 - 800185a: f241 3288 movw r2, #5000 ; 0x1388 - 800185e: 4293 cmp r3, r2 - 8001860: d901 bls.n 8001866 + 8001824: f7ff fb90 bl 8000f48 + 8001828: 4602 mov r2, r0 + 800182a: 693b ldr r3, [r7, #16] + 800182c: 1ad3 subs r3, r2, r3 + 800182e: f241 3288 movw r2, #5000 ; 0x1388 + 8001832: 4293 cmp r3, r2 + 8001834: d901 bls.n 800183a { return HAL_TIMEOUT; - 8001862: 2303 movs r3, #3 - 8001864: e0cb b.n 80019fe + 8001836: 2303 movs r3, #3 + 8001838: e0cb b.n 80019d2 while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) - 8001866: 4b49 ldr r3, [pc, #292] ; (800198c ) - 8001868: 6f1b ldr r3, [r3, #112] ; 0x70 - 800186a: f003 0302 and.w r3, r3, #2 - 800186e: 2b00 cmp r3, #0 - 8001870: d0ee beq.n 8001850 - 8001872: e014 b.n 800189e + 800183a: 4b49 ldr r3, [pc, #292] ; (8001960 ) + 800183c: 6f1b ldr r3, [r3, #112] ; 0x70 + 800183e: f003 0302 and.w r3, r3, #2 + 8001842: 2b00 cmp r3, #0 + 8001844: d0ee beq.n 8001824 + 8001846: e014 b.n 8001872 } } else { /* Get Start Tick */ tickstart = HAL_GetTick(); - 8001874: f7ff fb7e bl 8000f74 - 8001878: 6138 str r0, [r7, #16] + 8001848: f7ff fb7e bl 8000f48 + 800184c: 6138 str r0, [r7, #16] /* Wait till LSE is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) - 800187a: e00a b.n 8001892 + 800184e: e00a b.n 8001866 { if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) - 800187c: f7ff fb7a bl 8000f74 - 8001880: 4602 mov r2, r0 - 8001882: 693b ldr r3, [r7, #16] - 8001884: 1ad3 subs r3, r2, r3 - 8001886: f241 3288 movw r2, #5000 ; 0x1388 - 800188a: 4293 cmp r3, r2 - 800188c: d901 bls.n 8001892 + 8001850: f7ff fb7a bl 8000f48 + 8001854: 4602 mov r2, r0 + 8001856: 693b ldr r3, [r7, #16] + 8001858: 1ad3 subs r3, r2, r3 + 800185a: f241 3288 movw r2, #5000 ; 0x1388 + 800185e: 4293 cmp r3, r2 + 8001860: d901 bls.n 8001866 { return HAL_TIMEOUT; - 800188e: 2303 movs r3, #3 - 8001890: e0b5 b.n 80019fe + 8001862: 2303 movs r3, #3 + 8001864: e0b5 b.n 80019d2 while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) - 8001892: 4b3e ldr r3, [pc, #248] ; (800198c ) - 8001894: 6f1b ldr r3, [r3, #112] ; 0x70 - 8001896: f003 0302 and.w r3, r3, #2 - 800189a: 2b00 cmp r3, #0 - 800189c: d1ee bne.n 800187c + 8001866: 4b3e ldr r3, [pc, #248] ; (8001960 ) + 8001868: 6f1b ldr r3, [r3, #112] ; 0x70 + 800186a: f003 0302 and.w r3, r3, #2 + 800186e: 2b00 cmp r3, #0 + 8001870: d1ee bne.n 8001850 } } } /* Restore clock configuration if changed */ if(pwrclkchanged == SET) - 800189e: 7dfb ldrb r3, [r7, #23] - 80018a0: 2b01 cmp r3, #1 - 80018a2: d105 bne.n 80018b0 + 8001872: 7dfb ldrb r3, [r7, #23] + 8001874: 2b01 cmp r3, #1 + 8001876: d105 bne.n 8001884 { __HAL_RCC_PWR_CLK_DISABLE(); - 80018a4: 4b39 ldr r3, [pc, #228] ; (800198c ) - 80018a6: 6c1b ldr r3, [r3, #64] ; 0x40 - 80018a8: 4a38 ldr r2, [pc, #224] ; (800198c ) - 80018aa: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000 - 80018ae: 6413 str r3, [r2, #64] ; 0x40 + 8001878: 4b39 ldr r3, [pc, #228] ; (8001960 ) + 800187a: 6c1b ldr r3, [r3, #64] ; 0x40 + 800187c: 4a38 ldr r2, [pc, #224] ; (8001960 ) + 800187e: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000 + 8001882: 6413 str r3, [r2, #64] ; 0x40 } } /*-------------------------------- PLL Configuration -----------------------*/ /* Check the parameters */ assert_param(IS_RCC_PLL(RCC_OscInitStruct->PLL.PLLState)); if ((RCC_OscInitStruct->PLL.PLLState) != RCC_PLL_NONE) - 80018b0: 687b ldr r3, [r7, #4] - 80018b2: 699b ldr r3, [r3, #24] - 80018b4: 2b00 cmp r3, #0 - 80018b6: f000 80a1 beq.w 80019fc + 8001884: 687b ldr r3, [r7, #4] + 8001886: 699b ldr r3, [r3, #24] + 8001888: 2b00 cmp r3, #0 + 800188a: f000 80a1 beq.w 80019d0 { /* Check if the PLL is used as system clock or not */ if(__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_CFGR_SWS_PLL) - 80018ba: 4b34 ldr r3, [pc, #208] ; (800198c ) - 80018bc: 689b ldr r3, [r3, #8] - 80018be: f003 030c and.w r3, r3, #12 - 80018c2: 2b08 cmp r3, #8 - 80018c4: d05c beq.n 8001980 + 800188e: 4b34 ldr r3, [pc, #208] ; (8001960 ) + 8001890: 689b ldr r3, [r3, #8] + 8001892: f003 030c and.w r3, r3, #12 + 8001896: 2b08 cmp r3, #8 + 8001898: d05c beq.n 8001954 { if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON) - 80018c6: 687b ldr r3, [r7, #4] - 80018c8: 699b ldr r3, [r3, #24] - 80018ca: 2b02 cmp r3, #2 - 80018cc: d141 bne.n 8001952 + 800189a: 687b ldr r3, [r7, #4] + 800189c: 699b ldr r3, [r3, #24] + 800189e: 2b02 cmp r3, #2 + 80018a0: d141 bne.n 8001926 assert_param(IS_RCC_PLLN_VALUE(RCC_OscInitStruct->PLL.PLLN)); assert_param(IS_RCC_PLLP_VALUE(RCC_OscInitStruct->PLL.PLLP)); assert_param(IS_RCC_PLLQ_VALUE(RCC_OscInitStruct->PLL.PLLQ)); /* Disable the main PLL. */ __HAL_RCC_PLL_DISABLE(); - 80018ce: 4b31 ldr r3, [pc, #196] ; (8001994 ) - 80018d0: 2200 movs r2, #0 - 80018d2: 601a str r2, [r3, #0] + 80018a2: 4b31 ldr r3, [pc, #196] ; (8001968 ) + 80018a4: 2200 movs r2, #0 + 80018a6: 601a str r2, [r3, #0] /* Get Start Tick */ tickstart = HAL_GetTick(); - 80018d4: f7ff fb4e bl 8000f74 - 80018d8: 6138 str r0, [r7, #16] + 80018a8: f7ff fb4e bl 8000f48 + 80018ac: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) - 80018da: e008 b.n 80018ee + 80018ae: e008 b.n 80018c2 { if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) - 80018dc: f7ff fb4a bl 8000f74 - 80018e0: 4602 mov r2, r0 - 80018e2: 693b ldr r3, [r7, #16] - 80018e4: 1ad3 subs r3, r2, r3 - 80018e6: 2b02 cmp r3, #2 - 80018e8: d901 bls.n 80018ee + 80018b0: f7ff fb4a bl 8000f48 + 80018b4: 4602 mov r2, r0 + 80018b6: 693b ldr r3, [r7, #16] + 80018b8: 1ad3 subs r3, r2, r3 + 80018ba: 2b02 cmp r3, #2 + 80018bc: d901 bls.n 80018c2 { return HAL_TIMEOUT; - 80018ea: 2303 movs r3, #3 - 80018ec: e087 b.n 80019fe + 80018be: 2303 movs r3, #3 + 80018c0: e087 b.n 80019d2 while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) - 80018ee: 4b27 ldr r3, [pc, #156] ; (800198c ) - 80018f0: 681b ldr r3, [r3, #0] - 80018f2: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 - 80018f6: 2b00 cmp r3, #0 - 80018f8: d1f0 bne.n 80018dc + 80018c2: 4b27 ldr r3, [pc, #156] ; (8001960 ) + 80018c4: 681b ldr r3, [r3, #0] + 80018c6: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 + 80018ca: 2b00 cmp r3, #0 + 80018cc: d1f0 bne.n 80018b0 } } /* Configure the main PLL clock source, multiplication and division factors. */ WRITE_REG(RCC->PLLCFGR, (RCC_OscInitStruct->PLL.PLLSource | \ - 80018fa: 687b ldr r3, [r7, #4] - 80018fc: 69da ldr r2, [r3, #28] - 80018fe: 687b ldr r3, [r7, #4] - 8001900: 6a1b ldr r3, [r3, #32] - 8001902: 431a orrs r2, r3 - 8001904: 687b ldr r3, [r7, #4] - 8001906: 6a5b ldr r3, [r3, #36] ; 0x24 - 8001908: 019b lsls r3, r3, #6 - 800190a: 431a orrs r2, r3 - 800190c: 687b ldr r3, [r7, #4] - 800190e: 6a9b ldr r3, [r3, #40] ; 0x28 - 8001910: 085b lsrs r3, r3, #1 - 8001912: 3b01 subs r3, #1 - 8001914: 041b lsls r3, r3, #16 - 8001916: 431a orrs r2, r3 - 8001918: 687b ldr r3, [r7, #4] - 800191a: 6adb ldr r3, [r3, #44] ; 0x2c - 800191c: 061b lsls r3, r3, #24 - 800191e: 491b ldr r1, [pc, #108] ; (800198c ) - 8001920: 4313 orrs r3, r2 - 8001922: 604b str r3, [r1, #4] + 80018ce: 687b ldr r3, [r7, #4] + 80018d0: 69da ldr r2, [r3, #28] + 80018d2: 687b ldr r3, [r7, #4] + 80018d4: 6a1b ldr r3, [r3, #32] + 80018d6: 431a orrs r2, r3 + 80018d8: 687b ldr r3, [r7, #4] + 80018da: 6a5b ldr r3, [r3, #36] ; 0x24 + 80018dc: 019b lsls r3, r3, #6 + 80018de: 431a orrs r2, r3 + 80018e0: 687b ldr r3, [r7, #4] + 80018e2: 6a9b ldr r3, [r3, #40] ; 0x28 + 80018e4: 085b lsrs r3, r3, #1 + 80018e6: 3b01 subs r3, #1 + 80018e8: 041b lsls r3, r3, #16 + 80018ea: 431a orrs r2, r3 + 80018ec: 687b ldr r3, [r7, #4] + 80018ee: 6adb ldr r3, [r3, #44] ; 0x2c + 80018f0: 061b lsls r3, r3, #24 + 80018f2: 491b ldr r1, [pc, #108] ; (8001960 ) + 80018f4: 4313 orrs r3, r2 + 80018f6: 604b str r3, [r1, #4] RCC_OscInitStruct->PLL.PLLM | \ (RCC_OscInitStruct->PLL.PLLN << RCC_PLLCFGR_PLLN_Pos) | \ (((RCC_OscInitStruct->PLL.PLLP >> 1U) - 1U) << RCC_PLLCFGR_PLLP_Pos) | \ (RCC_OscInitStruct->PLL.PLLQ << RCC_PLLCFGR_PLLQ_Pos))); /* Enable the main PLL. */ __HAL_RCC_PLL_ENABLE(); - 8001924: 4b1b ldr r3, [pc, #108] ; (8001994 ) - 8001926: 2201 movs r2, #1 - 8001928: 601a str r2, [r3, #0] + 80018f8: 4b1b ldr r3, [pc, #108] ; (8001968 ) + 80018fa: 2201 movs r2, #1 + 80018fc: 601a str r2, [r3, #0] /* Get Start Tick */ tickstart = HAL_GetTick(); - 800192a: f7ff fb23 bl 8000f74 - 800192e: 6138 str r0, [r7, #16] + 80018fe: f7ff fb23 bl 8000f48 + 8001902: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) - 8001930: e008 b.n 8001944 + 8001904: e008 b.n 8001918 { if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) - 8001932: f7ff fb1f bl 8000f74 - 8001936: 4602 mov r2, r0 - 8001938: 693b ldr r3, [r7, #16] - 800193a: 1ad3 subs r3, r2, r3 - 800193c: 2b02 cmp r3, #2 - 800193e: d901 bls.n 8001944 + 8001906: f7ff fb1f bl 8000f48 + 800190a: 4602 mov r2, r0 + 800190c: 693b ldr r3, [r7, #16] + 800190e: 1ad3 subs r3, r2, r3 + 8001910: 2b02 cmp r3, #2 + 8001912: d901 bls.n 8001918 { return HAL_TIMEOUT; - 8001940: 2303 movs r3, #3 - 8001942: e05c b.n 80019fe + 8001914: 2303 movs r3, #3 + 8001916: e05c b.n 80019d2 while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) - 8001944: 4b11 ldr r3, [pc, #68] ; (800198c ) - 8001946: 681b ldr r3, [r3, #0] - 8001948: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 - 800194c: 2b00 cmp r3, #0 - 800194e: d0f0 beq.n 8001932 - 8001950: e054 b.n 80019fc + 8001918: 4b11 ldr r3, [pc, #68] ; (8001960 ) + 800191a: 681b ldr r3, [r3, #0] + 800191c: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 + 8001920: 2b00 cmp r3, #0 + 8001922: d0f0 beq.n 8001906 + 8001924: e054 b.n 80019d0 } } else { /* Disable the main PLL. */ __HAL_RCC_PLL_DISABLE(); - 8001952: 4b10 ldr r3, [pc, #64] ; (8001994 ) - 8001954: 2200 movs r2, #0 - 8001956: 601a str r2, [r3, #0] + 8001926: 4b10 ldr r3, [pc, #64] ; (8001968 ) + 8001928: 2200 movs r2, #0 + 800192a: 601a str r2, [r3, #0] /* Get Start Tick */ tickstart = HAL_GetTick(); - 8001958: f7ff fb0c bl 8000f74 - 800195c: 6138 str r0, [r7, #16] + 800192c: f7ff fb0c bl 8000f48 + 8001930: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) - 800195e: e008 b.n 8001972 + 8001932: e008 b.n 8001946 { if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) - 8001960: f7ff fb08 bl 8000f74 - 8001964: 4602 mov r2, r0 - 8001966: 693b ldr r3, [r7, #16] - 8001968: 1ad3 subs r3, r2, r3 - 800196a: 2b02 cmp r3, #2 - 800196c: d901 bls.n 8001972 + 8001934: f7ff fb08 bl 8000f48 + 8001938: 4602 mov r2, r0 + 800193a: 693b ldr r3, [r7, #16] + 800193c: 1ad3 subs r3, r2, r3 + 800193e: 2b02 cmp r3, #2 + 8001940: d901 bls.n 8001946 { return HAL_TIMEOUT; - 800196e: 2303 movs r3, #3 - 8001970: e045 b.n 80019fe + 8001942: 2303 movs r3, #3 + 8001944: e045 b.n 80019d2 while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) - 8001972: 4b06 ldr r3, [pc, #24] ; (800198c ) - 8001974: 681b ldr r3, [r3, #0] - 8001976: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 - 800197a: 2b00 cmp r3, #0 - 800197c: d1f0 bne.n 8001960 - 800197e: e03d b.n 80019fc + 8001946: 4b06 ldr r3, [pc, #24] ; (8001960 ) + 8001948: 681b ldr r3, [r3, #0] + 800194a: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 + 800194e: 2b00 cmp r3, #0 + 8001950: d1f0 bne.n 8001934 + 8001952: e03d b.n 80019d0 } } else { /* Check if there is a request to disable the PLL used as System clock source */ if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) - 8001980: 687b ldr r3, [r7, #4] - 8001982: 699b ldr r3, [r3, #24] - 8001984: 2b01 cmp r3, #1 - 8001986: d107 bne.n 8001998 + 8001954: 687b ldr r3, [r7, #4] + 8001956: 699b ldr r3, [r3, #24] + 8001958: 2b01 cmp r3, #1 + 800195a: d107 bne.n 800196c { return HAL_ERROR; - 8001988: 2301 movs r3, #1 - 800198a: e038 b.n 80019fe - 800198c: 40023800 .word 0x40023800 - 8001990: 40007000 .word 0x40007000 - 8001994: 42470060 .word 0x42470060 + 800195c: 2301 movs r3, #1 + 800195e: e038 b.n 80019d2 + 8001960: 40023800 .word 0x40023800 + 8001964: 40007000 .word 0x40007000 + 8001968: 42470060 .word 0x42470060 } else { /* Do not return HAL_ERROR if request repeats the current configuration */ pll_config = RCC->PLLCFGR; - 8001998: 4b1b ldr r3, [pc, #108] ; (8001a08 ) - 800199a: 685b ldr r3, [r3, #4] - 800199c: 60fb str r3, [r7, #12] + 800196c: 4b1b ldr r3, [pc, #108] ; (80019dc ) + 800196e: 685b ldr r3, [r3, #4] + 8001970: 60fb str r3, [r7, #12] (READ_BIT(pll_config, RCC_PLLCFGR_PLLN) != (RCC_OscInitStruct->PLL.PLLN) << RCC_PLLCFGR_PLLN_Pos) || (READ_BIT(pll_config, RCC_PLLCFGR_PLLP) != (((RCC_OscInitStruct->PLL.PLLP >> 1U) - 1U)) << RCC_PLLCFGR_PLLP_Pos) || (READ_BIT(pll_config, RCC_PLLCFGR_PLLQ) != (RCC_OscInitStruct->PLL.PLLQ << RCC_PLLCFGR_PLLQ_Pos)) || (READ_BIT(pll_config, RCC_PLLCFGR_PLLR) != (RCC_OscInitStruct->PLL.PLLR << RCC_PLLCFGR_PLLR_Pos))) #else if (((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) || - 800199e: 687b ldr r3, [r7, #4] - 80019a0: 699b ldr r3, [r3, #24] - 80019a2: 2b01 cmp r3, #1 - 80019a4: d028 beq.n 80019f8 + 8001972: 687b ldr r3, [r7, #4] + 8001974: 699b ldr r3, [r3, #24] + 8001976: 2b01 cmp r3, #1 + 8001978: d028 beq.n 80019cc (READ_BIT(pll_config, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || - 80019a6: 68fb ldr r3, [r7, #12] - 80019a8: f403 0280 and.w r2, r3, #4194304 ; 0x400000 - 80019ac: 687b ldr r3, [r7, #4] - 80019ae: 69db ldr r3, [r3, #28] + 800197a: 68fb ldr r3, [r7, #12] + 800197c: f403 0280 and.w r2, r3, #4194304 ; 0x400000 + 8001980: 687b ldr r3, [r7, #4] + 8001982: 69db ldr r3, [r3, #28] if (((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) || - 80019b0: 429a cmp r2, r3 - 80019b2: d121 bne.n 80019f8 + 8001984: 429a cmp r2, r3 + 8001986: d121 bne.n 80019cc (READ_BIT(pll_config, RCC_PLLCFGR_PLLM) != (RCC_OscInitStruct->PLL.PLLM) << RCC_PLLCFGR_PLLM_Pos) || - 80019b4: 68fb ldr r3, [r7, #12] - 80019b6: f003 023f and.w r2, r3, #63 ; 0x3f - 80019ba: 687b ldr r3, [r7, #4] - 80019bc: 6a1b ldr r3, [r3, #32] + 8001988: 68fb ldr r3, [r7, #12] + 800198a: f003 023f and.w r2, r3, #63 ; 0x3f + 800198e: 687b ldr r3, [r7, #4] + 8001990: 6a1b ldr r3, [r3, #32] (READ_BIT(pll_config, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || - 80019be: 429a cmp r2, r3 - 80019c0: d11a bne.n 80019f8 + 8001992: 429a cmp r2, r3 + 8001994: d11a bne.n 80019cc (READ_BIT(pll_config, RCC_PLLCFGR_PLLN) != (RCC_OscInitStruct->PLL.PLLN) << RCC_PLLCFGR_PLLN_Pos) || - 80019c2: 68fa ldr r2, [r7, #12] - 80019c4: f647 73c0 movw r3, #32704 ; 0x7fc0 - 80019c8: 4013 ands r3, r2 - 80019ca: 687a ldr r2, [r7, #4] - 80019cc: 6a52 ldr r2, [r2, #36] ; 0x24 - 80019ce: 0192 lsls r2, r2, #6 + 8001996: 68fa ldr r2, [r7, #12] + 8001998: f647 73c0 movw r3, #32704 ; 0x7fc0 + 800199c: 4013 ands r3, r2 + 800199e: 687a ldr r2, [r7, #4] + 80019a0: 6a52 ldr r2, [r2, #36] ; 0x24 + 80019a2: 0192 lsls r2, r2, #6 (READ_BIT(pll_config, RCC_PLLCFGR_PLLM) != (RCC_OscInitStruct->PLL.PLLM) << RCC_PLLCFGR_PLLM_Pos) || - 80019d0: 4293 cmp r3, r2 - 80019d2: d111 bne.n 80019f8 + 80019a4: 4293 cmp r3, r2 + 80019a6: d111 bne.n 80019cc (READ_BIT(pll_config, RCC_PLLCFGR_PLLP) != (((RCC_OscInitStruct->PLL.PLLP >> 1U) - 1U)) << RCC_PLLCFGR_PLLP_Pos) || - 80019d4: 68fb ldr r3, [r7, #12] - 80019d6: f403 3240 and.w r2, r3, #196608 ; 0x30000 - 80019da: 687b ldr r3, [r7, #4] - 80019dc: 6a9b ldr r3, [r3, #40] ; 0x28 - 80019de: 085b lsrs r3, r3, #1 - 80019e0: 3b01 subs r3, #1 - 80019e2: 041b lsls r3, r3, #16 + 80019a8: 68fb ldr r3, [r7, #12] + 80019aa: f403 3240 and.w r2, r3, #196608 ; 0x30000 + 80019ae: 687b ldr r3, [r7, #4] + 80019b0: 6a9b ldr r3, [r3, #40] ; 0x28 + 80019b2: 085b lsrs r3, r3, #1 + 80019b4: 3b01 subs r3, #1 + 80019b6: 041b lsls r3, r3, #16 (READ_BIT(pll_config, RCC_PLLCFGR_PLLN) != (RCC_OscInitStruct->PLL.PLLN) << RCC_PLLCFGR_PLLN_Pos) || - 80019e4: 429a cmp r2, r3 - 80019e6: d107 bne.n 80019f8 + 80019b8: 429a cmp r2, r3 + 80019ba: d107 bne.n 80019cc (READ_BIT(pll_config, RCC_PLLCFGR_PLLQ) != (RCC_OscInitStruct->PLL.PLLQ << RCC_PLLCFGR_PLLQ_Pos))) - 80019e8: 68fb ldr r3, [r7, #12] - 80019ea: f003 6270 and.w r2, r3, #251658240 ; 0xf000000 - 80019ee: 687b ldr r3, [r7, #4] - 80019f0: 6adb ldr r3, [r3, #44] ; 0x2c - 80019f2: 061b lsls r3, r3, #24 + 80019bc: 68fb ldr r3, [r7, #12] + 80019be: f003 6270 and.w r2, r3, #251658240 ; 0xf000000 + 80019c2: 687b ldr r3, [r7, #4] + 80019c4: 6adb ldr r3, [r3, #44] ; 0x2c + 80019c6: 061b lsls r3, r3, #24 (READ_BIT(pll_config, RCC_PLLCFGR_PLLP) != (((RCC_OscInitStruct->PLL.PLLP >> 1U) - 1U)) << RCC_PLLCFGR_PLLP_Pos) || - 80019f4: 429a cmp r2, r3 - 80019f6: d001 beq.n 80019fc + 80019c8: 429a cmp r2, r3 + 80019ca: d001 beq.n 80019d0 #endif { return HAL_ERROR; - 80019f8: 2301 movs r3, #1 - 80019fa: e000 b.n 80019fe + 80019cc: 2301 movs r3, #1 + 80019ce: e000 b.n 80019d2 } } } } return HAL_OK; - 80019fc: 2300 movs r3, #0 + 80019d0: 2300 movs r3, #0 } - 80019fe: 4618 mov r0, r3 - 8001a00: 3718 adds r7, #24 - 8001a02: 46bd mov sp, r7 - 8001a04: bd80 pop {r7, pc} - 8001a06: bf00 nop - 8001a08: 40023800 .word 0x40023800 - -08001a0c : + 80019d2: 4618 mov r0, r3 + 80019d4: 3718 adds r7, #24 + 80019d6: 46bd mov sp, r7 + 80019d8: bd80 pop {r7, pc} + 80019da: bf00 nop + 80019dc: 40023800 .word 0x40023800 + +080019e0 : * HPRE[3:0] bits to ensure that HCLK not exceed the maximum allowed frequency * (for more details refer to section above "Initialization/de-initialization functions") * @retval None */ HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency) { - 8001a0c: b580 push {r7, lr} - 8001a0e: b084 sub sp, #16 - 8001a10: af00 add r7, sp, #0 - 8001a12: 6078 str r0, [r7, #4] - 8001a14: 6039 str r1, [r7, #0] + 80019e0: b580 push {r7, lr} + 80019e2: b084 sub sp, #16 + 80019e4: af00 add r7, sp, #0 + 80019e6: 6078 str r0, [r7, #4] + 80019e8: 6039 str r1, [r7, #0] uint32_t tickstart; /* Check Null pointer */ if(RCC_ClkInitStruct == NULL) - 8001a16: 687b ldr r3, [r7, #4] - 8001a18: 2b00 cmp r3, #0 - 8001a1a: d101 bne.n 8001a20 + 80019ea: 687b ldr r3, [r7, #4] + 80019ec: 2b00 cmp r3, #0 + 80019ee: d101 bne.n 80019f4 { return HAL_ERROR; - 8001a1c: 2301 movs r3, #1 - 8001a1e: e0cc b.n 8001bba + 80019f0: 2301 movs r3, #1 + 80019f2: e0cc b.n 8001b8e /* To correctly read data from FLASH memory, the number of wait states (LATENCY) must be correctly programmed according to the frequency of the CPU clock (HCLK) and the supply voltage of the device. */ /* Increasing the number of wait states because of higher CPU frequency */ if(FLatency > __HAL_FLASH_GET_LATENCY()) - 8001a20: 4b68 ldr r3, [pc, #416] ; (8001bc4 ) - 8001a22: 681b ldr r3, [r3, #0] - 8001a24: f003 0307 and.w r3, r3, #7 - 8001a28: 683a ldr r2, [r7, #0] - 8001a2a: 429a cmp r2, r3 - 8001a2c: d90c bls.n 8001a48 + 80019f4: 4b68 ldr r3, [pc, #416] ; (8001b98 ) + 80019f6: 681b ldr r3, [r3, #0] + 80019f8: f003 0307 and.w r3, r3, #7 + 80019fc: 683a ldr r2, [r7, #0] + 80019fe: 429a cmp r2, r3 + 8001a00: d90c bls.n 8001a1c { /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ __HAL_FLASH_SET_LATENCY(FLatency); - 8001a2e: 4b65 ldr r3, [pc, #404] ; (8001bc4 ) - 8001a30: 683a ldr r2, [r7, #0] - 8001a32: b2d2 uxtb r2, r2 - 8001a34: 701a strb r2, [r3, #0] + 8001a02: 4b65 ldr r3, [pc, #404] ; (8001b98 ) + 8001a04: 683a ldr r2, [r7, #0] + 8001a06: b2d2 uxtb r2, r2 + 8001a08: 701a strb r2, [r3, #0] /* Check that the new number of wait states is taken into account to access the Flash memory by reading the FLASH_ACR register */ if(__HAL_FLASH_GET_LATENCY() != FLatency) - 8001a36: 4b63 ldr r3, [pc, #396] ; (8001bc4 ) - 8001a38: 681b ldr r3, [r3, #0] - 8001a3a: f003 0307 and.w r3, r3, #7 - 8001a3e: 683a ldr r2, [r7, #0] - 8001a40: 429a cmp r2, r3 - 8001a42: d001 beq.n 8001a48 + 8001a0a: 4b63 ldr r3, [pc, #396] ; (8001b98 ) + 8001a0c: 681b ldr r3, [r3, #0] + 8001a0e: f003 0307 and.w r3, r3, #7 + 8001a12: 683a ldr r2, [r7, #0] + 8001a14: 429a cmp r2, r3 + 8001a16: d001 beq.n 8001a1c { return HAL_ERROR; - 8001a44: 2301 movs r3, #1 - 8001a46: e0b8 b.n 8001bba + 8001a18: 2301 movs r3, #1 + 8001a1a: e0b8 b.n 8001b8e } } /*-------------------------- HCLK Configuration --------------------------*/ if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) - 8001a48: 687b ldr r3, [r7, #4] - 8001a4a: 681b ldr r3, [r3, #0] - 8001a4c: f003 0302 and.w r3, r3, #2 - 8001a50: 2b00 cmp r3, #0 - 8001a52: d020 beq.n 8001a96 + 8001a1c: 687b ldr r3, [r7, #4] + 8001a1e: 681b ldr r3, [r3, #0] + 8001a20: f003 0302 and.w r3, r3, #2 + 8001a24: 2b00 cmp r3, #0 + 8001a26: d020 beq.n 8001a6a { /* Set the highest APBx dividers in order to ensure that we do not go through a non-spec phase whatever we decrease or increase HCLK. */ if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) - 8001a54: 687b ldr r3, [r7, #4] - 8001a56: 681b ldr r3, [r3, #0] - 8001a58: f003 0304 and.w r3, r3, #4 - 8001a5c: 2b00 cmp r3, #0 - 8001a5e: d005 beq.n 8001a6c + 8001a28: 687b ldr r3, [r7, #4] + 8001a2a: 681b ldr r3, [r3, #0] + 8001a2c: f003 0304 and.w r3, r3, #4 + 8001a30: 2b00 cmp r3, #0 + 8001a32: d005 beq.n 8001a40 { MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_HCLK_DIV16); - 8001a60: 4b59 ldr r3, [pc, #356] ; (8001bc8 ) - 8001a62: 689b ldr r3, [r3, #8] - 8001a64: 4a58 ldr r2, [pc, #352] ; (8001bc8 ) - 8001a66: f443 53e0 orr.w r3, r3, #7168 ; 0x1c00 - 8001a6a: 6093 str r3, [r2, #8] + 8001a34: 4b59 ldr r3, [pc, #356] ; (8001b9c ) + 8001a36: 689b ldr r3, [r3, #8] + 8001a38: 4a58 ldr r2, [pc, #352] ; (8001b9c ) + 8001a3a: f443 53e0 orr.w r3, r3, #7168 ; 0x1c00 + 8001a3e: 6093 str r3, [r2, #8] } if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) - 8001a6c: 687b ldr r3, [r7, #4] - 8001a6e: 681b ldr r3, [r3, #0] - 8001a70: f003 0308 and.w r3, r3, #8 - 8001a74: 2b00 cmp r3, #0 - 8001a76: d005 beq.n 8001a84 + 8001a40: 687b ldr r3, [r7, #4] + 8001a42: 681b ldr r3, [r3, #0] + 8001a44: f003 0308 and.w r3, r3, #8 + 8001a48: 2b00 cmp r3, #0 + 8001a4a: d005 beq.n 8001a58 { MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, (RCC_HCLK_DIV16 << 3)); - 8001a78: 4b53 ldr r3, [pc, #332] ; (8001bc8 ) - 8001a7a: 689b ldr r3, [r3, #8] - 8001a7c: 4a52 ldr r2, [pc, #328] ; (8001bc8 ) - 8001a7e: f443 4360 orr.w r3, r3, #57344 ; 0xe000 - 8001a82: 6093 str r3, [r2, #8] + 8001a4c: 4b53 ldr r3, [pc, #332] ; (8001b9c ) + 8001a4e: 689b ldr r3, [r3, #8] + 8001a50: 4a52 ldr r2, [pc, #328] ; (8001b9c ) + 8001a52: f443 4360 orr.w r3, r3, #57344 ; 0xe000 + 8001a56: 6093 str r3, [r2, #8] } assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider)); MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider); - 8001a84: 4b50 ldr r3, [pc, #320] ; (8001bc8 ) - 8001a86: 689b ldr r3, [r3, #8] - 8001a88: f023 02f0 bic.w r2, r3, #240 ; 0xf0 - 8001a8c: 687b ldr r3, [r7, #4] - 8001a8e: 689b ldr r3, [r3, #8] - 8001a90: 494d ldr r1, [pc, #308] ; (8001bc8 ) - 8001a92: 4313 orrs r3, r2 - 8001a94: 608b str r3, [r1, #8] + 8001a58: 4b50 ldr r3, [pc, #320] ; (8001b9c ) + 8001a5a: 689b ldr r3, [r3, #8] + 8001a5c: f023 02f0 bic.w r2, r3, #240 ; 0xf0 + 8001a60: 687b ldr r3, [r7, #4] + 8001a62: 689b ldr r3, [r3, #8] + 8001a64: 494d ldr r1, [pc, #308] ; (8001b9c ) + 8001a66: 4313 orrs r3, r2 + 8001a68: 608b str r3, [r1, #8] } /*------------------------- SYSCLK Configuration ---------------------------*/ if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK) - 8001a96: 687b ldr r3, [r7, #4] - 8001a98: 681b ldr r3, [r3, #0] - 8001a9a: f003 0301 and.w r3, r3, #1 - 8001a9e: 2b00 cmp r3, #0 - 8001aa0: d044 beq.n 8001b2c + 8001a6a: 687b ldr r3, [r7, #4] + 8001a6c: 681b ldr r3, [r3, #0] + 8001a6e: f003 0301 and.w r3, r3, #1 + 8001a72: 2b00 cmp r3, #0 + 8001a74: d044 beq.n 8001b00 { assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource)); /* HSE is selected as System Clock Source */ if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) - 8001aa2: 687b ldr r3, [r7, #4] - 8001aa4: 685b ldr r3, [r3, #4] - 8001aa6: 2b01 cmp r3, #1 - 8001aa8: d107 bne.n 8001aba + 8001a76: 687b ldr r3, [r7, #4] + 8001a78: 685b ldr r3, [r3, #4] + 8001a7a: 2b01 cmp r3, #1 + 8001a7c: d107 bne.n 8001a8e { /* Check the HSE ready flag */ if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) - 8001aaa: 4b47 ldr r3, [pc, #284] ; (8001bc8 ) - 8001aac: 681b ldr r3, [r3, #0] - 8001aae: f403 3300 and.w r3, r3, #131072 ; 0x20000 - 8001ab2: 2b00 cmp r3, #0 - 8001ab4: d119 bne.n 8001aea + 8001a7e: 4b47 ldr r3, [pc, #284] ; (8001b9c ) + 8001a80: 681b ldr r3, [r3, #0] + 8001a82: f403 3300 and.w r3, r3, #131072 ; 0x20000 + 8001a86: 2b00 cmp r3, #0 + 8001a88: d119 bne.n 8001abe { return HAL_ERROR; - 8001ab6: 2301 movs r3, #1 - 8001ab8: e07f b.n 8001bba + 8001a8a: 2301 movs r3, #1 + 8001a8c: e07f b.n 8001b8e } } /* PLL is selected as System Clock Source */ else if((RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) || - 8001aba: 687b ldr r3, [r7, #4] - 8001abc: 685b ldr r3, [r3, #4] - 8001abe: 2b02 cmp r3, #2 - 8001ac0: d003 beq.n 8001aca + 8001a8e: 687b ldr r3, [r7, #4] + 8001a90: 685b ldr r3, [r3, #4] + 8001a92: 2b02 cmp r3, #2 + 8001a94: d003 beq.n 8001a9e (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLRCLK)) - 8001ac2: 687b ldr r3, [r7, #4] - 8001ac4: 685b ldr r3, [r3, #4] + 8001a96: 687b ldr r3, [r7, #4] + 8001a98: 685b ldr r3, [r3, #4] else if((RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) || - 8001ac6: 2b03 cmp r3, #3 - 8001ac8: d107 bne.n 8001ada + 8001a9a: 2b03 cmp r3, #3 + 8001a9c: d107 bne.n 8001aae { /* Check the PLL ready flag */ if(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) - 8001aca: 4b3f ldr r3, [pc, #252] ; (8001bc8 ) - 8001acc: 681b ldr r3, [r3, #0] - 8001ace: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 - 8001ad2: 2b00 cmp r3, #0 - 8001ad4: d109 bne.n 8001aea + 8001a9e: 4b3f ldr r3, [pc, #252] ; (8001b9c ) + 8001aa0: 681b ldr r3, [r3, #0] + 8001aa2: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 + 8001aa6: 2b00 cmp r3, #0 + 8001aa8: d109 bne.n 8001abe { return HAL_ERROR; - 8001ad6: 2301 movs r3, #1 - 8001ad8: e06f b.n 8001bba + 8001aaa: 2301 movs r3, #1 + 8001aac: e06f b.n 8001b8e } /* HSI is selected as System Clock Source */ else { /* Check the HSI ready flag */ if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) - 8001ada: 4b3b ldr r3, [pc, #236] ; (8001bc8 ) - 8001adc: 681b ldr r3, [r3, #0] - 8001ade: f003 0302 and.w r3, r3, #2 - 8001ae2: 2b00 cmp r3, #0 - 8001ae4: d101 bne.n 8001aea + 8001aae: 4b3b ldr r3, [pc, #236] ; (8001b9c ) + 8001ab0: 681b ldr r3, [r3, #0] + 8001ab2: f003 0302 and.w r3, r3, #2 + 8001ab6: 2b00 cmp r3, #0 + 8001ab8: d101 bne.n 8001abe { return HAL_ERROR; - 8001ae6: 2301 movs r3, #1 - 8001ae8: e067 b.n 8001bba + 8001aba: 2301 movs r3, #1 + 8001abc: e067 b.n 8001b8e } } __HAL_RCC_SYSCLK_CONFIG(RCC_ClkInitStruct->SYSCLKSource); - 8001aea: 4b37 ldr r3, [pc, #220] ; (8001bc8 ) - 8001aec: 689b ldr r3, [r3, #8] - 8001aee: f023 0203 bic.w r2, r3, #3 - 8001af2: 687b ldr r3, [r7, #4] - 8001af4: 685b ldr r3, [r3, #4] - 8001af6: 4934 ldr r1, [pc, #208] ; (8001bc8 ) - 8001af8: 4313 orrs r3, r2 - 8001afa: 608b str r3, [r1, #8] + 8001abe: 4b37 ldr r3, [pc, #220] ; (8001b9c ) + 8001ac0: 689b ldr r3, [r3, #8] + 8001ac2: f023 0203 bic.w r2, r3, #3 + 8001ac6: 687b ldr r3, [r7, #4] + 8001ac8: 685b ldr r3, [r3, #4] + 8001aca: 4934 ldr r1, [pc, #208] ; (8001b9c ) + 8001acc: 4313 orrs r3, r2 + 8001ace: 608b str r3, [r1, #8] /* Get Start Tick */ tickstart = HAL_GetTick(); - 8001afc: f7ff fa3a bl 8000f74 - 8001b00: 60f8 str r0, [r7, #12] + 8001ad0: f7ff fa3a bl 8000f48 + 8001ad4: 60f8 str r0, [r7, #12] while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) - 8001b02: e00a b.n 8001b1a + 8001ad6: e00a b.n 8001aee { if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) - 8001b04: f7ff fa36 bl 8000f74 - 8001b08: 4602 mov r2, r0 - 8001b0a: 68fb ldr r3, [r7, #12] - 8001b0c: 1ad3 subs r3, r2, r3 - 8001b0e: f241 3288 movw r2, #5000 ; 0x1388 - 8001b12: 4293 cmp r3, r2 - 8001b14: d901 bls.n 8001b1a + 8001ad8: f7ff fa36 bl 8000f48 + 8001adc: 4602 mov r2, r0 + 8001ade: 68fb ldr r3, [r7, #12] + 8001ae0: 1ad3 subs r3, r2, r3 + 8001ae2: f241 3288 movw r2, #5000 ; 0x1388 + 8001ae6: 4293 cmp r3, r2 + 8001ae8: d901 bls.n 8001aee { return HAL_TIMEOUT; - 8001b16: 2303 movs r3, #3 - 8001b18: e04f b.n 8001bba + 8001aea: 2303 movs r3, #3 + 8001aec: e04f b.n 8001b8e while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) - 8001b1a: 4b2b ldr r3, [pc, #172] ; (8001bc8 ) - 8001b1c: 689b ldr r3, [r3, #8] - 8001b1e: f003 020c and.w r2, r3, #12 - 8001b22: 687b ldr r3, [r7, #4] - 8001b24: 685b ldr r3, [r3, #4] - 8001b26: 009b lsls r3, r3, #2 - 8001b28: 429a cmp r2, r3 - 8001b2a: d1eb bne.n 8001b04 + 8001aee: 4b2b ldr r3, [pc, #172] ; (8001b9c ) + 8001af0: 689b ldr r3, [r3, #8] + 8001af2: f003 020c and.w r2, r3, #12 + 8001af6: 687b ldr r3, [r7, #4] + 8001af8: 685b ldr r3, [r3, #4] + 8001afa: 009b lsls r3, r3, #2 + 8001afc: 429a cmp r2, r3 + 8001afe: d1eb bne.n 8001ad8 } } } /* Decreasing the number of wait states because of lower CPU frequency */ if(FLatency < __HAL_FLASH_GET_LATENCY()) - 8001b2c: 4b25 ldr r3, [pc, #148] ; (8001bc4 ) - 8001b2e: 681b ldr r3, [r3, #0] - 8001b30: f003 0307 and.w r3, r3, #7 - 8001b34: 683a ldr r2, [r7, #0] - 8001b36: 429a cmp r2, r3 - 8001b38: d20c bcs.n 8001b54 + 8001b00: 4b25 ldr r3, [pc, #148] ; (8001b98 ) + 8001b02: 681b ldr r3, [r3, #0] + 8001b04: f003 0307 and.w r3, r3, #7 + 8001b08: 683a ldr r2, [r7, #0] + 8001b0a: 429a cmp r2, r3 + 8001b0c: d20c bcs.n 8001b28 { /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ __HAL_FLASH_SET_LATENCY(FLatency); - 8001b3a: 4b22 ldr r3, [pc, #136] ; (8001bc4 ) - 8001b3c: 683a ldr r2, [r7, #0] - 8001b3e: b2d2 uxtb r2, r2 - 8001b40: 701a strb r2, [r3, #0] + 8001b0e: 4b22 ldr r3, [pc, #136] ; (8001b98 ) + 8001b10: 683a ldr r2, [r7, #0] + 8001b12: b2d2 uxtb r2, r2 + 8001b14: 701a strb r2, [r3, #0] /* Check that the new number of wait states is taken into account to access the Flash memory by reading the FLASH_ACR register */ if(__HAL_FLASH_GET_LATENCY() != FLatency) - 8001b42: 4b20 ldr r3, [pc, #128] ; (8001bc4 ) - 8001b44: 681b ldr r3, [r3, #0] - 8001b46: f003 0307 and.w r3, r3, #7 - 8001b4a: 683a ldr r2, [r7, #0] - 8001b4c: 429a cmp r2, r3 - 8001b4e: d001 beq.n 8001b54 + 8001b16: 4b20 ldr r3, [pc, #128] ; (8001b98 ) + 8001b18: 681b ldr r3, [r3, #0] + 8001b1a: f003 0307 and.w r3, r3, #7 + 8001b1e: 683a ldr r2, [r7, #0] + 8001b20: 429a cmp r2, r3 + 8001b22: d001 beq.n 8001b28 { return HAL_ERROR; - 8001b50: 2301 movs r3, #1 - 8001b52: e032 b.n 8001bba + 8001b24: 2301 movs r3, #1 + 8001b26: e032 b.n 8001b8e } } /*-------------------------- PCLK1 Configuration ---------------------------*/ if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) - 8001b54: 687b ldr r3, [r7, #4] - 8001b56: 681b ldr r3, [r3, #0] - 8001b58: f003 0304 and.w r3, r3, #4 - 8001b5c: 2b00 cmp r3, #0 - 8001b5e: d008 beq.n 8001b72 + 8001b28: 687b ldr r3, [r7, #4] + 8001b2a: 681b ldr r3, [r3, #0] + 8001b2c: f003 0304 and.w r3, r3, #4 + 8001b30: 2b00 cmp r3, #0 + 8001b32: d008 beq.n 8001b46 { assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider)); MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider); - 8001b60: 4b19 ldr r3, [pc, #100] ; (8001bc8 ) - 8001b62: 689b ldr r3, [r3, #8] - 8001b64: f423 52e0 bic.w r2, r3, #7168 ; 0x1c00 - 8001b68: 687b ldr r3, [r7, #4] - 8001b6a: 68db ldr r3, [r3, #12] - 8001b6c: 4916 ldr r1, [pc, #88] ; (8001bc8 ) - 8001b6e: 4313 orrs r3, r2 - 8001b70: 608b str r3, [r1, #8] + 8001b34: 4b19 ldr r3, [pc, #100] ; (8001b9c ) + 8001b36: 689b ldr r3, [r3, #8] + 8001b38: f423 52e0 bic.w r2, r3, #7168 ; 0x1c00 + 8001b3c: 687b ldr r3, [r7, #4] + 8001b3e: 68db ldr r3, [r3, #12] + 8001b40: 4916 ldr r1, [pc, #88] ; (8001b9c ) + 8001b42: 4313 orrs r3, r2 + 8001b44: 608b str r3, [r1, #8] } /*-------------------------- PCLK2 Configuration ---------------------------*/ if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) - 8001b72: 687b ldr r3, [r7, #4] - 8001b74: 681b ldr r3, [r3, #0] - 8001b76: f003 0308 and.w r3, r3, #8 - 8001b7a: 2b00 cmp r3, #0 - 8001b7c: d009 beq.n 8001b92 + 8001b46: 687b ldr r3, [r7, #4] + 8001b48: 681b ldr r3, [r3, #0] + 8001b4a: f003 0308 and.w r3, r3, #8 + 8001b4e: 2b00 cmp r3, #0 + 8001b50: d009 beq.n 8001b66 { assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB2CLKDivider)); MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3U)); - 8001b7e: 4b12 ldr r3, [pc, #72] ; (8001bc8 ) - 8001b80: 689b ldr r3, [r3, #8] - 8001b82: f423 4260 bic.w r2, r3, #57344 ; 0xe000 - 8001b86: 687b ldr r3, [r7, #4] - 8001b88: 691b ldr r3, [r3, #16] - 8001b8a: 00db lsls r3, r3, #3 - 8001b8c: 490e ldr r1, [pc, #56] ; (8001bc8 ) - 8001b8e: 4313 orrs r3, r2 - 8001b90: 608b str r3, [r1, #8] + 8001b52: 4b12 ldr r3, [pc, #72] ; (8001b9c ) + 8001b54: 689b ldr r3, [r3, #8] + 8001b56: f423 4260 bic.w r2, r3, #57344 ; 0xe000 + 8001b5a: 687b ldr r3, [r7, #4] + 8001b5c: 691b ldr r3, [r3, #16] + 8001b5e: 00db lsls r3, r3, #3 + 8001b60: 490e ldr r1, [pc, #56] ; (8001b9c ) + 8001b62: 4313 orrs r3, r2 + 8001b64: 608b str r3, [r1, #8] } /* Update the SystemCoreClock global variable */ SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE)>> RCC_CFGR_HPRE_Pos]; - 8001b92: f000 f821 bl 8001bd8 - 8001b96: 4602 mov r2, r0 - 8001b98: 4b0b ldr r3, [pc, #44] ; (8001bc8 ) - 8001b9a: 689b ldr r3, [r3, #8] - 8001b9c: 091b lsrs r3, r3, #4 - 8001b9e: f003 030f and.w r3, r3, #15 - 8001ba2: 490a ldr r1, [pc, #40] ; (8001bcc ) - 8001ba4: 5ccb ldrb r3, [r1, r3] - 8001ba6: fa22 f303 lsr.w r3, r2, r3 - 8001baa: 4a09 ldr r2, [pc, #36] ; (8001bd0 ) - 8001bac: 6013 str r3, [r2, #0] + 8001b66: f000 f821 bl 8001bac + 8001b6a: 4602 mov r2, r0 + 8001b6c: 4b0b ldr r3, [pc, #44] ; (8001b9c ) + 8001b6e: 689b ldr r3, [r3, #8] + 8001b70: 091b lsrs r3, r3, #4 + 8001b72: f003 030f and.w r3, r3, #15 + 8001b76: 490a ldr r1, [pc, #40] ; (8001ba0 ) + 8001b78: 5ccb ldrb r3, [r1, r3] + 8001b7a: fa22 f303 lsr.w r3, r2, r3 + 8001b7e: 4a09 ldr r2, [pc, #36] ; (8001ba4 ) + 8001b80: 6013 str r3, [r2, #0] /* Configure the source of time base considering new system clocks settings */ HAL_InitTick (uwTickPrio); - 8001bae: 4b09 ldr r3, [pc, #36] ; (8001bd4 ) - 8001bb0: 681b ldr r3, [r3, #0] - 8001bb2: 4618 mov r0, r3 - 8001bb4: f7ff f99a bl 8000eec + 8001b82: 4b09 ldr r3, [pc, #36] ; (8001ba8 ) + 8001b84: 681b ldr r3, [r3, #0] + 8001b86: 4618 mov r0, r3 + 8001b88: f7ff f99a bl 8000ec0 return HAL_OK; - 8001bb8: 2300 movs r3, #0 + 8001b8c: 2300 movs r3, #0 } - 8001bba: 4618 mov r0, r3 - 8001bbc: 3710 adds r7, #16 - 8001bbe: 46bd mov sp, r7 - 8001bc0: bd80 pop {r7, pc} - 8001bc2: bf00 nop - 8001bc4: 40023c00 .word 0x40023c00 - 8001bc8: 40023800 .word 0x40023800 - 8001bcc: 08003a24 .word 0x08003a24 - 8001bd0: 20000004 .word 0x20000004 - 8001bd4: 20000008 .word 0x20000008 - -08001bd8 : + 8001b8e: 4618 mov r0, r3 + 8001b90: 3710 adds r7, #16 + 8001b92: 46bd mov sp, r7 + 8001b94: bd80 pop {r7, pc} + 8001b96: bf00 nop + 8001b98: 40023c00 .word 0x40023c00 + 8001b9c: 40023800 .word 0x40023800 + 8001ba0: 080039f8 .word 0x080039f8 + 8001ba4: 20000004 .word 0x20000004 + 8001ba8: 20000008 .word 0x20000008 + +08001bac : * * * @retval SYSCLK frequency */ __weak uint32_t HAL_RCC_GetSysClockFreq(void) { - 8001bd8: e92d 4fb0 stmdb sp!, {r4, r5, r7, r8, r9, sl, fp, lr} - 8001bdc: b090 sub sp, #64 ; 0x40 - 8001bde: af00 add r7, sp, #0 + 8001bac: e92d 4fb0 stmdb sp!, {r4, r5, r7, r8, r9, sl, fp, lr} + 8001bb0: b090 sub sp, #64 ; 0x40 + 8001bb2: af00 add r7, sp, #0 uint32_t pllm = 0U, pllvco = 0U, pllp = 0U; - 8001be0: 2300 movs r3, #0 - 8001be2: 637b str r3, [r7, #52] ; 0x34 - 8001be4: 2300 movs r3, #0 - 8001be6: 63fb str r3, [r7, #60] ; 0x3c - 8001be8: 2300 movs r3, #0 - 8001bea: 633b str r3, [r7, #48] ; 0x30 + 8001bb4: 2300 movs r3, #0 + 8001bb6: 637b str r3, [r7, #52] ; 0x34 + 8001bb8: 2300 movs r3, #0 + 8001bba: 63fb str r3, [r7, #60] ; 0x3c + 8001bbc: 2300 movs r3, #0 + 8001bbe: 633b str r3, [r7, #48] ; 0x30 uint32_t sysclockfreq = 0U; - 8001bec: 2300 movs r3, #0 - 8001bee: 63bb str r3, [r7, #56] ; 0x38 + 8001bc0: 2300 movs r3, #0 + 8001bc2: 63bb str r3, [r7, #56] ; 0x38 /* Get SYSCLK source -------------------------------------------------------*/ switch (RCC->CFGR & RCC_CFGR_SWS) - 8001bf0: 4b59 ldr r3, [pc, #356] ; (8001d58 ) - 8001bf2: 689b ldr r3, [r3, #8] - 8001bf4: f003 030c and.w r3, r3, #12 - 8001bf8: 2b08 cmp r3, #8 - 8001bfa: d00d beq.n 8001c18 - 8001bfc: 2b08 cmp r3, #8 - 8001bfe: f200 80a1 bhi.w 8001d44 - 8001c02: 2b00 cmp r3, #0 - 8001c04: d002 beq.n 8001c0c - 8001c06: 2b04 cmp r3, #4 - 8001c08: d003 beq.n 8001c12 - 8001c0a: e09b b.n 8001d44 + 8001bc4: 4b59 ldr r3, [pc, #356] ; (8001d2c ) + 8001bc6: 689b ldr r3, [r3, #8] + 8001bc8: f003 030c and.w r3, r3, #12 + 8001bcc: 2b08 cmp r3, #8 + 8001bce: d00d beq.n 8001bec + 8001bd0: 2b08 cmp r3, #8 + 8001bd2: f200 80a1 bhi.w 8001d18 + 8001bd6: 2b00 cmp r3, #0 + 8001bd8: d002 beq.n 8001be0 + 8001bda: 2b04 cmp r3, #4 + 8001bdc: d003 beq.n 8001be6 + 8001bde: e09b b.n 8001d18 { case RCC_CFGR_SWS_HSI: /* HSI used as system clock source */ { sysclockfreq = HSI_VALUE; - 8001c0c: 4b53 ldr r3, [pc, #332] ; (8001d5c ) - 8001c0e: 63bb str r3, [r7, #56] ; 0x38 + 8001be0: 4b53 ldr r3, [pc, #332] ; (8001d30 ) + 8001be2: 63bb str r3, [r7, #56] ; 0x38 break; - 8001c10: e09b b.n 8001d4a + 8001be4: e09b b.n 8001d1e } case RCC_CFGR_SWS_HSE: /* HSE used as system clock source */ { sysclockfreq = HSE_VALUE; - 8001c12: 4b53 ldr r3, [pc, #332] ; (8001d60 ) - 8001c14: 63bb str r3, [r7, #56] ; 0x38 + 8001be6: 4b53 ldr r3, [pc, #332] ; (8001d34 ) + 8001be8: 63bb str r3, [r7, #56] ; 0x38 break; - 8001c16: e098 b.n 8001d4a + 8001bea: e098 b.n 8001d1e } case RCC_CFGR_SWS_PLL: /* PLL used as system clock source */ { /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLLM) * PLLN SYSCLK = PLL_VCO / PLLP */ pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - 8001c18: 4b4f ldr r3, [pc, #316] ; (8001d58 ) - 8001c1a: 685b ldr r3, [r3, #4] - 8001c1c: f003 033f and.w r3, r3, #63 ; 0x3f - 8001c20: 637b str r3, [r7, #52] ; 0x34 + 8001bec: 4b4f ldr r3, [pc, #316] ; (8001d2c ) + 8001bee: 685b ldr r3, [r3, #4] + 8001bf0: f003 033f and.w r3, r3, #63 ; 0x3f + 8001bf4: 637b str r3, [r7, #52] ; 0x34 if(__HAL_RCC_GET_PLL_OSCSOURCE() != RCC_PLLSOURCE_HSI) - 8001c22: 4b4d ldr r3, [pc, #308] ; (8001d58 ) - 8001c24: 685b ldr r3, [r3, #4] - 8001c26: f403 0380 and.w r3, r3, #4194304 ; 0x400000 - 8001c2a: 2b00 cmp r3, #0 - 8001c2c: d028 beq.n 8001c80 + 8001bf6: 4b4d ldr r3, [pc, #308] ; (8001d2c ) + 8001bf8: 685b ldr r3, [r3, #4] + 8001bfa: f403 0380 and.w r3, r3, #4194304 ; 0x400000 + 8001bfe: 2b00 cmp r3, #0 + 8001c00: d028 beq.n 8001c54 { /* HSE used as PLL clock source */ pllvco = (uint32_t) ((((uint64_t) HSE_VALUE * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))) / (uint64_t)pllm); - 8001c2e: 4b4a ldr r3, [pc, #296] ; (8001d58 ) - 8001c30: 685b ldr r3, [r3, #4] - 8001c32: 099b lsrs r3, r3, #6 - 8001c34: 2200 movs r2, #0 - 8001c36: 623b str r3, [r7, #32] - 8001c38: 627a str r2, [r7, #36] ; 0x24 - 8001c3a: 6a3b ldr r3, [r7, #32] - 8001c3c: f3c3 0008 ubfx r0, r3, #0, #9 - 8001c40: 2100 movs r1, #0 - 8001c42: 4b47 ldr r3, [pc, #284] ; (8001d60 ) - 8001c44: fb03 f201 mul.w r2, r3, r1 - 8001c48: 2300 movs r3, #0 - 8001c4a: fb00 f303 mul.w r3, r0, r3 - 8001c4e: 4413 add r3, r2 - 8001c50: 4a43 ldr r2, [pc, #268] ; (8001d60 ) - 8001c52: fba0 1202 umull r1, r2, r0, r2 - 8001c56: 62fa str r2, [r7, #44] ; 0x2c - 8001c58: 460a mov r2, r1 - 8001c5a: 62ba str r2, [r7, #40] ; 0x28 - 8001c5c: 6afa ldr r2, [r7, #44] ; 0x2c - 8001c5e: 4413 add r3, r2 - 8001c60: 62fb str r3, [r7, #44] ; 0x2c - 8001c62: 6b7b ldr r3, [r7, #52] ; 0x34 - 8001c64: 2200 movs r2, #0 - 8001c66: 61bb str r3, [r7, #24] - 8001c68: 61fa str r2, [r7, #28] - 8001c6a: e9d7 2306 ldrd r2, r3, [r7, #24] - 8001c6e: e9d7 010a ldrd r0, r1, [r7, #40] ; 0x28 - 8001c72: f7fe faa9 bl 80001c8 <__aeabi_uldivmod> - 8001c76: 4602 mov r2, r0 - 8001c78: 460b mov r3, r1 - 8001c7a: 4613 mov r3, r2 - 8001c7c: 63fb str r3, [r7, #60] ; 0x3c - 8001c7e: e053 b.n 8001d28 + 8001c02: 4b4a ldr r3, [pc, #296] ; (8001d2c ) + 8001c04: 685b ldr r3, [r3, #4] + 8001c06: 099b lsrs r3, r3, #6 + 8001c08: 2200 movs r2, #0 + 8001c0a: 623b str r3, [r7, #32] + 8001c0c: 627a str r2, [r7, #36] ; 0x24 + 8001c0e: 6a3b ldr r3, [r7, #32] + 8001c10: f3c3 0008 ubfx r0, r3, #0, #9 + 8001c14: 2100 movs r1, #0 + 8001c16: 4b47 ldr r3, [pc, #284] ; (8001d34 ) + 8001c18: fb03 f201 mul.w r2, r3, r1 + 8001c1c: 2300 movs r3, #0 + 8001c1e: fb00 f303 mul.w r3, r0, r3 + 8001c22: 4413 add r3, r2 + 8001c24: 4a43 ldr r2, [pc, #268] ; (8001d34 ) + 8001c26: fba0 1202 umull r1, r2, r0, r2 + 8001c2a: 62fa str r2, [r7, #44] ; 0x2c + 8001c2c: 460a mov r2, r1 + 8001c2e: 62ba str r2, [r7, #40] ; 0x28 + 8001c30: 6afa ldr r2, [r7, #44] ; 0x2c + 8001c32: 4413 add r3, r2 + 8001c34: 62fb str r3, [r7, #44] ; 0x2c + 8001c36: 6b7b ldr r3, [r7, #52] ; 0x34 + 8001c38: 2200 movs r2, #0 + 8001c3a: 61bb str r3, [r7, #24] + 8001c3c: 61fa str r2, [r7, #28] + 8001c3e: e9d7 2306 ldrd r2, r3, [r7, #24] + 8001c42: e9d7 010a ldrd r0, r1, [r7, #40] ; 0x28 + 8001c46: f7fe fabf bl 80001c8 <__aeabi_uldivmod> + 8001c4a: 4602 mov r2, r0 + 8001c4c: 460b mov r3, r1 + 8001c4e: 4613 mov r3, r2 + 8001c50: 63fb str r3, [r7, #60] ; 0x3c + 8001c52: e053 b.n 8001cfc } else { /* HSI used as PLL clock source */ pllvco = (uint32_t) ((((uint64_t) HSI_VALUE * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))) / (uint64_t)pllm); - 8001c80: 4b35 ldr r3, [pc, #212] ; (8001d58 ) - 8001c82: 685b ldr r3, [r3, #4] - 8001c84: 099b lsrs r3, r3, #6 - 8001c86: 2200 movs r2, #0 - 8001c88: 613b str r3, [r7, #16] - 8001c8a: 617a str r2, [r7, #20] - 8001c8c: 693b ldr r3, [r7, #16] - 8001c8e: f3c3 0a08 ubfx sl, r3, #0, #9 - 8001c92: f04f 0b00 mov.w fp, #0 - 8001c96: 4652 mov r2, sl - 8001c98: 465b mov r3, fp - 8001c9a: f04f 0000 mov.w r0, #0 - 8001c9e: f04f 0100 mov.w r1, #0 - 8001ca2: 0159 lsls r1, r3, #5 - 8001ca4: ea41 61d2 orr.w r1, r1, r2, lsr #27 - 8001ca8: 0150 lsls r0, r2, #5 - 8001caa: 4602 mov r2, r0 - 8001cac: 460b mov r3, r1 - 8001cae: ebb2 080a subs.w r8, r2, sl - 8001cb2: eb63 090b sbc.w r9, r3, fp - 8001cb6: f04f 0200 mov.w r2, #0 - 8001cba: f04f 0300 mov.w r3, #0 - 8001cbe: ea4f 1389 mov.w r3, r9, lsl #6 - 8001cc2: ea43 6398 orr.w r3, r3, r8, lsr #26 - 8001cc6: ea4f 1288 mov.w r2, r8, lsl #6 - 8001cca: ebb2 0408 subs.w r4, r2, r8 - 8001cce: eb63 0509 sbc.w r5, r3, r9 - 8001cd2: f04f 0200 mov.w r2, #0 - 8001cd6: f04f 0300 mov.w r3, #0 - 8001cda: 00eb lsls r3, r5, #3 - 8001cdc: ea43 7354 orr.w r3, r3, r4, lsr #29 - 8001ce0: 00e2 lsls r2, r4, #3 - 8001ce2: 4614 mov r4, r2 - 8001ce4: 461d mov r5, r3 - 8001ce6: eb14 030a adds.w r3, r4, sl - 8001cea: 603b str r3, [r7, #0] - 8001cec: eb45 030b adc.w r3, r5, fp - 8001cf0: 607b str r3, [r7, #4] - 8001cf2: f04f 0200 mov.w r2, #0 - 8001cf6: f04f 0300 mov.w r3, #0 - 8001cfa: e9d7 4500 ldrd r4, r5, [r7] - 8001cfe: 4629 mov r1, r5 - 8001d00: 028b lsls r3, r1, #10 - 8001d02: 4621 mov r1, r4 - 8001d04: ea43 5391 orr.w r3, r3, r1, lsr #22 - 8001d08: 4621 mov r1, r4 - 8001d0a: 028a lsls r2, r1, #10 - 8001d0c: 4610 mov r0, r2 - 8001d0e: 4619 mov r1, r3 - 8001d10: 6b7b ldr r3, [r7, #52] ; 0x34 - 8001d12: 2200 movs r2, #0 - 8001d14: 60bb str r3, [r7, #8] - 8001d16: 60fa str r2, [r7, #12] - 8001d18: e9d7 2302 ldrd r2, r3, [r7, #8] - 8001d1c: f7fe fa54 bl 80001c8 <__aeabi_uldivmod> - 8001d20: 4602 mov r2, r0 - 8001d22: 460b mov r3, r1 - 8001d24: 4613 mov r3, r2 - 8001d26: 63fb str r3, [r7, #60] ; 0x3c + 8001c54: 4b35 ldr r3, [pc, #212] ; (8001d2c ) + 8001c56: 685b ldr r3, [r3, #4] + 8001c58: 099b lsrs r3, r3, #6 + 8001c5a: 2200 movs r2, #0 + 8001c5c: 613b str r3, [r7, #16] + 8001c5e: 617a str r2, [r7, #20] + 8001c60: 693b ldr r3, [r7, #16] + 8001c62: f3c3 0a08 ubfx sl, r3, #0, #9 + 8001c66: f04f 0b00 mov.w fp, #0 + 8001c6a: 4652 mov r2, sl + 8001c6c: 465b mov r3, fp + 8001c6e: f04f 0000 mov.w r0, #0 + 8001c72: f04f 0100 mov.w r1, #0 + 8001c76: 0159 lsls r1, r3, #5 + 8001c78: ea41 61d2 orr.w r1, r1, r2, lsr #27 + 8001c7c: 0150 lsls r0, r2, #5 + 8001c7e: 4602 mov r2, r0 + 8001c80: 460b mov r3, r1 + 8001c82: ebb2 080a subs.w r8, r2, sl + 8001c86: eb63 090b sbc.w r9, r3, fp + 8001c8a: f04f 0200 mov.w r2, #0 + 8001c8e: f04f 0300 mov.w r3, #0 + 8001c92: ea4f 1389 mov.w r3, r9, lsl #6 + 8001c96: ea43 6398 orr.w r3, r3, r8, lsr #26 + 8001c9a: ea4f 1288 mov.w r2, r8, lsl #6 + 8001c9e: ebb2 0408 subs.w r4, r2, r8 + 8001ca2: eb63 0509 sbc.w r5, r3, r9 + 8001ca6: f04f 0200 mov.w r2, #0 + 8001caa: f04f 0300 mov.w r3, #0 + 8001cae: 00eb lsls r3, r5, #3 + 8001cb0: ea43 7354 orr.w r3, r3, r4, lsr #29 + 8001cb4: 00e2 lsls r2, r4, #3 + 8001cb6: 4614 mov r4, r2 + 8001cb8: 461d mov r5, r3 + 8001cba: eb14 030a adds.w r3, r4, sl + 8001cbe: 603b str r3, [r7, #0] + 8001cc0: eb45 030b adc.w r3, r5, fp + 8001cc4: 607b str r3, [r7, #4] + 8001cc6: f04f 0200 mov.w r2, #0 + 8001cca: f04f 0300 mov.w r3, #0 + 8001cce: e9d7 4500 ldrd r4, r5, [r7] + 8001cd2: 4629 mov r1, r5 + 8001cd4: 028b lsls r3, r1, #10 + 8001cd6: 4621 mov r1, r4 + 8001cd8: ea43 5391 orr.w r3, r3, r1, lsr #22 + 8001cdc: 4621 mov r1, r4 + 8001cde: 028a lsls r2, r1, #10 + 8001ce0: 4610 mov r0, r2 + 8001ce2: 4619 mov r1, r3 + 8001ce4: 6b7b ldr r3, [r7, #52] ; 0x34 + 8001ce6: 2200 movs r2, #0 + 8001ce8: 60bb str r3, [r7, #8] + 8001cea: 60fa str r2, [r7, #12] + 8001cec: e9d7 2302 ldrd r2, r3, [r7, #8] + 8001cf0: f7fe fa6a bl 80001c8 <__aeabi_uldivmod> + 8001cf4: 4602 mov r2, r0 + 8001cf6: 460b mov r3, r1 + 8001cf8: 4613 mov r3, r2 + 8001cfa: 63fb str r3, [r7, #60] ; 0x3c } pllp = ((((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >> RCC_PLLCFGR_PLLP_Pos) + 1U) *2U); - 8001d28: 4b0b ldr r3, [pc, #44] ; (8001d58 ) - 8001d2a: 685b ldr r3, [r3, #4] - 8001d2c: 0c1b lsrs r3, r3, #16 - 8001d2e: f003 0303 and.w r3, r3, #3 - 8001d32: 3301 adds r3, #1 - 8001d34: 005b lsls r3, r3, #1 - 8001d36: 633b str r3, [r7, #48] ; 0x30 + 8001cfc: 4b0b ldr r3, [pc, #44] ; (8001d2c ) + 8001cfe: 685b ldr r3, [r3, #4] + 8001d00: 0c1b lsrs r3, r3, #16 + 8001d02: f003 0303 and.w r3, r3, #3 + 8001d06: 3301 adds r3, #1 + 8001d08: 005b lsls r3, r3, #1 + 8001d0a: 633b str r3, [r7, #48] ; 0x30 sysclockfreq = pllvco/pllp; - 8001d38: 6bfa ldr r2, [r7, #60] ; 0x3c - 8001d3a: 6b3b ldr r3, [r7, #48] ; 0x30 - 8001d3c: fbb2 f3f3 udiv r3, r2, r3 - 8001d40: 63bb str r3, [r7, #56] ; 0x38 + 8001d0c: 6bfa ldr r2, [r7, #60] ; 0x3c + 8001d0e: 6b3b ldr r3, [r7, #48] ; 0x30 + 8001d10: fbb2 f3f3 udiv r3, r2, r3 + 8001d14: 63bb str r3, [r7, #56] ; 0x38 break; - 8001d42: e002 b.n 8001d4a + 8001d16: e002 b.n 8001d1e } default: { sysclockfreq = HSI_VALUE; - 8001d44: 4b05 ldr r3, [pc, #20] ; (8001d5c ) - 8001d46: 63bb str r3, [r7, #56] ; 0x38 + 8001d18: 4b05 ldr r3, [pc, #20] ; (8001d30 ) + 8001d1a: 63bb str r3, [r7, #56] ; 0x38 break; - 8001d48: bf00 nop + 8001d1c: bf00 nop } } return sysclockfreq; - 8001d4a: 6bbb ldr r3, [r7, #56] ; 0x38 + 8001d1e: 6bbb ldr r3, [r7, #56] ; 0x38 } - 8001d4c: 4618 mov r0, r3 - 8001d4e: 3740 adds r7, #64 ; 0x40 - 8001d50: 46bd mov sp, r7 - 8001d52: e8bd 8fb0 ldmia.w sp!, {r4, r5, r7, r8, r9, sl, fp, pc} - 8001d56: bf00 nop - 8001d58: 40023800 .word 0x40023800 - 8001d5c: 00f42400 .word 0x00f42400 - 8001d60: 016e3600 .word 0x016e3600 - -08001d64 : + 8001d20: 4618 mov r0, r3 + 8001d22: 3740 adds r7, #64 ; 0x40 + 8001d24: 46bd mov sp, r7 + 8001d26: e8bd 8fb0 ldmia.w sp!, {r4, r5, r7, r8, r9, sl, fp, pc} + 8001d2a: bf00 nop + 8001d2c: 40023800 .word 0x40023800 + 8001d30: 00f42400 .word 0x00f42400 + 8001d34: 016e3600 .word 0x016e3600 + +08001d38 : * @param hspi pointer to a SPI_HandleTypeDef structure that contains * the configuration information for SPI module. * @retval HAL status */ HAL_StatusTypeDef HAL_SPI_Init(SPI_HandleTypeDef *hspi) { - 8001d64: b580 push {r7, lr} - 8001d66: b082 sub sp, #8 - 8001d68: af00 add r7, sp, #0 - 8001d6a: 6078 str r0, [r7, #4] + 8001d38: b580 push {r7, lr} + 8001d3a: b082 sub sp, #8 + 8001d3c: af00 add r7, sp, #0 + 8001d3e: 6078 str r0, [r7, #4] /* Check the SPI handle allocation */ if (hspi == NULL) - 8001d6c: 687b ldr r3, [r7, #4] - 8001d6e: 2b00 cmp r3, #0 - 8001d70: d101 bne.n 8001d76 + 8001d40: 687b ldr r3, [r7, #4] + 8001d42: 2b00 cmp r3, #0 + 8001d44: d101 bne.n 8001d4a { return HAL_ERROR; - 8001d72: 2301 movs r3, #1 - 8001d74: e07b b.n 8001e6e + 8001d46: 2301 movs r3, #1 + 8001d48: e07b b.n 8001e42 assert_param(IS_SPI_DATASIZE(hspi->Init.DataSize)); assert_param(IS_SPI_NSS(hspi->Init.NSS)); assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); assert_param(IS_SPI_FIRST_BIT(hspi->Init.FirstBit)); assert_param(IS_SPI_TIMODE(hspi->Init.TIMode)); if (hspi->Init.TIMode == SPI_TIMODE_DISABLE) - 8001d76: 687b ldr r3, [r7, #4] - 8001d78: 6a5b ldr r3, [r3, #36] ; 0x24 - 8001d7a: 2b00 cmp r3, #0 - 8001d7c: d108 bne.n 8001d90 + 8001d4a: 687b ldr r3, [r7, #4] + 8001d4c: 6a5b ldr r3, [r3, #36] ; 0x24 + 8001d4e: 2b00 cmp r3, #0 + 8001d50: d108 bne.n 8001d64 { assert_param(IS_SPI_CPOL(hspi->Init.CLKPolarity)); assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase)); if (hspi->Init.Mode == SPI_MODE_MASTER) - 8001d7e: 687b ldr r3, [r7, #4] - 8001d80: 685b ldr r3, [r3, #4] - 8001d82: f5b3 7f82 cmp.w r3, #260 ; 0x104 - 8001d86: d009 beq.n 8001d9c + 8001d52: 687b ldr r3, [r7, #4] + 8001d54: 685b ldr r3, [r3, #4] + 8001d56: f5b3 7f82 cmp.w r3, #260 ; 0x104 + 8001d5a: d009 beq.n 8001d70 assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); } else { /* Baudrate prescaler not use in Motoraola Slave mode. force to default value */ hspi->Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2; - 8001d88: 687b ldr r3, [r7, #4] - 8001d8a: 2200 movs r2, #0 - 8001d8c: 61da str r2, [r3, #28] - 8001d8e: e005 b.n 8001d9c + 8001d5c: 687b ldr r3, [r7, #4] + 8001d5e: 2200 movs r2, #0 + 8001d60: 61da str r2, [r3, #28] + 8001d62: e005 b.n 8001d70 else { assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); /* Force polarity and phase to TI protocaol requirements */ hspi->Init.CLKPolarity = SPI_POLARITY_LOW; - 8001d90: 687b ldr r3, [r7, #4] - 8001d92: 2200 movs r2, #0 - 8001d94: 611a str r2, [r3, #16] + 8001d64: 687b ldr r3, [r7, #4] + 8001d66: 2200 movs r2, #0 + 8001d68: 611a str r2, [r3, #16] hspi->Init.CLKPhase = SPI_PHASE_1EDGE; - 8001d96: 687b ldr r3, [r7, #4] - 8001d98: 2200 movs r2, #0 - 8001d9a: 615a str r2, [r3, #20] + 8001d6a: 687b ldr r3, [r7, #4] + 8001d6c: 2200 movs r2, #0 + 8001d6e: 615a str r2, [r3, #20] if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) { assert_param(IS_SPI_CRC_POLYNOMIAL(hspi->Init.CRCPolynomial)); } #else hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; - 8001d9c: 687b ldr r3, [r7, #4] - 8001d9e: 2200 movs r2, #0 - 8001da0: 629a str r2, [r3, #40] ; 0x28 + 8001d70: 687b ldr r3, [r7, #4] + 8001d72: 2200 movs r2, #0 + 8001d74: 629a str r2, [r3, #40] ; 0x28 #endif /* USE_SPI_CRC */ if (hspi->State == HAL_SPI_STATE_RESET) - 8001da2: 687b ldr r3, [r7, #4] - 8001da4: f893 3051 ldrb.w r3, [r3, #81] ; 0x51 - 8001da8: b2db uxtb r3, r3 - 8001daa: 2b00 cmp r3, #0 - 8001dac: d106 bne.n 8001dbc + 8001d76: 687b ldr r3, [r7, #4] + 8001d78: f893 3051 ldrb.w r3, [r3, #81] ; 0x51 + 8001d7c: b2db uxtb r3, r3 + 8001d7e: 2b00 cmp r3, #0 + 8001d80: d106 bne.n 8001d90 { /* Allocate lock resource and initialize it */ hspi->Lock = HAL_UNLOCKED; - 8001dae: 687b ldr r3, [r7, #4] - 8001db0: 2200 movs r2, #0 - 8001db2: f883 2050 strb.w r2, [r3, #80] ; 0x50 + 8001d82: 687b ldr r3, [r7, #4] + 8001d84: 2200 movs r2, #0 + 8001d86: f883 2050 strb.w r2, [r3, #80] ; 0x50 /* Init the low level hardware : GPIO, CLOCK, NVIC... */ hspi->MspInitCallback(hspi); #else /* Init the low level hardware : GPIO, CLOCK, NVIC... */ HAL_SPI_MspInit(hspi); - 8001db6: 6878 ldr r0, [r7, #4] - 8001db8: f7fe fec4 bl 8000b44 + 8001d8a: 6878 ldr r0, [r7, #4] + 8001d8c: f7fe fec6 bl 8000b1c #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ } hspi->State = HAL_SPI_STATE_BUSY; - 8001dbc: 687b ldr r3, [r7, #4] - 8001dbe: 2202 movs r2, #2 - 8001dc0: f883 2051 strb.w r2, [r3, #81] ; 0x51 + 8001d90: 687b ldr r3, [r7, #4] + 8001d92: 2202 movs r2, #2 + 8001d94: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Disable the selected SPI peripheral */ __HAL_SPI_DISABLE(hspi); - 8001dc4: 687b ldr r3, [r7, #4] - 8001dc6: 681b ldr r3, [r3, #0] - 8001dc8: 681a ldr r2, [r3, #0] - 8001dca: 687b ldr r3, [r7, #4] - 8001dcc: 681b ldr r3, [r3, #0] - 8001dce: f022 0240 bic.w r2, r2, #64 ; 0x40 - 8001dd2: 601a str r2, [r3, #0] + 8001d98: 687b ldr r3, [r7, #4] + 8001d9a: 681b ldr r3, [r3, #0] + 8001d9c: 681a ldr r2, [r3, #0] + 8001d9e: 687b ldr r3, [r7, #4] + 8001da0: 681b ldr r3, [r3, #0] + 8001da2: f022 0240 bic.w r2, r2, #64 ; 0x40 + 8001da6: 601a str r2, [r3, #0] /*----------------------- SPIx CR1 & CR2 Configuration ---------------------*/ /* Configure : SPI Mode, Communication Mode, Data size, Clock polarity and phase, NSS management, Communication speed, First bit and CRC calculation state */ WRITE_REG(hspi->Instance->CR1, ((hspi->Init.Mode & (SPI_CR1_MSTR | SPI_CR1_SSI)) | - 8001dd4: 687b ldr r3, [r7, #4] - 8001dd6: 685b ldr r3, [r3, #4] - 8001dd8: f403 7282 and.w r2, r3, #260 ; 0x104 - 8001ddc: 687b ldr r3, [r7, #4] - 8001dde: 689b ldr r3, [r3, #8] - 8001de0: f403 4304 and.w r3, r3, #33792 ; 0x8400 - 8001de4: 431a orrs r2, r3 - 8001de6: 687b ldr r3, [r7, #4] - 8001de8: 68db ldr r3, [r3, #12] - 8001dea: f403 6300 and.w r3, r3, #2048 ; 0x800 - 8001dee: 431a orrs r2, r3 - 8001df0: 687b ldr r3, [r7, #4] - 8001df2: 691b ldr r3, [r3, #16] - 8001df4: f003 0302 and.w r3, r3, #2 - 8001df8: 431a orrs r2, r3 - 8001dfa: 687b ldr r3, [r7, #4] - 8001dfc: 695b ldr r3, [r3, #20] - 8001dfe: f003 0301 and.w r3, r3, #1 - 8001e02: 431a orrs r2, r3 - 8001e04: 687b ldr r3, [r7, #4] - 8001e06: 699b ldr r3, [r3, #24] - 8001e08: f403 7300 and.w r3, r3, #512 ; 0x200 - 8001e0c: 431a orrs r2, r3 - 8001e0e: 687b ldr r3, [r7, #4] - 8001e10: 69db ldr r3, [r3, #28] - 8001e12: f003 0338 and.w r3, r3, #56 ; 0x38 - 8001e16: 431a orrs r2, r3 - 8001e18: 687b ldr r3, [r7, #4] - 8001e1a: 6a1b ldr r3, [r3, #32] - 8001e1c: f003 0380 and.w r3, r3, #128 ; 0x80 - 8001e20: ea42 0103 orr.w r1, r2, r3 - 8001e24: 687b ldr r3, [r7, #4] - 8001e26: 6a9b ldr r3, [r3, #40] ; 0x28 - 8001e28: f403 5200 and.w r2, r3, #8192 ; 0x2000 - 8001e2c: 687b ldr r3, [r7, #4] - 8001e2e: 681b ldr r3, [r3, #0] - 8001e30: 430a orrs r2, r1 - 8001e32: 601a str r2, [r3, #0] + 8001da8: 687b ldr r3, [r7, #4] + 8001daa: 685b ldr r3, [r3, #4] + 8001dac: f403 7282 and.w r2, r3, #260 ; 0x104 + 8001db0: 687b ldr r3, [r7, #4] + 8001db2: 689b ldr r3, [r3, #8] + 8001db4: f403 4304 and.w r3, r3, #33792 ; 0x8400 + 8001db8: 431a orrs r2, r3 + 8001dba: 687b ldr r3, [r7, #4] + 8001dbc: 68db ldr r3, [r3, #12] + 8001dbe: f403 6300 and.w r3, r3, #2048 ; 0x800 + 8001dc2: 431a orrs r2, r3 + 8001dc4: 687b ldr r3, [r7, #4] + 8001dc6: 691b ldr r3, [r3, #16] + 8001dc8: f003 0302 and.w r3, r3, #2 + 8001dcc: 431a orrs r2, r3 + 8001dce: 687b ldr r3, [r7, #4] + 8001dd0: 695b ldr r3, [r3, #20] + 8001dd2: f003 0301 and.w r3, r3, #1 + 8001dd6: 431a orrs r2, r3 + 8001dd8: 687b ldr r3, [r7, #4] + 8001dda: 699b ldr r3, [r3, #24] + 8001ddc: f403 7300 and.w r3, r3, #512 ; 0x200 + 8001de0: 431a orrs r2, r3 + 8001de2: 687b ldr r3, [r7, #4] + 8001de4: 69db ldr r3, [r3, #28] + 8001de6: f003 0338 and.w r3, r3, #56 ; 0x38 + 8001dea: 431a orrs r2, r3 + 8001dec: 687b ldr r3, [r7, #4] + 8001dee: 6a1b ldr r3, [r3, #32] + 8001df0: f003 0380 and.w r3, r3, #128 ; 0x80 + 8001df4: ea42 0103 orr.w r1, r2, r3 + 8001df8: 687b ldr r3, [r7, #4] + 8001dfa: 6a9b ldr r3, [r3, #40] ; 0x28 + 8001dfc: f403 5200 and.w r2, r3, #8192 ; 0x2000 + 8001e00: 687b ldr r3, [r7, #4] + 8001e02: 681b ldr r3, [r3, #0] + 8001e04: 430a orrs r2, r1 + 8001e06: 601a str r2, [r3, #0] (hspi->Init.BaudRatePrescaler & SPI_CR1_BR_Msk) | (hspi->Init.FirstBit & SPI_CR1_LSBFIRST) | (hspi->Init.CRCCalculation & SPI_CR1_CRCEN))); /* Configure : NSS management, TI Mode */ WRITE_REG(hspi->Instance->CR2, (((hspi->Init.NSS >> 16U) & SPI_CR2_SSOE) | (hspi->Init.TIMode & SPI_CR2_FRF))); - 8001e34: 687b ldr r3, [r7, #4] - 8001e36: 699b ldr r3, [r3, #24] - 8001e38: 0c1b lsrs r3, r3, #16 - 8001e3a: f003 0104 and.w r1, r3, #4 - 8001e3e: 687b ldr r3, [r7, #4] - 8001e40: 6a5b ldr r3, [r3, #36] ; 0x24 - 8001e42: f003 0210 and.w r2, r3, #16 - 8001e46: 687b ldr r3, [r7, #4] - 8001e48: 681b ldr r3, [r3, #0] - 8001e4a: 430a orrs r2, r1 - 8001e4c: 605a str r2, [r3, #4] + 8001e08: 687b ldr r3, [r7, #4] + 8001e0a: 699b ldr r3, [r3, #24] + 8001e0c: 0c1b lsrs r3, r3, #16 + 8001e0e: f003 0104 and.w r1, r3, #4 + 8001e12: 687b ldr r3, [r7, #4] + 8001e14: 6a5b ldr r3, [r3, #36] ; 0x24 + 8001e16: f003 0210 and.w r2, r3, #16 + 8001e1a: 687b ldr r3, [r7, #4] + 8001e1c: 681b ldr r3, [r3, #0] + 8001e1e: 430a orrs r2, r1 + 8001e20: 605a str r2, [r3, #4] } #endif /* USE_SPI_CRC */ #if defined(SPI_I2SCFGR_I2SMOD) /* Activate the SPI mode (Make sure that I2SMOD bit in I2SCFGR register is reset) */ CLEAR_BIT(hspi->Instance->I2SCFGR, SPI_I2SCFGR_I2SMOD); - 8001e4e: 687b ldr r3, [r7, #4] - 8001e50: 681b ldr r3, [r3, #0] - 8001e52: 69da ldr r2, [r3, #28] - 8001e54: 687b ldr r3, [r7, #4] - 8001e56: 681b ldr r3, [r3, #0] - 8001e58: f422 6200 bic.w r2, r2, #2048 ; 0x800 - 8001e5c: 61da str r2, [r3, #28] + 8001e22: 687b ldr r3, [r7, #4] + 8001e24: 681b ldr r3, [r3, #0] + 8001e26: 69da ldr r2, [r3, #28] + 8001e28: 687b ldr r3, [r7, #4] + 8001e2a: 681b ldr r3, [r3, #0] + 8001e2c: f422 6200 bic.w r2, r2, #2048 ; 0x800 + 8001e30: 61da str r2, [r3, #28] #endif /* SPI_I2SCFGR_I2SMOD */ hspi->ErrorCode = HAL_SPI_ERROR_NONE; - 8001e5e: 687b ldr r3, [r7, #4] - 8001e60: 2200 movs r2, #0 - 8001e62: 655a str r2, [r3, #84] ; 0x54 + 8001e32: 687b ldr r3, [r7, #4] + 8001e34: 2200 movs r2, #0 + 8001e36: 655a str r2, [r3, #84] ; 0x54 hspi->State = HAL_SPI_STATE_READY; - 8001e64: 687b ldr r3, [r7, #4] - 8001e66: 2201 movs r2, #1 - 8001e68: f883 2051 strb.w r2, [r3, #81] ; 0x51 + 8001e38: 687b ldr r3, [r7, #4] + 8001e3a: 2201 movs r2, #1 + 8001e3c: f883 2051 strb.w r2, [r3, #81] ; 0x51 return HAL_OK; - 8001e6c: 2300 movs r3, #0 + 8001e40: 2300 movs r3, #0 } - 8001e6e: 4618 mov r0, r3 - 8001e70: 3708 adds r7, #8 - 8001e72: 46bd mov sp, r7 - 8001e74: bd80 pop {r7, pc} + 8001e42: 4618 mov r0, r3 + 8001e44: 3708 adds r7, #8 + 8001e46: 46bd mov sp, r7 + 8001e48: bd80 pop {r7, pc} -08001e76 : +08001e4a : * @param Size amount of data to be received * @param Timeout Timeout duration * @retval HAL status */ HAL_StatusTypeDef HAL_SPI_Receive(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout) { - 8001e76: b580 push {r7, lr} - 8001e78: b088 sub sp, #32 - 8001e7a: af02 add r7, sp, #8 - 8001e7c: 60f8 str r0, [r7, #12] - 8001e7e: 60b9 str r1, [r7, #8] - 8001e80: 603b str r3, [r7, #0] - 8001e82: 4613 mov r3, r2 - 8001e84: 80fb strh r3, [r7, #6] + 8001e4a: b580 push {r7, lr} + 8001e4c: b088 sub sp, #32 + 8001e4e: af02 add r7, sp, #8 + 8001e50: 60f8 str r0, [r7, #12] + 8001e52: 60b9 str r1, [r7, #8] + 8001e54: 603b str r3, [r7, #0] + 8001e56: 4613 mov r3, r2 + 8001e58: 80fb strh r3, [r7, #6] #if (USE_SPI_CRC != 0U) __IO uint32_t tmpreg = 0U; #endif /* USE_SPI_CRC */ uint32_t tickstart; HAL_StatusTypeDef errorcode = HAL_OK; - 8001e86: 2300 movs r3, #0 - 8001e88: 75fb strb r3, [r7, #23] + 8001e5a: 2300 movs r3, #0 + 8001e5c: 75fb strb r3, [r7, #23] if ((hspi->Init.Mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES)) - 8001e8a: 68fb ldr r3, [r7, #12] - 8001e8c: 685b ldr r3, [r3, #4] - 8001e8e: f5b3 7f82 cmp.w r3, #260 ; 0x104 - 8001e92: d112 bne.n 8001eba - 8001e94: 68fb ldr r3, [r7, #12] - 8001e96: 689b ldr r3, [r3, #8] - 8001e98: 2b00 cmp r3, #0 - 8001e9a: d10e bne.n 8001eba + 8001e5e: 68fb ldr r3, [r7, #12] + 8001e60: 685b ldr r3, [r3, #4] + 8001e62: f5b3 7f82 cmp.w r3, #260 ; 0x104 + 8001e66: d112 bne.n 8001e8e + 8001e68: 68fb ldr r3, [r7, #12] + 8001e6a: 689b ldr r3, [r3, #8] + 8001e6c: 2b00 cmp r3, #0 + 8001e6e: d10e bne.n 8001e8e { hspi->State = HAL_SPI_STATE_BUSY_RX; - 8001e9c: 68fb ldr r3, [r7, #12] - 8001e9e: 2204 movs r2, #4 - 8001ea0: f883 2051 strb.w r2, [r3, #81] ; 0x51 + 8001e70: 68fb ldr r3, [r7, #12] + 8001e72: 2204 movs r2, #4 + 8001e74: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line */ return HAL_SPI_TransmitReceive(hspi, pData, pData, Size, Timeout); - 8001ea4: 88fa ldrh r2, [r7, #6] - 8001ea6: 683b ldr r3, [r7, #0] - 8001ea8: 9300 str r3, [sp, #0] - 8001eaa: 4613 mov r3, r2 - 8001eac: 68ba ldr r2, [r7, #8] - 8001eae: 68b9 ldr r1, [r7, #8] - 8001eb0: 68f8 ldr r0, [r7, #12] - 8001eb2: f000 f8f1 bl 8002098 - 8001eb6: 4603 mov r3, r0 - 8001eb8: e0ea b.n 8002090 + 8001e78: 88fa ldrh r2, [r7, #6] + 8001e7a: 683b ldr r3, [r7, #0] + 8001e7c: 9300 str r3, [sp, #0] + 8001e7e: 4613 mov r3, r2 + 8001e80: 68ba ldr r2, [r7, #8] + 8001e82: 68b9 ldr r1, [r7, #8] + 8001e84: 68f8 ldr r0, [r7, #12] + 8001e86: f000 f8f1 bl 800206c + 8001e8a: 4603 mov r3, r0 + 8001e8c: e0ea b.n 8002064 } /* Process Locked */ __HAL_LOCK(hspi); - 8001eba: 68fb ldr r3, [r7, #12] - 8001ebc: f893 3050 ldrb.w r3, [r3, #80] ; 0x50 - 8001ec0: 2b01 cmp r3, #1 - 8001ec2: d101 bne.n 8001ec8 - 8001ec4: 2302 movs r3, #2 - 8001ec6: e0e3 b.n 8002090 - 8001ec8: 68fb ldr r3, [r7, #12] - 8001eca: 2201 movs r2, #1 - 8001ecc: f883 2050 strb.w r2, [r3, #80] ; 0x50 + 8001e8e: 68fb ldr r3, [r7, #12] + 8001e90: f893 3050 ldrb.w r3, [r3, #80] ; 0x50 + 8001e94: 2b01 cmp r3, #1 + 8001e96: d101 bne.n 8001e9c + 8001e98: 2302 movs r3, #2 + 8001e9a: e0e3 b.n 8002064 + 8001e9c: 68fb ldr r3, [r7, #12] + 8001e9e: 2201 movs r2, #1 + 8001ea0: f883 2050 strb.w r2, [r3, #80] ; 0x50 /* Init tickstart for timeout management*/ tickstart = HAL_GetTick(); - 8001ed0: f7ff f850 bl 8000f74 - 8001ed4: 6138 str r0, [r7, #16] + 8001ea4: f7ff f850 bl 8000f48 + 8001ea8: 6138 str r0, [r7, #16] if (hspi->State != HAL_SPI_STATE_READY) - 8001ed6: 68fb ldr r3, [r7, #12] - 8001ed8: f893 3051 ldrb.w r3, [r3, #81] ; 0x51 - 8001edc: b2db uxtb r3, r3 - 8001ede: 2b01 cmp r3, #1 - 8001ee0: d002 beq.n 8001ee8 + 8001eaa: 68fb ldr r3, [r7, #12] + 8001eac: f893 3051 ldrb.w r3, [r3, #81] ; 0x51 + 8001eb0: b2db uxtb r3, r3 + 8001eb2: 2b01 cmp r3, #1 + 8001eb4: d002 beq.n 8001ebc { errorcode = HAL_BUSY; - 8001ee2: 2302 movs r3, #2 - 8001ee4: 75fb strb r3, [r7, #23] + 8001eb6: 2302 movs r3, #2 + 8001eb8: 75fb strb r3, [r7, #23] goto error; - 8001ee6: e0ca b.n 800207e + 8001eba: e0ca b.n 8002052 } if ((pData == NULL) || (Size == 0U)) - 8001ee8: 68bb ldr r3, [r7, #8] - 8001eea: 2b00 cmp r3, #0 - 8001eec: d002 beq.n 8001ef4 - 8001eee: 88fb ldrh r3, [r7, #6] - 8001ef0: 2b00 cmp r3, #0 - 8001ef2: d102 bne.n 8001efa + 8001ebc: 68bb ldr r3, [r7, #8] + 8001ebe: 2b00 cmp r3, #0 + 8001ec0: d002 beq.n 8001ec8 + 8001ec2: 88fb ldrh r3, [r7, #6] + 8001ec4: 2b00 cmp r3, #0 + 8001ec6: d102 bne.n 8001ece { errorcode = HAL_ERROR; - 8001ef4: 2301 movs r3, #1 - 8001ef6: 75fb strb r3, [r7, #23] + 8001ec8: 2301 movs r3, #1 + 8001eca: 75fb strb r3, [r7, #23] goto error; - 8001ef8: e0c1 b.n 800207e + 8001ecc: e0c1 b.n 8002052 } /* Set the transaction information */ hspi->State = HAL_SPI_STATE_BUSY_RX; - 8001efa: 68fb ldr r3, [r7, #12] - 8001efc: 2204 movs r2, #4 - 8001efe: f883 2051 strb.w r2, [r3, #81] ; 0x51 + 8001ece: 68fb ldr r3, [r7, #12] + 8001ed0: 2204 movs r2, #4 + 8001ed2: f883 2051 strb.w r2, [r3, #81] ; 0x51 hspi->ErrorCode = HAL_SPI_ERROR_NONE; - 8001f02: 68fb ldr r3, [r7, #12] - 8001f04: 2200 movs r2, #0 - 8001f06: 655a str r2, [r3, #84] ; 0x54 + 8001ed6: 68fb ldr r3, [r7, #12] + 8001ed8: 2200 movs r2, #0 + 8001eda: 655a str r2, [r3, #84] ; 0x54 hspi->pRxBuffPtr = (uint8_t *)pData; - 8001f08: 68fb ldr r3, [r7, #12] - 8001f0a: 68ba ldr r2, [r7, #8] - 8001f0c: 639a str r2, [r3, #56] ; 0x38 + 8001edc: 68fb ldr r3, [r7, #12] + 8001ede: 68ba ldr r2, [r7, #8] + 8001ee0: 639a str r2, [r3, #56] ; 0x38 hspi->RxXferSize = Size; - 8001f0e: 68fb ldr r3, [r7, #12] - 8001f10: 88fa ldrh r2, [r7, #6] - 8001f12: 879a strh r2, [r3, #60] ; 0x3c + 8001ee2: 68fb ldr r3, [r7, #12] + 8001ee4: 88fa ldrh r2, [r7, #6] + 8001ee6: 879a strh r2, [r3, #60] ; 0x3c hspi->RxXferCount = Size; - 8001f14: 68fb ldr r3, [r7, #12] - 8001f16: 88fa ldrh r2, [r7, #6] - 8001f18: 87da strh r2, [r3, #62] ; 0x3e + 8001ee8: 68fb ldr r3, [r7, #12] + 8001eea: 88fa ldrh r2, [r7, #6] + 8001eec: 87da strh r2, [r3, #62] ; 0x3e /*Init field not used in handle to zero */ hspi->pTxBuffPtr = (uint8_t *)NULL; - 8001f1a: 68fb ldr r3, [r7, #12] - 8001f1c: 2200 movs r2, #0 - 8001f1e: 631a str r2, [r3, #48] ; 0x30 + 8001eee: 68fb ldr r3, [r7, #12] + 8001ef0: 2200 movs r2, #0 + 8001ef2: 631a str r2, [r3, #48] ; 0x30 hspi->TxXferSize = 0U; - 8001f20: 68fb ldr r3, [r7, #12] - 8001f22: 2200 movs r2, #0 - 8001f24: 869a strh r2, [r3, #52] ; 0x34 + 8001ef4: 68fb ldr r3, [r7, #12] + 8001ef6: 2200 movs r2, #0 + 8001ef8: 869a strh r2, [r3, #52] ; 0x34 hspi->TxXferCount = 0U; - 8001f26: 68fb ldr r3, [r7, #12] - 8001f28: 2200 movs r2, #0 - 8001f2a: 86da strh r2, [r3, #54] ; 0x36 + 8001efa: 68fb ldr r3, [r7, #12] + 8001efc: 2200 movs r2, #0 + 8001efe: 86da strh r2, [r3, #54] ; 0x36 hspi->RxISR = NULL; - 8001f2c: 68fb ldr r3, [r7, #12] - 8001f2e: 2200 movs r2, #0 - 8001f30: 641a str r2, [r3, #64] ; 0x40 + 8001f00: 68fb ldr r3, [r7, #12] + 8001f02: 2200 movs r2, #0 + 8001f04: 641a str r2, [r3, #64] ; 0x40 hspi->TxISR = NULL; - 8001f32: 68fb ldr r3, [r7, #12] - 8001f34: 2200 movs r2, #0 - 8001f36: 645a str r2, [r3, #68] ; 0x44 + 8001f06: 68fb ldr r3, [r7, #12] + 8001f08: 2200 movs r2, #0 + 8001f0a: 645a str r2, [r3, #68] ; 0x44 hspi->RxXferCount--; } #endif /* USE_SPI_CRC */ /* Configure communication direction: 1Line */ if (hspi->Init.Direction == SPI_DIRECTION_1LINE) - 8001f38: 68fb ldr r3, [r7, #12] - 8001f3a: 689b ldr r3, [r3, #8] - 8001f3c: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 - 8001f40: d10f bne.n 8001f62 + 8001f0c: 68fb ldr r3, [r7, #12] + 8001f0e: 689b ldr r3, [r3, #8] + 8001f10: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 + 8001f14: d10f bne.n 8001f36 { /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */ __HAL_SPI_DISABLE(hspi); - 8001f42: 68fb ldr r3, [r7, #12] - 8001f44: 681b ldr r3, [r3, #0] - 8001f46: 681a ldr r2, [r3, #0] - 8001f48: 68fb ldr r3, [r7, #12] - 8001f4a: 681b ldr r3, [r3, #0] - 8001f4c: f022 0240 bic.w r2, r2, #64 ; 0x40 - 8001f50: 601a str r2, [r3, #0] + 8001f16: 68fb ldr r3, [r7, #12] + 8001f18: 681b ldr r3, [r3, #0] + 8001f1a: 681a ldr r2, [r3, #0] + 8001f1c: 68fb ldr r3, [r7, #12] + 8001f1e: 681b ldr r3, [r3, #0] + 8001f20: f022 0240 bic.w r2, r2, #64 ; 0x40 + 8001f24: 601a str r2, [r3, #0] SPI_1LINE_RX(hspi); - 8001f52: 68fb ldr r3, [r7, #12] - 8001f54: 681b ldr r3, [r3, #0] - 8001f56: 681a ldr r2, [r3, #0] - 8001f58: 68fb ldr r3, [r7, #12] - 8001f5a: 681b ldr r3, [r3, #0] - 8001f5c: f422 4280 bic.w r2, r2, #16384 ; 0x4000 - 8001f60: 601a str r2, [r3, #0] + 8001f26: 68fb ldr r3, [r7, #12] + 8001f28: 681b ldr r3, [r3, #0] + 8001f2a: 681a ldr r2, [r3, #0] + 8001f2c: 68fb ldr r3, [r7, #12] + 8001f2e: 681b ldr r3, [r3, #0] + 8001f30: f422 4280 bic.w r2, r2, #16384 ; 0x4000 + 8001f34: 601a str r2, [r3, #0] } /* Check if the SPI is already enabled */ if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) - 8001f62: 68fb ldr r3, [r7, #12] - 8001f64: 681b ldr r3, [r3, #0] - 8001f66: 681b ldr r3, [r3, #0] - 8001f68: f003 0340 and.w r3, r3, #64 ; 0x40 - 8001f6c: 2b40 cmp r3, #64 ; 0x40 - 8001f6e: d007 beq.n 8001f80 + 8001f36: 68fb ldr r3, [r7, #12] + 8001f38: 681b ldr r3, [r3, #0] + 8001f3a: 681b ldr r3, [r3, #0] + 8001f3c: f003 0340 and.w r3, r3, #64 ; 0x40 + 8001f40: 2b40 cmp r3, #64 ; 0x40 + 8001f42: d007 beq.n 8001f54 { /* Enable SPI peripheral */ __HAL_SPI_ENABLE(hspi); - 8001f70: 68fb ldr r3, [r7, #12] - 8001f72: 681b ldr r3, [r3, #0] - 8001f74: 681a ldr r2, [r3, #0] - 8001f76: 68fb ldr r3, [r7, #12] - 8001f78: 681b ldr r3, [r3, #0] - 8001f7a: f042 0240 orr.w r2, r2, #64 ; 0x40 - 8001f7e: 601a str r2, [r3, #0] + 8001f44: 68fb ldr r3, [r7, #12] + 8001f46: 681b ldr r3, [r3, #0] + 8001f48: 681a ldr r2, [r3, #0] + 8001f4a: 68fb ldr r3, [r7, #12] + 8001f4c: 681b ldr r3, [r3, #0] + 8001f4e: f042 0240 orr.w r2, r2, #64 ; 0x40 + 8001f52: 601a str r2, [r3, #0] } /* Receive data in 8 Bit mode */ if (hspi->Init.DataSize == SPI_DATASIZE_8BIT) - 8001f80: 68fb ldr r3, [r7, #12] - 8001f82: 68db ldr r3, [r3, #12] - 8001f84: 2b00 cmp r3, #0 - 8001f86: d162 bne.n 800204e + 8001f54: 68fb ldr r3, [r7, #12] + 8001f56: 68db ldr r3, [r3, #12] + 8001f58: 2b00 cmp r3, #0 + 8001f5a: d162 bne.n 8002022 { /* Transfer loop */ while (hspi->RxXferCount > 0U) - 8001f88: e02e b.n 8001fe8 + 8001f5c: e02e b.n 8001fbc { /* Check the RXNE flag */ if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) - 8001f8a: 68fb ldr r3, [r7, #12] - 8001f8c: 681b ldr r3, [r3, #0] - 8001f8e: 689b ldr r3, [r3, #8] - 8001f90: f003 0301 and.w r3, r3, #1 - 8001f94: 2b01 cmp r3, #1 - 8001f96: d115 bne.n 8001fc4 + 8001f5e: 68fb ldr r3, [r7, #12] + 8001f60: 681b ldr r3, [r3, #0] + 8001f62: 689b ldr r3, [r3, #8] + 8001f64: f003 0301 and.w r3, r3, #1 + 8001f68: 2b01 cmp r3, #1 + 8001f6a: d115 bne.n 8001f98 { /* read the received data */ (* (uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR; - 8001f98: 68fb ldr r3, [r7, #12] - 8001f9a: 681b ldr r3, [r3, #0] - 8001f9c: f103 020c add.w r2, r3, #12 - 8001fa0: 68fb ldr r3, [r7, #12] - 8001fa2: 6b9b ldr r3, [r3, #56] ; 0x38 - 8001fa4: 7812 ldrb r2, [r2, #0] - 8001fa6: b2d2 uxtb r2, r2 - 8001fa8: 701a strb r2, [r3, #0] + 8001f6c: 68fb ldr r3, [r7, #12] + 8001f6e: 681b ldr r3, [r3, #0] + 8001f70: f103 020c add.w r2, r3, #12 + 8001f74: 68fb ldr r3, [r7, #12] + 8001f76: 6b9b ldr r3, [r3, #56] ; 0x38 + 8001f78: 7812 ldrb r2, [r2, #0] + 8001f7a: b2d2 uxtb r2, r2 + 8001f7c: 701a strb r2, [r3, #0] hspi->pRxBuffPtr += sizeof(uint8_t); - 8001faa: 68fb ldr r3, [r7, #12] - 8001fac: 6b9b ldr r3, [r3, #56] ; 0x38 - 8001fae: 1c5a adds r2, r3, #1 - 8001fb0: 68fb ldr r3, [r7, #12] - 8001fb2: 639a str r2, [r3, #56] ; 0x38 + 8001f7e: 68fb ldr r3, [r7, #12] + 8001f80: 6b9b ldr r3, [r3, #56] ; 0x38 + 8001f82: 1c5a adds r2, r3, #1 + 8001f84: 68fb ldr r3, [r7, #12] + 8001f86: 639a str r2, [r3, #56] ; 0x38 hspi->RxXferCount--; - 8001fb4: 68fb ldr r3, [r7, #12] - 8001fb6: 8fdb ldrh r3, [r3, #62] ; 0x3e - 8001fb8: b29b uxth r3, r3 - 8001fba: 3b01 subs r3, #1 - 8001fbc: b29a uxth r2, r3 - 8001fbe: 68fb ldr r3, [r7, #12] - 8001fc0: 87da strh r2, [r3, #62] ; 0x3e - 8001fc2: e011 b.n 8001fe8 + 8001f88: 68fb ldr r3, [r7, #12] + 8001f8a: 8fdb ldrh r3, [r3, #62] ; 0x3e + 8001f8c: b29b uxth r3, r3 + 8001f8e: 3b01 subs r3, #1 + 8001f90: b29a uxth r2, r3 + 8001f92: 68fb ldr r3, [r7, #12] + 8001f94: 87da strh r2, [r3, #62] ; 0x3e + 8001f96: e011 b.n 8001fbc } else { /* Timeout management */ if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout == 0U)) - 8001fc4: f7fe ffd6 bl 8000f74 - 8001fc8: 4602 mov r2, r0 - 8001fca: 693b ldr r3, [r7, #16] - 8001fcc: 1ad3 subs r3, r2, r3 - 8001fce: 683a ldr r2, [r7, #0] - 8001fd0: 429a cmp r2, r3 - 8001fd2: d803 bhi.n 8001fdc - 8001fd4: 683b ldr r3, [r7, #0] - 8001fd6: f1b3 3fff cmp.w r3, #4294967295 - 8001fda: d102 bne.n 8001fe2 - 8001fdc: 683b ldr r3, [r7, #0] - 8001fde: 2b00 cmp r3, #0 - 8001fe0: d102 bne.n 8001fe8 + 8001f98: f7fe ffd6 bl 8000f48 + 8001f9c: 4602 mov r2, r0 + 8001f9e: 693b ldr r3, [r7, #16] + 8001fa0: 1ad3 subs r3, r2, r3 + 8001fa2: 683a ldr r2, [r7, #0] + 8001fa4: 429a cmp r2, r3 + 8001fa6: d803 bhi.n 8001fb0 + 8001fa8: 683b ldr r3, [r7, #0] + 8001faa: f1b3 3fff cmp.w r3, #4294967295 + 8001fae: d102 bne.n 8001fb6 + 8001fb0: 683b ldr r3, [r7, #0] + 8001fb2: 2b00 cmp r3, #0 + 8001fb4: d102 bne.n 8001fbc { errorcode = HAL_TIMEOUT; - 8001fe2: 2303 movs r3, #3 - 8001fe4: 75fb strb r3, [r7, #23] + 8001fb6: 2303 movs r3, #3 + 8001fb8: 75fb strb r3, [r7, #23] goto error; - 8001fe6: e04a b.n 800207e + 8001fba: e04a b.n 8002052 while (hspi->RxXferCount > 0U) - 8001fe8: 68fb ldr r3, [r7, #12] - 8001fea: 8fdb ldrh r3, [r3, #62] ; 0x3e - 8001fec: b29b uxth r3, r3 - 8001fee: 2b00 cmp r3, #0 - 8001ff0: d1cb bne.n 8001f8a - 8001ff2: e031 b.n 8002058 + 8001fbc: 68fb ldr r3, [r7, #12] + 8001fbe: 8fdb ldrh r3, [r3, #62] ; 0x3e + 8001fc0: b29b uxth r3, r3 + 8001fc2: 2b00 cmp r3, #0 + 8001fc4: d1cb bne.n 8001f5e + 8001fc6: e031 b.n 800202c { /* Transfer loop */ while (hspi->RxXferCount > 0U) { /* Check the RXNE flag */ if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) - 8001ff4: 68fb ldr r3, [r7, #12] - 8001ff6: 681b ldr r3, [r3, #0] - 8001ff8: 689b ldr r3, [r3, #8] - 8001ffa: f003 0301 and.w r3, r3, #1 - 8001ffe: 2b01 cmp r3, #1 - 8002000: d113 bne.n 800202a + 8001fc8: 68fb ldr r3, [r7, #12] + 8001fca: 681b ldr r3, [r3, #0] + 8001fcc: 689b ldr r3, [r3, #8] + 8001fce: f003 0301 and.w r3, r3, #1 + 8001fd2: 2b01 cmp r3, #1 + 8001fd4: d113 bne.n 8001ffe { *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR; - 8002002: 68fb ldr r3, [r7, #12] - 8002004: 681b ldr r3, [r3, #0] - 8002006: 68da ldr r2, [r3, #12] - 8002008: 68fb ldr r3, [r7, #12] - 800200a: 6b9b ldr r3, [r3, #56] ; 0x38 - 800200c: b292 uxth r2, r2 - 800200e: 801a strh r2, [r3, #0] + 8001fd6: 68fb ldr r3, [r7, #12] + 8001fd8: 681b ldr r3, [r3, #0] + 8001fda: 68da ldr r2, [r3, #12] + 8001fdc: 68fb ldr r3, [r7, #12] + 8001fde: 6b9b ldr r3, [r3, #56] ; 0x38 + 8001fe0: b292 uxth r2, r2 + 8001fe2: 801a strh r2, [r3, #0] hspi->pRxBuffPtr += sizeof(uint16_t); - 8002010: 68fb ldr r3, [r7, #12] - 8002012: 6b9b ldr r3, [r3, #56] ; 0x38 - 8002014: 1c9a adds r2, r3, #2 - 8002016: 68fb ldr r3, [r7, #12] - 8002018: 639a str r2, [r3, #56] ; 0x38 + 8001fe4: 68fb ldr r3, [r7, #12] + 8001fe6: 6b9b ldr r3, [r3, #56] ; 0x38 + 8001fe8: 1c9a adds r2, r3, #2 + 8001fea: 68fb ldr r3, [r7, #12] + 8001fec: 639a str r2, [r3, #56] ; 0x38 hspi->RxXferCount--; - 800201a: 68fb ldr r3, [r7, #12] - 800201c: 8fdb ldrh r3, [r3, #62] ; 0x3e - 800201e: b29b uxth r3, r3 - 8002020: 3b01 subs r3, #1 - 8002022: b29a uxth r2, r3 - 8002024: 68fb ldr r3, [r7, #12] - 8002026: 87da strh r2, [r3, #62] ; 0x3e - 8002028: e011 b.n 800204e + 8001fee: 68fb ldr r3, [r7, #12] + 8001ff0: 8fdb ldrh r3, [r3, #62] ; 0x3e + 8001ff2: b29b uxth r3, r3 + 8001ff4: 3b01 subs r3, #1 + 8001ff6: b29a uxth r2, r3 + 8001ff8: 68fb ldr r3, [r7, #12] + 8001ffa: 87da strh r2, [r3, #62] ; 0x3e + 8001ffc: e011 b.n 8002022 } else { /* Timeout management */ if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout == 0U)) - 800202a: f7fe ffa3 bl 8000f74 - 800202e: 4602 mov r2, r0 - 8002030: 693b ldr r3, [r7, #16] - 8002032: 1ad3 subs r3, r2, r3 - 8002034: 683a ldr r2, [r7, #0] - 8002036: 429a cmp r2, r3 - 8002038: d803 bhi.n 8002042 - 800203a: 683b ldr r3, [r7, #0] - 800203c: f1b3 3fff cmp.w r3, #4294967295 - 8002040: d102 bne.n 8002048 - 8002042: 683b ldr r3, [r7, #0] - 8002044: 2b00 cmp r3, #0 - 8002046: d102 bne.n 800204e + 8001ffe: f7fe ffa3 bl 8000f48 + 8002002: 4602 mov r2, r0 + 8002004: 693b ldr r3, [r7, #16] + 8002006: 1ad3 subs r3, r2, r3 + 8002008: 683a ldr r2, [r7, #0] + 800200a: 429a cmp r2, r3 + 800200c: d803 bhi.n 8002016 + 800200e: 683b ldr r3, [r7, #0] + 8002010: f1b3 3fff cmp.w r3, #4294967295 + 8002014: d102 bne.n 800201c + 8002016: 683b ldr r3, [r7, #0] + 8002018: 2b00 cmp r3, #0 + 800201a: d102 bne.n 8002022 { errorcode = HAL_TIMEOUT; - 8002048: 2303 movs r3, #3 - 800204a: 75fb strb r3, [r7, #23] + 800201c: 2303 movs r3, #3 + 800201e: 75fb strb r3, [r7, #23] goto error; - 800204c: e017 b.n 800207e + 8002020: e017 b.n 8002052 while (hspi->RxXferCount > 0U) - 800204e: 68fb ldr r3, [r7, #12] - 8002050: 8fdb ldrh r3, [r3, #62] ; 0x3e - 8002052: b29b uxth r3, r3 - 8002054: 2b00 cmp r3, #0 - 8002056: d1cd bne.n 8001ff4 + 8002022: 68fb ldr r3, [r7, #12] + 8002024: 8fdb ldrh r3, [r3, #62] ; 0x3e + 8002026: b29b uxth r3, r3 + 8002028: 2b00 cmp r3, #0 + 800202a: d1cd bne.n 8001fc8 UNUSED(tmpreg); } #endif /* USE_SPI_CRC */ /* Check the end of the transaction */ if (SPI_EndRxTransaction(hspi, Timeout, tickstart) != HAL_OK) - 8002058: 693a ldr r2, [r7, #16] - 800205a: 6839 ldr r1, [r7, #0] - 800205c: 68f8 ldr r0, [r7, #12] - 800205e: f000 fa45 bl 80024ec - 8002062: 4603 mov r3, r0 - 8002064: 2b00 cmp r3, #0 - 8002066: d002 beq.n 800206e + 800202c: 693a ldr r2, [r7, #16] + 800202e: 6839 ldr r1, [r7, #0] + 8002030: 68f8 ldr r0, [r7, #12] + 8002032: f000 fa45 bl 80024c0 + 8002036: 4603 mov r3, r0 + 8002038: 2b00 cmp r3, #0 + 800203a: d002 beq.n 8002042 { hspi->ErrorCode = HAL_SPI_ERROR_FLAG; - 8002068: 68fb ldr r3, [r7, #12] - 800206a: 2220 movs r2, #32 - 800206c: 655a str r2, [r3, #84] ; 0x54 + 800203c: 68fb ldr r3, [r7, #12] + 800203e: 2220 movs r2, #32 + 8002040: 655a str r2, [r3, #84] ; 0x54 SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC); __HAL_SPI_CLEAR_CRCERRFLAG(hspi); } #endif /* USE_SPI_CRC */ if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) - 800206e: 68fb ldr r3, [r7, #12] - 8002070: 6d5b ldr r3, [r3, #84] ; 0x54 - 8002072: 2b00 cmp r3, #0 - 8002074: d002 beq.n 800207c + 8002042: 68fb ldr r3, [r7, #12] + 8002044: 6d5b ldr r3, [r3, #84] ; 0x54 + 8002046: 2b00 cmp r3, #0 + 8002048: d002 beq.n 8002050 { errorcode = HAL_ERROR; - 8002076: 2301 movs r3, #1 - 8002078: 75fb strb r3, [r7, #23] - 800207a: e000 b.n 800207e + 800204a: 2301 movs r3, #1 + 800204c: 75fb strb r3, [r7, #23] + 800204e: e000 b.n 8002052 } error : - 800207c: bf00 nop + 8002050: bf00 nop hspi->State = HAL_SPI_STATE_READY; - 800207e: 68fb ldr r3, [r7, #12] - 8002080: 2201 movs r2, #1 - 8002082: f883 2051 strb.w r2, [r3, #81] ; 0x51 + 8002052: 68fb ldr r3, [r7, #12] + 8002054: 2201 movs r2, #1 + 8002056: f883 2051 strb.w r2, [r3, #81] ; 0x51 __HAL_UNLOCK(hspi); - 8002086: 68fb ldr r3, [r7, #12] - 8002088: 2200 movs r2, #0 - 800208a: f883 2050 strb.w r2, [r3, #80] ; 0x50 + 800205a: 68fb ldr r3, [r7, #12] + 800205c: 2200 movs r2, #0 + 800205e: f883 2050 strb.w r2, [r3, #80] ; 0x50 return errorcode; - 800208e: 7dfb ldrb r3, [r7, #23] + 8002062: 7dfb ldrb r3, [r7, #23] } - 8002090: 4618 mov r0, r3 - 8002092: 3718 adds r7, #24 - 8002094: 46bd mov sp, r7 - 8002096: bd80 pop {r7, pc} + 8002064: 4618 mov r0, r3 + 8002066: 3718 adds r7, #24 + 8002068: 46bd mov sp, r7 + 800206a: bd80 pop {r7, pc} -08002098 : +0800206c : * @param Timeout Timeout duration * @retval HAL status */ HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout) { - 8002098: b580 push {r7, lr} - 800209a: b08c sub sp, #48 ; 0x30 - 800209c: af00 add r7, sp, #0 - 800209e: 60f8 str r0, [r7, #12] - 80020a0: 60b9 str r1, [r7, #8] - 80020a2: 607a str r2, [r7, #4] - 80020a4: 807b strh r3, [r7, #2] + 800206c: b580 push {r7, lr} + 800206e: b08c sub sp, #48 ; 0x30 + 8002070: af00 add r7, sp, #0 + 8002072: 60f8 str r0, [r7, #12] + 8002074: 60b9 str r1, [r7, #8] + 8002076: 607a str r2, [r7, #4] + 8002078: 807b strh r3, [r7, #2] #if (USE_SPI_CRC != 0U) __IO uint32_t tmpreg = 0U; #endif /* USE_SPI_CRC */ /* Variable used to alternate Rx and Tx during transfer */ uint32_t txallowed = 1U; - 80020a6: 2301 movs r3, #1 - 80020a8: 62fb str r3, [r7, #44] ; 0x2c + 800207a: 2301 movs r3, #1 + 800207c: 62fb str r3, [r7, #44] ; 0x2c HAL_StatusTypeDef errorcode = HAL_OK; - 80020aa: 2300 movs r3, #0 - 80020ac: f887 302b strb.w r3, [r7, #43] ; 0x2b + 800207e: 2300 movs r3, #0 + 8002080: f887 302b strb.w r3, [r7, #43] ; 0x2b /* Check Direction parameter */ assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction)); /* Process Locked */ __HAL_LOCK(hspi); - 80020b0: 68fb ldr r3, [r7, #12] - 80020b2: f893 3050 ldrb.w r3, [r3, #80] ; 0x50 - 80020b6: 2b01 cmp r3, #1 - 80020b8: d101 bne.n 80020be - 80020ba: 2302 movs r3, #2 - 80020bc: e18a b.n 80023d4 - 80020be: 68fb ldr r3, [r7, #12] - 80020c0: 2201 movs r2, #1 - 80020c2: f883 2050 strb.w r2, [r3, #80] ; 0x50 + 8002084: 68fb ldr r3, [r7, #12] + 8002086: f893 3050 ldrb.w r3, [r3, #80] ; 0x50 + 800208a: 2b01 cmp r3, #1 + 800208c: d101 bne.n 8002092 + 800208e: 2302 movs r3, #2 + 8002090: e18a b.n 80023a8 + 8002092: 68fb ldr r3, [r7, #12] + 8002094: 2201 movs r2, #1 + 8002096: f883 2050 strb.w r2, [r3, #80] ; 0x50 /* Init tickstart for timeout management*/ tickstart = HAL_GetTick(); - 80020c6: f7fe ff55 bl 8000f74 - 80020ca: 6278 str r0, [r7, #36] ; 0x24 + 800209a: f7fe ff55 bl 8000f48 + 800209e: 6278 str r0, [r7, #36] ; 0x24 /* Init temporary variables */ tmp_state = hspi->State; - 80020cc: 68fb ldr r3, [r7, #12] - 80020ce: f893 3051 ldrb.w r3, [r3, #81] ; 0x51 - 80020d2: f887 3023 strb.w r3, [r7, #35] ; 0x23 + 80020a0: 68fb ldr r3, [r7, #12] + 80020a2: f893 3051 ldrb.w r3, [r3, #81] ; 0x51 + 80020a6: f887 3023 strb.w r3, [r7, #35] ; 0x23 tmp_mode = hspi->Init.Mode; - 80020d6: 68fb ldr r3, [r7, #12] - 80020d8: 685b ldr r3, [r3, #4] - 80020da: 61fb str r3, [r7, #28] + 80020aa: 68fb ldr r3, [r7, #12] + 80020ac: 685b ldr r3, [r3, #4] + 80020ae: 61fb str r3, [r7, #28] initial_TxXferCount = Size; - 80020dc: 887b ldrh r3, [r7, #2] - 80020de: 837b strh r3, [r7, #26] + 80020b0: 887b ldrh r3, [r7, #2] + 80020b2: 837b strh r3, [r7, #26] if (!((tmp_state == HAL_SPI_STATE_READY) || \ - 80020e0: f897 3023 ldrb.w r3, [r7, #35] ; 0x23 - 80020e4: 2b01 cmp r3, #1 - 80020e6: d00f beq.n 8002108 - 80020e8: 69fb ldr r3, [r7, #28] - 80020ea: f5b3 7f82 cmp.w r3, #260 ; 0x104 - 80020ee: d107 bne.n 8002100 + 80020b4: f897 3023 ldrb.w r3, [r7, #35] ; 0x23 + 80020b8: 2b01 cmp r3, #1 + 80020ba: d00f beq.n 80020dc + 80020bc: 69fb ldr r3, [r7, #28] + 80020be: f5b3 7f82 cmp.w r3, #260 ; 0x104 + 80020c2: d107 bne.n 80020d4 ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_state == HAL_SPI_STATE_BUSY_RX)))) - 80020f0: 68fb ldr r3, [r7, #12] - 80020f2: 689b ldr r3, [r3, #8] - 80020f4: 2b00 cmp r3, #0 - 80020f6: d103 bne.n 8002100 - 80020f8: f897 3023 ldrb.w r3, [r7, #35] ; 0x23 - 80020fc: 2b04 cmp r3, #4 - 80020fe: d003 beq.n 8002108 + 80020c4: 68fb ldr r3, [r7, #12] + 80020c6: 689b ldr r3, [r3, #8] + 80020c8: 2b00 cmp r3, #0 + 80020ca: d103 bne.n 80020d4 + 80020cc: f897 3023 ldrb.w r3, [r7, #35] ; 0x23 + 80020d0: 2b04 cmp r3, #4 + 80020d2: d003 beq.n 80020dc { errorcode = HAL_BUSY; - 8002100: 2302 movs r3, #2 - 8002102: f887 302b strb.w r3, [r7, #43] ; 0x2b + 80020d4: 2302 movs r3, #2 + 80020d6: f887 302b strb.w r3, [r7, #43] ; 0x2b goto error; - 8002106: e15b b.n 80023c0 + 80020da: e15b b.n 8002394 } if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) - 8002108: 68bb ldr r3, [r7, #8] - 800210a: 2b00 cmp r3, #0 - 800210c: d005 beq.n 800211a - 800210e: 687b ldr r3, [r7, #4] - 8002110: 2b00 cmp r3, #0 - 8002112: d002 beq.n 800211a - 8002114: 887b ldrh r3, [r7, #2] - 8002116: 2b00 cmp r3, #0 - 8002118: d103 bne.n 8002122 + 80020dc: 68bb ldr r3, [r7, #8] + 80020de: 2b00 cmp r3, #0 + 80020e0: d005 beq.n 80020ee + 80020e2: 687b ldr r3, [r7, #4] + 80020e4: 2b00 cmp r3, #0 + 80020e6: d002 beq.n 80020ee + 80020e8: 887b ldrh r3, [r7, #2] + 80020ea: 2b00 cmp r3, #0 + 80020ec: d103 bne.n 80020f6 { errorcode = HAL_ERROR; - 800211a: 2301 movs r3, #1 - 800211c: f887 302b strb.w r3, [r7, #43] ; 0x2b + 80020ee: 2301 movs r3, #1 + 80020f0: f887 302b strb.w r3, [r7, #43] ; 0x2b goto error; - 8002120: e14e b.n 80023c0 + 80020f4: e14e b.n 8002394 } /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */ if (hspi->State != HAL_SPI_STATE_BUSY_RX) - 8002122: 68fb ldr r3, [r7, #12] - 8002124: f893 3051 ldrb.w r3, [r3, #81] ; 0x51 - 8002128: b2db uxtb r3, r3 - 800212a: 2b04 cmp r3, #4 - 800212c: d003 beq.n 8002136 + 80020f6: 68fb ldr r3, [r7, #12] + 80020f8: f893 3051 ldrb.w r3, [r3, #81] ; 0x51 + 80020fc: b2db uxtb r3, r3 + 80020fe: 2b04 cmp r3, #4 + 8002100: d003 beq.n 800210a { hspi->State = HAL_SPI_STATE_BUSY_TX_RX; - 800212e: 68fb ldr r3, [r7, #12] - 8002130: 2205 movs r2, #5 - 8002132: f883 2051 strb.w r2, [r3, #81] ; 0x51 + 8002102: 68fb ldr r3, [r7, #12] + 8002104: 2205 movs r2, #5 + 8002106: f883 2051 strb.w r2, [r3, #81] ; 0x51 } /* Set the transaction information */ hspi->ErrorCode = HAL_SPI_ERROR_NONE; - 8002136: 68fb ldr r3, [r7, #12] - 8002138: 2200 movs r2, #0 - 800213a: 655a str r2, [r3, #84] ; 0x54 + 800210a: 68fb ldr r3, [r7, #12] + 800210c: 2200 movs r2, #0 + 800210e: 655a str r2, [r3, #84] ; 0x54 hspi->pRxBuffPtr = (uint8_t *)pRxData; - 800213c: 68fb ldr r3, [r7, #12] - 800213e: 687a ldr r2, [r7, #4] - 8002140: 639a str r2, [r3, #56] ; 0x38 + 8002110: 68fb ldr r3, [r7, #12] + 8002112: 687a ldr r2, [r7, #4] + 8002114: 639a str r2, [r3, #56] ; 0x38 hspi->RxXferCount = Size; - 8002142: 68fb ldr r3, [r7, #12] - 8002144: 887a ldrh r2, [r7, #2] - 8002146: 87da strh r2, [r3, #62] ; 0x3e + 8002116: 68fb ldr r3, [r7, #12] + 8002118: 887a ldrh r2, [r7, #2] + 800211a: 87da strh r2, [r3, #62] ; 0x3e hspi->RxXferSize = Size; - 8002148: 68fb ldr r3, [r7, #12] - 800214a: 887a ldrh r2, [r7, #2] - 800214c: 879a strh r2, [r3, #60] ; 0x3c + 800211c: 68fb ldr r3, [r7, #12] + 800211e: 887a ldrh r2, [r7, #2] + 8002120: 879a strh r2, [r3, #60] ; 0x3c hspi->pTxBuffPtr = (uint8_t *)pTxData; - 800214e: 68fb ldr r3, [r7, #12] - 8002150: 68ba ldr r2, [r7, #8] - 8002152: 631a str r2, [r3, #48] ; 0x30 + 8002122: 68fb ldr r3, [r7, #12] + 8002124: 68ba ldr r2, [r7, #8] + 8002126: 631a str r2, [r3, #48] ; 0x30 hspi->TxXferCount = Size; - 8002154: 68fb ldr r3, [r7, #12] - 8002156: 887a ldrh r2, [r7, #2] - 8002158: 86da strh r2, [r3, #54] ; 0x36 + 8002128: 68fb ldr r3, [r7, #12] + 800212a: 887a ldrh r2, [r7, #2] + 800212c: 86da strh r2, [r3, #54] ; 0x36 hspi->TxXferSize = Size; - 800215a: 68fb ldr r3, [r7, #12] - 800215c: 887a ldrh r2, [r7, #2] - 800215e: 869a strh r2, [r3, #52] ; 0x34 + 800212e: 68fb ldr r3, [r7, #12] + 8002130: 887a ldrh r2, [r7, #2] + 8002132: 869a strh r2, [r3, #52] ; 0x34 /*Init field not used in handle to zero */ hspi->RxISR = NULL; - 8002160: 68fb ldr r3, [r7, #12] - 8002162: 2200 movs r2, #0 - 8002164: 641a str r2, [r3, #64] ; 0x40 + 8002134: 68fb ldr r3, [r7, #12] + 8002136: 2200 movs r2, #0 + 8002138: 641a str r2, [r3, #64] ; 0x40 hspi->TxISR = NULL; - 8002166: 68fb ldr r3, [r7, #12] - 8002168: 2200 movs r2, #0 - 800216a: 645a str r2, [r3, #68] ; 0x44 + 800213a: 68fb ldr r3, [r7, #12] + 800213c: 2200 movs r2, #0 + 800213e: 645a str r2, [r3, #68] ; 0x44 SPI_RESET_CRC(hspi); } #endif /* USE_SPI_CRC */ /* Check if the SPI is already enabled */ if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) - 800216c: 68fb ldr r3, [r7, #12] - 800216e: 681b ldr r3, [r3, #0] - 8002170: 681b ldr r3, [r3, #0] - 8002172: f003 0340 and.w r3, r3, #64 ; 0x40 - 8002176: 2b40 cmp r3, #64 ; 0x40 - 8002178: d007 beq.n 800218a + 8002140: 68fb ldr r3, [r7, #12] + 8002142: 681b ldr r3, [r3, #0] + 8002144: 681b ldr r3, [r3, #0] + 8002146: f003 0340 and.w r3, r3, #64 ; 0x40 + 800214a: 2b40 cmp r3, #64 ; 0x40 + 800214c: d007 beq.n 800215e { /* Enable SPI peripheral */ __HAL_SPI_ENABLE(hspi); - 800217a: 68fb ldr r3, [r7, #12] - 800217c: 681b ldr r3, [r3, #0] - 800217e: 681a ldr r2, [r3, #0] - 8002180: 68fb ldr r3, [r7, #12] - 8002182: 681b ldr r3, [r3, #0] - 8002184: f042 0240 orr.w r2, r2, #64 ; 0x40 - 8002188: 601a str r2, [r3, #0] + 800214e: 68fb ldr r3, [r7, #12] + 8002150: 681b ldr r3, [r3, #0] + 8002152: 681a ldr r2, [r3, #0] + 8002154: 68fb ldr r3, [r7, #12] + 8002156: 681b ldr r3, [r3, #0] + 8002158: f042 0240 orr.w r2, r2, #64 ; 0x40 + 800215c: 601a str r2, [r3, #0] } /* Transmit and Receive data in 16 Bit mode */ if (hspi->Init.DataSize == SPI_DATASIZE_16BIT) - 800218a: 68fb ldr r3, [r7, #12] - 800218c: 68db ldr r3, [r3, #12] - 800218e: f5b3 6f00 cmp.w r3, #2048 ; 0x800 - 8002192: d178 bne.n 8002286 + 800215e: 68fb ldr r3, [r7, #12] + 8002160: 68db ldr r3, [r3, #12] + 8002162: f5b3 6f00 cmp.w r3, #2048 ; 0x800 + 8002166: d178 bne.n 800225a { if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) - 8002194: 68fb ldr r3, [r7, #12] - 8002196: 685b ldr r3, [r3, #4] - 8002198: 2b00 cmp r3, #0 - 800219a: d002 beq.n 80021a2 - 800219c: 8b7b ldrh r3, [r7, #26] - 800219e: 2b01 cmp r3, #1 - 80021a0: d166 bne.n 8002270 + 8002168: 68fb ldr r3, [r7, #12] + 800216a: 685b ldr r3, [r3, #4] + 800216c: 2b00 cmp r3, #0 + 800216e: d002 beq.n 8002176 + 8002170: 8b7b ldrh r3, [r7, #26] + 8002172: 2b01 cmp r3, #1 + 8002174: d166 bne.n 8002244 { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); - 80021a2: 68fb ldr r3, [r7, #12] - 80021a4: 6b1b ldr r3, [r3, #48] ; 0x30 - 80021a6: 881a ldrh r2, [r3, #0] - 80021a8: 68fb ldr r3, [r7, #12] - 80021aa: 681b ldr r3, [r3, #0] - 80021ac: 60da str r2, [r3, #12] + 8002176: 68fb ldr r3, [r7, #12] + 8002178: 6b1b ldr r3, [r3, #48] ; 0x30 + 800217a: 881a ldrh r2, [r3, #0] + 800217c: 68fb ldr r3, [r7, #12] + 800217e: 681b ldr r3, [r3, #0] + 8002180: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); - 80021ae: 68fb ldr r3, [r7, #12] - 80021b0: 6b1b ldr r3, [r3, #48] ; 0x30 - 80021b2: 1c9a adds r2, r3, #2 - 80021b4: 68fb ldr r3, [r7, #12] - 80021b6: 631a str r2, [r3, #48] ; 0x30 + 8002182: 68fb ldr r3, [r7, #12] + 8002184: 6b1b ldr r3, [r3, #48] ; 0x30 + 8002186: 1c9a adds r2, r3, #2 + 8002188: 68fb ldr r3, [r7, #12] + 800218a: 631a str r2, [r3, #48] ; 0x30 hspi->TxXferCount--; - 80021b8: 68fb ldr r3, [r7, #12] - 80021ba: 8edb ldrh r3, [r3, #54] ; 0x36 - 80021bc: b29b uxth r3, r3 - 80021be: 3b01 subs r3, #1 - 80021c0: b29a uxth r2, r3 - 80021c2: 68fb ldr r3, [r7, #12] - 80021c4: 86da strh r2, [r3, #54] ; 0x36 + 800218c: 68fb ldr r3, [r7, #12] + 800218e: 8edb ldrh r3, [r3, #54] ; 0x36 + 8002190: b29b uxth r3, r3 + 8002192: 3b01 subs r3, #1 + 8002194: b29a uxth r2, r3 + 8002196: 68fb ldr r3, [r7, #12] + 8002198: 86da strh r2, [r3, #54] ; 0x36 } while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) - 80021c6: e053 b.n 8002270 + 800219a: e053 b.n 8002244 { /* Check TXE flag */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)) - 80021c8: 68fb ldr r3, [r7, #12] - 80021ca: 681b ldr r3, [r3, #0] - 80021cc: 689b ldr r3, [r3, #8] - 80021ce: f003 0302 and.w r3, r3, #2 - 80021d2: 2b02 cmp r3, #2 - 80021d4: d11b bne.n 800220e - 80021d6: 68fb ldr r3, [r7, #12] - 80021d8: 8edb ldrh r3, [r3, #54] ; 0x36 - 80021da: b29b uxth r3, r3 - 80021dc: 2b00 cmp r3, #0 - 80021de: d016 beq.n 800220e - 80021e0: 6afb ldr r3, [r7, #44] ; 0x2c - 80021e2: 2b01 cmp r3, #1 - 80021e4: d113 bne.n 800220e + 800219c: 68fb ldr r3, [r7, #12] + 800219e: 681b ldr r3, [r3, #0] + 80021a0: 689b ldr r3, [r3, #8] + 80021a2: f003 0302 and.w r3, r3, #2 + 80021a6: 2b02 cmp r3, #2 + 80021a8: d11b bne.n 80021e2 + 80021aa: 68fb ldr r3, [r7, #12] + 80021ac: 8edb ldrh r3, [r3, #54] ; 0x36 + 80021ae: b29b uxth r3, r3 + 80021b0: 2b00 cmp r3, #0 + 80021b2: d016 beq.n 80021e2 + 80021b4: 6afb ldr r3, [r7, #44] ; 0x2c + 80021b6: 2b01 cmp r3, #1 + 80021b8: d113 bne.n 80021e2 { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); - 80021e6: 68fb ldr r3, [r7, #12] - 80021e8: 6b1b ldr r3, [r3, #48] ; 0x30 - 80021ea: 881a ldrh r2, [r3, #0] - 80021ec: 68fb ldr r3, [r7, #12] - 80021ee: 681b ldr r3, [r3, #0] - 80021f0: 60da str r2, [r3, #12] + 80021ba: 68fb ldr r3, [r7, #12] + 80021bc: 6b1b ldr r3, [r3, #48] ; 0x30 + 80021be: 881a ldrh r2, [r3, #0] + 80021c0: 68fb ldr r3, [r7, #12] + 80021c2: 681b ldr r3, [r3, #0] + 80021c4: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); - 80021f2: 68fb ldr r3, [r7, #12] - 80021f4: 6b1b ldr r3, [r3, #48] ; 0x30 - 80021f6: 1c9a adds r2, r3, #2 - 80021f8: 68fb ldr r3, [r7, #12] - 80021fa: 631a str r2, [r3, #48] ; 0x30 + 80021c6: 68fb ldr r3, [r7, #12] + 80021c8: 6b1b ldr r3, [r3, #48] ; 0x30 + 80021ca: 1c9a adds r2, r3, #2 + 80021cc: 68fb ldr r3, [r7, #12] + 80021ce: 631a str r2, [r3, #48] ; 0x30 hspi->TxXferCount--; - 80021fc: 68fb ldr r3, [r7, #12] - 80021fe: 8edb ldrh r3, [r3, #54] ; 0x36 - 8002200: b29b uxth r3, r3 - 8002202: 3b01 subs r3, #1 - 8002204: b29a uxth r2, r3 - 8002206: 68fb ldr r3, [r7, #12] - 8002208: 86da strh r2, [r3, #54] ; 0x36 + 80021d0: 68fb ldr r3, [r7, #12] + 80021d2: 8edb ldrh r3, [r3, #54] ; 0x36 + 80021d4: b29b uxth r3, r3 + 80021d6: 3b01 subs r3, #1 + 80021d8: b29a uxth r2, r3 + 80021da: 68fb ldr r3, [r7, #12] + 80021dc: 86da strh r2, [r3, #54] ; 0x36 /* Next Data is a reception (Rx). Tx not allowed */ txallowed = 0U; - 800220a: 2300 movs r3, #0 - 800220c: 62fb str r3, [r7, #44] ; 0x2c + 80021de: 2300 movs r3, #0 + 80021e0: 62fb str r3, [r7, #44] ; 0x2c } #endif /* USE_SPI_CRC */ } /* Check RXNE flag */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U)) - 800220e: 68fb ldr r3, [r7, #12] - 8002210: 681b ldr r3, [r3, #0] - 8002212: 689b ldr r3, [r3, #8] - 8002214: f003 0301 and.w r3, r3, #1 - 8002218: 2b01 cmp r3, #1 - 800221a: d119 bne.n 8002250 - 800221c: 68fb ldr r3, [r7, #12] - 800221e: 8fdb ldrh r3, [r3, #62] ; 0x3e - 8002220: b29b uxth r3, r3 - 8002222: 2b00 cmp r3, #0 - 8002224: d014 beq.n 8002250 + 80021e2: 68fb ldr r3, [r7, #12] + 80021e4: 681b ldr r3, [r3, #0] + 80021e6: 689b ldr r3, [r3, #8] + 80021e8: f003 0301 and.w r3, r3, #1 + 80021ec: 2b01 cmp r3, #1 + 80021ee: d119 bne.n 8002224 + 80021f0: 68fb ldr r3, [r7, #12] + 80021f2: 8fdb ldrh r3, [r3, #62] ; 0x3e + 80021f4: b29b uxth r3, r3 + 80021f6: 2b00 cmp r3, #0 + 80021f8: d014 beq.n 8002224 { *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR; - 8002226: 68fb ldr r3, [r7, #12] - 8002228: 681b ldr r3, [r3, #0] - 800222a: 68da ldr r2, [r3, #12] - 800222c: 68fb ldr r3, [r7, #12] - 800222e: 6b9b ldr r3, [r3, #56] ; 0x38 - 8002230: b292 uxth r2, r2 - 8002232: 801a strh r2, [r3, #0] + 80021fa: 68fb ldr r3, [r7, #12] + 80021fc: 681b ldr r3, [r3, #0] + 80021fe: 68da ldr r2, [r3, #12] + 8002200: 68fb ldr r3, [r7, #12] + 8002202: 6b9b ldr r3, [r3, #56] ; 0x38 + 8002204: b292 uxth r2, r2 + 8002206: 801a strh r2, [r3, #0] hspi->pRxBuffPtr += sizeof(uint16_t); - 8002234: 68fb ldr r3, [r7, #12] - 8002236: 6b9b ldr r3, [r3, #56] ; 0x38 - 8002238: 1c9a adds r2, r3, #2 - 800223a: 68fb ldr r3, [r7, #12] - 800223c: 639a str r2, [r3, #56] ; 0x38 + 8002208: 68fb ldr r3, [r7, #12] + 800220a: 6b9b ldr r3, [r3, #56] ; 0x38 + 800220c: 1c9a adds r2, r3, #2 + 800220e: 68fb ldr r3, [r7, #12] + 8002210: 639a str r2, [r3, #56] ; 0x38 hspi->RxXferCount--; - 800223e: 68fb ldr r3, [r7, #12] - 8002240: 8fdb ldrh r3, [r3, #62] ; 0x3e - 8002242: b29b uxth r3, r3 - 8002244: 3b01 subs r3, #1 - 8002246: b29a uxth r2, r3 - 8002248: 68fb ldr r3, [r7, #12] - 800224a: 87da strh r2, [r3, #62] ; 0x3e + 8002212: 68fb ldr r3, [r7, #12] + 8002214: 8fdb ldrh r3, [r3, #62] ; 0x3e + 8002216: b29b uxth r3, r3 + 8002218: 3b01 subs r3, #1 + 800221a: b29a uxth r2, r3 + 800221c: 68fb ldr r3, [r7, #12] + 800221e: 87da strh r2, [r3, #62] ; 0x3e /* Next Data is a Transmission (Tx). Tx is allowed */ txallowed = 1U; - 800224c: 2301 movs r3, #1 - 800224e: 62fb str r3, [r7, #44] ; 0x2c + 8002220: 2301 movs r3, #1 + 8002222: 62fb str r3, [r7, #44] ; 0x2c } if (((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) - 8002250: f7fe fe90 bl 8000f74 - 8002254: 4602 mov r2, r0 - 8002256: 6a7b ldr r3, [r7, #36] ; 0x24 - 8002258: 1ad3 subs r3, r2, r3 - 800225a: 6bba ldr r2, [r7, #56] ; 0x38 - 800225c: 429a cmp r2, r3 - 800225e: d807 bhi.n 8002270 - 8002260: 6bbb ldr r3, [r7, #56] ; 0x38 - 8002262: f1b3 3fff cmp.w r3, #4294967295 - 8002266: d003 beq.n 8002270 + 8002224: f7fe fe90 bl 8000f48 + 8002228: 4602 mov r2, r0 + 800222a: 6a7b ldr r3, [r7, #36] ; 0x24 + 800222c: 1ad3 subs r3, r2, r3 + 800222e: 6bba ldr r2, [r7, #56] ; 0x38 + 8002230: 429a cmp r2, r3 + 8002232: d807 bhi.n 8002244 + 8002234: 6bbb ldr r3, [r7, #56] ; 0x38 + 8002236: f1b3 3fff cmp.w r3, #4294967295 + 800223a: d003 beq.n 8002244 { errorcode = HAL_TIMEOUT; - 8002268: 2303 movs r3, #3 - 800226a: f887 302b strb.w r3, [r7, #43] ; 0x2b + 800223c: 2303 movs r3, #3 + 800223e: f887 302b strb.w r3, [r7, #43] ; 0x2b goto error; - 800226e: e0a7 b.n 80023c0 + 8002242: e0a7 b.n 8002394 while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) - 8002270: 68fb ldr r3, [r7, #12] - 8002272: 8edb ldrh r3, [r3, #54] ; 0x36 - 8002274: b29b uxth r3, r3 - 8002276: 2b00 cmp r3, #0 - 8002278: d1a6 bne.n 80021c8 - 800227a: 68fb ldr r3, [r7, #12] - 800227c: 8fdb ldrh r3, [r3, #62] ; 0x3e - 800227e: b29b uxth r3, r3 - 8002280: 2b00 cmp r3, #0 - 8002282: d1a1 bne.n 80021c8 - 8002284: e07c b.n 8002380 + 8002244: 68fb ldr r3, [r7, #12] + 8002246: 8edb ldrh r3, [r3, #54] ; 0x36 + 8002248: b29b uxth r3, r3 + 800224a: 2b00 cmp r3, #0 + 800224c: d1a6 bne.n 800219c + 800224e: 68fb ldr r3, [r7, #12] + 8002250: 8fdb ldrh r3, [r3, #62] ; 0x3e + 8002252: b29b uxth r3, r3 + 8002254: 2b00 cmp r3, #0 + 8002256: d1a1 bne.n 800219c + 8002258: e07c b.n 8002354 } } /* Transmit and Receive data in 8 Bit mode */ else { if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) - 8002286: 68fb ldr r3, [r7, #12] - 8002288: 685b ldr r3, [r3, #4] - 800228a: 2b00 cmp r3, #0 - 800228c: d002 beq.n 8002294 - 800228e: 8b7b ldrh r3, [r7, #26] - 8002290: 2b01 cmp r3, #1 - 8002292: d16b bne.n 800236c + 800225a: 68fb ldr r3, [r7, #12] + 800225c: 685b ldr r3, [r3, #4] + 800225e: 2b00 cmp r3, #0 + 8002260: d002 beq.n 8002268 + 8002262: 8b7b ldrh r3, [r7, #26] + 8002264: 2b01 cmp r3, #1 + 8002266: d16b bne.n 8002340 { *((__IO uint8_t *)&hspi->Instance->DR) = (*hspi->pTxBuffPtr); - 8002294: 68fb ldr r3, [r7, #12] - 8002296: 6b1a ldr r2, [r3, #48] ; 0x30 - 8002298: 68fb ldr r3, [r7, #12] - 800229a: 681b ldr r3, [r3, #0] - 800229c: 330c adds r3, #12 - 800229e: 7812 ldrb r2, [r2, #0] - 80022a0: 701a strb r2, [r3, #0] + 8002268: 68fb ldr r3, [r7, #12] + 800226a: 6b1a ldr r2, [r3, #48] ; 0x30 + 800226c: 68fb ldr r3, [r7, #12] + 800226e: 681b ldr r3, [r3, #0] + 8002270: 330c adds r3, #12 + 8002272: 7812 ldrb r2, [r2, #0] + 8002274: 701a strb r2, [r3, #0] hspi->pTxBuffPtr += sizeof(uint8_t); - 80022a2: 68fb ldr r3, [r7, #12] - 80022a4: 6b1b ldr r3, [r3, #48] ; 0x30 - 80022a6: 1c5a adds r2, r3, #1 - 80022a8: 68fb ldr r3, [r7, #12] - 80022aa: 631a str r2, [r3, #48] ; 0x30 + 8002276: 68fb ldr r3, [r7, #12] + 8002278: 6b1b ldr r3, [r3, #48] ; 0x30 + 800227a: 1c5a adds r2, r3, #1 + 800227c: 68fb ldr r3, [r7, #12] + 800227e: 631a str r2, [r3, #48] ; 0x30 hspi->TxXferCount--; - 80022ac: 68fb ldr r3, [r7, #12] - 80022ae: 8edb ldrh r3, [r3, #54] ; 0x36 - 80022b0: b29b uxth r3, r3 - 80022b2: 3b01 subs r3, #1 - 80022b4: b29a uxth r2, r3 - 80022b6: 68fb ldr r3, [r7, #12] - 80022b8: 86da strh r2, [r3, #54] ; 0x36 + 8002280: 68fb ldr r3, [r7, #12] + 8002282: 8edb ldrh r3, [r3, #54] ; 0x36 + 8002284: b29b uxth r3, r3 + 8002286: 3b01 subs r3, #1 + 8002288: b29a uxth r2, r3 + 800228a: 68fb ldr r3, [r7, #12] + 800228c: 86da strh r2, [r3, #54] ; 0x36 } while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) - 80022ba: e057 b.n 800236c + 800228e: e057 b.n 8002340 { /* Check TXE flag */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)) - 80022bc: 68fb ldr r3, [r7, #12] - 80022be: 681b ldr r3, [r3, #0] - 80022c0: 689b ldr r3, [r3, #8] - 80022c2: f003 0302 and.w r3, r3, #2 - 80022c6: 2b02 cmp r3, #2 - 80022c8: d11c bne.n 8002304 - 80022ca: 68fb ldr r3, [r7, #12] - 80022cc: 8edb ldrh r3, [r3, #54] ; 0x36 - 80022ce: b29b uxth r3, r3 - 80022d0: 2b00 cmp r3, #0 - 80022d2: d017 beq.n 8002304 - 80022d4: 6afb ldr r3, [r7, #44] ; 0x2c - 80022d6: 2b01 cmp r3, #1 - 80022d8: d114 bne.n 8002304 + 8002290: 68fb ldr r3, [r7, #12] + 8002292: 681b ldr r3, [r3, #0] + 8002294: 689b ldr r3, [r3, #8] + 8002296: f003 0302 and.w r3, r3, #2 + 800229a: 2b02 cmp r3, #2 + 800229c: d11c bne.n 80022d8 + 800229e: 68fb ldr r3, [r7, #12] + 80022a0: 8edb ldrh r3, [r3, #54] ; 0x36 + 80022a2: b29b uxth r3, r3 + 80022a4: 2b00 cmp r3, #0 + 80022a6: d017 beq.n 80022d8 + 80022a8: 6afb ldr r3, [r7, #44] ; 0x2c + 80022aa: 2b01 cmp r3, #1 + 80022ac: d114 bne.n 80022d8 { *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr); - 80022da: 68fb ldr r3, [r7, #12] - 80022dc: 6b1a ldr r2, [r3, #48] ; 0x30 - 80022de: 68fb ldr r3, [r7, #12] - 80022e0: 681b ldr r3, [r3, #0] - 80022e2: 330c adds r3, #12 - 80022e4: 7812 ldrb r2, [r2, #0] - 80022e6: 701a strb r2, [r3, #0] + 80022ae: 68fb ldr r3, [r7, #12] + 80022b0: 6b1a ldr r2, [r3, #48] ; 0x30 + 80022b2: 68fb ldr r3, [r7, #12] + 80022b4: 681b ldr r3, [r3, #0] + 80022b6: 330c adds r3, #12 + 80022b8: 7812 ldrb r2, [r2, #0] + 80022ba: 701a strb r2, [r3, #0] hspi->pTxBuffPtr++; - 80022e8: 68fb ldr r3, [r7, #12] - 80022ea: 6b1b ldr r3, [r3, #48] ; 0x30 - 80022ec: 1c5a adds r2, r3, #1 - 80022ee: 68fb ldr r3, [r7, #12] - 80022f0: 631a str r2, [r3, #48] ; 0x30 + 80022bc: 68fb ldr r3, [r7, #12] + 80022be: 6b1b ldr r3, [r3, #48] ; 0x30 + 80022c0: 1c5a adds r2, r3, #1 + 80022c2: 68fb ldr r3, [r7, #12] + 80022c4: 631a str r2, [r3, #48] ; 0x30 hspi->TxXferCount--; - 80022f2: 68fb ldr r3, [r7, #12] - 80022f4: 8edb ldrh r3, [r3, #54] ; 0x36 - 80022f6: b29b uxth r3, r3 - 80022f8: 3b01 subs r3, #1 - 80022fa: b29a uxth r2, r3 - 80022fc: 68fb ldr r3, [r7, #12] - 80022fe: 86da strh r2, [r3, #54] ; 0x36 + 80022c6: 68fb ldr r3, [r7, #12] + 80022c8: 8edb ldrh r3, [r3, #54] ; 0x36 + 80022ca: b29b uxth r3, r3 + 80022cc: 3b01 subs r3, #1 + 80022ce: b29a uxth r2, r3 + 80022d0: 68fb ldr r3, [r7, #12] + 80022d2: 86da strh r2, [r3, #54] ; 0x36 /* Next Data is a reception (Rx). Tx not allowed */ txallowed = 0U; - 8002300: 2300 movs r3, #0 - 8002302: 62fb str r3, [r7, #44] ; 0x2c + 80022d4: 2300 movs r3, #0 + 80022d6: 62fb str r3, [r7, #44] ; 0x2c } #endif /* USE_SPI_CRC */ } /* Wait until RXNE flag is reset */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U)) - 8002304: 68fb ldr r3, [r7, #12] - 8002306: 681b ldr r3, [r3, #0] - 8002308: 689b ldr r3, [r3, #8] - 800230a: f003 0301 and.w r3, r3, #1 - 800230e: 2b01 cmp r3, #1 - 8002310: d119 bne.n 8002346 - 8002312: 68fb ldr r3, [r7, #12] - 8002314: 8fdb ldrh r3, [r3, #62] ; 0x3e - 8002316: b29b uxth r3, r3 - 8002318: 2b00 cmp r3, #0 - 800231a: d014 beq.n 8002346 + 80022d8: 68fb ldr r3, [r7, #12] + 80022da: 681b ldr r3, [r3, #0] + 80022dc: 689b ldr r3, [r3, #8] + 80022de: f003 0301 and.w r3, r3, #1 + 80022e2: 2b01 cmp r3, #1 + 80022e4: d119 bne.n 800231a + 80022e6: 68fb ldr r3, [r7, #12] + 80022e8: 8fdb ldrh r3, [r3, #62] ; 0x3e + 80022ea: b29b uxth r3, r3 + 80022ec: 2b00 cmp r3, #0 + 80022ee: d014 beq.n 800231a { (*(uint8_t *)hspi->pRxBuffPtr) = hspi->Instance->DR; - 800231c: 68fb ldr r3, [r7, #12] - 800231e: 681b ldr r3, [r3, #0] - 8002320: 68da ldr r2, [r3, #12] - 8002322: 68fb ldr r3, [r7, #12] - 8002324: 6b9b ldr r3, [r3, #56] ; 0x38 - 8002326: b2d2 uxtb r2, r2 - 8002328: 701a strb r2, [r3, #0] + 80022f0: 68fb ldr r3, [r7, #12] + 80022f2: 681b ldr r3, [r3, #0] + 80022f4: 68da ldr r2, [r3, #12] + 80022f6: 68fb ldr r3, [r7, #12] + 80022f8: 6b9b ldr r3, [r3, #56] ; 0x38 + 80022fa: b2d2 uxtb r2, r2 + 80022fc: 701a strb r2, [r3, #0] hspi->pRxBuffPtr++; - 800232a: 68fb ldr r3, [r7, #12] - 800232c: 6b9b ldr r3, [r3, #56] ; 0x38 - 800232e: 1c5a adds r2, r3, #1 - 8002330: 68fb ldr r3, [r7, #12] - 8002332: 639a str r2, [r3, #56] ; 0x38 + 80022fe: 68fb ldr r3, [r7, #12] + 8002300: 6b9b ldr r3, [r3, #56] ; 0x38 + 8002302: 1c5a adds r2, r3, #1 + 8002304: 68fb ldr r3, [r7, #12] + 8002306: 639a str r2, [r3, #56] ; 0x38 hspi->RxXferCount--; - 8002334: 68fb ldr r3, [r7, #12] - 8002336: 8fdb ldrh r3, [r3, #62] ; 0x3e - 8002338: b29b uxth r3, r3 - 800233a: 3b01 subs r3, #1 - 800233c: b29a uxth r2, r3 - 800233e: 68fb ldr r3, [r7, #12] - 8002340: 87da strh r2, [r3, #62] ; 0x3e + 8002308: 68fb ldr r3, [r7, #12] + 800230a: 8fdb ldrh r3, [r3, #62] ; 0x3e + 800230c: b29b uxth r3, r3 + 800230e: 3b01 subs r3, #1 + 8002310: b29a uxth r2, r3 + 8002312: 68fb ldr r3, [r7, #12] + 8002314: 87da strh r2, [r3, #62] ; 0x3e /* Next Data is a Transmission (Tx). Tx is allowed */ txallowed = 1U; - 8002342: 2301 movs r3, #1 - 8002344: 62fb str r3, [r7, #44] ; 0x2c + 8002316: 2301 movs r3, #1 + 8002318: 62fb str r3, [r7, #44] ; 0x2c } if ((((HAL_GetTick() - tickstart) >= Timeout) && ((Timeout != HAL_MAX_DELAY))) || (Timeout == 0U)) - 8002346: f7fe fe15 bl 8000f74 - 800234a: 4602 mov r2, r0 - 800234c: 6a7b ldr r3, [r7, #36] ; 0x24 - 800234e: 1ad3 subs r3, r2, r3 - 8002350: 6bba ldr r2, [r7, #56] ; 0x38 - 8002352: 429a cmp r2, r3 - 8002354: d803 bhi.n 800235e - 8002356: 6bbb ldr r3, [r7, #56] ; 0x38 - 8002358: f1b3 3fff cmp.w r3, #4294967295 - 800235c: d102 bne.n 8002364 - 800235e: 6bbb ldr r3, [r7, #56] ; 0x38 - 8002360: 2b00 cmp r3, #0 - 8002362: d103 bne.n 800236c + 800231a: f7fe fe15 bl 8000f48 + 800231e: 4602 mov r2, r0 + 8002320: 6a7b ldr r3, [r7, #36] ; 0x24 + 8002322: 1ad3 subs r3, r2, r3 + 8002324: 6bba ldr r2, [r7, #56] ; 0x38 + 8002326: 429a cmp r2, r3 + 8002328: d803 bhi.n 8002332 + 800232a: 6bbb ldr r3, [r7, #56] ; 0x38 + 800232c: f1b3 3fff cmp.w r3, #4294967295 + 8002330: d102 bne.n 8002338 + 8002332: 6bbb ldr r3, [r7, #56] ; 0x38 + 8002334: 2b00 cmp r3, #0 + 8002336: d103 bne.n 8002340 { errorcode = HAL_TIMEOUT; - 8002364: 2303 movs r3, #3 - 8002366: f887 302b strb.w r3, [r7, #43] ; 0x2b + 8002338: 2303 movs r3, #3 + 800233a: f887 302b strb.w r3, [r7, #43] ; 0x2b goto error; - 800236a: e029 b.n 80023c0 + 800233e: e029 b.n 8002394 while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) - 800236c: 68fb ldr r3, [r7, #12] - 800236e: 8edb ldrh r3, [r3, #54] ; 0x36 - 8002370: b29b uxth r3, r3 - 8002372: 2b00 cmp r3, #0 - 8002374: d1a2 bne.n 80022bc - 8002376: 68fb ldr r3, [r7, #12] - 8002378: 8fdb ldrh r3, [r3, #62] ; 0x3e - 800237a: b29b uxth r3, r3 - 800237c: 2b00 cmp r3, #0 - 800237e: d19d bne.n 80022bc + 8002340: 68fb ldr r3, [r7, #12] + 8002342: 8edb ldrh r3, [r3, #54] ; 0x36 + 8002344: b29b uxth r3, r3 + 8002346: 2b00 cmp r3, #0 + 8002348: d1a2 bne.n 8002290 + 800234a: 68fb ldr r3, [r7, #12] + 800234c: 8fdb ldrh r3, [r3, #62] ; 0x3e + 800234e: b29b uxth r3, r3 + 8002350: 2b00 cmp r3, #0 + 8002352: d19d bne.n 8002290 errorcode = HAL_ERROR; } #endif /* USE_SPI_CRC */ /* Check the end of the transaction */ if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK) - 8002380: 6a7a ldr r2, [r7, #36] ; 0x24 - 8002382: 6bb9 ldr r1, [r7, #56] ; 0x38 - 8002384: 68f8 ldr r0, [r7, #12] - 8002386: f000 f917 bl 80025b8 - 800238a: 4603 mov r3, r0 - 800238c: 2b00 cmp r3, #0 - 800238e: d006 beq.n 800239e + 8002354: 6a7a ldr r2, [r7, #36] ; 0x24 + 8002356: 6bb9 ldr r1, [r7, #56] ; 0x38 + 8002358: 68f8 ldr r0, [r7, #12] + 800235a: f000 f917 bl 800258c + 800235e: 4603 mov r3, r0 + 8002360: 2b00 cmp r3, #0 + 8002362: d006 beq.n 8002372 { errorcode = HAL_ERROR; - 8002390: 2301 movs r3, #1 - 8002392: f887 302b strb.w r3, [r7, #43] ; 0x2b + 8002364: 2301 movs r3, #1 + 8002366: f887 302b strb.w r3, [r7, #43] ; 0x2b hspi->ErrorCode = HAL_SPI_ERROR_FLAG; - 8002396: 68fb ldr r3, [r7, #12] - 8002398: 2220 movs r2, #32 - 800239a: 655a str r2, [r3, #84] ; 0x54 + 800236a: 68fb ldr r3, [r7, #12] + 800236c: 2220 movs r2, #32 + 800236e: 655a str r2, [r3, #84] ; 0x54 goto error; - 800239c: e010 b.n 80023c0 + 8002370: e010 b.n 8002394 } /* Clear overrun flag in 2 Lines communication mode because received is not read */ if (hspi->Init.Direction == SPI_DIRECTION_2LINES) - 800239e: 68fb ldr r3, [r7, #12] - 80023a0: 689b ldr r3, [r3, #8] - 80023a2: 2b00 cmp r3, #0 - 80023a4: d10b bne.n 80023be + 8002372: 68fb ldr r3, [r7, #12] + 8002374: 689b ldr r3, [r3, #8] + 8002376: 2b00 cmp r3, #0 + 8002378: d10b bne.n 8002392 { __HAL_SPI_CLEAR_OVRFLAG(hspi); - 80023a6: 2300 movs r3, #0 - 80023a8: 617b str r3, [r7, #20] - 80023aa: 68fb ldr r3, [r7, #12] - 80023ac: 681b ldr r3, [r3, #0] - 80023ae: 68db ldr r3, [r3, #12] - 80023b0: 617b str r3, [r7, #20] - 80023b2: 68fb ldr r3, [r7, #12] - 80023b4: 681b ldr r3, [r3, #0] - 80023b6: 689b ldr r3, [r3, #8] - 80023b8: 617b str r3, [r7, #20] - 80023ba: 697b ldr r3, [r7, #20] - 80023bc: e000 b.n 80023c0 + 800237a: 2300 movs r3, #0 + 800237c: 617b str r3, [r7, #20] + 800237e: 68fb ldr r3, [r7, #12] + 8002380: 681b ldr r3, [r3, #0] + 8002382: 68db ldr r3, [r3, #12] + 8002384: 617b str r3, [r7, #20] + 8002386: 68fb ldr r3, [r7, #12] + 8002388: 681b ldr r3, [r3, #0] + 800238a: 689b ldr r3, [r3, #8] + 800238c: 617b str r3, [r7, #20] + 800238e: 697b ldr r3, [r7, #20] + 8002390: e000 b.n 8002394 } error : - 80023be: bf00 nop + 8002392: bf00 nop hspi->State = HAL_SPI_STATE_READY; - 80023c0: 68fb ldr r3, [r7, #12] - 80023c2: 2201 movs r2, #1 - 80023c4: f883 2051 strb.w r2, [r3, #81] ; 0x51 + 8002394: 68fb ldr r3, [r7, #12] + 8002396: 2201 movs r2, #1 + 8002398: f883 2051 strb.w r2, [r3, #81] ; 0x51 __HAL_UNLOCK(hspi); - 80023c8: 68fb ldr r3, [r7, #12] - 80023ca: 2200 movs r2, #0 - 80023cc: f883 2050 strb.w r2, [r3, #80] ; 0x50 + 800239c: 68fb ldr r3, [r7, #12] + 800239e: 2200 movs r2, #0 + 80023a0: f883 2050 strb.w r2, [r3, #80] ; 0x50 return errorcode; - 80023d0: f897 302b ldrb.w r3, [r7, #43] ; 0x2b + 80023a4: f897 302b ldrb.w r3, [r7, #43] ; 0x2b } - 80023d4: 4618 mov r0, r3 - 80023d6: 3730 adds r7, #48 ; 0x30 - 80023d8: 46bd mov sp, r7 - 80023da: bd80 pop {r7, pc} + 80023a8: 4618 mov r0, r3 + 80023aa: 3730 adds r7, #48 ; 0x30 + 80023ac: 46bd mov sp, r7 + 80023ae: bd80 pop {r7, pc} -080023dc : +080023b0 : * @param Tickstart tick start value * @retval HAL status */ static HAL_StatusTypeDef SPI_WaitFlagStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, FlagStatus State, uint32_t Timeout, uint32_t Tickstart) { - 80023dc: b580 push {r7, lr} - 80023de: b088 sub sp, #32 - 80023e0: af00 add r7, sp, #0 - 80023e2: 60f8 str r0, [r7, #12] - 80023e4: 60b9 str r1, [r7, #8] - 80023e6: 603b str r3, [r7, #0] - 80023e8: 4613 mov r3, r2 - 80023ea: 71fb strb r3, [r7, #7] + 80023b0: b580 push {r7, lr} + 80023b2: b088 sub sp, #32 + 80023b4: af00 add r7, sp, #0 + 80023b6: 60f8 str r0, [r7, #12] + 80023b8: 60b9 str r1, [r7, #8] + 80023ba: 603b str r3, [r7, #0] + 80023bc: 4613 mov r3, r2 + 80023be: 71fb strb r3, [r7, #7] __IO uint32_t count; uint32_t tmp_timeout; uint32_t tmp_tickstart; /* Adjust Timeout value in case of end of transfer */ tmp_timeout = Timeout - (HAL_GetTick() - Tickstart); - 80023ec: f7fe fdc2 bl 8000f74 - 80023f0: 4602 mov r2, r0 - 80023f2: 6abb ldr r3, [r7, #40] ; 0x28 - 80023f4: 1a9b subs r3, r3, r2 - 80023f6: 683a ldr r2, [r7, #0] - 80023f8: 4413 add r3, r2 - 80023fa: 61fb str r3, [r7, #28] + 80023c0: f7fe fdc2 bl 8000f48 + 80023c4: 4602 mov r2, r0 + 80023c6: 6abb ldr r3, [r7, #40] ; 0x28 + 80023c8: 1a9b subs r3, r3, r2 + 80023ca: 683a ldr r2, [r7, #0] + 80023cc: 4413 add r3, r2 + 80023ce: 61fb str r3, [r7, #28] tmp_tickstart = HAL_GetTick(); - 80023fc: f7fe fdba bl 8000f74 - 8002400: 61b8 str r0, [r7, #24] + 80023d0: f7fe fdba bl 8000f48 + 80023d4: 61b8 str r0, [r7, #24] /* Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled */ count = tmp_timeout * ((SystemCoreClock * 32U) >> 20U); - 8002402: 4b39 ldr r3, [pc, #228] ; (80024e8 ) - 8002404: 681b ldr r3, [r3, #0] - 8002406: 015b lsls r3, r3, #5 - 8002408: 0d1b lsrs r3, r3, #20 - 800240a: 69fa ldr r2, [r7, #28] - 800240c: fb02 f303 mul.w r3, r2, r3 - 8002410: 617b str r3, [r7, #20] + 80023d6: 4b39 ldr r3, [pc, #228] ; (80024bc ) + 80023d8: 681b ldr r3, [r3, #0] + 80023da: 015b lsls r3, r3, #5 + 80023dc: 0d1b lsrs r3, r3, #20 + 80023de: 69fa ldr r2, [r7, #28] + 80023e0: fb02 f303 mul.w r3, r2, r3 + 80023e4: 617b str r3, [r7, #20] while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State) - 8002412: e054 b.n 80024be + 80023e6: e054 b.n 8002492 { if (Timeout != HAL_MAX_DELAY) - 8002414: 683b ldr r3, [r7, #0] - 8002416: f1b3 3fff cmp.w r3, #4294967295 - 800241a: d050 beq.n 80024be + 80023e8: 683b ldr r3, [r7, #0] + 80023ea: f1b3 3fff cmp.w r3, #4294967295 + 80023ee: d050 beq.n 8002492 { if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U)) - 800241c: f7fe fdaa bl 8000f74 - 8002420: 4602 mov r2, r0 - 8002422: 69bb ldr r3, [r7, #24] - 8002424: 1ad3 subs r3, r2, r3 - 8002426: 69fa ldr r2, [r7, #28] - 8002428: 429a cmp r2, r3 - 800242a: d902 bls.n 8002432 - 800242c: 69fb ldr r3, [r7, #28] - 800242e: 2b00 cmp r3, #0 - 8002430: d13d bne.n 80024ae + 80023f0: f7fe fdaa bl 8000f48 + 80023f4: 4602 mov r2, r0 + 80023f6: 69bb ldr r3, [r7, #24] + 80023f8: 1ad3 subs r3, r2, r3 + 80023fa: 69fa ldr r2, [r7, #28] + 80023fc: 429a cmp r2, r3 + 80023fe: d902 bls.n 8002406 + 8002400: 69fb ldr r3, [r7, #28] + 8002402: 2b00 cmp r3, #0 + 8002404: d13d bne.n 8002482 /* Disable the SPI and reset the CRC: the CRC value should be cleared on both master and slave sides in order to resynchronize the master and slave for their respective CRC calculation */ /* Disable TXE, RXNE and ERR interrupts for the interrupt process */ __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR)); - 8002432: 68fb ldr r3, [r7, #12] - 8002434: 681b ldr r3, [r3, #0] - 8002436: 685a ldr r2, [r3, #4] - 8002438: 68fb ldr r3, [r7, #12] - 800243a: 681b ldr r3, [r3, #0] - 800243c: f022 02e0 bic.w r2, r2, #224 ; 0xe0 - 8002440: 605a str r2, [r3, #4] + 8002406: 68fb ldr r3, [r7, #12] + 8002408: 681b ldr r3, [r3, #0] + 800240a: 685a ldr r2, [r3, #4] + 800240c: 68fb ldr r3, [r7, #12] + 800240e: 681b ldr r3, [r3, #0] + 8002410: f022 02e0 bic.w r2, r2, #224 ; 0xe0 + 8002414: 605a str r2, [r3, #4] if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) - 8002442: 68fb ldr r3, [r7, #12] - 8002444: 685b ldr r3, [r3, #4] - 8002446: f5b3 7f82 cmp.w r3, #260 ; 0x104 - 800244a: d111 bne.n 8002470 - 800244c: 68fb ldr r3, [r7, #12] - 800244e: 689b ldr r3, [r3, #8] - 8002450: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 - 8002454: d004 beq.n 8002460 + 8002416: 68fb ldr r3, [r7, #12] + 8002418: 685b ldr r3, [r3, #4] + 800241a: f5b3 7f82 cmp.w r3, #260 ; 0x104 + 800241e: d111 bne.n 8002444 + 8002420: 68fb ldr r3, [r7, #12] + 8002422: 689b ldr r3, [r3, #8] + 8002424: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 + 8002428: d004 beq.n 8002434 || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXONLY))) - 8002456: 68fb ldr r3, [r7, #12] - 8002458: 689b ldr r3, [r3, #8] - 800245a: f5b3 6f80 cmp.w r3, #1024 ; 0x400 - 800245e: d107 bne.n 8002470 + 800242a: 68fb ldr r3, [r7, #12] + 800242c: 689b ldr r3, [r3, #8] + 800242e: f5b3 6f80 cmp.w r3, #1024 ; 0x400 + 8002432: d107 bne.n 8002444 { /* Disable SPI peripheral */ __HAL_SPI_DISABLE(hspi); - 8002460: 68fb ldr r3, [r7, #12] - 8002462: 681b ldr r3, [r3, #0] - 8002464: 681a ldr r2, [r3, #0] - 8002466: 68fb ldr r3, [r7, #12] - 8002468: 681b ldr r3, [r3, #0] - 800246a: f022 0240 bic.w r2, r2, #64 ; 0x40 - 800246e: 601a str r2, [r3, #0] + 8002434: 68fb ldr r3, [r7, #12] + 8002436: 681b ldr r3, [r3, #0] + 8002438: 681a ldr r2, [r3, #0] + 800243a: 68fb ldr r3, [r7, #12] + 800243c: 681b ldr r3, [r3, #0] + 800243e: f022 0240 bic.w r2, r2, #64 ; 0x40 + 8002442: 601a str r2, [r3, #0] } /* Reset CRC Calculation */ if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) - 8002470: 68fb ldr r3, [r7, #12] - 8002472: 6a9b ldr r3, [r3, #40] ; 0x28 - 8002474: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 - 8002478: d10f bne.n 800249a + 8002444: 68fb ldr r3, [r7, #12] + 8002446: 6a9b ldr r3, [r3, #40] ; 0x28 + 8002448: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 + 800244c: d10f bne.n 800246e { SPI_RESET_CRC(hspi); - 800247a: 68fb ldr r3, [r7, #12] - 800247c: 681b ldr r3, [r3, #0] - 800247e: 681a ldr r2, [r3, #0] - 8002480: 68fb ldr r3, [r7, #12] - 8002482: 681b ldr r3, [r3, #0] - 8002484: f422 5200 bic.w r2, r2, #8192 ; 0x2000 - 8002488: 601a str r2, [r3, #0] - 800248a: 68fb ldr r3, [r7, #12] - 800248c: 681b ldr r3, [r3, #0] - 800248e: 681a ldr r2, [r3, #0] - 8002490: 68fb ldr r3, [r7, #12] - 8002492: 681b ldr r3, [r3, #0] - 8002494: f442 5200 orr.w r2, r2, #8192 ; 0x2000 - 8002498: 601a str r2, [r3, #0] + 800244e: 68fb ldr r3, [r7, #12] + 8002450: 681b ldr r3, [r3, #0] + 8002452: 681a ldr r2, [r3, #0] + 8002454: 68fb ldr r3, [r7, #12] + 8002456: 681b ldr r3, [r3, #0] + 8002458: f422 5200 bic.w r2, r2, #8192 ; 0x2000 + 800245c: 601a str r2, [r3, #0] + 800245e: 68fb ldr r3, [r7, #12] + 8002460: 681b ldr r3, [r3, #0] + 8002462: 681a ldr r2, [r3, #0] + 8002464: 68fb ldr r3, [r7, #12] + 8002466: 681b ldr r3, [r3, #0] + 8002468: f442 5200 orr.w r2, r2, #8192 ; 0x2000 + 800246c: 601a str r2, [r3, #0] } hspi->State = HAL_SPI_STATE_READY; - 800249a: 68fb ldr r3, [r7, #12] - 800249c: 2201 movs r2, #1 - 800249e: f883 2051 strb.w r2, [r3, #81] ; 0x51 + 800246e: 68fb ldr r3, [r7, #12] + 8002470: 2201 movs r2, #1 + 8002472: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process Unlocked */ __HAL_UNLOCK(hspi); - 80024a2: 68fb ldr r3, [r7, #12] - 80024a4: 2200 movs r2, #0 - 80024a6: f883 2050 strb.w r2, [r3, #80] ; 0x50 + 8002476: 68fb ldr r3, [r7, #12] + 8002478: 2200 movs r2, #0 + 800247a: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_TIMEOUT; - 80024aa: 2303 movs r3, #3 - 80024ac: e017 b.n 80024de + 800247e: 2303 movs r3, #3 + 8002480: e017 b.n 80024b2 } /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop procedure */ if (count == 0U) - 80024ae: 697b ldr r3, [r7, #20] - 80024b0: 2b00 cmp r3, #0 - 80024b2: d101 bne.n 80024b8 + 8002482: 697b ldr r3, [r7, #20] + 8002484: 2b00 cmp r3, #0 + 8002486: d101 bne.n 800248c { tmp_timeout = 0U; - 80024b4: 2300 movs r3, #0 - 80024b6: 61fb str r3, [r7, #28] + 8002488: 2300 movs r3, #0 + 800248a: 61fb str r3, [r7, #28] } count--; - 80024b8: 697b ldr r3, [r7, #20] - 80024ba: 3b01 subs r3, #1 - 80024bc: 617b str r3, [r7, #20] + 800248c: 697b ldr r3, [r7, #20] + 800248e: 3b01 subs r3, #1 + 8002490: 617b str r3, [r7, #20] while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State) - 80024be: 68fb ldr r3, [r7, #12] - 80024c0: 681b ldr r3, [r3, #0] - 80024c2: 689a ldr r2, [r3, #8] - 80024c4: 68bb ldr r3, [r7, #8] - 80024c6: 4013 ands r3, r2 - 80024c8: 68ba ldr r2, [r7, #8] - 80024ca: 429a cmp r2, r3 - 80024cc: bf0c ite eq - 80024ce: 2301 moveq r3, #1 - 80024d0: 2300 movne r3, #0 - 80024d2: b2db uxtb r3, r3 - 80024d4: 461a mov r2, r3 - 80024d6: 79fb ldrb r3, [r7, #7] - 80024d8: 429a cmp r2, r3 - 80024da: d19b bne.n 8002414 + 8002492: 68fb ldr r3, [r7, #12] + 8002494: 681b ldr r3, [r3, #0] + 8002496: 689a ldr r2, [r3, #8] + 8002498: 68bb ldr r3, [r7, #8] + 800249a: 4013 ands r3, r2 + 800249c: 68ba ldr r2, [r7, #8] + 800249e: 429a cmp r2, r3 + 80024a0: bf0c ite eq + 80024a2: 2301 moveq r3, #1 + 80024a4: 2300 movne r3, #0 + 80024a6: b2db uxtb r3, r3 + 80024a8: 461a mov r2, r3 + 80024aa: 79fb ldrb r3, [r7, #7] + 80024ac: 429a cmp r2, r3 + 80024ae: d19b bne.n 80023e8 } } return HAL_OK; - 80024dc: 2300 movs r3, #0 + 80024b0: 2300 movs r3, #0 } - 80024de: 4618 mov r0, r3 - 80024e0: 3720 adds r7, #32 - 80024e2: 46bd mov sp, r7 - 80024e4: bd80 pop {r7, pc} - 80024e6: bf00 nop - 80024e8: 20000004 .word 0x20000004 - -080024ec : + 80024b2: 4618 mov r0, r3 + 80024b4: 3720 adds r7, #32 + 80024b6: 46bd mov sp, r7 + 80024b8: bd80 pop {r7, pc} + 80024ba: bf00 nop + 80024bc: 20000004 .word 0x20000004 + +080024c0 : * @param Timeout Timeout duration * @param Tickstart tick start value * @retval HAL status */ static HAL_StatusTypeDef SPI_EndRxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t Tickstart) { - 80024ec: b580 push {r7, lr} - 80024ee: b086 sub sp, #24 - 80024f0: af02 add r7, sp, #8 - 80024f2: 60f8 str r0, [r7, #12] - 80024f4: 60b9 str r1, [r7, #8] - 80024f6: 607a str r2, [r7, #4] + 80024c0: b580 push {r7, lr} + 80024c2: b086 sub sp, #24 + 80024c4: af02 add r7, sp, #8 + 80024c6: 60f8 str r0, [r7, #12] + 80024c8: 60b9 str r1, [r7, #8] + 80024ca: 607a str r2, [r7, #4] if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) - 80024f8: 68fb ldr r3, [r7, #12] - 80024fa: 685b ldr r3, [r3, #4] - 80024fc: f5b3 7f82 cmp.w r3, #260 ; 0x104 - 8002500: d111 bne.n 8002526 - 8002502: 68fb ldr r3, [r7, #12] - 8002504: 689b ldr r3, [r3, #8] - 8002506: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 - 800250a: d004 beq.n 8002516 + 80024cc: 68fb ldr r3, [r7, #12] + 80024ce: 685b ldr r3, [r3, #4] + 80024d0: f5b3 7f82 cmp.w r3, #260 ; 0x104 + 80024d4: d111 bne.n 80024fa + 80024d6: 68fb ldr r3, [r7, #12] + 80024d8: 689b ldr r3, [r3, #8] + 80024da: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 + 80024de: d004 beq.n 80024ea || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXONLY))) - 800250c: 68fb ldr r3, [r7, #12] - 800250e: 689b ldr r3, [r3, #8] - 8002510: f5b3 6f80 cmp.w r3, #1024 ; 0x400 - 8002514: d107 bne.n 8002526 + 80024e0: 68fb ldr r3, [r7, #12] + 80024e2: 689b ldr r3, [r3, #8] + 80024e4: f5b3 6f80 cmp.w r3, #1024 ; 0x400 + 80024e8: d107 bne.n 80024fa { /* Disable SPI peripheral */ __HAL_SPI_DISABLE(hspi); - 8002516: 68fb ldr r3, [r7, #12] - 8002518: 681b ldr r3, [r3, #0] - 800251a: 681a ldr r2, [r3, #0] - 800251c: 68fb ldr r3, [r7, #12] - 800251e: 681b ldr r3, [r3, #0] - 8002520: f022 0240 bic.w r2, r2, #64 ; 0x40 - 8002524: 601a str r2, [r3, #0] + 80024ea: 68fb ldr r3, [r7, #12] + 80024ec: 681b ldr r3, [r3, #0] + 80024ee: 681a ldr r2, [r3, #0] + 80024f0: 68fb ldr r3, [r7, #12] + 80024f2: 681b ldr r3, [r3, #0] + 80024f4: f022 0240 bic.w r2, r2, #64 ; 0x40 + 80024f8: 601a str r2, [r3, #0] } /* Erratasheet: BSY bit may stay high at the end of a data transfer in Slave mode */ if (hspi->Init.Mode == SPI_MODE_MASTER) - 8002526: 68fb ldr r3, [r7, #12] - 8002528: 685b ldr r3, [r3, #4] - 800252a: f5b3 7f82 cmp.w r3, #260 ; 0x104 - 800252e: d12a bne.n 8002586 + 80024fa: 68fb ldr r3, [r7, #12] + 80024fc: 685b ldr r3, [r3, #4] + 80024fe: f5b3 7f82 cmp.w r3, #260 ; 0x104 + 8002502: d12a bne.n 800255a { if (hspi->Init.Direction != SPI_DIRECTION_2LINES_RXONLY) - 8002530: 68fb ldr r3, [r7, #12] - 8002532: 689b ldr r3, [r3, #8] - 8002534: f5b3 6f80 cmp.w r3, #1024 ; 0x400 - 8002538: d012 beq.n 8002560 + 8002504: 68fb ldr r3, [r7, #12] + 8002506: 689b ldr r3, [r3, #8] + 8002508: f5b3 6f80 cmp.w r3, #1024 ; 0x400 + 800250c: d012 beq.n 8002534 { /* Control the BSY flag */ if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK) - 800253a: 687b ldr r3, [r7, #4] - 800253c: 9300 str r3, [sp, #0] - 800253e: 68bb ldr r3, [r7, #8] - 8002540: 2200 movs r2, #0 - 8002542: 2180 movs r1, #128 ; 0x80 - 8002544: 68f8 ldr r0, [r7, #12] - 8002546: f7ff ff49 bl 80023dc - 800254a: 4603 mov r3, r0 - 800254c: 2b00 cmp r3, #0 - 800254e: d02d beq.n 80025ac + 800250e: 687b ldr r3, [r7, #4] + 8002510: 9300 str r3, [sp, #0] + 8002512: 68bb ldr r3, [r7, #8] + 8002514: 2200 movs r2, #0 + 8002516: 2180 movs r1, #128 ; 0x80 + 8002518: 68f8 ldr r0, [r7, #12] + 800251a: f7ff ff49 bl 80023b0 + 800251e: 4603 mov r3, r0 + 8002520: 2b00 cmp r3, #0 + 8002522: d02d beq.n 8002580 { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); - 8002550: 68fb ldr r3, [r7, #12] - 8002552: 6d5b ldr r3, [r3, #84] ; 0x54 - 8002554: f043 0220 orr.w r2, r3, #32 - 8002558: 68fb ldr r3, [r7, #12] - 800255a: 655a str r2, [r3, #84] ; 0x54 + 8002524: 68fb ldr r3, [r7, #12] + 8002526: 6d5b ldr r3, [r3, #84] ; 0x54 + 8002528: f043 0220 orr.w r2, r3, #32 + 800252c: 68fb ldr r3, [r7, #12] + 800252e: 655a str r2, [r3, #84] ; 0x54 return HAL_TIMEOUT; - 800255c: 2303 movs r3, #3 - 800255e: e026 b.n 80025ae + 8002530: 2303 movs r3, #3 + 8002532: e026 b.n 8002582 } } else { /* Wait the RXNE reset */ if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, RESET, Timeout, Tickstart) != HAL_OK) - 8002560: 687b ldr r3, [r7, #4] - 8002562: 9300 str r3, [sp, #0] - 8002564: 68bb ldr r3, [r7, #8] - 8002566: 2200 movs r2, #0 - 8002568: 2101 movs r1, #1 - 800256a: 68f8 ldr r0, [r7, #12] - 800256c: f7ff ff36 bl 80023dc - 8002570: 4603 mov r3, r0 - 8002572: 2b00 cmp r3, #0 - 8002574: d01a beq.n 80025ac + 8002534: 687b ldr r3, [r7, #4] + 8002536: 9300 str r3, [sp, #0] + 8002538: 68bb ldr r3, [r7, #8] + 800253a: 2200 movs r2, #0 + 800253c: 2101 movs r1, #1 + 800253e: 68f8 ldr r0, [r7, #12] + 8002540: f7ff ff36 bl 80023b0 + 8002544: 4603 mov r3, r0 + 8002546: 2b00 cmp r3, #0 + 8002548: d01a beq.n 8002580 { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); - 8002576: 68fb ldr r3, [r7, #12] - 8002578: 6d5b ldr r3, [r3, #84] ; 0x54 - 800257a: f043 0220 orr.w r2, r3, #32 - 800257e: 68fb ldr r3, [r7, #12] - 8002580: 655a str r2, [r3, #84] ; 0x54 + 800254a: 68fb ldr r3, [r7, #12] + 800254c: 6d5b ldr r3, [r3, #84] ; 0x54 + 800254e: f043 0220 orr.w r2, r3, #32 + 8002552: 68fb ldr r3, [r7, #12] + 8002554: 655a str r2, [r3, #84] ; 0x54 return HAL_TIMEOUT; - 8002582: 2303 movs r3, #3 - 8002584: e013 b.n 80025ae + 8002556: 2303 movs r3, #3 + 8002558: e013 b.n 8002582 } } else { /* Wait the RXNE reset */ if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, RESET, Timeout, Tickstart) != HAL_OK) - 8002586: 687b ldr r3, [r7, #4] - 8002588: 9300 str r3, [sp, #0] - 800258a: 68bb ldr r3, [r7, #8] - 800258c: 2200 movs r2, #0 - 800258e: 2101 movs r1, #1 - 8002590: 68f8 ldr r0, [r7, #12] - 8002592: f7ff ff23 bl 80023dc - 8002596: 4603 mov r3, r0 - 8002598: 2b00 cmp r3, #0 - 800259a: d007 beq.n 80025ac + 800255a: 687b ldr r3, [r7, #4] + 800255c: 9300 str r3, [sp, #0] + 800255e: 68bb ldr r3, [r7, #8] + 8002560: 2200 movs r2, #0 + 8002562: 2101 movs r1, #1 + 8002564: 68f8 ldr r0, [r7, #12] + 8002566: f7ff ff23 bl 80023b0 + 800256a: 4603 mov r3, r0 + 800256c: 2b00 cmp r3, #0 + 800256e: d007 beq.n 8002580 { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); - 800259c: 68fb ldr r3, [r7, #12] - 800259e: 6d5b ldr r3, [r3, #84] ; 0x54 - 80025a0: f043 0220 orr.w r2, r3, #32 - 80025a4: 68fb ldr r3, [r7, #12] - 80025a6: 655a str r2, [r3, #84] ; 0x54 + 8002570: 68fb ldr r3, [r7, #12] + 8002572: 6d5b ldr r3, [r3, #84] ; 0x54 + 8002574: f043 0220 orr.w r2, r3, #32 + 8002578: 68fb ldr r3, [r7, #12] + 800257a: 655a str r2, [r3, #84] ; 0x54 return HAL_TIMEOUT; - 80025a8: 2303 movs r3, #3 - 80025aa: e000 b.n 80025ae + 800257c: 2303 movs r3, #3 + 800257e: e000 b.n 8002582 } } return HAL_OK; - 80025ac: 2300 movs r3, #0 + 8002580: 2300 movs r3, #0 } - 80025ae: 4618 mov r0, r3 - 80025b0: 3710 adds r7, #16 - 80025b2: 46bd mov sp, r7 - 80025b4: bd80 pop {r7, pc} + 8002582: 4618 mov r0, r3 + 8002584: 3710 adds r7, #16 + 8002586: 46bd mov sp, r7 + 8002588: bd80 pop {r7, pc} ... -080025b8 : +0800258c : * @param Timeout Timeout duration * @param Tickstart tick start value * @retval HAL status */ static HAL_StatusTypeDef SPI_EndRxTxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t Tickstart) { - 80025b8: b580 push {r7, lr} - 80025ba: b088 sub sp, #32 - 80025bc: af02 add r7, sp, #8 - 80025be: 60f8 str r0, [r7, #12] - 80025c0: 60b9 str r1, [r7, #8] - 80025c2: 607a str r2, [r7, #4] + 800258c: b580 push {r7, lr} + 800258e: b088 sub sp, #32 + 8002590: af02 add r7, sp, #8 + 8002592: 60f8 str r0, [r7, #12] + 8002594: 60b9 str r1, [r7, #8] + 8002596: 607a str r2, [r7, #4] /* Timeout in µs */ __IO uint32_t count = SPI_BSY_FLAG_WORKAROUND_TIMEOUT * (SystemCoreClock / 24U / 1000000U); - 80025c4: 4b1b ldr r3, [pc, #108] ; (8002634 ) - 80025c6: 681b ldr r3, [r3, #0] - 80025c8: 4a1b ldr r2, [pc, #108] ; (8002638 ) - 80025ca: fba2 2303 umull r2, r3, r2, r3 - 80025ce: 0d5b lsrs r3, r3, #21 - 80025d0: f44f 727a mov.w r2, #1000 ; 0x3e8 - 80025d4: fb02 f303 mul.w r3, r2, r3 - 80025d8: 617b str r3, [r7, #20] + 8002598: 4b1b ldr r3, [pc, #108] ; (8002608 ) + 800259a: 681b ldr r3, [r3, #0] + 800259c: 4a1b ldr r2, [pc, #108] ; (800260c ) + 800259e: fba2 2303 umull r2, r3, r2, r3 + 80025a2: 0d5b lsrs r3, r3, #21 + 80025a4: f44f 727a mov.w r2, #1000 ; 0x3e8 + 80025a8: fb02 f303 mul.w r3, r2, r3 + 80025ac: 617b str r3, [r7, #20] /* Erratasheet: BSY bit may stay high at the end of a data transfer in Slave mode */ if (hspi->Init.Mode == SPI_MODE_MASTER) - 80025da: 68fb ldr r3, [r7, #12] - 80025dc: 685b ldr r3, [r3, #4] - 80025de: f5b3 7f82 cmp.w r3, #260 ; 0x104 - 80025e2: d112 bne.n 800260a + 80025ae: 68fb ldr r3, [r7, #12] + 80025b0: 685b ldr r3, [r3, #4] + 80025b2: f5b3 7f82 cmp.w r3, #260 ; 0x104 + 80025b6: d112 bne.n 80025de { /* Control the BSY flag */ if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK) - 80025e4: 687b ldr r3, [r7, #4] - 80025e6: 9300 str r3, [sp, #0] - 80025e8: 68bb ldr r3, [r7, #8] - 80025ea: 2200 movs r2, #0 - 80025ec: 2180 movs r1, #128 ; 0x80 - 80025ee: 68f8 ldr r0, [r7, #12] - 80025f0: f7ff fef4 bl 80023dc - 80025f4: 4603 mov r3, r0 - 80025f6: 2b00 cmp r3, #0 - 80025f8: d016 beq.n 8002628 + 80025b8: 687b ldr r3, [r7, #4] + 80025ba: 9300 str r3, [sp, #0] + 80025bc: 68bb ldr r3, [r7, #8] + 80025be: 2200 movs r2, #0 + 80025c0: 2180 movs r1, #128 ; 0x80 + 80025c2: 68f8 ldr r0, [r7, #12] + 80025c4: f7ff fef4 bl 80023b0 + 80025c8: 4603 mov r3, r0 + 80025ca: 2b00 cmp r3, #0 + 80025cc: d016 beq.n 80025fc { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); - 80025fa: 68fb ldr r3, [r7, #12] - 80025fc: 6d5b ldr r3, [r3, #84] ; 0x54 - 80025fe: f043 0220 orr.w r2, r3, #32 - 8002602: 68fb ldr r3, [r7, #12] - 8002604: 655a str r2, [r3, #84] ; 0x54 + 80025ce: 68fb ldr r3, [r7, #12] + 80025d0: 6d5b ldr r3, [r3, #84] ; 0x54 + 80025d2: f043 0220 orr.w r2, r3, #32 + 80025d6: 68fb ldr r3, [r7, #12] + 80025d8: 655a str r2, [r3, #84] ; 0x54 return HAL_TIMEOUT; - 8002606: 2303 movs r3, #3 - 8002608: e00f b.n 800262a + 80025da: 2303 movs r3, #3 + 80025dc: e00f b.n 80025fe * User have to calculate the timeout value to fit with the time of 1 byte transfer. * This time is directly link with the SPI clock from Master device. */ do { if (count == 0U) - 800260a: 697b ldr r3, [r7, #20] - 800260c: 2b00 cmp r3, #0 - 800260e: d00a beq.n 8002626 + 80025de: 697b ldr r3, [r7, #20] + 80025e0: 2b00 cmp r3, #0 + 80025e2: d00a beq.n 80025fa { break; } count--; - 8002610: 697b ldr r3, [r7, #20] - 8002612: 3b01 subs r3, #1 - 8002614: 617b str r3, [r7, #20] + 80025e4: 697b ldr r3, [r7, #20] + 80025e6: 3b01 subs r3, #1 + 80025e8: 617b str r3, [r7, #20] } while (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_BSY) != RESET); - 8002616: 68fb ldr r3, [r7, #12] - 8002618: 681b ldr r3, [r3, #0] - 800261a: 689b ldr r3, [r3, #8] - 800261c: f003 0380 and.w r3, r3, #128 ; 0x80 - 8002620: 2b80 cmp r3, #128 ; 0x80 - 8002622: d0f2 beq.n 800260a - 8002624: e000 b.n 8002628 + 80025ea: 68fb ldr r3, [r7, #12] + 80025ec: 681b ldr r3, [r3, #0] + 80025ee: 689b ldr r3, [r3, #8] + 80025f0: f003 0380 and.w r3, r3, #128 ; 0x80 + 80025f4: 2b80 cmp r3, #128 ; 0x80 + 80025f6: d0f2 beq.n 80025de + 80025f8: e000 b.n 80025fc break; - 8002626: bf00 nop + 80025fa: bf00 nop } return HAL_OK; - 8002628: 2300 movs r3, #0 + 80025fc: 2300 movs r3, #0 } - 800262a: 4618 mov r0, r3 - 800262c: 3718 adds r7, #24 - 800262e: 46bd mov sp, r7 - 8002630: bd80 pop {r7, pc} - 8002632: bf00 nop - 8002634: 20000004 .word 0x20000004 - 8002638: 165e9f81 .word 0x165e9f81 - -0800263c : + 80025fe: 4618 mov r0, r3 + 8002600: 3718 adds r7, #24 + 8002602: 46bd mov sp, r7 + 8002604: bd80 pop {r7, pc} + 8002606: bf00 nop + 8002608: 20000004 .word 0x20000004 + 800260c: 165e9f81 .word 0x165e9f81 + +08002610 : * Ex: call @ref HAL_TIM_Base_DeInit() before HAL_TIM_Base_Init() * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Init(TIM_HandleTypeDef *htim) { - 800263c: b580 push {r7, lr} - 800263e: b082 sub sp, #8 - 8002640: af00 add r7, sp, #0 - 8002642: 6078 str r0, [r7, #4] + 8002610: b580 push {r7, lr} + 8002612: b082 sub sp, #8 + 8002614: af00 add r7, sp, #0 + 8002616: 6078 str r0, [r7, #4] /* Check the TIM handle allocation */ if (htim == NULL) - 8002644: 687b ldr r3, [r7, #4] - 8002646: 2b00 cmp r3, #0 - 8002648: d101 bne.n 800264e + 8002618: 687b ldr r3, [r7, #4] + 800261a: 2b00 cmp r3, #0 + 800261c: d101 bne.n 8002622 { return HAL_ERROR; - 800264a: 2301 movs r3, #1 - 800264c: e041 b.n 80026d2 + 800261e: 2301 movs r3, #1 + 8002620: e041 b.n 80026a6 assert_param(IS_TIM_INSTANCE(htim->Instance)); assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode)); assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision)); assert_param(IS_TIM_AUTORELOAD_PRELOAD(htim->Init.AutoReloadPreload)); if (htim->State == HAL_TIM_STATE_RESET) - 800264e: 687b ldr r3, [r7, #4] - 8002650: f893 303d ldrb.w r3, [r3, #61] ; 0x3d - 8002654: b2db uxtb r3, r3 - 8002656: 2b00 cmp r3, #0 - 8002658: d106 bne.n 8002668 + 8002622: 687b ldr r3, [r7, #4] + 8002624: f893 303d ldrb.w r3, [r3, #61] ; 0x3d + 8002628: b2db uxtb r3, r3 + 800262a: 2b00 cmp r3, #0 + 800262c: d106 bne.n 800263c { /* Allocate lock resource and initialize it */ htim->Lock = HAL_UNLOCKED; - 800265a: 687b ldr r3, [r7, #4] - 800265c: 2200 movs r2, #0 - 800265e: f883 203c strb.w r2, [r3, #60] ; 0x3c + 800262e: 687b ldr r3, [r7, #4] + 8002630: 2200 movs r2, #0 + 8002632: f883 203c strb.w r2, [r3, #60] ; 0x3c } /* Init the low level hardware : GPIO, CLOCK, NVIC */ htim->Base_MspInitCallback(htim); #else /* Init the low level hardware : GPIO, CLOCK, NVIC */ HAL_TIM_Base_MspInit(htim); - 8002662: 6878 ldr r0, [r7, #4] - 8002664: f7fe fab6 bl 8000bd4 + 8002636: 6878 ldr r0, [r7, #4] + 8002638: f7fe fab8 bl 8000bac #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; - 8002668: 687b ldr r3, [r7, #4] - 800266a: 2202 movs r2, #2 - 800266c: f883 203d strb.w r2, [r3, #61] ; 0x3d + 800263c: 687b ldr r3, [r7, #4] + 800263e: 2202 movs r2, #2 + 8002640: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Set the Time Base configuration */ TIM_Base_SetConfig(htim->Instance, &htim->Init); - 8002670: 687b ldr r3, [r7, #4] - 8002672: 681a ldr r2, [r3, #0] - 8002674: 687b ldr r3, [r7, #4] - 8002676: 3304 adds r3, #4 - 8002678: 4619 mov r1, r3 - 800267a: 4610 mov r0, r2 - 800267c: f000 fda8 bl 80031d0 + 8002644: 687b ldr r3, [r7, #4] + 8002646: 681a ldr r2, [r3, #0] + 8002648: 687b ldr r3, [r7, #4] + 800264a: 3304 adds r3, #4 + 800264c: 4619 mov r1, r3 + 800264e: 4610 mov r0, r2 + 8002650: f000 fda8 bl 80031a4 /* Initialize the DMA burst operation state */ htim->DMABurstState = HAL_DMA_BURST_STATE_READY; - 8002680: 687b ldr r3, [r7, #4] - 8002682: 2201 movs r2, #1 - 8002684: f883 2046 strb.w r2, [r3, #70] ; 0x46 + 8002654: 687b ldr r3, [r7, #4] + 8002656: 2201 movs r2, #1 + 8002658: f883 2046 strb.w r2, [r3, #70] ; 0x46 /* Initialize the TIM channels state */ TIM_CHANNEL_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); - 8002688: 687b ldr r3, [r7, #4] - 800268a: 2201 movs r2, #1 - 800268c: f883 203e strb.w r2, [r3, #62] ; 0x3e - 8002690: 687b ldr r3, [r7, #4] - 8002692: 2201 movs r2, #1 - 8002694: f883 203f strb.w r2, [r3, #63] ; 0x3f - 8002698: 687b ldr r3, [r7, #4] - 800269a: 2201 movs r2, #1 - 800269c: f883 2040 strb.w r2, [r3, #64] ; 0x40 - 80026a0: 687b ldr r3, [r7, #4] - 80026a2: 2201 movs r2, #1 - 80026a4: f883 2041 strb.w r2, [r3, #65] ; 0x41 + 800265c: 687b ldr r3, [r7, #4] + 800265e: 2201 movs r2, #1 + 8002660: f883 203e strb.w r2, [r3, #62] ; 0x3e + 8002664: 687b ldr r3, [r7, #4] + 8002666: 2201 movs r2, #1 + 8002668: f883 203f strb.w r2, [r3, #63] ; 0x3f + 800266c: 687b ldr r3, [r7, #4] + 800266e: 2201 movs r2, #1 + 8002670: f883 2040 strb.w r2, [r3, #64] ; 0x40 + 8002674: 687b ldr r3, [r7, #4] + 8002676: 2201 movs r2, #1 + 8002678: f883 2041 strb.w r2, [r3, #65] ; 0x41 TIM_CHANNEL_N_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); - 80026a8: 687b ldr r3, [r7, #4] - 80026aa: 2201 movs r2, #1 - 80026ac: f883 2042 strb.w r2, [r3, #66] ; 0x42 - 80026b0: 687b ldr r3, [r7, #4] - 80026b2: 2201 movs r2, #1 - 80026b4: f883 2043 strb.w r2, [r3, #67] ; 0x43 - 80026b8: 687b ldr r3, [r7, #4] - 80026ba: 2201 movs r2, #1 - 80026bc: f883 2044 strb.w r2, [r3, #68] ; 0x44 - 80026c0: 687b ldr r3, [r7, #4] - 80026c2: 2201 movs r2, #1 - 80026c4: f883 2045 strb.w r2, [r3, #69] ; 0x45 + 800267c: 687b ldr r3, [r7, #4] + 800267e: 2201 movs r2, #1 + 8002680: f883 2042 strb.w r2, [r3, #66] ; 0x42 + 8002684: 687b ldr r3, [r7, #4] + 8002686: 2201 movs r2, #1 + 8002688: f883 2043 strb.w r2, [r3, #67] ; 0x43 + 800268c: 687b ldr r3, [r7, #4] + 800268e: 2201 movs r2, #1 + 8002690: f883 2044 strb.w r2, [r3, #68] ; 0x44 + 8002694: 687b ldr r3, [r7, #4] + 8002696: 2201 movs r2, #1 + 8002698: f883 2045 strb.w r2, [r3, #69] ; 0x45 /* Initialize the TIM state*/ htim->State = HAL_TIM_STATE_READY; - 80026c8: 687b ldr r3, [r7, #4] - 80026ca: 2201 movs r2, #1 - 80026cc: f883 203d strb.w r2, [r3, #61] ; 0x3d + 800269c: 687b ldr r3, [r7, #4] + 800269e: 2201 movs r2, #1 + 80026a0: f883 203d strb.w r2, [r3, #61] ; 0x3d return HAL_OK; - 80026d0: 2300 movs r3, #0 + 80026a4: 2300 movs r3, #0 } - 80026d2: 4618 mov r0, r3 - 80026d4: 3708 adds r7, #8 - 80026d6: 46bd mov sp, r7 - 80026d8: bd80 pop {r7, pc} + 80026a6: 4618 mov r0, r3 + 80026a8: 3708 adds r7, #8 + 80026aa: 46bd mov sp, r7 + 80026ac: bd80 pop {r7, pc} ... -080026dc : +080026b0 : * @brief Starts the TIM Base generation in interrupt mode. * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim) { - 80026dc: b480 push {r7} - 80026de: b085 sub sp, #20 - 80026e0: af00 add r7, sp, #0 - 80026e2: 6078 str r0, [r7, #4] + 80026b0: b480 push {r7} + 80026b2: b085 sub sp, #20 + 80026b4: af00 add r7, sp, #0 + 80026b6: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_TIM_INSTANCE(htim->Instance)); /* Check the TIM state */ if (htim->State != HAL_TIM_STATE_READY) - 80026e4: 687b ldr r3, [r7, #4] - 80026e6: f893 303d ldrb.w r3, [r3, #61] ; 0x3d - 80026ea: b2db uxtb r3, r3 - 80026ec: 2b01 cmp r3, #1 - 80026ee: d001 beq.n 80026f4 + 80026b8: 687b ldr r3, [r7, #4] + 80026ba: f893 303d ldrb.w r3, [r3, #61] ; 0x3d + 80026be: b2db uxtb r3, r3 + 80026c0: 2b01 cmp r3, #1 + 80026c2: d001 beq.n 80026c8 { return HAL_ERROR; - 80026f0: 2301 movs r3, #1 - 80026f2: e04e b.n 8002792 + 80026c4: 2301 movs r3, #1 + 80026c6: e04e b.n 8002766 } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; - 80026f4: 687b ldr r3, [r7, #4] - 80026f6: 2202 movs r2, #2 - 80026f8: f883 203d strb.w r2, [r3, #61] ; 0x3d + 80026c8: 687b ldr r3, [r7, #4] + 80026ca: 2202 movs r2, #2 + 80026cc: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Enable the TIM Update interrupt */ __HAL_TIM_ENABLE_IT(htim, TIM_IT_UPDATE); - 80026fc: 687b ldr r3, [r7, #4] - 80026fe: 681b ldr r3, [r3, #0] - 8002700: 68da ldr r2, [r3, #12] - 8002702: 687b ldr r3, [r7, #4] - 8002704: 681b ldr r3, [r3, #0] - 8002706: f042 0201 orr.w r2, r2, #1 - 800270a: 60da str r2, [r3, #12] + 80026d0: 687b ldr r3, [r7, #4] + 80026d2: 681b ldr r3, [r3, #0] + 80026d4: 68da ldr r2, [r3, #12] + 80026d6: 687b ldr r3, [r7, #4] + 80026d8: 681b ldr r3, [r3, #0] + 80026da: f042 0201 orr.w r2, r2, #1 + 80026de: 60da str r2, [r3, #12] /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger */ if (IS_TIM_SLAVE_INSTANCE(htim->Instance)) - 800270c: 687b ldr r3, [r7, #4] - 800270e: 681b ldr r3, [r3, #0] - 8002710: 4a23 ldr r2, [pc, #140] ; (80027a0 ) - 8002712: 4293 cmp r3, r2 - 8002714: d022 beq.n 800275c - 8002716: 687b ldr r3, [r7, #4] - 8002718: 681b ldr r3, [r3, #0] - 800271a: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 - 800271e: d01d beq.n 800275c - 8002720: 687b ldr r3, [r7, #4] - 8002722: 681b ldr r3, [r3, #0] - 8002724: 4a1f ldr r2, [pc, #124] ; (80027a4 ) - 8002726: 4293 cmp r3, r2 - 8002728: d018 beq.n 800275c - 800272a: 687b ldr r3, [r7, #4] - 800272c: 681b ldr r3, [r3, #0] - 800272e: 4a1e ldr r2, [pc, #120] ; (80027a8 ) - 8002730: 4293 cmp r3, r2 - 8002732: d013 beq.n 800275c - 8002734: 687b ldr r3, [r7, #4] - 8002736: 681b ldr r3, [r3, #0] - 8002738: 4a1c ldr r2, [pc, #112] ; (80027ac ) - 800273a: 4293 cmp r3, r2 - 800273c: d00e beq.n 800275c - 800273e: 687b ldr r3, [r7, #4] - 8002740: 681b ldr r3, [r3, #0] - 8002742: 4a1b ldr r2, [pc, #108] ; (80027b0 ) - 8002744: 4293 cmp r3, r2 - 8002746: d009 beq.n 800275c - 8002748: 687b ldr r3, [r7, #4] - 800274a: 681b ldr r3, [r3, #0] - 800274c: 4a19 ldr r2, [pc, #100] ; (80027b4 ) - 800274e: 4293 cmp r3, r2 - 8002750: d004 beq.n 800275c - 8002752: 687b ldr r3, [r7, #4] - 8002754: 681b ldr r3, [r3, #0] - 8002756: 4a18 ldr r2, [pc, #96] ; (80027b8 ) - 8002758: 4293 cmp r3, r2 - 800275a: d111 bne.n 8002780 + 80026e0: 687b ldr r3, [r7, #4] + 80026e2: 681b ldr r3, [r3, #0] + 80026e4: 4a23 ldr r2, [pc, #140] ; (8002774 ) + 80026e6: 4293 cmp r3, r2 + 80026e8: d022 beq.n 8002730 + 80026ea: 687b ldr r3, [r7, #4] + 80026ec: 681b ldr r3, [r3, #0] + 80026ee: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 + 80026f2: d01d beq.n 8002730 + 80026f4: 687b ldr r3, [r7, #4] + 80026f6: 681b ldr r3, [r3, #0] + 80026f8: 4a1f ldr r2, [pc, #124] ; (8002778 ) + 80026fa: 4293 cmp r3, r2 + 80026fc: d018 beq.n 8002730 + 80026fe: 687b ldr r3, [r7, #4] + 8002700: 681b ldr r3, [r3, #0] + 8002702: 4a1e ldr r2, [pc, #120] ; (800277c ) + 8002704: 4293 cmp r3, r2 + 8002706: d013 beq.n 8002730 + 8002708: 687b ldr r3, [r7, #4] + 800270a: 681b ldr r3, [r3, #0] + 800270c: 4a1c ldr r2, [pc, #112] ; (8002780 ) + 800270e: 4293 cmp r3, r2 + 8002710: d00e beq.n 8002730 + 8002712: 687b ldr r3, [r7, #4] + 8002714: 681b ldr r3, [r3, #0] + 8002716: 4a1b ldr r2, [pc, #108] ; (8002784 ) + 8002718: 4293 cmp r3, r2 + 800271a: d009 beq.n 8002730 + 800271c: 687b ldr r3, [r7, #4] + 800271e: 681b ldr r3, [r3, #0] + 8002720: 4a19 ldr r2, [pc, #100] ; (8002788 ) + 8002722: 4293 cmp r3, r2 + 8002724: d004 beq.n 8002730 + 8002726: 687b ldr r3, [r7, #4] + 8002728: 681b ldr r3, [r3, #0] + 800272a: 4a18 ldr r2, [pc, #96] ; (800278c ) + 800272c: 4293 cmp r3, r2 + 800272e: d111 bne.n 8002754 { tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS; - 800275c: 687b ldr r3, [r7, #4] - 800275e: 681b ldr r3, [r3, #0] - 8002760: 689b ldr r3, [r3, #8] - 8002762: f003 0307 and.w r3, r3, #7 - 8002766: 60fb str r3, [r7, #12] + 8002730: 687b ldr r3, [r7, #4] + 8002732: 681b ldr r3, [r3, #0] + 8002734: 689b ldr r3, [r3, #8] + 8002736: f003 0307 and.w r3, r3, #7 + 800273a: 60fb str r3, [r7, #12] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) - 8002768: 68fb ldr r3, [r7, #12] - 800276a: 2b06 cmp r3, #6 - 800276c: d010 beq.n 8002790 + 800273c: 68fb ldr r3, [r7, #12] + 800273e: 2b06 cmp r3, #6 + 8002740: d010 beq.n 8002764 { __HAL_TIM_ENABLE(htim); - 800276e: 687b ldr r3, [r7, #4] - 8002770: 681b ldr r3, [r3, #0] - 8002772: 681a ldr r2, [r3, #0] - 8002774: 687b ldr r3, [r7, #4] - 8002776: 681b ldr r3, [r3, #0] - 8002778: f042 0201 orr.w r2, r2, #1 - 800277c: 601a str r2, [r3, #0] + 8002742: 687b ldr r3, [r7, #4] + 8002744: 681b ldr r3, [r3, #0] + 8002746: 681a ldr r2, [r3, #0] + 8002748: 687b ldr r3, [r7, #4] + 800274a: 681b ldr r3, [r3, #0] + 800274c: f042 0201 orr.w r2, r2, #1 + 8002750: 601a str r2, [r3, #0] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) - 800277e: e007 b.n 8002790 + 8002752: e007 b.n 8002764 } } else { __HAL_TIM_ENABLE(htim); - 8002780: 687b ldr r3, [r7, #4] - 8002782: 681b ldr r3, [r3, #0] - 8002784: 681a ldr r2, [r3, #0] - 8002786: 687b ldr r3, [r7, #4] - 8002788: 681b ldr r3, [r3, #0] - 800278a: f042 0201 orr.w r2, r2, #1 - 800278e: 601a str r2, [r3, #0] + 8002754: 687b ldr r3, [r7, #4] + 8002756: 681b ldr r3, [r3, #0] + 8002758: 681a ldr r2, [r3, #0] + 800275a: 687b ldr r3, [r7, #4] + 800275c: 681b ldr r3, [r3, #0] + 800275e: f042 0201 orr.w r2, r2, #1 + 8002762: 601a str r2, [r3, #0] } /* Return function status */ return HAL_OK; - 8002790: 2300 movs r3, #0 + 8002764: 2300 movs r3, #0 } - 8002792: 4618 mov r0, r3 - 8002794: 3714 adds r7, #20 - 8002796: 46bd mov sp, r7 - 8002798: f85d 7b04 ldr.w r7, [sp], #4 - 800279c: 4770 bx lr - 800279e: bf00 nop - 80027a0: 40010000 .word 0x40010000 - 80027a4: 40000400 .word 0x40000400 - 80027a8: 40000800 .word 0x40000800 - 80027ac: 40000c00 .word 0x40000c00 - 80027b0: 40010400 .word 0x40010400 - 80027b4: 40014000 .word 0x40014000 - 80027b8: 40001800 .word 0x40001800 - -080027bc : + 8002766: 4618 mov r0, r3 + 8002768: 3714 adds r7, #20 + 800276a: 46bd mov sp, r7 + 800276c: f85d 7b04 ldr.w r7, [sp], #4 + 8002770: 4770 bx lr + 8002772: bf00 nop + 8002774: 40010000 .word 0x40010000 + 8002778: 40000400 .word 0x40000400 + 800277c: 40000800 .word 0x40000800 + 8002780: 40000c00 .word 0x40000c00 + 8002784: 40010400 .word 0x40010400 + 8002788: 40014000 .word 0x40014000 + 800278c: 40001800 .word 0x40001800 + +08002790 : * Ex: call @ref HAL_TIM_OC_DeInit() before HAL_TIM_OC_Init() * @param htim TIM Output Compare handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_OC_Init(TIM_HandleTypeDef *htim) { - 80027bc: b580 push {r7, lr} - 80027be: b082 sub sp, #8 - 80027c0: af00 add r7, sp, #0 - 80027c2: 6078 str r0, [r7, #4] + 8002790: b580 push {r7, lr} + 8002792: b082 sub sp, #8 + 8002794: af00 add r7, sp, #0 + 8002796: 6078 str r0, [r7, #4] /* Check the TIM handle allocation */ if (htim == NULL) - 80027c4: 687b ldr r3, [r7, #4] - 80027c6: 2b00 cmp r3, #0 - 80027c8: d101 bne.n 80027ce + 8002798: 687b ldr r3, [r7, #4] + 800279a: 2b00 cmp r3, #0 + 800279c: d101 bne.n 80027a2 { return HAL_ERROR; - 80027ca: 2301 movs r3, #1 - 80027cc: e041 b.n 8002852 + 800279e: 2301 movs r3, #1 + 80027a0: e041 b.n 8002826 assert_param(IS_TIM_INSTANCE(htim->Instance)); assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode)); assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision)); assert_param(IS_TIM_AUTORELOAD_PRELOAD(htim->Init.AutoReloadPreload)); if (htim->State == HAL_TIM_STATE_RESET) - 80027ce: 687b ldr r3, [r7, #4] - 80027d0: f893 303d ldrb.w r3, [r3, #61] ; 0x3d - 80027d4: b2db uxtb r3, r3 - 80027d6: 2b00 cmp r3, #0 - 80027d8: d106 bne.n 80027e8 + 80027a2: 687b ldr r3, [r7, #4] + 80027a4: f893 303d ldrb.w r3, [r3, #61] ; 0x3d + 80027a8: b2db uxtb r3, r3 + 80027aa: 2b00 cmp r3, #0 + 80027ac: d106 bne.n 80027bc { /* Allocate lock resource and initialize it */ htim->Lock = HAL_UNLOCKED; - 80027da: 687b ldr r3, [r7, #4] - 80027dc: 2200 movs r2, #0 - 80027de: f883 203c strb.w r2, [r3, #60] ; 0x3c + 80027ae: 687b ldr r3, [r7, #4] + 80027b0: 2200 movs r2, #0 + 80027b2: f883 203c strb.w r2, [r3, #60] ; 0x3c } /* Init the low level hardware : GPIO, CLOCK, NVIC */ htim->OC_MspInitCallback(htim); #else /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */ HAL_TIM_OC_MspInit(htim); - 80027e2: 6878 ldr r0, [r7, #4] - 80027e4: f000 f839 bl 800285a + 80027b6: 6878 ldr r0, [r7, #4] + 80027b8: f000 f839 bl 800282e #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; - 80027e8: 687b ldr r3, [r7, #4] - 80027ea: 2202 movs r2, #2 - 80027ec: f883 203d strb.w r2, [r3, #61] ; 0x3d + 80027bc: 687b ldr r3, [r7, #4] + 80027be: 2202 movs r2, #2 + 80027c0: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Init the base time for the Output Compare */ TIM_Base_SetConfig(htim->Instance, &htim->Init); - 80027f0: 687b ldr r3, [r7, #4] - 80027f2: 681a ldr r2, [r3, #0] - 80027f4: 687b ldr r3, [r7, #4] - 80027f6: 3304 adds r3, #4 - 80027f8: 4619 mov r1, r3 - 80027fa: 4610 mov r0, r2 - 80027fc: f000 fce8 bl 80031d0 + 80027c4: 687b ldr r3, [r7, #4] + 80027c6: 681a ldr r2, [r3, #0] + 80027c8: 687b ldr r3, [r7, #4] + 80027ca: 3304 adds r3, #4 + 80027cc: 4619 mov r1, r3 + 80027ce: 4610 mov r0, r2 + 80027d0: f000 fce8 bl 80031a4 /* Initialize the DMA burst operation state */ htim->DMABurstState = HAL_DMA_BURST_STATE_READY; - 8002800: 687b ldr r3, [r7, #4] - 8002802: 2201 movs r2, #1 - 8002804: f883 2046 strb.w r2, [r3, #70] ; 0x46 + 80027d4: 687b ldr r3, [r7, #4] + 80027d6: 2201 movs r2, #1 + 80027d8: f883 2046 strb.w r2, [r3, #70] ; 0x46 /* Initialize the TIM channels state */ TIM_CHANNEL_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); - 8002808: 687b ldr r3, [r7, #4] - 800280a: 2201 movs r2, #1 - 800280c: f883 203e strb.w r2, [r3, #62] ; 0x3e - 8002810: 687b ldr r3, [r7, #4] - 8002812: 2201 movs r2, #1 - 8002814: f883 203f strb.w r2, [r3, #63] ; 0x3f - 8002818: 687b ldr r3, [r7, #4] - 800281a: 2201 movs r2, #1 - 800281c: f883 2040 strb.w r2, [r3, #64] ; 0x40 - 8002820: 687b ldr r3, [r7, #4] - 8002822: 2201 movs r2, #1 - 8002824: f883 2041 strb.w r2, [r3, #65] ; 0x41 + 80027dc: 687b ldr r3, [r7, #4] + 80027de: 2201 movs r2, #1 + 80027e0: f883 203e strb.w r2, [r3, #62] ; 0x3e + 80027e4: 687b ldr r3, [r7, #4] + 80027e6: 2201 movs r2, #1 + 80027e8: f883 203f strb.w r2, [r3, #63] ; 0x3f + 80027ec: 687b ldr r3, [r7, #4] + 80027ee: 2201 movs r2, #1 + 80027f0: f883 2040 strb.w r2, [r3, #64] ; 0x40 + 80027f4: 687b ldr r3, [r7, #4] + 80027f6: 2201 movs r2, #1 + 80027f8: f883 2041 strb.w r2, [r3, #65] ; 0x41 TIM_CHANNEL_N_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); - 8002828: 687b ldr r3, [r7, #4] - 800282a: 2201 movs r2, #1 - 800282c: f883 2042 strb.w r2, [r3, #66] ; 0x42 - 8002830: 687b ldr r3, [r7, #4] - 8002832: 2201 movs r2, #1 - 8002834: f883 2043 strb.w r2, [r3, #67] ; 0x43 - 8002838: 687b ldr r3, [r7, #4] - 800283a: 2201 movs r2, #1 - 800283c: f883 2044 strb.w r2, [r3, #68] ; 0x44 - 8002840: 687b ldr r3, [r7, #4] - 8002842: 2201 movs r2, #1 - 8002844: f883 2045 strb.w r2, [r3, #69] ; 0x45 + 80027fc: 687b ldr r3, [r7, #4] + 80027fe: 2201 movs r2, #1 + 8002800: f883 2042 strb.w r2, [r3, #66] ; 0x42 + 8002804: 687b ldr r3, [r7, #4] + 8002806: 2201 movs r2, #1 + 8002808: f883 2043 strb.w r2, [r3, #67] ; 0x43 + 800280c: 687b ldr r3, [r7, #4] + 800280e: 2201 movs r2, #1 + 8002810: f883 2044 strb.w r2, [r3, #68] ; 0x44 + 8002814: 687b ldr r3, [r7, #4] + 8002816: 2201 movs r2, #1 + 8002818: f883 2045 strb.w r2, [r3, #69] ; 0x45 /* Initialize the TIM state*/ htim->State = HAL_TIM_STATE_READY; - 8002848: 687b ldr r3, [r7, #4] - 800284a: 2201 movs r2, #1 - 800284c: f883 203d strb.w r2, [r3, #61] ; 0x3d + 800281c: 687b ldr r3, [r7, #4] + 800281e: 2201 movs r2, #1 + 8002820: f883 203d strb.w r2, [r3, #61] ; 0x3d return HAL_OK; - 8002850: 2300 movs r3, #0 + 8002824: 2300 movs r3, #0 } - 8002852: 4618 mov r0, r3 - 8002854: 3708 adds r7, #8 - 8002856: 46bd mov sp, r7 - 8002858: bd80 pop {r7, pc} + 8002826: 4618 mov r0, r3 + 8002828: 3708 adds r7, #8 + 800282a: 46bd mov sp, r7 + 800282c: bd80 pop {r7, pc} -0800285a : +0800282e : * @brief Initializes the TIM Output Compare MSP. * @param htim TIM Output Compare handle * @retval None */ __weak void HAL_TIM_OC_MspInit(TIM_HandleTypeDef *htim) { - 800285a: b480 push {r7} - 800285c: b083 sub sp, #12 - 800285e: af00 add r7, sp, #0 - 8002860: 6078 str r0, [r7, #4] + 800282e: b480 push {r7} + 8002830: b083 sub sp, #12 + 8002832: af00 add r7, sp, #0 + 8002834: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_OC_MspInit could be implemented in the user file */ } - 8002862: bf00 nop - 8002864: 370c adds r7, #12 - 8002866: 46bd mov sp, r7 - 8002868: f85d 7b04 ldr.w r7, [sp], #4 - 800286c: 4770 bx lr + 8002836: bf00 nop + 8002838: 370c adds r7, #12 + 800283a: 46bd mov sp, r7 + 800283c: f85d 7b04 ldr.w r7, [sp], #4 + 8002840: 4770 bx lr -0800286e : +08002842 : * Ex: call @ref HAL_TIM_PWM_DeInit() before HAL_TIM_PWM_Init() * @param htim TIM PWM handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_PWM_Init(TIM_HandleTypeDef *htim) { - 800286e: b580 push {r7, lr} - 8002870: b082 sub sp, #8 - 8002872: af00 add r7, sp, #0 - 8002874: 6078 str r0, [r7, #4] + 8002842: b580 push {r7, lr} + 8002844: b082 sub sp, #8 + 8002846: af00 add r7, sp, #0 + 8002848: 6078 str r0, [r7, #4] /* Check the TIM handle allocation */ if (htim == NULL) - 8002876: 687b ldr r3, [r7, #4] - 8002878: 2b00 cmp r3, #0 - 800287a: d101 bne.n 8002880 + 800284a: 687b ldr r3, [r7, #4] + 800284c: 2b00 cmp r3, #0 + 800284e: d101 bne.n 8002854 { return HAL_ERROR; - 800287c: 2301 movs r3, #1 - 800287e: e041 b.n 8002904 + 8002850: 2301 movs r3, #1 + 8002852: e041 b.n 80028d8 assert_param(IS_TIM_INSTANCE(htim->Instance)); assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode)); assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision)); assert_param(IS_TIM_AUTORELOAD_PRELOAD(htim->Init.AutoReloadPreload)); if (htim->State == HAL_TIM_STATE_RESET) - 8002880: 687b ldr r3, [r7, #4] - 8002882: f893 303d ldrb.w r3, [r3, #61] ; 0x3d - 8002886: b2db uxtb r3, r3 - 8002888: 2b00 cmp r3, #0 - 800288a: d106 bne.n 800289a + 8002854: 687b ldr r3, [r7, #4] + 8002856: f893 303d ldrb.w r3, [r3, #61] ; 0x3d + 800285a: b2db uxtb r3, r3 + 800285c: 2b00 cmp r3, #0 + 800285e: d106 bne.n 800286e { /* Allocate lock resource and initialize it */ htim->Lock = HAL_UNLOCKED; - 800288c: 687b ldr r3, [r7, #4] - 800288e: 2200 movs r2, #0 - 8002890: f883 203c strb.w r2, [r3, #60] ; 0x3c + 8002860: 687b ldr r3, [r7, #4] + 8002862: 2200 movs r2, #0 + 8002864: f883 203c strb.w r2, [r3, #60] ; 0x3c } /* Init the low level hardware : GPIO, CLOCK, NVIC */ htim->PWM_MspInitCallback(htim); #else /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */ HAL_TIM_PWM_MspInit(htim); - 8002894: 6878 ldr r0, [r7, #4] - 8002896: f000 f839 bl 800290c + 8002868: 6878 ldr r0, [r7, #4] + 800286a: f000 f839 bl 80028e0 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; - 800289a: 687b ldr r3, [r7, #4] - 800289c: 2202 movs r2, #2 - 800289e: f883 203d strb.w r2, [r3, #61] ; 0x3d + 800286e: 687b ldr r3, [r7, #4] + 8002870: 2202 movs r2, #2 + 8002872: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Init the base time for the PWM */ TIM_Base_SetConfig(htim->Instance, &htim->Init); - 80028a2: 687b ldr r3, [r7, #4] - 80028a4: 681a ldr r2, [r3, #0] - 80028a6: 687b ldr r3, [r7, #4] - 80028a8: 3304 adds r3, #4 - 80028aa: 4619 mov r1, r3 - 80028ac: 4610 mov r0, r2 - 80028ae: f000 fc8f bl 80031d0 + 8002876: 687b ldr r3, [r7, #4] + 8002878: 681a ldr r2, [r3, #0] + 800287a: 687b ldr r3, [r7, #4] + 800287c: 3304 adds r3, #4 + 800287e: 4619 mov r1, r3 + 8002880: 4610 mov r0, r2 + 8002882: f000 fc8f bl 80031a4 /* Initialize the DMA burst operation state */ htim->DMABurstState = HAL_DMA_BURST_STATE_READY; - 80028b2: 687b ldr r3, [r7, #4] - 80028b4: 2201 movs r2, #1 - 80028b6: f883 2046 strb.w r2, [r3, #70] ; 0x46 + 8002886: 687b ldr r3, [r7, #4] + 8002888: 2201 movs r2, #1 + 800288a: f883 2046 strb.w r2, [r3, #70] ; 0x46 /* Initialize the TIM channels state */ TIM_CHANNEL_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); - 80028ba: 687b ldr r3, [r7, #4] - 80028bc: 2201 movs r2, #1 - 80028be: f883 203e strb.w r2, [r3, #62] ; 0x3e - 80028c2: 687b ldr r3, [r7, #4] - 80028c4: 2201 movs r2, #1 - 80028c6: f883 203f strb.w r2, [r3, #63] ; 0x3f - 80028ca: 687b ldr r3, [r7, #4] - 80028cc: 2201 movs r2, #1 - 80028ce: f883 2040 strb.w r2, [r3, #64] ; 0x40 - 80028d2: 687b ldr r3, [r7, #4] - 80028d4: 2201 movs r2, #1 - 80028d6: f883 2041 strb.w r2, [r3, #65] ; 0x41 + 800288e: 687b ldr r3, [r7, #4] + 8002890: 2201 movs r2, #1 + 8002892: f883 203e strb.w r2, [r3, #62] ; 0x3e + 8002896: 687b ldr r3, [r7, #4] + 8002898: 2201 movs r2, #1 + 800289a: f883 203f strb.w r2, [r3, #63] ; 0x3f + 800289e: 687b ldr r3, [r7, #4] + 80028a0: 2201 movs r2, #1 + 80028a2: f883 2040 strb.w r2, [r3, #64] ; 0x40 + 80028a6: 687b ldr r3, [r7, #4] + 80028a8: 2201 movs r2, #1 + 80028aa: f883 2041 strb.w r2, [r3, #65] ; 0x41 TIM_CHANNEL_N_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); - 80028da: 687b ldr r3, [r7, #4] - 80028dc: 2201 movs r2, #1 - 80028de: f883 2042 strb.w r2, [r3, #66] ; 0x42 - 80028e2: 687b ldr r3, [r7, #4] - 80028e4: 2201 movs r2, #1 - 80028e6: f883 2043 strb.w r2, [r3, #67] ; 0x43 - 80028ea: 687b ldr r3, [r7, #4] - 80028ec: 2201 movs r2, #1 - 80028ee: f883 2044 strb.w r2, [r3, #68] ; 0x44 - 80028f2: 687b ldr r3, [r7, #4] - 80028f4: 2201 movs r2, #1 - 80028f6: f883 2045 strb.w r2, [r3, #69] ; 0x45 + 80028ae: 687b ldr r3, [r7, #4] + 80028b0: 2201 movs r2, #1 + 80028b2: f883 2042 strb.w r2, [r3, #66] ; 0x42 + 80028b6: 687b ldr r3, [r7, #4] + 80028b8: 2201 movs r2, #1 + 80028ba: f883 2043 strb.w r2, [r3, #67] ; 0x43 + 80028be: 687b ldr r3, [r7, #4] + 80028c0: 2201 movs r2, #1 + 80028c2: f883 2044 strb.w r2, [r3, #68] ; 0x44 + 80028c6: 687b ldr r3, [r7, #4] + 80028c8: 2201 movs r2, #1 + 80028ca: f883 2045 strb.w r2, [r3, #69] ; 0x45 /* Initialize the TIM state*/ htim->State = HAL_TIM_STATE_READY; - 80028fa: 687b ldr r3, [r7, #4] - 80028fc: 2201 movs r2, #1 - 80028fe: f883 203d strb.w r2, [r3, #61] ; 0x3d + 80028ce: 687b ldr r3, [r7, #4] + 80028d0: 2201 movs r2, #1 + 80028d2: f883 203d strb.w r2, [r3, #61] ; 0x3d return HAL_OK; - 8002902: 2300 movs r3, #0 + 80028d6: 2300 movs r3, #0 } - 8002904: 4618 mov r0, r3 - 8002906: 3708 adds r7, #8 - 8002908: 46bd mov sp, r7 - 800290a: bd80 pop {r7, pc} + 80028d8: 4618 mov r0, r3 + 80028da: 3708 adds r7, #8 + 80028dc: 46bd mov sp, r7 + 80028de: bd80 pop {r7, pc} -0800290c : +080028e0 : * @brief Initializes the TIM PWM MSP. * @param htim TIM PWM handle * @retval None */ __weak void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim) { - 800290c: b480 push {r7} - 800290e: b083 sub sp, #12 - 8002910: af00 add r7, sp, #0 - 8002912: 6078 str r0, [r7, #4] + 80028e0: b480 push {r7} + 80028e2: b083 sub sp, #12 + 80028e4: af00 add r7, sp, #0 + 80028e6: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_PWM_MspInit could be implemented in the user file */ } - 8002914: bf00 nop - 8002916: 370c adds r7, #12 - 8002918: 46bd mov sp, r7 - 800291a: f85d 7b04 ldr.w r7, [sp], #4 - 800291e: 4770 bx lr + 80028e8: bf00 nop + 80028ea: 370c adds r7, #12 + 80028ec: 46bd mov sp, r7 + 80028ee: f85d 7b04 ldr.w r7, [sp], #4 + 80028f2: 4770 bx lr -08002920 : +080028f4 : * @arg TIM_CHANNEL_3: TIM Channel 3 selected * @arg TIM_CHANNEL_4: TIM Channel 4 selected * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel) { - 8002920: b580 push {r7, lr} - 8002922: b084 sub sp, #16 - 8002924: af00 add r7, sp, #0 - 8002926: 6078 str r0, [r7, #4] - 8002928: 6039 str r1, [r7, #0] + 80028f4: b580 push {r7, lr} + 80028f6: b084 sub sp, #16 + 80028f8: af00 add r7, sp, #0 + 80028fa: 6078 str r0, [r7, #4] + 80028fc: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); /* Check the TIM channel state */ if (TIM_CHANNEL_STATE_GET(htim, Channel) != HAL_TIM_CHANNEL_STATE_READY) - 800292a: 683b ldr r3, [r7, #0] - 800292c: 2b00 cmp r3, #0 - 800292e: d109 bne.n 8002944 - 8002930: 687b ldr r3, [r7, #4] - 8002932: f893 303e ldrb.w r3, [r3, #62] ; 0x3e - 8002936: b2db uxtb r3, r3 - 8002938: 2b01 cmp r3, #1 - 800293a: bf14 ite ne - 800293c: 2301 movne r3, #1 - 800293e: 2300 moveq r3, #0 - 8002940: b2db uxtb r3, r3 - 8002942: e022 b.n 800298a - 8002944: 683b ldr r3, [r7, #0] - 8002946: 2b04 cmp r3, #4 - 8002948: d109 bne.n 800295e - 800294a: 687b ldr r3, [r7, #4] - 800294c: f893 303f ldrb.w r3, [r3, #63] ; 0x3f - 8002950: b2db uxtb r3, r3 - 8002952: 2b01 cmp r3, #1 - 8002954: bf14 ite ne - 8002956: 2301 movne r3, #1 - 8002958: 2300 moveq r3, #0 - 800295a: b2db uxtb r3, r3 - 800295c: e015 b.n 800298a - 800295e: 683b ldr r3, [r7, #0] - 8002960: 2b08 cmp r3, #8 - 8002962: d109 bne.n 8002978 - 8002964: 687b ldr r3, [r7, #4] - 8002966: f893 3040 ldrb.w r3, [r3, #64] ; 0x40 - 800296a: b2db uxtb r3, r3 - 800296c: 2b01 cmp r3, #1 - 800296e: bf14 ite ne - 8002970: 2301 movne r3, #1 - 8002972: 2300 moveq r3, #0 - 8002974: b2db uxtb r3, r3 - 8002976: e008 b.n 800298a - 8002978: 687b ldr r3, [r7, #4] - 800297a: f893 3041 ldrb.w r3, [r3, #65] ; 0x41 - 800297e: b2db uxtb r3, r3 - 8002980: 2b01 cmp r3, #1 - 8002982: bf14 ite ne - 8002984: 2301 movne r3, #1 - 8002986: 2300 moveq r3, #0 - 8002988: b2db uxtb r3, r3 - 800298a: 2b00 cmp r3, #0 - 800298c: d001 beq.n 8002992 + 80028fe: 683b ldr r3, [r7, #0] + 8002900: 2b00 cmp r3, #0 + 8002902: d109 bne.n 8002918 + 8002904: 687b ldr r3, [r7, #4] + 8002906: f893 303e ldrb.w r3, [r3, #62] ; 0x3e + 800290a: b2db uxtb r3, r3 + 800290c: 2b01 cmp r3, #1 + 800290e: bf14 ite ne + 8002910: 2301 movne r3, #1 + 8002912: 2300 moveq r3, #0 + 8002914: b2db uxtb r3, r3 + 8002916: e022 b.n 800295e + 8002918: 683b ldr r3, [r7, #0] + 800291a: 2b04 cmp r3, #4 + 800291c: d109 bne.n 8002932 + 800291e: 687b ldr r3, [r7, #4] + 8002920: f893 303f ldrb.w r3, [r3, #63] ; 0x3f + 8002924: b2db uxtb r3, r3 + 8002926: 2b01 cmp r3, #1 + 8002928: bf14 ite ne + 800292a: 2301 movne r3, #1 + 800292c: 2300 moveq r3, #0 + 800292e: b2db uxtb r3, r3 + 8002930: e015 b.n 800295e + 8002932: 683b ldr r3, [r7, #0] + 8002934: 2b08 cmp r3, #8 + 8002936: d109 bne.n 800294c + 8002938: 687b ldr r3, [r7, #4] + 800293a: f893 3040 ldrb.w r3, [r3, #64] ; 0x40 + 800293e: b2db uxtb r3, r3 + 8002940: 2b01 cmp r3, #1 + 8002942: bf14 ite ne + 8002944: 2301 movne r3, #1 + 8002946: 2300 moveq r3, #0 + 8002948: b2db uxtb r3, r3 + 800294a: e008 b.n 800295e + 800294c: 687b ldr r3, [r7, #4] + 800294e: f893 3041 ldrb.w r3, [r3, #65] ; 0x41 + 8002952: b2db uxtb r3, r3 + 8002954: 2b01 cmp r3, #1 + 8002956: bf14 ite ne + 8002958: 2301 movne r3, #1 + 800295a: 2300 moveq r3, #0 + 800295c: b2db uxtb r3, r3 + 800295e: 2b00 cmp r3, #0 + 8002960: d001 beq.n 8002966 { return HAL_ERROR; - 800298e: 2301 movs r3, #1 - 8002990: e07c b.n 8002a8c + 8002962: 2301 movs r3, #1 + 8002964: e07c b.n 8002a60 } /* Set the TIM channel state */ TIM_CHANNEL_STATE_SET(htim, Channel, HAL_TIM_CHANNEL_STATE_BUSY); - 8002992: 683b ldr r3, [r7, #0] - 8002994: 2b00 cmp r3, #0 - 8002996: d104 bne.n 80029a2 - 8002998: 687b ldr r3, [r7, #4] - 800299a: 2202 movs r2, #2 - 800299c: f883 203e strb.w r2, [r3, #62] ; 0x3e - 80029a0: e013 b.n 80029ca - 80029a2: 683b ldr r3, [r7, #0] - 80029a4: 2b04 cmp r3, #4 - 80029a6: d104 bne.n 80029b2 - 80029a8: 687b ldr r3, [r7, #4] - 80029aa: 2202 movs r2, #2 - 80029ac: f883 203f strb.w r2, [r3, #63] ; 0x3f - 80029b0: e00b b.n 80029ca - 80029b2: 683b ldr r3, [r7, #0] - 80029b4: 2b08 cmp r3, #8 - 80029b6: d104 bne.n 80029c2 - 80029b8: 687b ldr r3, [r7, #4] - 80029ba: 2202 movs r2, #2 - 80029bc: f883 2040 strb.w r2, [r3, #64] ; 0x40 - 80029c0: e003 b.n 80029ca - 80029c2: 687b ldr r3, [r7, #4] - 80029c4: 2202 movs r2, #2 - 80029c6: f883 2041 strb.w r2, [r3, #65] ; 0x41 + 8002966: 683b ldr r3, [r7, #0] + 8002968: 2b00 cmp r3, #0 + 800296a: d104 bne.n 8002976 + 800296c: 687b ldr r3, [r7, #4] + 800296e: 2202 movs r2, #2 + 8002970: f883 203e strb.w r2, [r3, #62] ; 0x3e + 8002974: e013 b.n 800299e + 8002976: 683b ldr r3, [r7, #0] + 8002978: 2b04 cmp r3, #4 + 800297a: d104 bne.n 8002986 + 800297c: 687b ldr r3, [r7, #4] + 800297e: 2202 movs r2, #2 + 8002980: f883 203f strb.w r2, [r3, #63] ; 0x3f + 8002984: e00b b.n 800299e + 8002986: 683b ldr r3, [r7, #0] + 8002988: 2b08 cmp r3, #8 + 800298a: d104 bne.n 8002996 + 800298c: 687b ldr r3, [r7, #4] + 800298e: 2202 movs r2, #2 + 8002990: f883 2040 strb.w r2, [r3, #64] ; 0x40 + 8002994: e003 b.n 800299e + 8002996: 687b ldr r3, [r7, #4] + 8002998: 2202 movs r2, #2 + 800299a: f883 2041 strb.w r2, [r3, #65] ; 0x41 /* Enable the Capture compare channel */ TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_ENABLE); - 80029ca: 687b ldr r3, [r7, #4] - 80029cc: 681b ldr r3, [r3, #0] - 80029ce: 2201 movs r2, #1 - 80029d0: 6839 ldr r1, [r7, #0] - 80029d2: 4618 mov r0, r3 - 80029d4: f000 fee6 bl 80037a4 + 800299e: 687b ldr r3, [r7, #4] + 80029a0: 681b ldr r3, [r3, #0] + 80029a2: 2201 movs r2, #1 + 80029a4: 6839 ldr r1, [r7, #0] + 80029a6: 4618 mov r0, r3 + 80029a8: f000 fee6 bl 8003778 if (IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) - 80029d8: 687b ldr r3, [r7, #4] - 80029da: 681b ldr r3, [r3, #0] - 80029dc: 4a2d ldr r2, [pc, #180] ; (8002a94 ) - 80029de: 4293 cmp r3, r2 - 80029e0: d004 beq.n 80029ec - 80029e2: 687b ldr r3, [r7, #4] - 80029e4: 681b ldr r3, [r3, #0] - 80029e6: 4a2c ldr r2, [pc, #176] ; (8002a98 ) - 80029e8: 4293 cmp r3, r2 - 80029ea: d101 bne.n 80029f0 - 80029ec: 2301 movs r3, #1 - 80029ee: e000 b.n 80029f2 - 80029f0: 2300 movs r3, #0 - 80029f2: 2b00 cmp r3, #0 - 80029f4: d007 beq.n 8002a06 + 80029ac: 687b ldr r3, [r7, #4] + 80029ae: 681b ldr r3, [r3, #0] + 80029b0: 4a2d ldr r2, [pc, #180] ; (8002a68 ) + 80029b2: 4293 cmp r3, r2 + 80029b4: d004 beq.n 80029c0 + 80029b6: 687b ldr r3, [r7, #4] + 80029b8: 681b ldr r3, [r3, #0] + 80029ba: 4a2c ldr r2, [pc, #176] ; (8002a6c ) + 80029bc: 4293 cmp r3, r2 + 80029be: d101 bne.n 80029c4 + 80029c0: 2301 movs r3, #1 + 80029c2: e000 b.n 80029c6 + 80029c4: 2300 movs r3, #0 + 80029c6: 2b00 cmp r3, #0 + 80029c8: d007 beq.n 80029da { /* Enable the main output */ __HAL_TIM_MOE_ENABLE(htim); - 80029f6: 687b ldr r3, [r7, #4] - 80029f8: 681b ldr r3, [r3, #0] - 80029fa: 6c5a ldr r2, [r3, #68] ; 0x44 - 80029fc: 687b ldr r3, [r7, #4] - 80029fe: 681b ldr r3, [r3, #0] - 8002a00: f442 4200 orr.w r2, r2, #32768 ; 0x8000 - 8002a04: 645a str r2, [r3, #68] ; 0x44 + 80029ca: 687b ldr r3, [r7, #4] + 80029cc: 681b ldr r3, [r3, #0] + 80029ce: 6c5a ldr r2, [r3, #68] ; 0x44 + 80029d0: 687b ldr r3, [r7, #4] + 80029d2: 681b ldr r3, [r3, #0] + 80029d4: f442 4200 orr.w r2, r2, #32768 ; 0x8000 + 80029d8: 645a str r2, [r3, #68] ; 0x44 } /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger */ if (IS_TIM_SLAVE_INSTANCE(htim->Instance)) - 8002a06: 687b ldr r3, [r7, #4] - 8002a08: 681b ldr r3, [r3, #0] - 8002a0a: 4a22 ldr r2, [pc, #136] ; (8002a94 ) - 8002a0c: 4293 cmp r3, r2 - 8002a0e: d022 beq.n 8002a56 - 8002a10: 687b ldr r3, [r7, #4] - 8002a12: 681b ldr r3, [r3, #0] - 8002a14: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 - 8002a18: d01d beq.n 8002a56 - 8002a1a: 687b ldr r3, [r7, #4] - 8002a1c: 681b ldr r3, [r3, #0] - 8002a1e: 4a1f ldr r2, [pc, #124] ; (8002a9c ) - 8002a20: 4293 cmp r3, r2 - 8002a22: d018 beq.n 8002a56 - 8002a24: 687b ldr r3, [r7, #4] - 8002a26: 681b ldr r3, [r3, #0] - 8002a28: 4a1d ldr r2, [pc, #116] ; (8002aa0 ) - 8002a2a: 4293 cmp r3, r2 - 8002a2c: d013 beq.n 8002a56 - 8002a2e: 687b ldr r3, [r7, #4] - 8002a30: 681b ldr r3, [r3, #0] - 8002a32: 4a1c ldr r2, [pc, #112] ; (8002aa4 ) - 8002a34: 4293 cmp r3, r2 - 8002a36: d00e beq.n 8002a56 - 8002a38: 687b ldr r3, [r7, #4] - 8002a3a: 681b ldr r3, [r3, #0] - 8002a3c: 4a16 ldr r2, [pc, #88] ; (8002a98 ) - 8002a3e: 4293 cmp r3, r2 - 8002a40: d009 beq.n 8002a56 - 8002a42: 687b ldr r3, [r7, #4] - 8002a44: 681b ldr r3, [r3, #0] - 8002a46: 4a18 ldr r2, [pc, #96] ; (8002aa8 ) - 8002a48: 4293 cmp r3, r2 - 8002a4a: d004 beq.n 8002a56 - 8002a4c: 687b ldr r3, [r7, #4] - 8002a4e: 681b ldr r3, [r3, #0] - 8002a50: 4a16 ldr r2, [pc, #88] ; (8002aac ) - 8002a52: 4293 cmp r3, r2 - 8002a54: d111 bne.n 8002a7a + 80029da: 687b ldr r3, [r7, #4] + 80029dc: 681b ldr r3, [r3, #0] + 80029de: 4a22 ldr r2, [pc, #136] ; (8002a68 ) + 80029e0: 4293 cmp r3, r2 + 80029e2: d022 beq.n 8002a2a + 80029e4: 687b ldr r3, [r7, #4] + 80029e6: 681b ldr r3, [r3, #0] + 80029e8: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 + 80029ec: d01d beq.n 8002a2a + 80029ee: 687b ldr r3, [r7, #4] + 80029f0: 681b ldr r3, [r3, #0] + 80029f2: 4a1f ldr r2, [pc, #124] ; (8002a70 ) + 80029f4: 4293 cmp r3, r2 + 80029f6: d018 beq.n 8002a2a + 80029f8: 687b ldr r3, [r7, #4] + 80029fa: 681b ldr r3, [r3, #0] + 80029fc: 4a1d ldr r2, [pc, #116] ; (8002a74 ) + 80029fe: 4293 cmp r3, r2 + 8002a00: d013 beq.n 8002a2a + 8002a02: 687b ldr r3, [r7, #4] + 8002a04: 681b ldr r3, [r3, #0] + 8002a06: 4a1c ldr r2, [pc, #112] ; (8002a78 ) + 8002a08: 4293 cmp r3, r2 + 8002a0a: d00e beq.n 8002a2a + 8002a0c: 687b ldr r3, [r7, #4] + 8002a0e: 681b ldr r3, [r3, #0] + 8002a10: 4a16 ldr r2, [pc, #88] ; (8002a6c ) + 8002a12: 4293 cmp r3, r2 + 8002a14: d009 beq.n 8002a2a + 8002a16: 687b ldr r3, [r7, #4] + 8002a18: 681b ldr r3, [r3, #0] + 8002a1a: 4a18 ldr r2, [pc, #96] ; (8002a7c ) + 8002a1c: 4293 cmp r3, r2 + 8002a1e: d004 beq.n 8002a2a + 8002a20: 687b ldr r3, [r7, #4] + 8002a22: 681b ldr r3, [r3, #0] + 8002a24: 4a16 ldr r2, [pc, #88] ; (8002a80 ) + 8002a26: 4293 cmp r3, r2 + 8002a28: d111 bne.n 8002a4e { tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS; - 8002a56: 687b ldr r3, [r7, #4] - 8002a58: 681b ldr r3, [r3, #0] - 8002a5a: 689b ldr r3, [r3, #8] - 8002a5c: f003 0307 and.w r3, r3, #7 - 8002a60: 60fb str r3, [r7, #12] + 8002a2a: 687b ldr r3, [r7, #4] + 8002a2c: 681b ldr r3, [r3, #0] + 8002a2e: 689b ldr r3, [r3, #8] + 8002a30: f003 0307 and.w r3, r3, #7 + 8002a34: 60fb str r3, [r7, #12] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) - 8002a62: 68fb ldr r3, [r7, #12] - 8002a64: 2b06 cmp r3, #6 - 8002a66: d010 beq.n 8002a8a + 8002a36: 68fb ldr r3, [r7, #12] + 8002a38: 2b06 cmp r3, #6 + 8002a3a: d010 beq.n 8002a5e { __HAL_TIM_ENABLE(htim); - 8002a68: 687b ldr r3, [r7, #4] - 8002a6a: 681b ldr r3, [r3, #0] - 8002a6c: 681a ldr r2, [r3, #0] - 8002a6e: 687b ldr r3, [r7, #4] - 8002a70: 681b ldr r3, [r3, #0] - 8002a72: f042 0201 orr.w r2, r2, #1 - 8002a76: 601a str r2, [r3, #0] + 8002a3c: 687b ldr r3, [r7, #4] + 8002a3e: 681b ldr r3, [r3, #0] + 8002a40: 681a ldr r2, [r3, #0] + 8002a42: 687b ldr r3, [r7, #4] + 8002a44: 681b ldr r3, [r3, #0] + 8002a46: f042 0201 orr.w r2, r2, #1 + 8002a4a: 601a str r2, [r3, #0] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) - 8002a78: e007 b.n 8002a8a + 8002a4c: e007 b.n 8002a5e } } else { __HAL_TIM_ENABLE(htim); - 8002a7a: 687b ldr r3, [r7, #4] - 8002a7c: 681b ldr r3, [r3, #0] - 8002a7e: 681a ldr r2, [r3, #0] - 8002a80: 687b ldr r3, [r7, #4] - 8002a82: 681b ldr r3, [r3, #0] - 8002a84: f042 0201 orr.w r2, r2, #1 - 8002a88: 601a str r2, [r3, #0] + 8002a4e: 687b ldr r3, [r7, #4] + 8002a50: 681b ldr r3, [r3, #0] + 8002a52: 681a ldr r2, [r3, #0] + 8002a54: 687b ldr r3, [r7, #4] + 8002a56: 681b ldr r3, [r3, #0] + 8002a58: f042 0201 orr.w r2, r2, #1 + 8002a5c: 601a str r2, [r3, #0] } /* Return function status */ return HAL_OK; - 8002a8a: 2300 movs r3, #0 + 8002a5e: 2300 movs r3, #0 } - 8002a8c: 4618 mov r0, r3 - 8002a8e: 3710 adds r7, #16 - 8002a90: 46bd mov sp, r7 - 8002a92: bd80 pop {r7, pc} - 8002a94: 40010000 .word 0x40010000 - 8002a98: 40010400 .word 0x40010400 - 8002a9c: 40000400 .word 0x40000400 - 8002aa0: 40000800 .word 0x40000800 - 8002aa4: 40000c00 .word 0x40000c00 - 8002aa8: 40014000 .word 0x40014000 - 8002aac: 40001800 .word 0x40001800 - -08002ab0 : + 8002a60: 4618 mov r0, r3 + 8002a62: 3710 adds r7, #16 + 8002a64: 46bd mov sp, r7 + 8002a66: bd80 pop {r7, pc} + 8002a68: 40010000 .word 0x40010000 + 8002a6c: 40010400 .word 0x40010400 + 8002a70: 40000400 .word 0x40000400 + 8002a74: 40000800 .word 0x40000800 + 8002a78: 40000c00 .word 0x40000c00 + 8002a7c: 40014000 .word 0x40014000 + 8002a80: 40001800 .word 0x40001800 + +08002a84 : * @arg TIM_CHANNEL_3: TIM Channel 3 selected * @arg TIM_CHANNEL_4: TIM Channel 4 selected * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_PWM_Stop(TIM_HandleTypeDef *htim, uint32_t Channel) { - 8002ab0: b580 push {r7, lr} - 8002ab2: b082 sub sp, #8 - 8002ab4: af00 add r7, sp, #0 - 8002ab6: 6078 str r0, [r7, #4] - 8002ab8: 6039 str r1, [r7, #0] + 8002a84: b580 push {r7, lr} + 8002a86: b082 sub sp, #8 + 8002a88: af00 add r7, sp, #0 + 8002a8a: 6078 str r0, [r7, #4] + 8002a8c: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_TIM_CCX_INSTANCE(htim->Instance, Channel)); /* Disable the Capture compare channel */ TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_DISABLE); - 8002aba: 687b ldr r3, [r7, #4] - 8002abc: 681b ldr r3, [r3, #0] - 8002abe: 2200 movs r2, #0 - 8002ac0: 6839 ldr r1, [r7, #0] - 8002ac2: 4618 mov r0, r3 - 8002ac4: f000 fe6e bl 80037a4 + 8002a8e: 687b ldr r3, [r7, #4] + 8002a90: 681b ldr r3, [r3, #0] + 8002a92: 2200 movs r2, #0 + 8002a94: 6839 ldr r1, [r7, #0] + 8002a96: 4618 mov r0, r3 + 8002a98: f000 fe6e bl 8003778 if (IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) - 8002ac8: 687b ldr r3, [r7, #4] - 8002aca: 681b ldr r3, [r3, #0] - 8002acc: 4a2e ldr r2, [pc, #184] ; (8002b88 ) - 8002ace: 4293 cmp r3, r2 - 8002ad0: d004 beq.n 8002adc - 8002ad2: 687b ldr r3, [r7, #4] - 8002ad4: 681b ldr r3, [r3, #0] - 8002ad6: 4a2d ldr r2, [pc, #180] ; (8002b8c ) - 8002ad8: 4293 cmp r3, r2 - 8002ada: d101 bne.n 8002ae0 - 8002adc: 2301 movs r3, #1 - 8002ade: e000 b.n 8002ae2 - 8002ae0: 2300 movs r3, #0 - 8002ae2: 2b00 cmp r3, #0 - 8002ae4: d017 beq.n 8002b16 + 8002a9c: 687b ldr r3, [r7, #4] + 8002a9e: 681b ldr r3, [r3, #0] + 8002aa0: 4a2e ldr r2, [pc, #184] ; (8002b5c ) + 8002aa2: 4293 cmp r3, r2 + 8002aa4: d004 beq.n 8002ab0 + 8002aa6: 687b ldr r3, [r7, #4] + 8002aa8: 681b ldr r3, [r3, #0] + 8002aaa: 4a2d ldr r2, [pc, #180] ; (8002b60 ) + 8002aac: 4293 cmp r3, r2 + 8002aae: d101 bne.n 8002ab4 + 8002ab0: 2301 movs r3, #1 + 8002ab2: e000 b.n 8002ab6 + 8002ab4: 2300 movs r3, #0 + 8002ab6: 2b00 cmp r3, #0 + 8002ab8: d017 beq.n 8002aea { /* Disable the Main Output */ __HAL_TIM_MOE_DISABLE(htim); - 8002ae6: 687b ldr r3, [r7, #4] - 8002ae8: 681b ldr r3, [r3, #0] - 8002aea: 6a1a ldr r2, [r3, #32] - 8002aec: f241 1311 movw r3, #4369 ; 0x1111 - 8002af0: 4013 ands r3, r2 - 8002af2: 2b00 cmp r3, #0 - 8002af4: d10f bne.n 8002b16 - 8002af6: 687b ldr r3, [r7, #4] - 8002af8: 681b ldr r3, [r3, #0] - 8002afa: 6a1a ldr r2, [r3, #32] - 8002afc: f240 4344 movw r3, #1092 ; 0x444 - 8002b00: 4013 ands r3, r2 - 8002b02: 2b00 cmp r3, #0 - 8002b04: d107 bne.n 8002b16 - 8002b06: 687b ldr r3, [r7, #4] - 8002b08: 681b ldr r3, [r3, #0] - 8002b0a: 6c5a ldr r2, [r3, #68] ; 0x44 - 8002b0c: 687b ldr r3, [r7, #4] - 8002b0e: 681b ldr r3, [r3, #0] - 8002b10: f422 4200 bic.w r2, r2, #32768 ; 0x8000 - 8002b14: 645a str r2, [r3, #68] ; 0x44 + 8002aba: 687b ldr r3, [r7, #4] + 8002abc: 681b ldr r3, [r3, #0] + 8002abe: 6a1a ldr r2, [r3, #32] + 8002ac0: f241 1311 movw r3, #4369 ; 0x1111 + 8002ac4: 4013 ands r3, r2 + 8002ac6: 2b00 cmp r3, #0 + 8002ac8: d10f bne.n 8002aea + 8002aca: 687b ldr r3, [r7, #4] + 8002acc: 681b ldr r3, [r3, #0] + 8002ace: 6a1a ldr r2, [r3, #32] + 8002ad0: f240 4344 movw r3, #1092 ; 0x444 + 8002ad4: 4013 ands r3, r2 + 8002ad6: 2b00 cmp r3, #0 + 8002ad8: d107 bne.n 8002aea + 8002ada: 687b ldr r3, [r7, #4] + 8002adc: 681b ldr r3, [r3, #0] + 8002ade: 6c5a ldr r2, [r3, #68] ; 0x44 + 8002ae0: 687b ldr r3, [r7, #4] + 8002ae2: 681b ldr r3, [r3, #0] + 8002ae4: f422 4200 bic.w r2, r2, #32768 ; 0x8000 + 8002ae8: 645a str r2, [r3, #68] ; 0x44 } /* Disable the Peripheral */ __HAL_TIM_DISABLE(htim); - 8002b16: 687b ldr r3, [r7, #4] - 8002b18: 681b ldr r3, [r3, #0] - 8002b1a: 6a1a ldr r2, [r3, #32] - 8002b1c: f241 1311 movw r3, #4369 ; 0x1111 - 8002b20: 4013 ands r3, r2 - 8002b22: 2b00 cmp r3, #0 - 8002b24: d10f bne.n 8002b46 - 8002b26: 687b ldr r3, [r7, #4] - 8002b28: 681b ldr r3, [r3, #0] - 8002b2a: 6a1a ldr r2, [r3, #32] - 8002b2c: f240 4344 movw r3, #1092 ; 0x444 - 8002b30: 4013 ands r3, r2 - 8002b32: 2b00 cmp r3, #0 - 8002b34: d107 bne.n 8002b46 - 8002b36: 687b ldr r3, [r7, #4] - 8002b38: 681b ldr r3, [r3, #0] - 8002b3a: 681a ldr r2, [r3, #0] - 8002b3c: 687b ldr r3, [r7, #4] - 8002b3e: 681b ldr r3, [r3, #0] - 8002b40: f022 0201 bic.w r2, r2, #1 - 8002b44: 601a str r2, [r3, #0] + 8002aea: 687b ldr r3, [r7, #4] + 8002aec: 681b ldr r3, [r3, #0] + 8002aee: 6a1a ldr r2, [r3, #32] + 8002af0: f241 1311 movw r3, #4369 ; 0x1111 + 8002af4: 4013 ands r3, r2 + 8002af6: 2b00 cmp r3, #0 + 8002af8: d10f bne.n 8002b1a + 8002afa: 687b ldr r3, [r7, #4] + 8002afc: 681b ldr r3, [r3, #0] + 8002afe: 6a1a ldr r2, [r3, #32] + 8002b00: f240 4344 movw r3, #1092 ; 0x444 + 8002b04: 4013 ands r3, r2 + 8002b06: 2b00 cmp r3, #0 + 8002b08: d107 bne.n 8002b1a + 8002b0a: 687b ldr r3, [r7, #4] + 8002b0c: 681b ldr r3, [r3, #0] + 8002b0e: 681a ldr r2, [r3, #0] + 8002b10: 687b ldr r3, [r7, #4] + 8002b12: 681b ldr r3, [r3, #0] + 8002b14: f022 0201 bic.w r2, r2, #1 + 8002b18: 601a str r2, [r3, #0] /* Set the TIM channel state */ TIM_CHANNEL_STATE_SET(htim, Channel, HAL_TIM_CHANNEL_STATE_READY); - 8002b46: 683b ldr r3, [r7, #0] - 8002b48: 2b00 cmp r3, #0 - 8002b4a: d104 bne.n 8002b56 - 8002b4c: 687b ldr r3, [r7, #4] - 8002b4e: 2201 movs r2, #1 - 8002b50: f883 203e strb.w r2, [r3, #62] ; 0x3e - 8002b54: e013 b.n 8002b7e - 8002b56: 683b ldr r3, [r7, #0] - 8002b58: 2b04 cmp r3, #4 - 8002b5a: d104 bne.n 8002b66 - 8002b5c: 687b ldr r3, [r7, #4] - 8002b5e: 2201 movs r2, #1 - 8002b60: f883 203f strb.w r2, [r3, #63] ; 0x3f - 8002b64: e00b b.n 8002b7e - 8002b66: 683b ldr r3, [r7, #0] - 8002b68: 2b08 cmp r3, #8 - 8002b6a: d104 bne.n 8002b76 - 8002b6c: 687b ldr r3, [r7, #4] - 8002b6e: 2201 movs r2, #1 - 8002b70: f883 2040 strb.w r2, [r3, #64] ; 0x40 - 8002b74: e003 b.n 8002b7e - 8002b76: 687b ldr r3, [r7, #4] - 8002b78: 2201 movs r2, #1 - 8002b7a: f883 2041 strb.w r2, [r3, #65] ; 0x41 + 8002b1a: 683b ldr r3, [r7, #0] + 8002b1c: 2b00 cmp r3, #0 + 8002b1e: d104 bne.n 8002b2a + 8002b20: 687b ldr r3, [r7, #4] + 8002b22: 2201 movs r2, #1 + 8002b24: f883 203e strb.w r2, [r3, #62] ; 0x3e + 8002b28: e013 b.n 8002b52 + 8002b2a: 683b ldr r3, [r7, #0] + 8002b2c: 2b04 cmp r3, #4 + 8002b2e: d104 bne.n 8002b3a + 8002b30: 687b ldr r3, [r7, #4] + 8002b32: 2201 movs r2, #1 + 8002b34: f883 203f strb.w r2, [r3, #63] ; 0x3f + 8002b38: e00b b.n 8002b52 + 8002b3a: 683b ldr r3, [r7, #0] + 8002b3c: 2b08 cmp r3, #8 + 8002b3e: d104 bne.n 8002b4a + 8002b40: 687b ldr r3, [r7, #4] + 8002b42: 2201 movs r2, #1 + 8002b44: f883 2040 strb.w r2, [r3, #64] ; 0x40 + 8002b48: e003 b.n 8002b52 + 8002b4a: 687b ldr r3, [r7, #4] + 8002b4c: 2201 movs r2, #1 + 8002b4e: f883 2041 strb.w r2, [r3, #65] ; 0x41 /* Return function status */ return HAL_OK; - 8002b7e: 2300 movs r3, #0 + 8002b52: 2300 movs r3, #0 } - 8002b80: 4618 mov r0, r3 - 8002b82: 3708 adds r7, #8 - 8002b84: 46bd mov sp, r7 - 8002b86: bd80 pop {r7, pc} - 8002b88: 40010000 .word 0x40010000 - 8002b8c: 40010400 .word 0x40010400 - -08002b90 : + 8002b54: 4618 mov r0, r3 + 8002b56: 3708 adds r7, #8 + 8002b58: 46bd mov sp, r7 + 8002b5a: bd80 pop {r7, pc} + 8002b5c: 40010000 .word 0x40010000 + 8002b60: 40010400 .word 0x40010400 + +08002b64 : * @brief This function handles TIM interrupts requests. * @param htim TIM handle * @retval None */ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim) { - 8002b90: b580 push {r7, lr} - 8002b92: b082 sub sp, #8 - 8002b94: af00 add r7, sp, #0 - 8002b96: 6078 str r0, [r7, #4] + 8002b64: b580 push {r7, lr} + 8002b66: b082 sub sp, #8 + 8002b68: af00 add r7, sp, #0 + 8002b6a: 6078 str r0, [r7, #4] /* Capture compare 1 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC1) != RESET) - 8002b98: 687b ldr r3, [r7, #4] - 8002b9a: 681b ldr r3, [r3, #0] - 8002b9c: 691b ldr r3, [r3, #16] - 8002b9e: f003 0302 and.w r3, r3, #2 - 8002ba2: 2b02 cmp r3, #2 - 8002ba4: d122 bne.n 8002bec + 8002b6c: 687b ldr r3, [r7, #4] + 8002b6e: 681b ldr r3, [r3, #0] + 8002b70: 691b ldr r3, [r3, #16] + 8002b72: f003 0302 and.w r3, r3, #2 + 8002b76: 2b02 cmp r3, #2 + 8002b78: d122 bne.n 8002bc0 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC1) != RESET) - 8002ba6: 687b ldr r3, [r7, #4] - 8002ba8: 681b ldr r3, [r3, #0] - 8002baa: 68db ldr r3, [r3, #12] - 8002bac: f003 0302 and.w r3, r3, #2 - 8002bb0: 2b02 cmp r3, #2 - 8002bb2: d11b bne.n 8002bec + 8002b7a: 687b ldr r3, [r7, #4] + 8002b7c: 681b ldr r3, [r3, #0] + 8002b7e: 68db ldr r3, [r3, #12] + 8002b80: f003 0302 and.w r3, r3, #2 + 8002b84: 2b02 cmp r3, #2 + 8002b86: d11b bne.n 8002bc0 { { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC1); - 8002bb4: 687b ldr r3, [r7, #4] - 8002bb6: 681b ldr r3, [r3, #0] - 8002bb8: f06f 0202 mvn.w r2, #2 - 8002bbc: 611a str r2, [r3, #16] + 8002b88: 687b ldr r3, [r7, #4] + 8002b8a: 681b ldr r3, [r3, #0] + 8002b8c: f06f 0202 mvn.w r2, #2 + 8002b90: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_1; - 8002bbe: 687b ldr r3, [r7, #4] - 8002bc0: 2201 movs r2, #1 - 8002bc2: 771a strb r2, [r3, #28] + 8002b92: 687b ldr r3, [r7, #4] + 8002b94: 2201 movs r2, #1 + 8002b96: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR1 & TIM_CCMR1_CC1S) != 0x00U) - 8002bc4: 687b ldr r3, [r7, #4] - 8002bc6: 681b ldr r3, [r3, #0] - 8002bc8: 699b ldr r3, [r3, #24] - 8002bca: f003 0303 and.w r3, r3, #3 - 8002bce: 2b00 cmp r3, #0 - 8002bd0: d003 beq.n 8002bda + 8002b98: 687b ldr r3, [r7, #4] + 8002b9a: 681b ldr r3, [r3, #0] + 8002b9c: 699b ldr r3, [r3, #24] + 8002b9e: f003 0303 and.w r3, r3, #3 + 8002ba2: 2b00 cmp r3, #0 + 8002ba4: d003 beq.n 8002bae { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); - 8002bd2: 6878 ldr r0, [r7, #4] - 8002bd4: f000 fadd bl 8003192 - 8002bd8: e005 b.n 8002be6 + 8002ba6: 6878 ldr r0, [r7, #4] + 8002ba8: f000 fadd bl 8003166 + 8002bac: e005 b.n 8002bba { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); - 8002bda: 6878 ldr r0, [r7, #4] - 8002bdc: f000 facf bl 800317e + 8002bae: 6878 ldr r0, [r7, #4] + 8002bb0: f000 facf bl 8003152 HAL_TIM_PWM_PulseFinishedCallback(htim); - 8002be0: 6878 ldr r0, [r7, #4] - 8002be2: f000 fae0 bl 80031a6 + 8002bb4: 6878 ldr r0, [r7, #4] + 8002bb6: f000 fae0 bl 800317a #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; - 8002be6: 687b ldr r3, [r7, #4] - 8002be8: 2200 movs r2, #0 - 8002bea: 771a strb r2, [r3, #28] + 8002bba: 687b ldr r3, [r7, #4] + 8002bbc: 2200 movs r2, #0 + 8002bbe: 771a strb r2, [r3, #28] } } } /* Capture compare 2 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC2) != RESET) - 8002bec: 687b ldr r3, [r7, #4] - 8002bee: 681b ldr r3, [r3, #0] - 8002bf0: 691b ldr r3, [r3, #16] - 8002bf2: f003 0304 and.w r3, r3, #4 - 8002bf6: 2b04 cmp r3, #4 - 8002bf8: d122 bne.n 8002c40 + 8002bc0: 687b ldr r3, [r7, #4] + 8002bc2: 681b ldr r3, [r3, #0] + 8002bc4: 691b ldr r3, [r3, #16] + 8002bc6: f003 0304 and.w r3, r3, #4 + 8002bca: 2b04 cmp r3, #4 + 8002bcc: d122 bne.n 8002c14 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC2) != RESET) - 8002bfa: 687b ldr r3, [r7, #4] - 8002bfc: 681b ldr r3, [r3, #0] - 8002bfe: 68db ldr r3, [r3, #12] - 8002c00: f003 0304 and.w r3, r3, #4 - 8002c04: 2b04 cmp r3, #4 - 8002c06: d11b bne.n 8002c40 + 8002bce: 687b ldr r3, [r7, #4] + 8002bd0: 681b ldr r3, [r3, #0] + 8002bd2: 68db ldr r3, [r3, #12] + 8002bd4: f003 0304 and.w r3, r3, #4 + 8002bd8: 2b04 cmp r3, #4 + 8002bda: d11b bne.n 8002c14 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC2); - 8002c08: 687b ldr r3, [r7, #4] - 8002c0a: 681b ldr r3, [r3, #0] - 8002c0c: f06f 0204 mvn.w r2, #4 - 8002c10: 611a str r2, [r3, #16] + 8002bdc: 687b ldr r3, [r7, #4] + 8002bde: 681b ldr r3, [r3, #0] + 8002be0: f06f 0204 mvn.w r2, #4 + 8002be4: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_2; - 8002c12: 687b ldr r3, [r7, #4] - 8002c14: 2202 movs r2, #2 - 8002c16: 771a strb r2, [r3, #28] + 8002be6: 687b ldr r3, [r7, #4] + 8002be8: 2202 movs r2, #2 + 8002bea: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR1 & TIM_CCMR1_CC2S) != 0x00U) - 8002c18: 687b ldr r3, [r7, #4] - 8002c1a: 681b ldr r3, [r3, #0] - 8002c1c: 699b ldr r3, [r3, #24] - 8002c1e: f403 7340 and.w r3, r3, #768 ; 0x300 - 8002c22: 2b00 cmp r3, #0 - 8002c24: d003 beq.n 8002c2e + 8002bec: 687b ldr r3, [r7, #4] + 8002bee: 681b ldr r3, [r3, #0] + 8002bf0: 699b ldr r3, [r3, #24] + 8002bf2: f403 7340 and.w r3, r3, #768 ; 0x300 + 8002bf6: 2b00 cmp r3, #0 + 8002bf8: d003 beq.n 8002c02 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); - 8002c26: 6878 ldr r0, [r7, #4] - 8002c28: f000 fab3 bl 8003192 - 8002c2c: e005 b.n 8002c3a + 8002bfa: 6878 ldr r0, [r7, #4] + 8002bfc: f000 fab3 bl 8003166 + 8002c00: e005 b.n 8002c0e { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); - 8002c2e: 6878 ldr r0, [r7, #4] - 8002c30: f000 faa5 bl 800317e + 8002c02: 6878 ldr r0, [r7, #4] + 8002c04: f000 faa5 bl 8003152 HAL_TIM_PWM_PulseFinishedCallback(htim); - 8002c34: 6878 ldr r0, [r7, #4] - 8002c36: f000 fab6 bl 80031a6 + 8002c08: 6878 ldr r0, [r7, #4] + 8002c0a: f000 fab6 bl 800317a #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; - 8002c3a: 687b ldr r3, [r7, #4] - 8002c3c: 2200 movs r2, #0 - 8002c3e: 771a strb r2, [r3, #28] + 8002c0e: 687b ldr r3, [r7, #4] + 8002c10: 2200 movs r2, #0 + 8002c12: 771a strb r2, [r3, #28] } } /* Capture compare 3 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC3) != RESET) - 8002c40: 687b ldr r3, [r7, #4] - 8002c42: 681b ldr r3, [r3, #0] - 8002c44: 691b ldr r3, [r3, #16] - 8002c46: f003 0308 and.w r3, r3, #8 - 8002c4a: 2b08 cmp r3, #8 - 8002c4c: d122 bne.n 8002c94 + 8002c14: 687b ldr r3, [r7, #4] + 8002c16: 681b ldr r3, [r3, #0] + 8002c18: 691b ldr r3, [r3, #16] + 8002c1a: f003 0308 and.w r3, r3, #8 + 8002c1e: 2b08 cmp r3, #8 + 8002c20: d122 bne.n 8002c68 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC3) != RESET) - 8002c4e: 687b ldr r3, [r7, #4] - 8002c50: 681b ldr r3, [r3, #0] - 8002c52: 68db ldr r3, [r3, #12] - 8002c54: f003 0308 and.w r3, r3, #8 - 8002c58: 2b08 cmp r3, #8 - 8002c5a: d11b bne.n 8002c94 + 8002c22: 687b ldr r3, [r7, #4] + 8002c24: 681b ldr r3, [r3, #0] + 8002c26: 68db ldr r3, [r3, #12] + 8002c28: f003 0308 and.w r3, r3, #8 + 8002c2c: 2b08 cmp r3, #8 + 8002c2e: d11b bne.n 8002c68 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC3); - 8002c5c: 687b ldr r3, [r7, #4] - 8002c5e: 681b ldr r3, [r3, #0] - 8002c60: f06f 0208 mvn.w r2, #8 - 8002c64: 611a str r2, [r3, #16] + 8002c30: 687b ldr r3, [r7, #4] + 8002c32: 681b ldr r3, [r3, #0] + 8002c34: f06f 0208 mvn.w r2, #8 + 8002c38: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_3; - 8002c66: 687b ldr r3, [r7, #4] - 8002c68: 2204 movs r2, #4 - 8002c6a: 771a strb r2, [r3, #28] + 8002c3a: 687b ldr r3, [r7, #4] + 8002c3c: 2204 movs r2, #4 + 8002c3e: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR2 & TIM_CCMR2_CC3S) != 0x00U) - 8002c6c: 687b ldr r3, [r7, #4] - 8002c6e: 681b ldr r3, [r3, #0] - 8002c70: 69db ldr r3, [r3, #28] - 8002c72: f003 0303 and.w r3, r3, #3 - 8002c76: 2b00 cmp r3, #0 - 8002c78: d003 beq.n 8002c82 + 8002c40: 687b ldr r3, [r7, #4] + 8002c42: 681b ldr r3, [r3, #0] + 8002c44: 69db ldr r3, [r3, #28] + 8002c46: f003 0303 and.w r3, r3, #3 + 8002c4a: 2b00 cmp r3, #0 + 8002c4c: d003 beq.n 8002c56 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); - 8002c7a: 6878 ldr r0, [r7, #4] - 8002c7c: f000 fa89 bl 8003192 - 8002c80: e005 b.n 8002c8e + 8002c4e: 6878 ldr r0, [r7, #4] + 8002c50: f000 fa89 bl 8003166 + 8002c54: e005 b.n 8002c62 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); - 8002c82: 6878 ldr r0, [r7, #4] - 8002c84: f000 fa7b bl 800317e + 8002c56: 6878 ldr r0, [r7, #4] + 8002c58: f000 fa7b bl 8003152 HAL_TIM_PWM_PulseFinishedCallback(htim); - 8002c88: 6878 ldr r0, [r7, #4] - 8002c8a: f000 fa8c bl 80031a6 + 8002c5c: 6878 ldr r0, [r7, #4] + 8002c5e: f000 fa8c bl 800317a #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; - 8002c8e: 687b ldr r3, [r7, #4] - 8002c90: 2200 movs r2, #0 - 8002c92: 771a strb r2, [r3, #28] + 8002c62: 687b ldr r3, [r7, #4] + 8002c64: 2200 movs r2, #0 + 8002c66: 771a strb r2, [r3, #28] } } /* Capture compare 4 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC4) != RESET) - 8002c94: 687b ldr r3, [r7, #4] - 8002c96: 681b ldr r3, [r3, #0] - 8002c98: 691b ldr r3, [r3, #16] - 8002c9a: f003 0310 and.w r3, r3, #16 - 8002c9e: 2b10 cmp r3, #16 - 8002ca0: d122 bne.n 8002ce8 + 8002c68: 687b ldr r3, [r7, #4] + 8002c6a: 681b ldr r3, [r3, #0] + 8002c6c: 691b ldr r3, [r3, #16] + 8002c6e: f003 0310 and.w r3, r3, #16 + 8002c72: 2b10 cmp r3, #16 + 8002c74: d122 bne.n 8002cbc { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC4) != RESET) - 8002ca2: 687b ldr r3, [r7, #4] - 8002ca4: 681b ldr r3, [r3, #0] - 8002ca6: 68db ldr r3, [r3, #12] - 8002ca8: f003 0310 and.w r3, r3, #16 - 8002cac: 2b10 cmp r3, #16 - 8002cae: d11b bne.n 8002ce8 + 8002c76: 687b ldr r3, [r7, #4] + 8002c78: 681b ldr r3, [r3, #0] + 8002c7a: 68db ldr r3, [r3, #12] + 8002c7c: f003 0310 and.w r3, r3, #16 + 8002c80: 2b10 cmp r3, #16 + 8002c82: d11b bne.n 8002cbc { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC4); - 8002cb0: 687b ldr r3, [r7, #4] - 8002cb2: 681b ldr r3, [r3, #0] - 8002cb4: f06f 0210 mvn.w r2, #16 - 8002cb8: 611a str r2, [r3, #16] + 8002c84: 687b ldr r3, [r7, #4] + 8002c86: 681b ldr r3, [r3, #0] + 8002c88: f06f 0210 mvn.w r2, #16 + 8002c8c: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_4; - 8002cba: 687b ldr r3, [r7, #4] - 8002cbc: 2208 movs r2, #8 - 8002cbe: 771a strb r2, [r3, #28] + 8002c8e: 687b ldr r3, [r7, #4] + 8002c90: 2208 movs r2, #8 + 8002c92: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR2 & TIM_CCMR2_CC4S) != 0x00U) - 8002cc0: 687b ldr r3, [r7, #4] - 8002cc2: 681b ldr r3, [r3, #0] - 8002cc4: 69db ldr r3, [r3, #28] - 8002cc6: f403 7340 and.w r3, r3, #768 ; 0x300 - 8002cca: 2b00 cmp r3, #0 - 8002ccc: d003 beq.n 8002cd6 + 8002c94: 687b ldr r3, [r7, #4] + 8002c96: 681b ldr r3, [r3, #0] + 8002c98: 69db ldr r3, [r3, #28] + 8002c9a: f403 7340 and.w r3, r3, #768 ; 0x300 + 8002c9e: 2b00 cmp r3, #0 + 8002ca0: d003 beq.n 8002caa { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); - 8002cce: 6878 ldr r0, [r7, #4] - 8002cd0: f000 fa5f bl 8003192 - 8002cd4: e005 b.n 8002ce2 + 8002ca2: 6878 ldr r0, [r7, #4] + 8002ca4: f000 fa5f bl 8003166 + 8002ca8: e005 b.n 8002cb6 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); - 8002cd6: 6878 ldr r0, [r7, #4] - 8002cd8: f000 fa51 bl 800317e + 8002caa: 6878 ldr r0, [r7, #4] + 8002cac: f000 fa51 bl 8003152 HAL_TIM_PWM_PulseFinishedCallback(htim); - 8002cdc: 6878 ldr r0, [r7, #4] - 8002cde: f000 fa62 bl 80031a6 + 8002cb0: 6878 ldr r0, [r7, #4] + 8002cb2: f000 fa62 bl 800317a #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; - 8002ce2: 687b ldr r3, [r7, #4] - 8002ce4: 2200 movs r2, #0 - 8002ce6: 771a strb r2, [r3, #28] + 8002cb6: 687b ldr r3, [r7, #4] + 8002cb8: 2200 movs r2, #0 + 8002cba: 771a strb r2, [r3, #28] } } /* TIM Update event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_UPDATE) != RESET) + 8002cbc: 687b ldr r3, [r7, #4] + 8002cbe: 681b ldr r3, [r3, #0] + 8002cc0: 691b ldr r3, [r3, #16] + 8002cc2: f003 0301 and.w r3, r3, #1 + 8002cc6: 2b01 cmp r3, #1 + 8002cc8: d10e bne.n 8002ce8 + { + if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_UPDATE) != RESET) + 8002cca: 687b ldr r3, [r7, #4] + 8002ccc: 681b ldr r3, [r3, #0] + 8002cce: 68db ldr r3, [r3, #12] + 8002cd0: f003 0301 and.w r3, r3, #1 + 8002cd4: 2b01 cmp r3, #1 + 8002cd6: d107 bne.n 8002ce8 + { + __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE); + 8002cd8: 687b ldr r3, [r7, #4] + 8002cda: 681b ldr r3, [r3, #0] + 8002cdc: f06f 0201 mvn.w r2, #1 + 8002ce0: 611a str r2, [r3, #16] +#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) + htim->PeriodElapsedCallback(htim); +#else + HAL_TIM_PeriodElapsedCallback(htim); + 8002ce2: 6878 ldr r0, [r7, #4] + 8002ce4: f000 fa2b bl 800313e +#endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ + } + } + /* TIM Break input event */ + if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK) != RESET) 8002ce8: 687b ldr r3, [r7, #4] 8002cea: 681b ldr r3, [r3, #0] 8002cec: 691b ldr r3, [r3, #16] - 8002cee: f003 0301 and.w r3, r3, #1 - 8002cf2: 2b01 cmp r3, #1 - 8002cf4: d10e bne.n 8002d14 + 8002cee: f003 0380 and.w r3, r3, #128 ; 0x80 + 8002cf2: 2b80 cmp r3, #128 ; 0x80 + 8002cf4: d10e bne.n 8002d14 { - if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_UPDATE) != RESET) + if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET) 8002cf6: 687b ldr r3, [r7, #4] 8002cf8: 681b ldr r3, [r3, #0] 8002cfa: 68db ldr r3, [r3, #12] - 8002cfc: f003 0301 and.w r3, r3, #1 - 8002d00: 2b01 cmp r3, #1 - 8002d02: d107 bne.n 8002d14 + 8002cfc: f003 0380 and.w r3, r3, #128 ; 0x80 + 8002d00: 2b80 cmp r3, #128 ; 0x80 + 8002d02: d107 bne.n 8002d14 { - __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE); + __HAL_TIM_CLEAR_IT(htim, TIM_IT_BREAK); 8002d04: 687b ldr r3, [r7, #4] 8002d06: 681b ldr r3, [r3, #0] - 8002d08: f06f 0201 mvn.w r2, #1 + 8002d08: f06f 0280 mvn.w r2, #128 ; 0x80 8002d0c: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) - htim->PeriodElapsedCallback(htim); + htim->BreakCallback(htim); #else - HAL_TIM_PeriodElapsedCallback(htim); + HAL_TIMEx_BreakCallback(htim); 8002d0e: 6878 ldr r0, [r7, #4] - 8002d10: f000 fa2b bl 800316a + 8002d10: f000 fe30 bl 8003974 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } - /* TIM Break input event */ - if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK) != RESET) + /* TIM Trigger detection event */ + if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_TRIGGER) != RESET) 8002d14: 687b ldr r3, [r7, #4] 8002d16: 681b ldr r3, [r3, #0] 8002d18: 691b ldr r3, [r3, #16] - 8002d1a: f003 0380 and.w r3, r3, #128 ; 0x80 - 8002d1e: 2b80 cmp r3, #128 ; 0x80 - 8002d20: d10e bne.n 8002d40 + 8002d1a: f003 0340 and.w r3, r3, #64 ; 0x40 + 8002d1e: 2b40 cmp r3, #64 ; 0x40 + 8002d20: d10e bne.n 8002d40 { - if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET) + if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_TRIGGER) != RESET) 8002d22: 687b ldr r3, [r7, #4] 8002d24: 681b ldr r3, [r3, #0] 8002d26: 68db ldr r3, [r3, #12] - 8002d28: f003 0380 and.w r3, r3, #128 ; 0x80 - 8002d2c: 2b80 cmp r3, #128 ; 0x80 - 8002d2e: d107 bne.n 8002d40 + 8002d28: f003 0340 and.w r3, r3, #64 ; 0x40 + 8002d2c: 2b40 cmp r3, #64 ; 0x40 + 8002d2e: d107 bne.n 8002d40 { - __HAL_TIM_CLEAR_IT(htim, TIM_IT_BREAK); + __HAL_TIM_CLEAR_IT(htim, TIM_IT_TRIGGER); 8002d30: 687b ldr r3, [r7, #4] 8002d32: 681b ldr r3, [r3, #0] - 8002d34: f06f 0280 mvn.w r2, #128 ; 0x80 + 8002d34: f06f 0240 mvn.w r2, #64 ; 0x40 8002d38: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) - htim->BreakCallback(htim); + htim->TriggerCallback(htim); #else - HAL_TIMEx_BreakCallback(htim); + HAL_TIM_TriggerCallback(htim); 8002d3a: 6878 ldr r0, [r7, #4] - 8002d3c: f000 fe30 bl 80039a0 + 8002d3c: f000 fa27 bl 800318e #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } - /* TIM Trigger detection event */ - if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_TRIGGER) != RESET) + /* TIM commutation event */ + if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_COM) != RESET) 8002d40: 687b ldr r3, [r7, #4] 8002d42: 681b ldr r3, [r3, #0] 8002d44: 691b ldr r3, [r3, #16] - 8002d46: f003 0340 and.w r3, r3, #64 ; 0x40 - 8002d4a: 2b40 cmp r3, #64 ; 0x40 - 8002d4c: d10e bne.n 8002d6c + 8002d46: f003 0320 and.w r3, r3, #32 + 8002d4a: 2b20 cmp r3, #32 + 8002d4c: d10e bne.n 8002d6c { - if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_TRIGGER) != RESET) + if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_COM) != RESET) 8002d4e: 687b ldr r3, [r7, #4] 8002d50: 681b ldr r3, [r3, #0] 8002d52: 68db ldr r3, [r3, #12] - 8002d54: f003 0340 and.w r3, r3, #64 ; 0x40 - 8002d58: 2b40 cmp r3, #64 ; 0x40 - 8002d5a: d107 bne.n 8002d6c + 8002d54: f003 0320 and.w r3, r3, #32 + 8002d58: 2b20 cmp r3, #32 + 8002d5a: d107 bne.n 8002d6c { - __HAL_TIM_CLEAR_IT(htim, TIM_IT_TRIGGER); + __HAL_TIM_CLEAR_IT(htim, TIM_FLAG_COM); 8002d5c: 687b ldr r3, [r7, #4] 8002d5e: 681b ldr r3, [r3, #0] - 8002d60: f06f 0240 mvn.w r2, #64 ; 0x40 + 8002d60: f06f 0220 mvn.w r2, #32 8002d64: 611a str r2, [r3, #16] -#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) - htim->TriggerCallback(htim); -#else - HAL_TIM_TriggerCallback(htim); - 8002d66: 6878 ldr r0, [r7, #4] - 8002d68: f000 fa27 bl 80031ba -#endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ - } - } - /* TIM commutation event */ - if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_COM) != RESET) - 8002d6c: 687b ldr r3, [r7, #4] - 8002d6e: 681b ldr r3, [r3, #0] - 8002d70: 691b ldr r3, [r3, #16] - 8002d72: f003 0320 and.w r3, r3, #32 - 8002d76: 2b20 cmp r3, #32 - 8002d78: d10e bne.n 8002d98 - { - if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_COM) != RESET) - 8002d7a: 687b ldr r3, [r7, #4] - 8002d7c: 681b ldr r3, [r3, #0] - 8002d7e: 68db ldr r3, [r3, #12] - 8002d80: f003 0320 and.w r3, r3, #32 - 8002d84: 2b20 cmp r3, #32 - 8002d86: d107 bne.n 8002d98 - { - __HAL_TIM_CLEAR_IT(htim, TIM_FLAG_COM); - 8002d88: 687b ldr r3, [r7, #4] - 8002d8a: 681b ldr r3, [r3, #0] - 8002d8c: f06f 0220 mvn.w r2, #32 - 8002d90: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->CommutationCallback(htim); #else HAL_TIMEx_CommutCallback(htim); - 8002d92: 6878 ldr r0, [r7, #4] - 8002d94: f000 fdfa bl 800398c + 8002d66: 6878 ldr r0, [r7, #4] + 8002d68: f000 fdfa bl 8003960 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } } - 8002d98: bf00 nop - 8002d9a: 3708 adds r7, #8 - 8002d9c: 46bd mov sp, r7 - 8002d9e: bd80 pop {r7, pc} + 8002d6c: bf00 nop + 8002d6e: 3708 adds r7, #8 + 8002d70: 46bd mov sp, r7 + 8002d72: bd80 pop {r7, pc} -08002da0 : +08002d74 : * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_OC_ConfigChannel(TIM_HandleTypeDef *htim, TIM_OC_InitTypeDef *sConfig, uint32_t Channel) { - 8002da0: b580 push {r7, lr} - 8002da2: b086 sub sp, #24 - 8002da4: af00 add r7, sp, #0 - 8002da6: 60f8 str r0, [r7, #12] - 8002da8: 60b9 str r1, [r7, #8] - 8002daa: 607a str r2, [r7, #4] + 8002d74: b580 push {r7, lr} + 8002d76: b086 sub sp, #24 + 8002d78: af00 add r7, sp, #0 + 8002d7a: 60f8 str r0, [r7, #12] + 8002d7c: 60b9 str r1, [r7, #8] + 8002d7e: 607a str r2, [r7, #4] HAL_StatusTypeDef status = HAL_OK; - 8002dac: 2300 movs r3, #0 - 8002dae: 75fb strb r3, [r7, #23] + 8002d80: 2300 movs r3, #0 + 8002d82: 75fb strb r3, [r7, #23] assert_param(IS_TIM_CHANNELS(Channel)); assert_param(IS_TIM_OC_MODE(sConfig->OCMode)); assert_param(IS_TIM_OC_POLARITY(sConfig->OCPolarity)); /* Process Locked */ __HAL_LOCK(htim); - 8002db0: 68fb ldr r3, [r7, #12] - 8002db2: f893 303c ldrb.w r3, [r3, #60] ; 0x3c - 8002db6: 2b01 cmp r3, #1 - 8002db8: d101 bne.n 8002dbe - 8002dba: 2302 movs r3, #2 - 8002dbc: e048 b.n 8002e50 - 8002dbe: 68fb ldr r3, [r7, #12] - 8002dc0: 2201 movs r2, #1 - 8002dc2: f883 203c strb.w r2, [r3, #60] ; 0x3c + 8002d84: 68fb ldr r3, [r7, #12] + 8002d86: f893 303c ldrb.w r3, [r3, #60] ; 0x3c + 8002d8a: 2b01 cmp r3, #1 + 8002d8c: d101 bne.n 8002d92 + 8002d8e: 2302 movs r3, #2 + 8002d90: e048 b.n 8002e24 + 8002d92: 68fb ldr r3, [r7, #12] + 8002d94: 2201 movs r2, #1 + 8002d96: f883 203c strb.w r2, [r3, #60] ; 0x3c switch (Channel) - 8002dc6: 687b ldr r3, [r7, #4] - 8002dc8: 2b0c cmp r3, #12 - 8002dca: d839 bhi.n 8002e40 - 8002dcc: a201 add r2, pc, #4 ; (adr r2, 8002dd4 ) - 8002dce: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8002dd2: bf00 nop - 8002dd4: 08002e09 .word 0x08002e09 - 8002dd8: 08002e41 .word 0x08002e41 - 8002ddc: 08002e41 .word 0x08002e41 - 8002de0: 08002e41 .word 0x08002e41 - 8002de4: 08002e17 .word 0x08002e17 - 8002de8: 08002e41 .word 0x08002e41 - 8002dec: 08002e41 .word 0x08002e41 - 8002df0: 08002e41 .word 0x08002e41 - 8002df4: 08002e25 .word 0x08002e25 - 8002df8: 08002e41 .word 0x08002e41 - 8002dfc: 08002e41 .word 0x08002e41 - 8002e00: 08002e41 .word 0x08002e41 - 8002e04: 08002e33 .word 0x08002e33 + 8002d9a: 687b ldr r3, [r7, #4] + 8002d9c: 2b0c cmp r3, #12 + 8002d9e: d839 bhi.n 8002e14 + 8002da0: a201 add r2, pc, #4 ; (adr r2, 8002da8 ) + 8002da2: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8002da6: bf00 nop + 8002da8: 08002ddd .word 0x08002ddd + 8002dac: 08002e15 .word 0x08002e15 + 8002db0: 08002e15 .word 0x08002e15 + 8002db4: 08002e15 .word 0x08002e15 + 8002db8: 08002deb .word 0x08002deb + 8002dbc: 08002e15 .word 0x08002e15 + 8002dc0: 08002e15 .word 0x08002e15 + 8002dc4: 08002e15 .word 0x08002e15 + 8002dc8: 08002df9 .word 0x08002df9 + 8002dcc: 08002e15 .word 0x08002e15 + 8002dd0: 08002e15 .word 0x08002e15 + 8002dd4: 08002e15 .word 0x08002e15 + 8002dd8: 08002e07 .word 0x08002e07 { /* Check the parameters */ assert_param(IS_TIM_CC1_INSTANCE(htim->Instance)); /* Configure the TIM Channel 1 in Output Compare */ TIM_OC1_SetConfig(htim->Instance, sConfig); - 8002e08: 68fb ldr r3, [r7, #12] - 8002e0a: 681b ldr r3, [r3, #0] - 8002e0c: 68b9 ldr r1, [r7, #8] - 8002e0e: 4618 mov r0, r3 - 8002e10: f000 fa7e bl 8003310 + 8002ddc: 68fb ldr r3, [r7, #12] + 8002dde: 681b ldr r3, [r3, #0] + 8002de0: 68b9 ldr r1, [r7, #8] + 8002de2: 4618 mov r0, r3 + 8002de4: f000 fa7e bl 80032e4 break; - 8002e14: e017 b.n 8002e46 + 8002de8: e017 b.n 8002e1a { /* Check the parameters */ assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); /* Configure the TIM Channel 2 in Output Compare */ TIM_OC2_SetConfig(htim->Instance, sConfig); - 8002e16: 68fb ldr r3, [r7, #12] - 8002e18: 681b ldr r3, [r3, #0] - 8002e1a: 68b9 ldr r1, [r7, #8] - 8002e1c: 4618 mov r0, r3 - 8002e1e: f000 fae7 bl 80033f0 + 8002dea: 68fb ldr r3, [r7, #12] + 8002dec: 681b ldr r3, [r3, #0] + 8002dee: 68b9 ldr r1, [r7, #8] + 8002df0: 4618 mov r0, r3 + 8002df2: f000 fae7 bl 80033c4 break; - 8002e22: e010 b.n 8002e46 + 8002df6: e010 b.n 8002e1a { /* Check the parameters */ assert_param(IS_TIM_CC3_INSTANCE(htim->Instance)); /* Configure the TIM Channel 3 in Output Compare */ TIM_OC3_SetConfig(htim->Instance, sConfig); - 8002e24: 68fb ldr r3, [r7, #12] - 8002e26: 681b ldr r3, [r3, #0] - 8002e28: 68b9 ldr r1, [r7, #8] - 8002e2a: 4618 mov r0, r3 - 8002e2c: f000 fb56 bl 80034dc + 8002df8: 68fb ldr r3, [r7, #12] + 8002dfa: 681b ldr r3, [r3, #0] + 8002dfc: 68b9 ldr r1, [r7, #8] + 8002dfe: 4618 mov r0, r3 + 8002e00: f000 fb56 bl 80034b0 break; - 8002e30: e009 b.n 8002e46 + 8002e04: e009 b.n 8002e1a { /* Check the parameters */ assert_param(IS_TIM_CC4_INSTANCE(htim->Instance)); /* Configure the TIM Channel 4 in Output Compare */ TIM_OC4_SetConfig(htim->Instance, sConfig); - 8002e32: 68fb ldr r3, [r7, #12] - 8002e34: 681b ldr r3, [r3, #0] - 8002e36: 68b9 ldr r1, [r7, #8] - 8002e38: 4618 mov r0, r3 - 8002e3a: f000 fbc3 bl 80035c4 + 8002e06: 68fb ldr r3, [r7, #12] + 8002e08: 681b ldr r3, [r3, #0] + 8002e0a: 68b9 ldr r1, [r7, #8] + 8002e0c: 4618 mov r0, r3 + 8002e0e: f000 fbc3 bl 8003598 break; - 8002e3e: e002 b.n 8002e46 + 8002e12: e002 b.n 8002e1a } default: status = HAL_ERROR; - 8002e40: 2301 movs r3, #1 - 8002e42: 75fb strb r3, [r7, #23] + 8002e14: 2301 movs r3, #1 + 8002e16: 75fb strb r3, [r7, #23] break; - 8002e44: bf00 nop + 8002e18: bf00 nop } __HAL_UNLOCK(htim); - 8002e46: 68fb ldr r3, [r7, #12] - 8002e48: 2200 movs r2, #0 - 8002e4a: f883 203c strb.w r2, [r3, #60] ; 0x3c + 8002e1a: 68fb ldr r3, [r7, #12] + 8002e1c: 2200 movs r2, #0 + 8002e1e: f883 203c strb.w r2, [r3, #60] ; 0x3c return status; - 8002e4e: 7dfb ldrb r3, [r7, #23] + 8002e22: 7dfb ldrb r3, [r7, #23] } - 8002e50: 4618 mov r0, r3 - 8002e52: 3718 adds r7, #24 - 8002e54: 46bd mov sp, r7 - 8002e56: bd80 pop {r7, pc} + 8002e24: 4618 mov r0, r3 + 8002e26: 3718 adds r7, #24 + 8002e28: 46bd mov sp, r7 + 8002e2a: bd80 pop {r7, pc} -08002e58 : +08002e2c : * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_PWM_ConfigChannel(TIM_HandleTypeDef *htim, TIM_OC_InitTypeDef *sConfig, uint32_t Channel) { - 8002e58: b580 push {r7, lr} - 8002e5a: b086 sub sp, #24 - 8002e5c: af00 add r7, sp, #0 - 8002e5e: 60f8 str r0, [r7, #12] - 8002e60: 60b9 str r1, [r7, #8] - 8002e62: 607a str r2, [r7, #4] + 8002e2c: b580 push {r7, lr} + 8002e2e: b086 sub sp, #24 + 8002e30: af00 add r7, sp, #0 + 8002e32: 60f8 str r0, [r7, #12] + 8002e34: 60b9 str r1, [r7, #8] + 8002e36: 607a str r2, [r7, #4] HAL_StatusTypeDef status = HAL_OK; - 8002e64: 2300 movs r3, #0 - 8002e66: 75fb strb r3, [r7, #23] + 8002e38: 2300 movs r3, #0 + 8002e3a: 75fb strb r3, [r7, #23] assert_param(IS_TIM_PWM_MODE(sConfig->OCMode)); assert_param(IS_TIM_OC_POLARITY(sConfig->OCPolarity)); assert_param(IS_TIM_FAST_STATE(sConfig->OCFastMode)); /* Process Locked */ __HAL_LOCK(htim); - 8002e68: 68fb ldr r3, [r7, #12] - 8002e6a: f893 303c ldrb.w r3, [r3, #60] ; 0x3c - 8002e6e: 2b01 cmp r3, #1 - 8002e70: d101 bne.n 8002e76 - 8002e72: 2302 movs r3, #2 - 8002e74: e0ae b.n 8002fd4 - 8002e76: 68fb ldr r3, [r7, #12] - 8002e78: 2201 movs r2, #1 - 8002e7a: f883 203c strb.w r2, [r3, #60] ; 0x3c + 8002e3c: 68fb ldr r3, [r7, #12] + 8002e3e: f893 303c ldrb.w r3, [r3, #60] ; 0x3c + 8002e42: 2b01 cmp r3, #1 + 8002e44: d101 bne.n 8002e4a + 8002e46: 2302 movs r3, #2 + 8002e48: e0ae b.n 8002fa8 + 8002e4a: 68fb ldr r3, [r7, #12] + 8002e4c: 2201 movs r2, #1 + 8002e4e: f883 203c strb.w r2, [r3, #60] ; 0x3c switch (Channel) - 8002e7e: 687b ldr r3, [r7, #4] - 8002e80: 2b0c cmp r3, #12 - 8002e82: f200 809f bhi.w 8002fc4 - 8002e86: a201 add r2, pc, #4 ; (adr r2, 8002e8c ) - 8002e88: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8002e8c: 08002ec1 .word 0x08002ec1 - 8002e90: 08002fc5 .word 0x08002fc5 - 8002e94: 08002fc5 .word 0x08002fc5 - 8002e98: 08002fc5 .word 0x08002fc5 - 8002e9c: 08002f01 .word 0x08002f01 - 8002ea0: 08002fc5 .word 0x08002fc5 - 8002ea4: 08002fc5 .word 0x08002fc5 - 8002ea8: 08002fc5 .word 0x08002fc5 - 8002eac: 08002f43 .word 0x08002f43 - 8002eb0: 08002fc5 .word 0x08002fc5 - 8002eb4: 08002fc5 .word 0x08002fc5 - 8002eb8: 08002fc5 .word 0x08002fc5 - 8002ebc: 08002f83 .word 0x08002f83 + 8002e52: 687b ldr r3, [r7, #4] + 8002e54: 2b0c cmp r3, #12 + 8002e56: f200 809f bhi.w 8002f98 + 8002e5a: a201 add r2, pc, #4 ; (adr r2, 8002e60 ) + 8002e5c: f852 f023 ldr.w pc, [r2, r3, lsl #2] + 8002e60: 08002e95 .word 0x08002e95 + 8002e64: 08002f99 .word 0x08002f99 + 8002e68: 08002f99 .word 0x08002f99 + 8002e6c: 08002f99 .word 0x08002f99 + 8002e70: 08002ed5 .word 0x08002ed5 + 8002e74: 08002f99 .word 0x08002f99 + 8002e78: 08002f99 .word 0x08002f99 + 8002e7c: 08002f99 .word 0x08002f99 + 8002e80: 08002f17 .word 0x08002f17 + 8002e84: 08002f99 .word 0x08002f99 + 8002e88: 08002f99 .word 0x08002f99 + 8002e8c: 08002f99 .word 0x08002f99 + 8002e90: 08002f57 .word 0x08002f57 { /* Check the parameters */ assert_param(IS_TIM_CC1_INSTANCE(htim->Instance)); /* Configure the Channel 1 in PWM mode */ TIM_OC1_SetConfig(htim->Instance, sConfig); - 8002ec0: 68fb ldr r3, [r7, #12] - 8002ec2: 681b ldr r3, [r3, #0] - 8002ec4: 68b9 ldr r1, [r7, #8] - 8002ec6: 4618 mov r0, r3 - 8002ec8: f000 fa22 bl 8003310 + 8002e94: 68fb ldr r3, [r7, #12] + 8002e96: 681b ldr r3, [r3, #0] + 8002e98: 68b9 ldr r1, [r7, #8] + 8002e9a: 4618 mov r0, r3 + 8002e9c: f000 fa22 bl 80032e4 /* Set the Preload enable bit for channel1 */ htim->Instance->CCMR1 |= TIM_CCMR1_OC1PE; - 8002ecc: 68fb ldr r3, [r7, #12] - 8002ece: 681b ldr r3, [r3, #0] - 8002ed0: 699a ldr r2, [r3, #24] - 8002ed2: 68fb ldr r3, [r7, #12] - 8002ed4: 681b ldr r3, [r3, #0] - 8002ed6: f042 0208 orr.w r2, r2, #8 - 8002eda: 619a str r2, [r3, #24] + 8002ea0: 68fb ldr r3, [r7, #12] + 8002ea2: 681b ldr r3, [r3, #0] + 8002ea4: 699a ldr r2, [r3, #24] + 8002ea6: 68fb ldr r3, [r7, #12] + 8002ea8: 681b ldr r3, [r3, #0] + 8002eaa: f042 0208 orr.w r2, r2, #8 + 8002eae: 619a str r2, [r3, #24] /* Configure the Output Fast mode */ htim->Instance->CCMR1 &= ~TIM_CCMR1_OC1FE; - 8002edc: 68fb ldr r3, [r7, #12] - 8002ede: 681b ldr r3, [r3, #0] - 8002ee0: 699a ldr r2, [r3, #24] - 8002ee2: 68fb ldr r3, [r7, #12] - 8002ee4: 681b ldr r3, [r3, #0] - 8002ee6: f022 0204 bic.w r2, r2, #4 - 8002eea: 619a str r2, [r3, #24] + 8002eb0: 68fb ldr r3, [r7, #12] + 8002eb2: 681b ldr r3, [r3, #0] + 8002eb4: 699a ldr r2, [r3, #24] + 8002eb6: 68fb ldr r3, [r7, #12] + 8002eb8: 681b ldr r3, [r3, #0] + 8002eba: f022 0204 bic.w r2, r2, #4 + 8002ebe: 619a str r2, [r3, #24] htim->Instance->CCMR1 |= sConfig->OCFastMode; - 8002eec: 68fb ldr r3, [r7, #12] - 8002eee: 681b ldr r3, [r3, #0] - 8002ef0: 6999 ldr r1, [r3, #24] - 8002ef2: 68bb ldr r3, [r7, #8] - 8002ef4: 691a ldr r2, [r3, #16] - 8002ef6: 68fb ldr r3, [r7, #12] - 8002ef8: 681b ldr r3, [r3, #0] - 8002efa: 430a orrs r2, r1 - 8002efc: 619a str r2, [r3, #24] + 8002ec0: 68fb ldr r3, [r7, #12] + 8002ec2: 681b ldr r3, [r3, #0] + 8002ec4: 6999 ldr r1, [r3, #24] + 8002ec6: 68bb ldr r3, [r7, #8] + 8002ec8: 691a ldr r2, [r3, #16] + 8002eca: 68fb ldr r3, [r7, #12] + 8002ecc: 681b ldr r3, [r3, #0] + 8002ece: 430a orrs r2, r1 + 8002ed0: 619a str r2, [r3, #24] break; - 8002efe: e064 b.n 8002fca + 8002ed2: e064 b.n 8002f9e { /* Check the parameters */ assert_param(IS_TIM_CC2_INSTANCE(htim->Instance)); /* Configure the Channel 2 in PWM mode */ TIM_OC2_SetConfig(htim->Instance, sConfig); - 8002f00: 68fb ldr r3, [r7, #12] - 8002f02: 681b ldr r3, [r3, #0] - 8002f04: 68b9 ldr r1, [r7, #8] - 8002f06: 4618 mov r0, r3 - 8002f08: f000 fa72 bl 80033f0 + 8002ed4: 68fb ldr r3, [r7, #12] + 8002ed6: 681b ldr r3, [r3, #0] + 8002ed8: 68b9 ldr r1, [r7, #8] + 8002eda: 4618 mov r0, r3 + 8002edc: f000 fa72 bl 80033c4 /* Set the Preload enable bit for channel2 */ htim->Instance->CCMR1 |= TIM_CCMR1_OC2PE; - 8002f0c: 68fb ldr r3, [r7, #12] - 8002f0e: 681b ldr r3, [r3, #0] - 8002f10: 699a ldr r2, [r3, #24] - 8002f12: 68fb ldr r3, [r7, #12] - 8002f14: 681b ldr r3, [r3, #0] - 8002f16: f442 6200 orr.w r2, r2, #2048 ; 0x800 - 8002f1a: 619a str r2, [r3, #24] + 8002ee0: 68fb ldr r3, [r7, #12] + 8002ee2: 681b ldr r3, [r3, #0] + 8002ee4: 699a ldr r2, [r3, #24] + 8002ee6: 68fb ldr r3, [r7, #12] + 8002ee8: 681b ldr r3, [r3, #0] + 8002eea: f442 6200 orr.w r2, r2, #2048 ; 0x800 + 8002eee: 619a str r2, [r3, #24] /* Configure the Output Fast mode */ htim->Instance->CCMR1 &= ~TIM_CCMR1_OC2FE; - 8002f1c: 68fb ldr r3, [r7, #12] - 8002f1e: 681b ldr r3, [r3, #0] - 8002f20: 699a ldr r2, [r3, #24] - 8002f22: 68fb ldr r3, [r7, #12] - 8002f24: 681b ldr r3, [r3, #0] - 8002f26: f422 6280 bic.w r2, r2, #1024 ; 0x400 - 8002f2a: 619a str r2, [r3, #24] + 8002ef0: 68fb ldr r3, [r7, #12] + 8002ef2: 681b ldr r3, [r3, #0] + 8002ef4: 699a ldr r2, [r3, #24] + 8002ef6: 68fb ldr r3, [r7, #12] + 8002ef8: 681b ldr r3, [r3, #0] + 8002efa: f422 6280 bic.w r2, r2, #1024 ; 0x400 + 8002efe: 619a str r2, [r3, #24] htim->Instance->CCMR1 |= sConfig->OCFastMode << 8U; - 8002f2c: 68fb ldr r3, [r7, #12] - 8002f2e: 681b ldr r3, [r3, #0] - 8002f30: 6999 ldr r1, [r3, #24] - 8002f32: 68bb ldr r3, [r7, #8] - 8002f34: 691b ldr r3, [r3, #16] - 8002f36: 021a lsls r2, r3, #8 - 8002f38: 68fb ldr r3, [r7, #12] - 8002f3a: 681b ldr r3, [r3, #0] - 8002f3c: 430a orrs r2, r1 - 8002f3e: 619a str r2, [r3, #24] + 8002f00: 68fb ldr r3, [r7, #12] + 8002f02: 681b ldr r3, [r3, #0] + 8002f04: 6999 ldr r1, [r3, #24] + 8002f06: 68bb ldr r3, [r7, #8] + 8002f08: 691b ldr r3, [r3, #16] + 8002f0a: 021a lsls r2, r3, #8 + 8002f0c: 68fb ldr r3, [r7, #12] + 8002f0e: 681b ldr r3, [r3, #0] + 8002f10: 430a orrs r2, r1 + 8002f12: 619a str r2, [r3, #24] break; - 8002f40: e043 b.n 8002fca + 8002f14: e043 b.n 8002f9e { /* Check the parameters */ assert_param(IS_TIM_CC3_INSTANCE(htim->Instance)); /* Configure the Channel 3 in PWM mode */ TIM_OC3_SetConfig(htim->Instance, sConfig); - 8002f42: 68fb ldr r3, [r7, #12] - 8002f44: 681b ldr r3, [r3, #0] - 8002f46: 68b9 ldr r1, [r7, #8] - 8002f48: 4618 mov r0, r3 - 8002f4a: f000 fac7 bl 80034dc + 8002f16: 68fb ldr r3, [r7, #12] + 8002f18: 681b ldr r3, [r3, #0] + 8002f1a: 68b9 ldr r1, [r7, #8] + 8002f1c: 4618 mov r0, r3 + 8002f1e: f000 fac7 bl 80034b0 /* Set the Preload enable bit for channel3 */ htim->Instance->CCMR2 |= TIM_CCMR2_OC3PE; - 8002f4e: 68fb ldr r3, [r7, #12] - 8002f50: 681b ldr r3, [r3, #0] - 8002f52: 69da ldr r2, [r3, #28] - 8002f54: 68fb ldr r3, [r7, #12] - 8002f56: 681b ldr r3, [r3, #0] - 8002f58: f042 0208 orr.w r2, r2, #8 - 8002f5c: 61da str r2, [r3, #28] + 8002f22: 68fb ldr r3, [r7, #12] + 8002f24: 681b ldr r3, [r3, #0] + 8002f26: 69da ldr r2, [r3, #28] + 8002f28: 68fb ldr r3, [r7, #12] + 8002f2a: 681b ldr r3, [r3, #0] + 8002f2c: f042 0208 orr.w r2, r2, #8 + 8002f30: 61da str r2, [r3, #28] /* Configure the Output Fast mode */ htim->Instance->CCMR2 &= ~TIM_CCMR2_OC3FE; - 8002f5e: 68fb ldr r3, [r7, #12] - 8002f60: 681b ldr r3, [r3, #0] - 8002f62: 69da ldr r2, [r3, #28] - 8002f64: 68fb ldr r3, [r7, #12] - 8002f66: 681b ldr r3, [r3, #0] - 8002f68: f022 0204 bic.w r2, r2, #4 - 8002f6c: 61da str r2, [r3, #28] + 8002f32: 68fb ldr r3, [r7, #12] + 8002f34: 681b ldr r3, [r3, #0] + 8002f36: 69da ldr r2, [r3, #28] + 8002f38: 68fb ldr r3, [r7, #12] + 8002f3a: 681b ldr r3, [r3, #0] + 8002f3c: f022 0204 bic.w r2, r2, #4 + 8002f40: 61da str r2, [r3, #28] htim->Instance->CCMR2 |= sConfig->OCFastMode; - 8002f6e: 68fb ldr r3, [r7, #12] - 8002f70: 681b ldr r3, [r3, #0] - 8002f72: 69d9 ldr r1, [r3, #28] - 8002f74: 68bb ldr r3, [r7, #8] - 8002f76: 691a ldr r2, [r3, #16] - 8002f78: 68fb ldr r3, [r7, #12] - 8002f7a: 681b ldr r3, [r3, #0] - 8002f7c: 430a orrs r2, r1 - 8002f7e: 61da str r2, [r3, #28] + 8002f42: 68fb ldr r3, [r7, #12] + 8002f44: 681b ldr r3, [r3, #0] + 8002f46: 69d9 ldr r1, [r3, #28] + 8002f48: 68bb ldr r3, [r7, #8] + 8002f4a: 691a ldr r2, [r3, #16] + 8002f4c: 68fb ldr r3, [r7, #12] + 8002f4e: 681b ldr r3, [r3, #0] + 8002f50: 430a orrs r2, r1 + 8002f52: 61da str r2, [r3, #28] break; - 8002f80: e023 b.n 8002fca + 8002f54: e023 b.n 8002f9e { /* Check the parameters */ assert_param(IS_TIM_CC4_INSTANCE(htim->Instance)); /* Configure the Channel 4 in PWM mode */ TIM_OC4_SetConfig(htim->Instance, sConfig); - 8002f82: 68fb ldr r3, [r7, #12] - 8002f84: 681b ldr r3, [r3, #0] - 8002f86: 68b9 ldr r1, [r7, #8] - 8002f88: 4618 mov r0, r3 - 8002f8a: f000 fb1b bl 80035c4 + 8002f56: 68fb ldr r3, [r7, #12] + 8002f58: 681b ldr r3, [r3, #0] + 8002f5a: 68b9 ldr r1, [r7, #8] + 8002f5c: 4618 mov r0, r3 + 8002f5e: f000 fb1b bl 8003598 /* Set the Preload enable bit for channel4 */ htim->Instance->CCMR2 |= TIM_CCMR2_OC4PE; - 8002f8e: 68fb ldr r3, [r7, #12] - 8002f90: 681b ldr r3, [r3, #0] - 8002f92: 69da ldr r2, [r3, #28] - 8002f94: 68fb ldr r3, [r7, #12] - 8002f96: 681b ldr r3, [r3, #0] - 8002f98: f442 6200 orr.w r2, r2, #2048 ; 0x800 - 8002f9c: 61da str r2, [r3, #28] + 8002f62: 68fb ldr r3, [r7, #12] + 8002f64: 681b ldr r3, [r3, #0] + 8002f66: 69da ldr r2, [r3, #28] + 8002f68: 68fb ldr r3, [r7, #12] + 8002f6a: 681b ldr r3, [r3, #0] + 8002f6c: f442 6200 orr.w r2, r2, #2048 ; 0x800 + 8002f70: 61da str r2, [r3, #28] /* Configure the Output Fast mode */ htim->Instance->CCMR2 &= ~TIM_CCMR2_OC4FE; - 8002f9e: 68fb ldr r3, [r7, #12] - 8002fa0: 681b ldr r3, [r3, #0] - 8002fa2: 69da ldr r2, [r3, #28] - 8002fa4: 68fb ldr r3, [r7, #12] - 8002fa6: 681b ldr r3, [r3, #0] - 8002fa8: f422 6280 bic.w r2, r2, #1024 ; 0x400 - 8002fac: 61da str r2, [r3, #28] + 8002f72: 68fb ldr r3, [r7, #12] + 8002f74: 681b ldr r3, [r3, #0] + 8002f76: 69da ldr r2, [r3, #28] + 8002f78: 68fb ldr r3, [r7, #12] + 8002f7a: 681b ldr r3, [r3, #0] + 8002f7c: f422 6280 bic.w r2, r2, #1024 ; 0x400 + 8002f80: 61da str r2, [r3, #28] htim->Instance->CCMR2 |= sConfig->OCFastMode << 8U; - 8002fae: 68fb ldr r3, [r7, #12] - 8002fb0: 681b ldr r3, [r3, #0] - 8002fb2: 69d9 ldr r1, [r3, #28] - 8002fb4: 68bb ldr r3, [r7, #8] - 8002fb6: 691b ldr r3, [r3, #16] - 8002fb8: 021a lsls r2, r3, #8 - 8002fba: 68fb ldr r3, [r7, #12] - 8002fbc: 681b ldr r3, [r3, #0] - 8002fbe: 430a orrs r2, r1 - 8002fc0: 61da str r2, [r3, #28] + 8002f82: 68fb ldr r3, [r7, #12] + 8002f84: 681b ldr r3, [r3, #0] + 8002f86: 69d9 ldr r1, [r3, #28] + 8002f88: 68bb ldr r3, [r7, #8] + 8002f8a: 691b ldr r3, [r3, #16] + 8002f8c: 021a lsls r2, r3, #8 + 8002f8e: 68fb ldr r3, [r7, #12] + 8002f90: 681b ldr r3, [r3, #0] + 8002f92: 430a orrs r2, r1 + 8002f94: 61da str r2, [r3, #28] break; - 8002fc2: e002 b.n 8002fca + 8002f96: e002 b.n 8002f9e } default: status = HAL_ERROR; - 8002fc4: 2301 movs r3, #1 - 8002fc6: 75fb strb r3, [r7, #23] + 8002f98: 2301 movs r3, #1 + 8002f9a: 75fb strb r3, [r7, #23] break; - 8002fc8: bf00 nop + 8002f9c: bf00 nop } __HAL_UNLOCK(htim); - 8002fca: 68fb ldr r3, [r7, #12] - 8002fcc: 2200 movs r2, #0 - 8002fce: f883 203c strb.w r2, [r3, #60] ; 0x3c + 8002f9e: 68fb ldr r3, [r7, #12] + 8002fa0: 2200 movs r2, #0 + 8002fa2: f883 203c strb.w r2, [r3, #60] ; 0x3c return status; - 8002fd2: 7dfb ldrb r3, [r7, #23] + 8002fa6: 7dfb ldrb r3, [r7, #23] } - 8002fd4: 4618 mov r0, r3 - 8002fd6: 3718 adds r7, #24 - 8002fd8: 46bd mov sp, r7 - 8002fda: bd80 pop {r7, pc} + 8002fa8: 4618 mov r0, r3 + 8002faa: 3718 adds r7, #24 + 8002fac: 46bd mov sp, r7 + 8002fae: bd80 pop {r7, pc} -08002fdc : +08002fb0 : * @param sClockSourceConfig pointer to a TIM_ClockConfigTypeDef structure that * contains the clock source information for the TIM peripheral. * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_ConfigClockSource(TIM_HandleTypeDef *htim, TIM_ClockConfigTypeDef *sClockSourceConfig) { - 8002fdc: b580 push {r7, lr} - 8002fde: b084 sub sp, #16 - 8002fe0: af00 add r7, sp, #0 - 8002fe2: 6078 str r0, [r7, #4] - 8002fe4: 6039 str r1, [r7, #0] + 8002fb0: b580 push {r7, lr} + 8002fb2: b084 sub sp, #16 + 8002fb4: af00 add r7, sp, #0 + 8002fb6: 6078 str r0, [r7, #4] + 8002fb8: 6039 str r1, [r7, #0] HAL_StatusTypeDef status = HAL_OK; - 8002fe6: 2300 movs r3, #0 - 8002fe8: 73fb strb r3, [r7, #15] + 8002fba: 2300 movs r3, #0 + 8002fbc: 73fb strb r3, [r7, #15] uint32_t tmpsmcr; /* Process Locked */ __HAL_LOCK(htim); - 8002fea: 687b ldr r3, [r7, #4] - 8002fec: f893 303c ldrb.w r3, [r3, #60] ; 0x3c - 8002ff0: 2b01 cmp r3, #1 - 8002ff2: d101 bne.n 8002ff8 - 8002ff4: 2302 movs r3, #2 - 8002ff6: e0b4 b.n 8003162 - 8002ff8: 687b ldr r3, [r7, #4] - 8002ffa: 2201 movs r2, #1 - 8002ffc: f883 203c strb.w r2, [r3, #60] ; 0x3c + 8002fbe: 687b ldr r3, [r7, #4] + 8002fc0: f893 303c ldrb.w r3, [r3, #60] ; 0x3c + 8002fc4: 2b01 cmp r3, #1 + 8002fc6: d101 bne.n 8002fcc + 8002fc8: 2302 movs r3, #2 + 8002fca: e0b4 b.n 8003136 + 8002fcc: 687b ldr r3, [r7, #4] + 8002fce: 2201 movs r2, #1 + 8002fd0: f883 203c strb.w r2, [r3, #60] ; 0x3c htim->State = HAL_TIM_STATE_BUSY; - 8003000: 687b ldr r3, [r7, #4] - 8003002: 2202 movs r2, #2 - 8003004: f883 203d strb.w r2, [r3, #61] ; 0x3d + 8002fd4: 687b ldr r3, [r7, #4] + 8002fd6: 2202 movs r2, #2 + 8002fd8: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Check the parameters */ assert_param(IS_TIM_CLOCKSOURCE(sClockSourceConfig->ClockSource)); /* Reset the SMS, TS, ECE, ETPS and ETRF bits */ tmpsmcr = htim->Instance->SMCR; - 8003008: 687b ldr r3, [r7, #4] - 800300a: 681b ldr r3, [r3, #0] - 800300c: 689b ldr r3, [r3, #8] - 800300e: 60bb str r3, [r7, #8] + 8002fdc: 687b ldr r3, [r7, #4] + 8002fde: 681b ldr r3, [r3, #0] + 8002fe0: 689b ldr r3, [r3, #8] + 8002fe2: 60bb str r3, [r7, #8] tmpsmcr &= ~(TIM_SMCR_SMS | TIM_SMCR_TS); - 8003010: 68bb ldr r3, [r7, #8] - 8003012: f023 0377 bic.w r3, r3, #119 ; 0x77 - 8003016: 60bb str r3, [r7, #8] + 8002fe4: 68bb ldr r3, [r7, #8] + 8002fe6: f023 0377 bic.w r3, r3, #119 ; 0x77 + 8002fea: 60bb str r3, [r7, #8] tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP); - 8003018: 68bb ldr r3, [r7, #8] - 800301a: f423 437f bic.w r3, r3, #65280 ; 0xff00 - 800301e: 60bb str r3, [r7, #8] + 8002fec: 68bb ldr r3, [r7, #8] + 8002fee: f423 437f bic.w r3, r3, #65280 ; 0xff00 + 8002ff2: 60bb str r3, [r7, #8] htim->Instance->SMCR = tmpsmcr; - 8003020: 687b ldr r3, [r7, #4] - 8003022: 681b ldr r3, [r3, #0] - 8003024: 68ba ldr r2, [r7, #8] - 8003026: 609a str r2, [r3, #8] + 8002ff4: 687b ldr r3, [r7, #4] + 8002ff6: 681b ldr r3, [r3, #0] + 8002ff8: 68ba ldr r2, [r7, #8] + 8002ffa: 609a str r2, [r3, #8] switch (sClockSourceConfig->ClockSource) - 8003028: 683b ldr r3, [r7, #0] - 800302a: 681b ldr r3, [r3, #0] - 800302c: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 - 8003030: d03e beq.n 80030b0 - 8003032: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 - 8003036: f200 8087 bhi.w 8003148 - 800303a: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 - 800303e: f000 8086 beq.w 800314e - 8003042: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 - 8003046: d87f bhi.n 8003148 - 8003048: 2b70 cmp r3, #112 ; 0x70 - 800304a: d01a beq.n 8003082 - 800304c: 2b70 cmp r3, #112 ; 0x70 - 800304e: d87b bhi.n 8003148 - 8003050: 2b60 cmp r3, #96 ; 0x60 - 8003052: d050 beq.n 80030f6 - 8003054: 2b60 cmp r3, #96 ; 0x60 - 8003056: d877 bhi.n 8003148 - 8003058: 2b50 cmp r3, #80 ; 0x50 - 800305a: d03c beq.n 80030d6 - 800305c: 2b50 cmp r3, #80 ; 0x50 - 800305e: d873 bhi.n 8003148 - 8003060: 2b40 cmp r3, #64 ; 0x40 - 8003062: d058 beq.n 8003116 - 8003064: 2b40 cmp r3, #64 ; 0x40 - 8003066: d86f bhi.n 8003148 - 8003068: 2b30 cmp r3, #48 ; 0x30 - 800306a: d064 beq.n 8003136 - 800306c: 2b30 cmp r3, #48 ; 0x30 - 800306e: d86b bhi.n 8003148 - 8003070: 2b20 cmp r3, #32 - 8003072: d060 beq.n 8003136 - 8003074: 2b20 cmp r3, #32 - 8003076: d867 bhi.n 8003148 - 8003078: 2b00 cmp r3, #0 - 800307a: d05c beq.n 8003136 - 800307c: 2b10 cmp r3, #16 - 800307e: d05a beq.n 8003136 - 8003080: e062 b.n 8003148 + 8002ffc: 683b ldr r3, [r7, #0] + 8002ffe: 681b ldr r3, [r3, #0] + 8003000: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 + 8003004: d03e beq.n 8003084 + 8003006: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 + 800300a: f200 8087 bhi.w 800311c + 800300e: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 + 8003012: f000 8086 beq.w 8003122 + 8003016: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 + 800301a: d87f bhi.n 800311c + 800301c: 2b70 cmp r3, #112 ; 0x70 + 800301e: d01a beq.n 8003056 + 8003020: 2b70 cmp r3, #112 ; 0x70 + 8003022: d87b bhi.n 800311c + 8003024: 2b60 cmp r3, #96 ; 0x60 + 8003026: d050 beq.n 80030ca + 8003028: 2b60 cmp r3, #96 ; 0x60 + 800302a: d877 bhi.n 800311c + 800302c: 2b50 cmp r3, #80 ; 0x50 + 800302e: d03c beq.n 80030aa + 8003030: 2b50 cmp r3, #80 ; 0x50 + 8003032: d873 bhi.n 800311c + 8003034: 2b40 cmp r3, #64 ; 0x40 + 8003036: d058 beq.n 80030ea + 8003038: 2b40 cmp r3, #64 ; 0x40 + 800303a: d86f bhi.n 800311c + 800303c: 2b30 cmp r3, #48 ; 0x30 + 800303e: d064 beq.n 800310a + 8003040: 2b30 cmp r3, #48 ; 0x30 + 8003042: d86b bhi.n 800311c + 8003044: 2b20 cmp r3, #32 + 8003046: d060 beq.n 800310a + 8003048: 2b20 cmp r3, #32 + 800304a: d867 bhi.n 800311c + 800304c: 2b00 cmp r3, #0 + 800304e: d05c beq.n 800310a + 8003050: 2b10 cmp r3, #16 + 8003052: d05a beq.n 800310a + 8003054: e062 b.n 800311c assert_param(IS_TIM_CLOCKPRESCALER(sClockSourceConfig->ClockPrescaler)); assert_param(IS_TIM_CLOCKPOLARITY(sClockSourceConfig->ClockPolarity)); assert_param(IS_TIM_CLOCKFILTER(sClockSourceConfig->ClockFilter)); /* Configure the ETR Clock source */ TIM_ETR_SetConfig(htim->Instance, - 8003082: 687b ldr r3, [r7, #4] - 8003084: 6818 ldr r0, [r3, #0] - 8003086: 683b ldr r3, [r7, #0] - 8003088: 6899 ldr r1, [r3, #8] - 800308a: 683b ldr r3, [r7, #0] - 800308c: 685a ldr r2, [r3, #4] - 800308e: 683b ldr r3, [r7, #0] - 8003090: 68db ldr r3, [r3, #12] - 8003092: f000 fb67 bl 8003764 + 8003056: 687b ldr r3, [r7, #4] + 8003058: 6818 ldr r0, [r3, #0] + 800305a: 683b ldr r3, [r7, #0] + 800305c: 6899 ldr r1, [r3, #8] + 800305e: 683b ldr r3, [r7, #0] + 8003060: 685a ldr r2, [r3, #4] + 8003062: 683b ldr r3, [r7, #0] + 8003064: 68db ldr r3, [r3, #12] + 8003066: f000 fb67 bl 8003738 sClockSourceConfig->ClockPrescaler, sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); /* Select the External clock mode1 and the ETRF trigger */ tmpsmcr = htim->Instance->SMCR; - 8003096: 687b ldr r3, [r7, #4] - 8003098: 681b ldr r3, [r3, #0] - 800309a: 689b ldr r3, [r3, #8] - 800309c: 60bb str r3, [r7, #8] + 800306a: 687b ldr r3, [r7, #4] + 800306c: 681b ldr r3, [r3, #0] + 800306e: 689b ldr r3, [r3, #8] + 8003070: 60bb str r3, [r7, #8] tmpsmcr |= (TIM_SLAVEMODE_EXTERNAL1 | TIM_CLOCKSOURCE_ETRMODE1); - 800309e: 68bb ldr r3, [r7, #8] - 80030a0: f043 0377 orr.w r3, r3, #119 ; 0x77 - 80030a4: 60bb str r3, [r7, #8] + 8003072: 68bb ldr r3, [r7, #8] + 8003074: f043 0377 orr.w r3, r3, #119 ; 0x77 + 8003078: 60bb str r3, [r7, #8] /* Write to TIMx SMCR */ htim->Instance->SMCR = tmpsmcr; - 80030a6: 687b ldr r3, [r7, #4] - 80030a8: 681b ldr r3, [r3, #0] - 80030aa: 68ba ldr r2, [r7, #8] - 80030ac: 609a str r2, [r3, #8] + 800307a: 687b ldr r3, [r7, #4] + 800307c: 681b ldr r3, [r3, #0] + 800307e: 68ba ldr r2, [r7, #8] + 8003080: 609a str r2, [r3, #8] break; - 80030ae: e04f b.n 8003150 + 8003082: e04f b.n 8003124 assert_param(IS_TIM_CLOCKPRESCALER(sClockSourceConfig->ClockPrescaler)); assert_param(IS_TIM_CLOCKPOLARITY(sClockSourceConfig->ClockPolarity)); assert_param(IS_TIM_CLOCKFILTER(sClockSourceConfig->ClockFilter)); /* Configure the ETR Clock source */ TIM_ETR_SetConfig(htim->Instance, - 80030b0: 687b ldr r3, [r7, #4] - 80030b2: 6818 ldr r0, [r3, #0] - 80030b4: 683b ldr r3, [r7, #0] - 80030b6: 6899 ldr r1, [r3, #8] - 80030b8: 683b ldr r3, [r7, #0] - 80030ba: 685a ldr r2, [r3, #4] - 80030bc: 683b ldr r3, [r7, #0] - 80030be: 68db ldr r3, [r3, #12] - 80030c0: f000 fb50 bl 8003764 + 8003084: 687b ldr r3, [r7, #4] + 8003086: 6818 ldr r0, [r3, #0] + 8003088: 683b ldr r3, [r7, #0] + 800308a: 6899 ldr r1, [r3, #8] + 800308c: 683b ldr r3, [r7, #0] + 800308e: 685a ldr r2, [r3, #4] + 8003090: 683b ldr r3, [r7, #0] + 8003092: 68db ldr r3, [r3, #12] + 8003094: f000 fb50 bl 8003738 sClockSourceConfig->ClockPrescaler, sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); /* Enable the External clock mode2 */ htim->Instance->SMCR |= TIM_SMCR_ECE; - 80030c4: 687b ldr r3, [r7, #4] - 80030c6: 681b ldr r3, [r3, #0] - 80030c8: 689a ldr r2, [r3, #8] - 80030ca: 687b ldr r3, [r7, #4] - 80030cc: 681b ldr r3, [r3, #0] - 80030ce: f442 4280 orr.w r2, r2, #16384 ; 0x4000 - 80030d2: 609a str r2, [r3, #8] + 8003098: 687b ldr r3, [r7, #4] + 800309a: 681b ldr r3, [r3, #0] + 800309c: 689a ldr r2, [r3, #8] + 800309e: 687b ldr r3, [r7, #4] + 80030a0: 681b ldr r3, [r3, #0] + 80030a2: f442 4280 orr.w r2, r2, #16384 ; 0x4000 + 80030a6: 609a str r2, [r3, #8] break; - 80030d4: e03c b.n 8003150 + 80030a8: e03c b.n 8003124 /* Check TI1 input conditioning related parameters */ assert_param(IS_TIM_CLOCKPOLARITY(sClockSourceConfig->ClockPolarity)); assert_param(IS_TIM_CLOCKFILTER(sClockSourceConfig->ClockFilter)); TIM_TI1_ConfigInputStage(htim->Instance, - 80030d6: 687b ldr r3, [r7, #4] - 80030d8: 6818 ldr r0, [r3, #0] - 80030da: 683b ldr r3, [r7, #0] - 80030dc: 6859 ldr r1, [r3, #4] - 80030de: 683b ldr r3, [r7, #0] - 80030e0: 68db ldr r3, [r3, #12] - 80030e2: 461a mov r2, r3 - 80030e4: f000 fac4 bl 8003670 + 80030aa: 687b ldr r3, [r7, #4] + 80030ac: 6818 ldr r0, [r3, #0] + 80030ae: 683b ldr r3, [r7, #0] + 80030b0: 6859 ldr r1, [r3, #4] + 80030b2: 683b ldr r3, [r7, #0] + 80030b4: 68db ldr r3, [r3, #12] + 80030b6: 461a mov r2, r3 + 80030b8: f000 fac4 bl 8003644 sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1); - 80030e8: 687b ldr r3, [r7, #4] - 80030ea: 681b ldr r3, [r3, #0] - 80030ec: 2150 movs r1, #80 ; 0x50 - 80030ee: 4618 mov r0, r3 - 80030f0: f000 fb1d bl 800372e + 80030bc: 687b ldr r3, [r7, #4] + 80030be: 681b ldr r3, [r3, #0] + 80030c0: 2150 movs r1, #80 ; 0x50 + 80030c2: 4618 mov r0, r3 + 80030c4: f000 fb1d bl 8003702 break; - 80030f4: e02c b.n 8003150 + 80030c8: e02c b.n 8003124 /* Check TI2 input conditioning related parameters */ assert_param(IS_TIM_CLOCKPOLARITY(sClockSourceConfig->ClockPolarity)); assert_param(IS_TIM_CLOCKFILTER(sClockSourceConfig->ClockFilter)); TIM_TI2_ConfigInputStage(htim->Instance, - 80030f6: 687b ldr r3, [r7, #4] - 80030f8: 6818 ldr r0, [r3, #0] - 80030fa: 683b ldr r3, [r7, #0] - 80030fc: 6859 ldr r1, [r3, #4] - 80030fe: 683b ldr r3, [r7, #0] - 8003100: 68db ldr r3, [r3, #12] - 8003102: 461a mov r2, r3 - 8003104: f000 fae3 bl 80036ce + 80030ca: 687b ldr r3, [r7, #4] + 80030cc: 6818 ldr r0, [r3, #0] + 80030ce: 683b ldr r3, [r7, #0] + 80030d0: 6859 ldr r1, [r3, #4] + 80030d2: 683b ldr r3, [r7, #0] + 80030d4: 68db ldr r3, [r3, #12] + 80030d6: 461a mov r2, r3 + 80030d8: f000 fae3 bl 80036a2 sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI2); - 8003108: 687b ldr r3, [r7, #4] - 800310a: 681b ldr r3, [r3, #0] - 800310c: 2160 movs r1, #96 ; 0x60 - 800310e: 4618 mov r0, r3 - 8003110: f000 fb0d bl 800372e + 80030dc: 687b ldr r3, [r7, #4] + 80030de: 681b ldr r3, [r3, #0] + 80030e0: 2160 movs r1, #96 ; 0x60 + 80030e2: 4618 mov r0, r3 + 80030e4: f000 fb0d bl 8003702 break; - 8003114: e01c b.n 8003150 + 80030e8: e01c b.n 8003124 /* Check TI1 input conditioning related parameters */ assert_param(IS_TIM_CLOCKPOLARITY(sClockSourceConfig->ClockPolarity)); assert_param(IS_TIM_CLOCKFILTER(sClockSourceConfig->ClockFilter)); TIM_TI1_ConfigInputStage(htim->Instance, - 8003116: 687b ldr r3, [r7, #4] - 8003118: 6818 ldr r0, [r3, #0] - 800311a: 683b ldr r3, [r7, #0] - 800311c: 6859 ldr r1, [r3, #4] - 800311e: 683b ldr r3, [r7, #0] - 8003120: 68db ldr r3, [r3, #12] - 8003122: 461a mov r2, r3 - 8003124: f000 faa4 bl 8003670 + 80030ea: 687b ldr r3, [r7, #4] + 80030ec: 6818 ldr r0, [r3, #0] + 80030ee: 683b ldr r3, [r7, #0] + 80030f0: 6859 ldr r1, [r3, #4] + 80030f2: 683b ldr r3, [r7, #0] + 80030f4: 68db ldr r3, [r3, #12] + 80030f6: 461a mov r2, r3 + 80030f8: f000 faa4 bl 8003644 sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1ED); - 8003128: 687b ldr r3, [r7, #4] - 800312a: 681b ldr r3, [r3, #0] - 800312c: 2140 movs r1, #64 ; 0x40 - 800312e: 4618 mov r0, r3 - 8003130: f000 fafd bl 800372e + 80030fc: 687b ldr r3, [r7, #4] + 80030fe: 681b ldr r3, [r3, #0] + 8003100: 2140 movs r1, #64 ; 0x40 + 8003102: 4618 mov r0, r3 + 8003104: f000 fafd bl 8003702 break; - 8003134: e00c b.n 8003150 + 8003108: e00c b.n 8003124 case TIM_CLOCKSOURCE_ITR3: { /* Check whether or not the timer instance supports internal trigger input */ assert_param(IS_TIM_CLOCKSOURCE_ITRX_INSTANCE(htim->Instance)); TIM_ITRx_SetConfig(htim->Instance, sClockSourceConfig->ClockSource); - 8003136: 687b ldr r3, [r7, #4] - 8003138: 681a ldr r2, [r3, #0] - 800313a: 683b ldr r3, [r7, #0] - 800313c: 681b ldr r3, [r3, #0] - 800313e: 4619 mov r1, r3 - 8003140: 4610 mov r0, r2 - 8003142: f000 faf4 bl 800372e + 800310a: 687b ldr r3, [r7, #4] + 800310c: 681a ldr r2, [r3, #0] + 800310e: 683b ldr r3, [r7, #0] + 8003110: 681b ldr r3, [r3, #0] + 8003112: 4619 mov r1, r3 + 8003114: 4610 mov r0, r2 + 8003116: f000 faf4 bl 8003702 break; - 8003146: e003 b.n 8003150 + 800311a: e003 b.n 8003124 } default: status = HAL_ERROR; - 8003148: 2301 movs r3, #1 - 800314a: 73fb strb r3, [r7, #15] + 800311c: 2301 movs r3, #1 + 800311e: 73fb strb r3, [r7, #15] break; - 800314c: e000 b.n 8003150 + 8003120: e000 b.n 8003124 break; - 800314e: bf00 nop + 8003122: bf00 nop } htim->State = HAL_TIM_STATE_READY; - 8003150: 687b ldr r3, [r7, #4] - 8003152: 2201 movs r2, #1 - 8003154: f883 203d strb.w r2, [r3, #61] ; 0x3d + 8003124: 687b ldr r3, [r7, #4] + 8003126: 2201 movs r2, #1 + 8003128: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); - 8003158: 687b ldr r3, [r7, #4] - 800315a: 2200 movs r2, #0 - 800315c: f883 203c strb.w r2, [r3, #60] ; 0x3c + 800312c: 687b ldr r3, [r7, #4] + 800312e: 2200 movs r2, #0 + 8003130: f883 203c strb.w r2, [r3, #60] ; 0x3c return status; - 8003160: 7bfb ldrb r3, [r7, #15] + 8003134: 7bfb ldrb r3, [r7, #15] } - 8003162: 4618 mov r0, r3 - 8003164: 3710 adds r7, #16 - 8003166: 46bd mov sp, r7 - 8003168: bd80 pop {r7, pc} + 8003136: 4618 mov r0, r3 + 8003138: 3710 adds r7, #16 + 800313a: 46bd mov sp, r7 + 800313c: bd80 pop {r7, pc} -0800316a : +0800313e : * @brief Period elapsed callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { - 800316a: b480 push {r7} - 800316c: b083 sub sp, #12 - 800316e: af00 add r7, sp, #0 - 8003170: 6078 str r0, [r7, #4] + 800313e: b480 push {r7} + 8003140: b083 sub sp, #12 + 8003142: af00 add r7, sp, #0 + 8003144: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_PeriodElapsedCallback could be implemented in the user file */ } - 8003172: bf00 nop - 8003174: 370c adds r7, #12 - 8003176: 46bd mov sp, r7 - 8003178: f85d 7b04 ldr.w r7, [sp], #4 - 800317c: 4770 bx lr + 8003146: bf00 nop + 8003148: 370c adds r7, #12 + 800314a: 46bd mov sp, r7 + 800314c: f85d 7b04 ldr.w r7, [sp], #4 + 8003150: 4770 bx lr -0800317e : +08003152 : * @brief Output Compare callback in non-blocking mode * @param htim TIM OC handle * @retval None */ __weak void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim) { - 800317e: b480 push {r7} - 8003180: b083 sub sp, #12 - 8003182: af00 add r7, sp, #0 - 8003184: 6078 str r0, [r7, #4] + 8003152: b480 push {r7} + 8003154: b083 sub sp, #12 + 8003156: af00 add r7, sp, #0 + 8003158: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_OC_DelayElapsedCallback could be implemented in the user file */ } - 8003186: bf00 nop - 8003188: 370c adds r7, #12 - 800318a: 46bd mov sp, r7 - 800318c: f85d 7b04 ldr.w r7, [sp], #4 - 8003190: 4770 bx lr + 800315a: bf00 nop + 800315c: 370c adds r7, #12 + 800315e: 46bd mov sp, r7 + 8003160: f85d 7b04 ldr.w r7, [sp], #4 + 8003164: 4770 bx lr -08003192 : +08003166 : * @brief Input Capture callback in non-blocking mode * @param htim TIM IC handle * @retval None */ __weak void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) { - 8003192: b480 push {r7} - 8003194: b083 sub sp, #12 - 8003196: af00 add r7, sp, #0 - 8003198: 6078 str r0, [r7, #4] + 8003166: b480 push {r7} + 8003168: b083 sub sp, #12 + 800316a: af00 add r7, sp, #0 + 800316c: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_IC_CaptureCallback could be implemented in the user file */ } - 800319a: bf00 nop - 800319c: 370c adds r7, #12 - 800319e: 46bd mov sp, r7 - 80031a0: f85d 7b04 ldr.w r7, [sp], #4 - 80031a4: 4770 bx lr + 800316e: bf00 nop + 8003170: 370c adds r7, #12 + 8003172: 46bd mov sp, r7 + 8003174: f85d 7b04 ldr.w r7, [sp], #4 + 8003178: 4770 bx lr -080031a6 : +0800317a : * @brief PWM Pulse finished callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) { - 80031a6: b480 push {r7} - 80031a8: b083 sub sp, #12 - 80031aa: af00 add r7, sp, #0 - 80031ac: 6078 str r0, [r7, #4] + 800317a: b480 push {r7} + 800317c: b083 sub sp, #12 + 800317e: af00 add r7, sp, #0 + 8003180: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_PWM_PulseFinishedCallback could be implemented in the user file */ } - 80031ae: bf00 nop - 80031b0: 370c adds r7, #12 - 80031b2: 46bd mov sp, r7 - 80031b4: f85d 7b04 ldr.w r7, [sp], #4 - 80031b8: 4770 bx lr + 8003182: bf00 nop + 8003184: 370c adds r7, #12 + 8003186: 46bd mov sp, r7 + 8003188: f85d 7b04 ldr.w r7, [sp], #4 + 800318c: 4770 bx lr -080031ba : +0800318e : * @brief Hall Trigger detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim) { - 80031ba: b480 push {r7} - 80031bc: b083 sub sp, #12 - 80031be: af00 add r7, sp, #0 - 80031c0: 6078 str r0, [r7, #4] + 800318e: b480 push {r7} + 8003190: b083 sub sp, #12 + 8003192: af00 add r7, sp, #0 + 8003194: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_TriggerCallback could be implemented in the user file */ } - 80031c2: bf00 nop - 80031c4: 370c adds r7, #12 - 80031c6: 46bd mov sp, r7 - 80031c8: f85d 7b04 ldr.w r7, [sp], #4 - 80031cc: 4770 bx lr + 8003196: bf00 nop + 8003198: 370c adds r7, #12 + 800319a: 46bd mov sp, r7 + 800319c: f85d 7b04 ldr.w r7, [sp], #4 + 80031a0: 4770 bx lr ... -080031d0 : +080031a4 : * @param TIMx TIM peripheral * @param Structure TIM Base configuration structure * @retval None */ void TIM_Base_SetConfig(TIM_TypeDef *TIMx, TIM_Base_InitTypeDef *Structure) { - 80031d0: b480 push {r7} - 80031d2: b085 sub sp, #20 - 80031d4: af00 add r7, sp, #0 - 80031d6: 6078 str r0, [r7, #4] - 80031d8: 6039 str r1, [r7, #0] + 80031a4: b480 push {r7} + 80031a6: b085 sub sp, #20 + 80031a8: af00 add r7, sp, #0 + 80031aa: 6078 str r0, [r7, #4] + 80031ac: 6039 str r1, [r7, #0] uint32_t tmpcr1; tmpcr1 = TIMx->CR1; - 80031da: 687b ldr r3, [r7, #4] - 80031dc: 681b ldr r3, [r3, #0] - 80031de: 60fb str r3, [r7, #12] + 80031ae: 687b ldr r3, [r7, #4] + 80031b0: 681b ldr r3, [r3, #0] + 80031b2: 60fb str r3, [r7, #12] /* Set TIM Time Base Unit parameters ---------------------------------------*/ if (IS_TIM_COUNTER_MODE_SELECT_INSTANCE(TIMx)) - 80031e0: 687b ldr r3, [r7, #4] - 80031e2: 4a40 ldr r2, [pc, #256] ; (80032e4 ) - 80031e4: 4293 cmp r3, r2 - 80031e6: d013 beq.n 8003210 - 80031e8: 687b ldr r3, [r7, #4] - 80031ea: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 - 80031ee: d00f beq.n 8003210 - 80031f0: 687b ldr r3, [r7, #4] - 80031f2: 4a3d ldr r2, [pc, #244] ; (80032e8 ) - 80031f4: 4293 cmp r3, r2 - 80031f6: d00b beq.n 8003210 - 80031f8: 687b ldr r3, [r7, #4] - 80031fa: 4a3c ldr r2, [pc, #240] ; (80032ec ) - 80031fc: 4293 cmp r3, r2 - 80031fe: d007 beq.n 8003210 - 8003200: 687b ldr r3, [r7, #4] - 8003202: 4a3b ldr r2, [pc, #236] ; (80032f0 ) - 8003204: 4293 cmp r3, r2 - 8003206: d003 beq.n 8003210 - 8003208: 687b ldr r3, [r7, #4] - 800320a: 4a3a ldr r2, [pc, #232] ; (80032f4 ) - 800320c: 4293 cmp r3, r2 - 800320e: d108 bne.n 8003222 + 80031b4: 687b ldr r3, [r7, #4] + 80031b6: 4a40 ldr r2, [pc, #256] ; (80032b8 ) + 80031b8: 4293 cmp r3, r2 + 80031ba: d013 beq.n 80031e4 + 80031bc: 687b ldr r3, [r7, #4] + 80031be: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 + 80031c2: d00f beq.n 80031e4 + 80031c4: 687b ldr r3, [r7, #4] + 80031c6: 4a3d ldr r2, [pc, #244] ; (80032bc ) + 80031c8: 4293 cmp r3, r2 + 80031ca: d00b beq.n 80031e4 + 80031cc: 687b ldr r3, [r7, #4] + 80031ce: 4a3c ldr r2, [pc, #240] ; (80032c0 ) + 80031d0: 4293 cmp r3, r2 + 80031d2: d007 beq.n 80031e4 + 80031d4: 687b ldr r3, [r7, #4] + 80031d6: 4a3b ldr r2, [pc, #236] ; (80032c4 ) + 80031d8: 4293 cmp r3, r2 + 80031da: d003 beq.n 80031e4 + 80031dc: 687b ldr r3, [r7, #4] + 80031de: 4a3a ldr r2, [pc, #232] ; (80032c8 ) + 80031e0: 4293 cmp r3, r2 + 80031e2: d108 bne.n 80031f6 { /* Select the Counter Mode */ tmpcr1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS); - 8003210: 68fb ldr r3, [r7, #12] - 8003212: f023 0370 bic.w r3, r3, #112 ; 0x70 - 8003216: 60fb str r3, [r7, #12] + 80031e4: 68fb ldr r3, [r7, #12] + 80031e6: f023 0370 bic.w r3, r3, #112 ; 0x70 + 80031ea: 60fb str r3, [r7, #12] tmpcr1 |= Structure->CounterMode; - 8003218: 683b ldr r3, [r7, #0] - 800321a: 685b ldr r3, [r3, #4] - 800321c: 68fa ldr r2, [r7, #12] - 800321e: 4313 orrs r3, r2 - 8003220: 60fb str r3, [r7, #12] + 80031ec: 683b ldr r3, [r7, #0] + 80031ee: 685b ldr r3, [r3, #4] + 80031f0: 68fa ldr r2, [r7, #12] + 80031f2: 4313 orrs r3, r2 + 80031f4: 60fb str r3, [r7, #12] } if (IS_TIM_CLOCK_DIVISION_INSTANCE(TIMx)) - 8003222: 687b ldr r3, [r7, #4] - 8003224: 4a2f ldr r2, [pc, #188] ; (80032e4 ) - 8003226: 4293 cmp r3, r2 - 8003228: d02b beq.n 8003282 - 800322a: 687b ldr r3, [r7, #4] - 800322c: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 - 8003230: d027 beq.n 8003282 - 8003232: 687b ldr r3, [r7, #4] - 8003234: 4a2c ldr r2, [pc, #176] ; (80032e8 ) - 8003236: 4293 cmp r3, r2 - 8003238: d023 beq.n 8003282 - 800323a: 687b ldr r3, [r7, #4] - 800323c: 4a2b ldr r2, [pc, #172] ; (80032ec ) - 800323e: 4293 cmp r3, r2 - 8003240: d01f beq.n 8003282 - 8003242: 687b ldr r3, [r7, #4] - 8003244: 4a2a ldr r2, [pc, #168] ; (80032f0 ) - 8003246: 4293 cmp r3, r2 - 8003248: d01b beq.n 8003282 - 800324a: 687b ldr r3, [r7, #4] - 800324c: 4a29 ldr r2, [pc, #164] ; (80032f4 ) - 800324e: 4293 cmp r3, r2 - 8003250: d017 beq.n 8003282 - 8003252: 687b ldr r3, [r7, #4] - 8003254: 4a28 ldr r2, [pc, #160] ; (80032f8 ) - 8003256: 4293 cmp r3, r2 - 8003258: d013 beq.n 8003282 - 800325a: 687b ldr r3, [r7, #4] - 800325c: 4a27 ldr r2, [pc, #156] ; (80032fc ) - 800325e: 4293 cmp r3, r2 - 8003260: d00f beq.n 8003282 - 8003262: 687b ldr r3, [r7, #4] - 8003264: 4a26 ldr r2, [pc, #152] ; (8003300 ) - 8003266: 4293 cmp r3, r2 - 8003268: d00b beq.n 8003282 - 800326a: 687b ldr r3, [r7, #4] - 800326c: 4a25 ldr r2, [pc, #148] ; (8003304 ) - 800326e: 4293 cmp r3, r2 - 8003270: d007 beq.n 8003282 - 8003272: 687b ldr r3, [r7, #4] - 8003274: 4a24 ldr r2, [pc, #144] ; (8003308 ) - 8003276: 4293 cmp r3, r2 - 8003278: d003 beq.n 8003282 - 800327a: 687b ldr r3, [r7, #4] - 800327c: 4a23 ldr r2, [pc, #140] ; (800330c ) - 800327e: 4293 cmp r3, r2 - 8003280: d108 bne.n 8003294 + 80031f6: 687b ldr r3, [r7, #4] + 80031f8: 4a2f ldr r2, [pc, #188] ; (80032b8 ) + 80031fa: 4293 cmp r3, r2 + 80031fc: d02b beq.n 8003256 + 80031fe: 687b ldr r3, [r7, #4] + 8003200: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 + 8003204: d027 beq.n 8003256 + 8003206: 687b ldr r3, [r7, #4] + 8003208: 4a2c ldr r2, [pc, #176] ; (80032bc ) + 800320a: 4293 cmp r3, r2 + 800320c: d023 beq.n 8003256 + 800320e: 687b ldr r3, [r7, #4] + 8003210: 4a2b ldr r2, [pc, #172] ; (80032c0 ) + 8003212: 4293 cmp r3, r2 + 8003214: d01f beq.n 8003256 + 8003216: 687b ldr r3, [r7, #4] + 8003218: 4a2a ldr r2, [pc, #168] ; (80032c4 ) + 800321a: 4293 cmp r3, r2 + 800321c: d01b beq.n 8003256 + 800321e: 687b ldr r3, [r7, #4] + 8003220: 4a29 ldr r2, [pc, #164] ; (80032c8 ) + 8003222: 4293 cmp r3, r2 + 8003224: d017 beq.n 8003256 + 8003226: 687b ldr r3, [r7, #4] + 8003228: 4a28 ldr r2, [pc, #160] ; (80032cc ) + 800322a: 4293 cmp r3, r2 + 800322c: d013 beq.n 8003256 + 800322e: 687b ldr r3, [r7, #4] + 8003230: 4a27 ldr r2, [pc, #156] ; (80032d0 ) + 8003232: 4293 cmp r3, r2 + 8003234: d00f beq.n 8003256 + 8003236: 687b ldr r3, [r7, #4] + 8003238: 4a26 ldr r2, [pc, #152] ; (80032d4 ) + 800323a: 4293 cmp r3, r2 + 800323c: d00b beq.n 8003256 + 800323e: 687b ldr r3, [r7, #4] + 8003240: 4a25 ldr r2, [pc, #148] ; (80032d8 ) + 8003242: 4293 cmp r3, r2 + 8003244: d007 beq.n 8003256 + 8003246: 687b ldr r3, [r7, #4] + 8003248: 4a24 ldr r2, [pc, #144] ; (80032dc ) + 800324a: 4293 cmp r3, r2 + 800324c: d003 beq.n 8003256 + 800324e: 687b ldr r3, [r7, #4] + 8003250: 4a23 ldr r2, [pc, #140] ; (80032e0 ) + 8003252: 4293 cmp r3, r2 + 8003254: d108 bne.n 8003268 { /* Set the clock division */ tmpcr1 &= ~TIM_CR1_CKD; - 8003282: 68fb ldr r3, [r7, #12] - 8003284: f423 7340 bic.w r3, r3, #768 ; 0x300 - 8003288: 60fb str r3, [r7, #12] + 8003256: 68fb ldr r3, [r7, #12] + 8003258: f423 7340 bic.w r3, r3, #768 ; 0x300 + 800325c: 60fb str r3, [r7, #12] tmpcr1 |= (uint32_t)Structure->ClockDivision; - 800328a: 683b ldr r3, [r7, #0] - 800328c: 68db ldr r3, [r3, #12] - 800328e: 68fa ldr r2, [r7, #12] - 8003290: 4313 orrs r3, r2 - 8003292: 60fb str r3, [r7, #12] + 800325e: 683b ldr r3, [r7, #0] + 8003260: 68db ldr r3, [r3, #12] + 8003262: 68fa ldr r2, [r7, #12] + 8003264: 4313 orrs r3, r2 + 8003266: 60fb str r3, [r7, #12] } /* Set the auto-reload preload */ MODIFY_REG(tmpcr1, TIM_CR1_ARPE, Structure->AutoReloadPreload); - 8003294: 68fb ldr r3, [r7, #12] - 8003296: f023 0280 bic.w r2, r3, #128 ; 0x80 - 800329a: 683b ldr r3, [r7, #0] - 800329c: 695b ldr r3, [r3, #20] - 800329e: 4313 orrs r3, r2 - 80032a0: 60fb str r3, [r7, #12] + 8003268: 68fb ldr r3, [r7, #12] + 800326a: f023 0280 bic.w r2, r3, #128 ; 0x80 + 800326e: 683b ldr r3, [r7, #0] + 8003270: 695b ldr r3, [r3, #20] + 8003272: 4313 orrs r3, r2 + 8003274: 60fb str r3, [r7, #12] TIMx->CR1 = tmpcr1; - 80032a2: 687b ldr r3, [r7, #4] - 80032a4: 68fa ldr r2, [r7, #12] - 80032a6: 601a str r2, [r3, #0] + 8003276: 687b ldr r3, [r7, #4] + 8003278: 68fa ldr r2, [r7, #12] + 800327a: 601a str r2, [r3, #0] /* Set the Autoreload value */ TIMx->ARR = (uint32_t)Structure->Period ; - 80032a8: 683b ldr r3, [r7, #0] - 80032aa: 689a ldr r2, [r3, #8] - 80032ac: 687b ldr r3, [r7, #4] - 80032ae: 62da str r2, [r3, #44] ; 0x2c + 800327c: 683b ldr r3, [r7, #0] + 800327e: 689a ldr r2, [r3, #8] + 8003280: 687b ldr r3, [r7, #4] + 8003282: 62da str r2, [r3, #44] ; 0x2c /* Set the Prescaler value */ TIMx->PSC = Structure->Prescaler; - 80032b0: 683b ldr r3, [r7, #0] - 80032b2: 681a ldr r2, [r3, #0] - 80032b4: 687b ldr r3, [r7, #4] - 80032b6: 629a str r2, [r3, #40] ; 0x28 + 8003284: 683b ldr r3, [r7, #0] + 8003286: 681a ldr r2, [r3, #0] + 8003288: 687b ldr r3, [r7, #4] + 800328a: 629a str r2, [r3, #40] ; 0x28 if (IS_TIM_REPETITION_COUNTER_INSTANCE(TIMx)) - 80032b8: 687b ldr r3, [r7, #4] - 80032ba: 4a0a ldr r2, [pc, #40] ; (80032e4 ) - 80032bc: 4293 cmp r3, r2 - 80032be: d003 beq.n 80032c8 - 80032c0: 687b ldr r3, [r7, #4] - 80032c2: 4a0c ldr r2, [pc, #48] ; (80032f4 ) - 80032c4: 4293 cmp r3, r2 - 80032c6: d103 bne.n 80032d0 + 800328c: 687b ldr r3, [r7, #4] + 800328e: 4a0a ldr r2, [pc, #40] ; (80032b8 ) + 8003290: 4293 cmp r3, r2 + 8003292: d003 beq.n 800329c + 8003294: 687b ldr r3, [r7, #4] + 8003296: 4a0c ldr r2, [pc, #48] ; (80032c8 ) + 8003298: 4293 cmp r3, r2 + 800329a: d103 bne.n 80032a4 { /* Set the Repetition Counter value */ TIMx->RCR = Structure->RepetitionCounter; - 80032c8: 683b ldr r3, [r7, #0] - 80032ca: 691a ldr r2, [r3, #16] - 80032cc: 687b ldr r3, [r7, #4] - 80032ce: 631a str r2, [r3, #48] ; 0x30 + 800329c: 683b ldr r3, [r7, #0] + 800329e: 691a ldr r2, [r3, #16] + 80032a0: 687b ldr r3, [r7, #4] + 80032a2: 631a str r2, [r3, #48] ; 0x30 } /* Generate an update event to reload the Prescaler and the repetition counter (only for advanced timer) value immediately */ TIMx->EGR = TIM_EGR_UG; - 80032d0: 687b ldr r3, [r7, #4] - 80032d2: 2201 movs r2, #1 - 80032d4: 615a str r2, [r3, #20] + 80032a4: 687b ldr r3, [r7, #4] + 80032a6: 2201 movs r2, #1 + 80032a8: 615a str r2, [r3, #20] } - 80032d6: bf00 nop - 80032d8: 3714 adds r7, #20 - 80032da: 46bd mov sp, r7 - 80032dc: f85d 7b04 ldr.w r7, [sp], #4 - 80032e0: 4770 bx lr - 80032e2: bf00 nop - 80032e4: 40010000 .word 0x40010000 - 80032e8: 40000400 .word 0x40000400 - 80032ec: 40000800 .word 0x40000800 - 80032f0: 40000c00 .word 0x40000c00 - 80032f4: 40010400 .word 0x40010400 - 80032f8: 40014000 .word 0x40014000 - 80032fc: 40014400 .word 0x40014400 - 8003300: 40014800 .word 0x40014800 - 8003304: 40001800 .word 0x40001800 - 8003308: 40001c00 .word 0x40001c00 - 800330c: 40002000 .word 0x40002000 - -08003310 : + 80032aa: bf00 nop + 80032ac: 3714 adds r7, #20 + 80032ae: 46bd mov sp, r7 + 80032b0: f85d 7b04 ldr.w r7, [sp], #4 + 80032b4: 4770 bx lr + 80032b6: bf00 nop + 80032b8: 40010000 .word 0x40010000 + 80032bc: 40000400 .word 0x40000400 + 80032c0: 40000800 .word 0x40000800 + 80032c4: 40000c00 .word 0x40000c00 + 80032c8: 40010400 .word 0x40010400 + 80032cc: 40014000 .word 0x40014000 + 80032d0: 40014400 .word 0x40014400 + 80032d4: 40014800 .word 0x40014800 + 80032d8: 40001800 .word 0x40001800 + 80032dc: 40001c00 .word 0x40001c00 + 80032e0: 40002000 .word 0x40002000 + +080032e4 : * @param TIMx to select the TIM peripheral * @param OC_Config The output configuration structure * @retval None */ static void TIM_OC1_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) { - 8003310: b480 push {r7} - 8003312: b087 sub sp, #28 - 8003314: af00 add r7, sp, #0 - 8003316: 6078 str r0, [r7, #4] - 8003318: 6039 str r1, [r7, #0] + 80032e4: b480 push {r7} + 80032e6: b087 sub sp, #28 + 80032e8: af00 add r7, sp, #0 + 80032ea: 6078 str r0, [r7, #4] + 80032ec: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Disable the Channel 1: Reset the CC1E Bit */ TIMx->CCER &= ~TIM_CCER_CC1E; - 800331a: 687b ldr r3, [r7, #4] - 800331c: 6a1b ldr r3, [r3, #32] - 800331e: f023 0201 bic.w r2, r3, #1 - 8003322: 687b ldr r3, [r7, #4] - 8003324: 621a str r2, [r3, #32] + 80032ee: 687b ldr r3, [r7, #4] + 80032f0: 6a1b ldr r3, [r3, #32] + 80032f2: f023 0201 bic.w r2, r3, #1 + 80032f6: 687b ldr r3, [r7, #4] + 80032f8: 621a str r2, [r3, #32] /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 8003326: 687b ldr r3, [r7, #4] - 8003328: 6a1b ldr r3, [r3, #32] - 800332a: 617b str r3, [r7, #20] + 80032fa: 687b ldr r3, [r7, #4] + 80032fc: 6a1b ldr r3, [r3, #32] + 80032fe: 617b str r3, [r7, #20] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 800332c: 687b ldr r3, [r7, #4] - 800332e: 685b ldr r3, [r3, #4] - 8003330: 613b str r3, [r7, #16] + 8003300: 687b ldr r3, [r7, #4] + 8003302: 685b ldr r3, [r3, #4] + 8003304: 613b str r3, [r7, #16] /* Get the TIMx CCMR1 register value */ tmpccmrx = TIMx->CCMR1; - 8003332: 687b ldr r3, [r7, #4] - 8003334: 699b ldr r3, [r3, #24] - 8003336: 60fb str r3, [r7, #12] + 8003306: 687b ldr r3, [r7, #4] + 8003308: 699b ldr r3, [r3, #24] + 800330a: 60fb str r3, [r7, #12] /* Reset the Output Compare Mode Bits */ tmpccmrx &= ~TIM_CCMR1_OC1M; - 8003338: 68fb ldr r3, [r7, #12] - 800333a: f023 0370 bic.w r3, r3, #112 ; 0x70 - 800333e: 60fb str r3, [r7, #12] + 800330c: 68fb ldr r3, [r7, #12] + 800330e: f023 0370 bic.w r3, r3, #112 ; 0x70 + 8003312: 60fb str r3, [r7, #12] tmpccmrx &= ~TIM_CCMR1_CC1S; - 8003340: 68fb ldr r3, [r7, #12] - 8003342: f023 0303 bic.w r3, r3, #3 - 8003346: 60fb str r3, [r7, #12] + 8003314: 68fb ldr r3, [r7, #12] + 8003316: f023 0303 bic.w r3, r3, #3 + 800331a: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= OC_Config->OCMode; - 8003348: 683b ldr r3, [r7, #0] - 800334a: 681b ldr r3, [r3, #0] - 800334c: 68fa ldr r2, [r7, #12] - 800334e: 4313 orrs r3, r2 - 8003350: 60fb str r3, [r7, #12] + 800331c: 683b ldr r3, [r7, #0] + 800331e: 681b ldr r3, [r3, #0] + 8003320: 68fa ldr r2, [r7, #12] + 8003322: 4313 orrs r3, r2 + 8003324: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= ~TIM_CCER_CC1P; - 8003352: 697b ldr r3, [r7, #20] - 8003354: f023 0302 bic.w r3, r3, #2 - 8003358: 617b str r3, [r7, #20] + 8003326: 697b ldr r3, [r7, #20] + 8003328: f023 0302 bic.w r3, r3, #2 + 800332c: 617b str r3, [r7, #20] /* Set the Output Compare Polarity */ tmpccer |= OC_Config->OCPolarity; - 800335a: 683b ldr r3, [r7, #0] - 800335c: 689b ldr r3, [r3, #8] - 800335e: 697a ldr r2, [r7, #20] - 8003360: 4313 orrs r3, r2 - 8003362: 617b str r3, [r7, #20] + 800332e: 683b ldr r3, [r7, #0] + 8003330: 689b ldr r3, [r3, #8] + 8003332: 697a ldr r2, [r7, #20] + 8003334: 4313 orrs r3, r2 + 8003336: 617b str r3, [r7, #20] if (IS_TIM_CCXN_INSTANCE(TIMx, TIM_CHANNEL_1)) - 8003364: 687b ldr r3, [r7, #4] - 8003366: 4a20 ldr r2, [pc, #128] ; (80033e8 ) - 8003368: 4293 cmp r3, r2 - 800336a: d003 beq.n 8003374 - 800336c: 687b ldr r3, [r7, #4] - 800336e: 4a1f ldr r2, [pc, #124] ; (80033ec ) - 8003370: 4293 cmp r3, r2 - 8003372: d10c bne.n 800338e + 8003338: 687b ldr r3, [r7, #4] + 800333a: 4a20 ldr r2, [pc, #128] ; (80033bc ) + 800333c: 4293 cmp r3, r2 + 800333e: d003 beq.n 8003348 + 8003340: 687b ldr r3, [r7, #4] + 8003342: 4a1f ldr r2, [pc, #124] ; (80033c0 ) + 8003344: 4293 cmp r3, r2 + 8003346: d10c bne.n 8003362 { /* Check parameters */ assert_param(IS_TIM_OCN_POLARITY(OC_Config->OCNPolarity)); /* Reset the Output N Polarity level */ tmpccer &= ~TIM_CCER_CC1NP; - 8003374: 697b ldr r3, [r7, #20] - 8003376: f023 0308 bic.w r3, r3, #8 - 800337a: 617b str r3, [r7, #20] + 8003348: 697b ldr r3, [r7, #20] + 800334a: f023 0308 bic.w r3, r3, #8 + 800334e: 617b str r3, [r7, #20] /* Set the Output N Polarity */ tmpccer |= OC_Config->OCNPolarity; - 800337c: 683b ldr r3, [r7, #0] - 800337e: 68db ldr r3, [r3, #12] - 8003380: 697a ldr r2, [r7, #20] - 8003382: 4313 orrs r3, r2 - 8003384: 617b str r3, [r7, #20] + 8003350: 683b ldr r3, [r7, #0] + 8003352: 68db ldr r3, [r3, #12] + 8003354: 697a ldr r2, [r7, #20] + 8003356: 4313 orrs r3, r2 + 8003358: 617b str r3, [r7, #20] /* Reset the Output N State */ tmpccer &= ~TIM_CCER_CC1NE; - 8003386: 697b ldr r3, [r7, #20] - 8003388: f023 0304 bic.w r3, r3, #4 - 800338c: 617b str r3, [r7, #20] + 800335a: 697b ldr r3, [r7, #20] + 800335c: f023 0304 bic.w r3, r3, #4 + 8003360: 617b str r3, [r7, #20] } if (IS_TIM_BREAK_INSTANCE(TIMx)) - 800338e: 687b ldr r3, [r7, #4] - 8003390: 4a15 ldr r2, [pc, #84] ; (80033e8 ) - 8003392: 4293 cmp r3, r2 - 8003394: d003 beq.n 800339e - 8003396: 687b ldr r3, [r7, #4] - 8003398: 4a14 ldr r2, [pc, #80] ; (80033ec ) - 800339a: 4293 cmp r3, r2 - 800339c: d111 bne.n 80033c2 + 8003362: 687b ldr r3, [r7, #4] + 8003364: 4a15 ldr r2, [pc, #84] ; (80033bc ) + 8003366: 4293 cmp r3, r2 + 8003368: d003 beq.n 8003372 + 800336a: 687b ldr r3, [r7, #4] + 800336c: 4a14 ldr r2, [pc, #80] ; (80033c0 ) + 800336e: 4293 cmp r3, r2 + 8003370: d111 bne.n 8003396 /* Check parameters */ assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState)); assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); /* Reset the Output Compare and Output Compare N IDLE State */ tmpcr2 &= ~TIM_CR2_OIS1; - 800339e: 693b ldr r3, [r7, #16] - 80033a0: f423 7380 bic.w r3, r3, #256 ; 0x100 - 80033a4: 613b str r3, [r7, #16] + 8003372: 693b ldr r3, [r7, #16] + 8003374: f423 7380 bic.w r3, r3, #256 ; 0x100 + 8003378: 613b str r3, [r7, #16] tmpcr2 &= ~TIM_CR2_OIS1N; - 80033a6: 693b ldr r3, [r7, #16] - 80033a8: f423 7300 bic.w r3, r3, #512 ; 0x200 - 80033ac: 613b str r3, [r7, #16] + 800337a: 693b ldr r3, [r7, #16] + 800337c: f423 7300 bic.w r3, r3, #512 ; 0x200 + 8003380: 613b str r3, [r7, #16] /* Set the Output Idle state */ tmpcr2 |= OC_Config->OCIdleState; - 80033ae: 683b ldr r3, [r7, #0] - 80033b0: 695b ldr r3, [r3, #20] - 80033b2: 693a ldr r2, [r7, #16] - 80033b4: 4313 orrs r3, r2 - 80033b6: 613b str r3, [r7, #16] + 8003382: 683b ldr r3, [r7, #0] + 8003384: 695b ldr r3, [r3, #20] + 8003386: 693a ldr r2, [r7, #16] + 8003388: 4313 orrs r3, r2 + 800338a: 613b str r3, [r7, #16] /* Set the Output N Idle state */ tmpcr2 |= OC_Config->OCNIdleState; - 80033b8: 683b ldr r3, [r7, #0] - 80033ba: 699b ldr r3, [r3, #24] - 80033bc: 693a ldr r2, [r7, #16] - 80033be: 4313 orrs r3, r2 - 80033c0: 613b str r3, [r7, #16] + 800338c: 683b ldr r3, [r7, #0] + 800338e: 699b ldr r3, [r3, #24] + 8003390: 693a ldr r2, [r7, #16] + 8003392: 4313 orrs r3, r2 + 8003394: 613b str r3, [r7, #16] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 80033c2: 687b ldr r3, [r7, #4] - 80033c4: 693a ldr r2, [r7, #16] - 80033c6: 605a str r2, [r3, #4] + 8003396: 687b ldr r3, [r7, #4] + 8003398: 693a ldr r2, [r7, #16] + 800339a: 605a str r2, [r3, #4] /* Write to TIMx CCMR1 */ TIMx->CCMR1 = tmpccmrx; - 80033c8: 687b ldr r3, [r7, #4] - 80033ca: 68fa ldr r2, [r7, #12] - 80033cc: 619a str r2, [r3, #24] + 800339c: 687b ldr r3, [r7, #4] + 800339e: 68fa ldr r2, [r7, #12] + 80033a0: 619a str r2, [r3, #24] /* Set the Capture Compare Register value */ TIMx->CCR1 = OC_Config->Pulse; - 80033ce: 683b ldr r3, [r7, #0] - 80033d0: 685a ldr r2, [r3, #4] - 80033d2: 687b ldr r3, [r7, #4] - 80033d4: 635a str r2, [r3, #52] ; 0x34 + 80033a2: 683b ldr r3, [r7, #0] + 80033a4: 685a ldr r2, [r3, #4] + 80033a6: 687b ldr r3, [r7, #4] + 80033a8: 635a str r2, [r3, #52] ; 0x34 /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 80033d6: 687b ldr r3, [r7, #4] - 80033d8: 697a ldr r2, [r7, #20] - 80033da: 621a str r2, [r3, #32] + 80033aa: 687b ldr r3, [r7, #4] + 80033ac: 697a ldr r2, [r7, #20] + 80033ae: 621a str r2, [r3, #32] } - 80033dc: bf00 nop - 80033de: 371c adds r7, #28 - 80033e0: 46bd mov sp, r7 - 80033e2: f85d 7b04 ldr.w r7, [sp], #4 - 80033e6: 4770 bx lr - 80033e8: 40010000 .word 0x40010000 - 80033ec: 40010400 .word 0x40010400 - -080033f0 : + 80033b0: bf00 nop + 80033b2: 371c adds r7, #28 + 80033b4: 46bd mov sp, r7 + 80033b6: f85d 7b04 ldr.w r7, [sp], #4 + 80033ba: 4770 bx lr + 80033bc: 40010000 .word 0x40010000 + 80033c0: 40010400 .word 0x40010400 + +080033c4 : * @param TIMx to select the TIM peripheral * @param OC_Config The output configuration structure * @retval None */ void TIM_OC2_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) { - 80033f0: b480 push {r7} - 80033f2: b087 sub sp, #28 - 80033f4: af00 add r7, sp, #0 - 80033f6: 6078 str r0, [r7, #4] - 80033f8: 6039 str r1, [r7, #0] + 80033c4: b480 push {r7} + 80033c6: b087 sub sp, #28 + 80033c8: af00 add r7, sp, #0 + 80033ca: 6078 str r0, [r7, #4] + 80033cc: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Disable the Channel 2: Reset the CC2E Bit */ TIMx->CCER &= ~TIM_CCER_CC2E; - 80033fa: 687b ldr r3, [r7, #4] - 80033fc: 6a1b ldr r3, [r3, #32] - 80033fe: f023 0210 bic.w r2, r3, #16 - 8003402: 687b ldr r3, [r7, #4] - 8003404: 621a str r2, [r3, #32] + 80033ce: 687b ldr r3, [r7, #4] + 80033d0: 6a1b ldr r3, [r3, #32] + 80033d2: f023 0210 bic.w r2, r3, #16 + 80033d6: 687b ldr r3, [r7, #4] + 80033d8: 621a str r2, [r3, #32] /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 8003406: 687b ldr r3, [r7, #4] - 8003408: 6a1b ldr r3, [r3, #32] - 800340a: 617b str r3, [r7, #20] + 80033da: 687b ldr r3, [r7, #4] + 80033dc: 6a1b ldr r3, [r3, #32] + 80033de: 617b str r3, [r7, #20] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 800340c: 687b ldr r3, [r7, #4] - 800340e: 685b ldr r3, [r3, #4] - 8003410: 613b str r3, [r7, #16] + 80033e0: 687b ldr r3, [r7, #4] + 80033e2: 685b ldr r3, [r3, #4] + 80033e4: 613b str r3, [r7, #16] /* Get the TIMx CCMR1 register value */ tmpccmrx = TIMx->CCMR1; - 8003412: 687b ldr r3, [r7, #4] - 8003414: 699b ldr r3, [r3, #24] - 8003416: 60fb str r3, [r7, #12] + 80033e6: 687b ldr r3, [r7, #4] + 80033e8: 699b ldr r3, [r3, #24] + 80033ea: 60fb str r3, [r7, #12] /* Reset the Output Compare mode and Capture/Compare selection Bits */ tmpccmrx &= ~TIM_CCMR1_OC2M; - 8003418: 68fb ldr r3, [r7, #12] - 800341a: f423 43e0 bic.w r3, r3, #28672 ; 0x7000 - 800341e: 60fb str r3, [r7, #12] + 80033ec: 68fb ldr r3, [r7, #12] + 80033ee: f423 43e0 bic.w r3, r3, #28672 ; 0x7000 + 80033f2: 60fb str r3, [r7, #12] tmpccmrx &= ~TIM_CCMR1_CC2S; - 8003420: 68fb ldr r3, [r7, #12] - 8003422: f423 7340 bic.w r3, r3, #768 ; 0x300 - 8003426: 60fb str r3, [r7, #12] + 80033f4: 68fb ldr r3, [r7, #12] + 80033f6: f423 7340 bic.w r3, r3, #768 ; 0x300 + 80033fa: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= (OC_Config->OCMode << 8U); - 8003428: 683b ldr r3, [r7, #0] - 800342a: 681b ldr r3, [r3, #0] - 800342c: 021b lsls r3, r3, #8 - 800342e: 68fa ldr r2, [r7, #12] - 8003430: 4313 orrs r3, r2 - 8003432: 60fb str r3, [r7, #12] + 80033fc: 683b ldr r3, [r7, #0] + 80033fe: 681b ldr r3, [r3, #0] + 8003400: 021b lsls r3, r3, #8 + 8003402: 68fa ldr r2, [r7, #12] + 8003404: 4313 orrs r3, r2 + 8003406: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= ~TIM_CCER_CC2P; - 8003434: 697b ldr r3, [r7, #20] - 8003436: f023 0320 bic.w r3, r3, #32 - 800343a: 617b str r3, [r7, #20] + 8003408: 697b ldr r3, [r7, #20] + 800340a: f023 0320 bic.w r3, r3, #32 + 800340e: 617b str r3, [r7, #20] /* Set the Output Compare Polarity */ tmpccer |= (OC_Config->OCPolarity << 4U); - 800343c: 683b ldr r3, [r7, #0] - 800343e: 689b ldr r3, [r3, #8] - 8003440: 011b lsls r3, r3, #4 - 8003442: 697a ldr r2, [r7, #20] - 8003444: 4313 orrs r3, r2 - 8003446: 617b str r3, [r7, #20] + 8003410: 683b ldr r3, [r7, #0] + 8003412: 689b ldr r3, [r3, #8] + 8003414: 011b lsls r3, r3, #4 + 8003416: 697a ldr r2, [r7, #20] + 8003418: 4313 orrs r3, r2 + 800341a: 617b str r3, [r7, #20] if (IS_TIM_CCXN_INSTANCE(TIMx, TIM_CHANNEL_2)) - 8003448: 687b ldr r3, [r7, #4] - 800344a: 4a22 ldr r2, [pc, #136] ; (80034d4 ) - 800344c: 4293 cmp r3, r2 - 800344e: d003 beq.n 8003458 - 8003450: 687b ldr r3, [r7, #4] - 8003452: 4a21 ldr r2, [pc, #132] ; (80034d8 ) - 8003454: 4293 cmp r3, r2 - 8003456: d10d bne.n 8003474 + 800341c: 687b ldr r3, [r7, #4] + 800341e: 4a22 ldr r2, [pc, #136] ; (80034a8 ) + 8003420: 4293 cmp r3, r2 + 8003422: d003 beq.n 800342c + 8003424: 687b ldr r3, [r7, #4] + 8003426: 4a21 ldr r2, [pc, #132] ; (80034ac ) + 8003428: 4293 cmp r3, r2 + 800342a: d10d bne.n 8003448 { assert_param(IS_TIM_OCN_POLARITY(OC_Config->OCNPolarity)); /* Reset the Output N Polarity level */ tmpccer &= ~TIM_CCER_CC2NP; - 8003458: 697b ldr r3, [r7, #20] - 800345a: f023 0380 bic.w r3, r3, #128 ; 0x80 - 800345e: 617b str r3, [r7, #20] + 800342c: 697b ldr r3, [r7, #20] + 800342e: f023 0380 bic.w r3, r3, #128 ; 0x80 + 8003432: 617b str r3, [r7, #20] /* Set the Output N Polarity */ tmpccer |= (OC_Config->OCNPolarity << 4U); - 8003460: 683b ldr r3, [r7, #0] - 8003462: 68db ldr r3, [r3, #12] - 8003464: 011b lsls r3, r3, #4 - 8003466: 697a ldr r2, [r7, #20] - 8003468: 4313 orrs r3, r2 - 800346a: 617b str r3, [r7, #20] + 8003434: 683b ldr r3, [r7, #0] + 8003436: 68db ldr r3, [r3, #12] + 8003438: 011b lsls r3, r3, #4 + 800343a: 697a ldr r2, [r7, #20] + 800343c: 4313 orrs r3, r2 + 800343e: 617b str r3, [r7, #20] /* Reset the Output N State */ tmpccer &= ~TIM_CCER_CC2NE; - 800346c: 697b ldr r3, [r7, #20] - 800346e: f023 0340 bic.w r3, r3, #64 ; 0x40 - 8003472: 617b str r3, [r7, #20] + 8003440: 697b ldr r3, [r7, #20] + 8003442: f023 0340 bic.w r3, r3, #64 ; 0x40 + 8003446: 617b str r3, [r7, #20] } if (IS_TIM_BREAK_INSTANCE(TIMx)) - 8003474: 687b ldr r3, [r7, #4] - 8003476: 4a17 ldr r2, [pc, #92] ; (80034d4 ) - 8003478: 4293 cmp r3, r2 - 800347a: d003 beq.n 8003484 - 800347c: 687b ldr r3, [r7, #4] - 800347e: 4a16 ldr r2, [pc, #88] ; (80034d8 ) - 8003480: 4293 cmp r3, r2 - 8003482: d113 bne.n 80034ac + 8003448: 687b ldr r3, [r7, #4] + 800344a: 4a17 ldr r2, [pc, #92] ; (80034a8 ) + 800344c: 4293 cmp r3, r2 + 800344e: d003 beq.n 8003458 + 8003450: 687b ldr r3, [r7, #4] + 8003452: 4a16 ldr r2, [pc, #88] ; (80034ac ) + 8003454: 4293 cmp r3, r2 + 8003456: d113 bne.n 8003480 /* Check parameters */ assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState)); assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); /* Reset the Output Compare and Output Compare N IDLE State */ tmpcr2 &= ~TIM_CR2_OIS2; - 8003484: 693b ldr r3, [r7, #16] - 8003486: f423 6380 bic.w r3, r3, #1024 ; 0x400 - 800348a: 613b str r3, [r7, #16] + 8003458: 693b ldr r3, [r7, #16] + 800345a: f423 6380 bic.w r3, r3, #1024 ; 0x400 + 800345e: 613b str r3, [r7, #16] tmpcr2 &= ~TIM_CR2_OIS2N; - 800348c: 693b ldr r3, [r7, #16] - 800348e: f423 6300 bic.w r3, r3, #2048 ; 0x800 - 8003492: 613b str r3, [r7, #16] + 8003460: 693b ldr r3, [r7, #16] + 8003462: f423 6300 bic.w r3, r3, #2048 ; 0x800 + 8003466: 613b str r3, [r7, #16] /* Set the Output Idle state */ tmpcr2 |= (OC_Config->OCIdleState << 2U); - 8003494: 683b ldr r3, [r7, #0] - 8003496: 695b ldr r3, [r3, #20] - 8003498: 009b lsls r3, r3, #2 - 800349a: 693a ldr r2, [r7, #16] - 800349c: 4313 orrs r3, r2 - 800349e: 613b str r3, [r7, #16] + 8003468: 683b ldr r3, [r7, #0] + 800346a: 695b ldr r3, [r3, #20] + 800346c: 009b lsls r3, r3, #2 + 800346e: 693a ldr r2, [r7, #16] + 8003470: 4313 orrs r3, r2 + 8003472: 613b str r3, [r7, #16] /* Set the Output N Idle state */ tmpcr2 |= (OC_Config->OCNIdleState << 2U); - 80034a0: 683b ldr r3, [r7, #0] - 80034a2: 699b ldr r3, [r3, #24] - 80034a4: 009b lsls r3, r3, #2 - 80034a6: 693a ldr r2, [r7, #16] - 80034a8: 4313 orrs r3, r2 - 80034aa: 613b str r3, [r7, #16] + 8003474: 683b ldr r3, [r7, #0] + 8003476: 699b ldr r3, [r3, #24] + 8003478: 009b lsls r3, r3, #2 + 800347a: 693a ldr r2, [r7, #16] + 800347c: 4313 orrs r3, r2 + 800347e: 613b str r3, [r7, #16] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 80034ac: 687b ldr r3, [r7, #4] - 80034ae: 693a ldr r2, [r7, #16] - 80034b0: 605a str r2, [r3, #4] + 8003480: 687b ldr r3, [r7, #4] + 8003482: 693a ldr r2, [r7, #16] + 8003484: 605a str r2, [r3, #4] /* Write to TIMx CCMR1 */ TIMx->CCMR1 = tmpccmrx; - 80034b2: 687b ldr r3, [r7, #4] - 80034b4: 68fa ldr r2, [r7, #12] - 80034b6: 619a str r2, [r3, #24] + 8003486: 687b ldr r3, [r7, #4] + 8003488: 68fa ldr r2, [r7, #12] + 800348a: 619a str r2, [r3, #24] /* Set the Capture Compare Register value */ TIMx->CCR2 = OC_Config->Pulse; - 80034b8: 683b ldr r3, [r7, #0] - 80034ba: 685a ldr r2, [r3, #4] - 80034bc: 687b ldr r3, [r7, #4] - 80034be: 639a str r2, [r3, #56] ; 0x38 + 800348c: 683b ldr r3, [r7, #0] + 800348e: 685a ldr r2, [r3, #4] + 8003490: 687b ldr r3, [r7, #4] + 8003492: 639a str r2, [r3, #56] ; 0x38 /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 80034c0: 687b ldr r3, [r7, #4] - 80034c2: 697a ldr r2, [r7, #20] - 80034c4: 621a str r2, [r3, #32] + 8003494: 687b ldr r3, [r7, #4] + 8003496: 697a ldr r2, [r7, #20] + 8003498: 621a str r2, [r3, #32] } - 80034c6: bf00 nop - 80034c8: 371c adds r7, #28 - 80034ca: 46bd mov sp, r7 - 80034cc: f85d 7b04 ldr.w r7, [sp], #4 - 80034d0: 4770 bx lr - 80034d2: bf00 nop - 80034d4: 40010000 .word 0x40010000 - 80034d8: 40010400 .word 0x40010400 - -080034dc : + 800349a: bf00 nop + 800349c: 371c adds r7, #28 + 800349e: 46bd mov sp, r7 + 80034a0: f85d 7b04 ldr.w r7, [sp], #4 + 80034a4: 4770 bx lr + 80034a6: bf00 nop + 80034a8: 40010000 .word 0x40010000 + 80034ac: 40010400 .word 0x40010400 + +080034b0 : * @param TIMx to select the TIM peripheral * @param OC_Config The output configuration structure * @retval None */ static void TIM_OC3_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) { - 80034dc: b480 push {r7} - 80034de: b087 sub sp, #28 - 80034e0: af00 add r7, sp, #0 - 80034e2: 6078 str r0, [r7, #4] - 80034e4: 6039 str r1, [r7, #0] + 80034b0: b480 push {r7} + 80034b2: b087 sub sp, #28 + 80034b4: af00 add r7, sp, #0 + 80034b6: 6078 str r0, [r7, #4] + 80034b8: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Disable the Channel 3: Reset the CC2E Bit */ TIMx->CCER &= ~TIM_CCER_CC3E; - 80034e6: 687b ldr r3, [r7, #4] - 80034e8: 6a1b ldr r3, [r3, #32] - 80034ea: f423 7280 bic.w r2, r3, #256 ; 0x100 - 80034ee: 687b ldr r3, [r7, #4] - 80034f0: 621a str r2, [r3, #32] + 80034ba: 687b ldr r3, [r7, #4] + 80034bc: 6a1b ldr r3, [r3, #32] + 80034be: f423 7280 bic.w r2, r3, #256 ; 0x100 + 80034c2: 687b ldr r3, [r7, #4] + 80034c4: 621a str r2, [r3, #32] /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 80034f2: 687b ldr r3, [r7, #4] - 80034f4: 6a1b ldr r3, [r3, #32] - 80034f6: 617b str r3, [r7, #20] + 80034c6: 687b ldr r3, [r7, #4] + 80034c8: 6a1b ldr r3, [r3, #32] + 80034ca: 617b str r3, [r7, #20] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 80034f8: 687b ldr r3, [r7, #4] - 80034fa: 685b ldr r3, [r3, #4] - 80034fc: 613b str r3, [r7, #16] + 80034cc: 687b ldr r3, [r7, #4] + 80034ce: 685b ldr r3, [r3, #4] + 80034d0: 613b str r3, [r7, #16] /* Get the TIMx CCMR2 register value */ tmpccmrx = TIMx->CCMR2; - 80034fe: 687b ldr r3, [r7, #4] - 8003500: 69db ldr r3, [r3, #28] - 8003502: 60fb str r3, [r7, #12] + 80034d2: 687b ldr r3, [r7, #4] + 80034d4: 69db ldr r3, [r3, #28] + 80034d6: 60fb str r3, [r7, #12] /* Reset the Output Compare mode and Capture/Compare selection Bits */ tmpccmrx &= ~TIM_CCMR2_OC3M; - 8003504: 68fb ldr r3, [r7, #12] - 8003506: f023 0370 bic.w r3, r3, #112 ; 0x70 - 800350a: 60fb str r3, [r7, #12] + 80034d8: 68fb ldr r3, [r7, #12] + 80034da: f023 0370 bic.w r3, r3, #112 ; 0x70 + 80034de: 60fb str r3, [r7, #12] tmpccmrx &= ~TIM_CCMR2_CC3S; - 800350c: 68fb ldr r3, [r7, #12] - 800350e: f023 0303 bic.w r3, r3, #3 - 8003512: 60fb str r3, [r7, #12] + 80034e0: 68fb ldr r3, [r7, #12] + 80034e2: f023 0303 bic.w r3, r3, #3 + 80034e6: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= OC_Config->OCMode; - 8003514: 683b ldr r3, [r7, #0] - 8003516: 681b ldr r3, [r3, #0] - 8003518: 68fa ldr r2, [r7, #12] - 800351a: 4313 orrs r3, r2 - 800351c: 60fb str r3, [r7, #12] + 80034e8: 683b ldr r3, [r7, #0] + 80034ea: 681b ldr r3, [r3, #0] + 80034ec: 68fa ldr r2, [r7, #12] + 80034ee: 4313 orrs r3, r2 + 80034f0: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= ~TIM_CCER_CC3P; - 800351e: 697b ldr r3, [r7, #20] - 8003520: f423 7300 bic.w r3, r3, #512 ; 0x200 - 8003524: 617b str r3, [r7, #20] + 80034f2: 697b ldr r3, [r7, #20] + 80034f4: f423 7300 bic.w r3, r3, #512 ; 0x200 + 80034f8: 617b str r3, [r7, #20] /* Set the Output Compare Polarity */ tmpccer |= (OC_Config->OCPolarity << 8U); - 8003526: 683b ldr r3, [r7, #0] - 8003528: 689b ldr r3, [r3, #8] - 800352a: 021b lsls r3, r3, #8 - 800352c: 697a ldr r2, [r7, #20] - 800352e: 4313 orrs r3, r2 - 8003530: 617b str r3, [r7, #20] + 80034fa: 683b ldr r3, [r7, #0] + 80034fc: 689b ldr r3, [r3, #8] + 80034fe: 021b lsls r3, r3, #8 + 8003500: 697a ldr r2, [r7, #20] + 8003502: 4313 orrs r3, r2 + 8003504: 617b str r3, [r7, #20] if (IS_TIM_CCXN_INSTANCE(TIMx, TIM_CHANNEL_3)) - 8003532: 687b ldr r3, [r7, #4] - 8003534: 4a21 ldr r2, [pc, #132] ; (80035bc ) - 8003536: 4293 cmp r3, r2 - 8003538: d003 beq.n 8003542 - 800353a: 687b ldr r3, [r7, #4] - 800353c: 4a20 ldr r2, [pc, #128] ; (80035c0 ) - 800353e: 4293 cmp r3, r2 - 8003540: d10d bne.n 800355e + 8003506: 687b ldr r3, [r7, #4] + 8003508: 4a21 ldr r2, [pc, #132] ; (8003590 ) + 800350a: 4293 cmp r3, r2 + 800350c: d003 beq.n 8003516 + 800350e: 687b ldr r3, [r7, #4] + 8003510: 4a20 ldr r2, [pc, #128] ; (8003594 ) + 8003512: 4293 cmp r3, r2 + 8003514: d10d bne.n 8003532 { assert_param(IS_TIM_OCN_POLARITY(OC_Config->OCNPolarity)); /* Reset the Output N Polarity level */ tmpccer &= ~TIM_CCER_CC3NP; - 8003542: 697b ldr r3, [r7, #20] - 8003544: f423 6300 bic.w r3, r3, #2048 ; 0x800 - 8003548: 617b str r3, [r7, #20] + 8003516: 697b ldr r3, [r7, #20] + 8003518: f423 6300 bic.w r3, r3, #2048 ; 0x800 + 800351c: 617b str r3, [r7, #20] /* Set the Output N Polarity */ tmpccer |= (OC_Config->OCNPolarity << 8U); - 800354a: 683b ldr r3, [r7, #0] - 800354c: 68db ldr r3, [r3, #12] - 800354e: 021b lsls r3, r3, #8 - 8003550: 697a ldr r2, [r7, #20] - 8003552: 4313 orrs r3, r2 - 8003554: 617b str r3, [r7, #20] + 800351e: 683b ldr r3, [r7, #0] + 8003520: 68db ldr r3, [r3, #12] + 8003522: 021b lsls r3, r3, #8 + 8003524: 697a ldr r2, [r7, #20] + 8003526: 4313 orrs r3, r2 + 8003528: 617b str r3, [r7, #20] /* Reset the Output N State */ tmpccer &= ~TIM_CCER_CC3NE; - 8003556: 697b ldr r3, [r7, #20] - 8003558: f423 6380 bic.w r3, r3, #1024 ; 0x400 - 800355c: 617b str r3, [r7, #20] + 800352a: 697b ldr r3, [r7, #20] + 800352c: f423 6380 bic.w r3, r3, #1024 ; 0x400 + 8003530: 617b str r3, [r7, #20] } if (IS_TIM_BREAK_INSTANCE(TIMx)) - 800355e: 687b ldr r3, [r7, #4] - 8003560: 4a16 ldr r2, [pc, #88] ; (80035bc ) - 8003562: 4293 cmp r3, r2 - 8003564: d003 beq.n 800356e - 8003566: 687b ldr r3, [r7, #4] - 8003568: 4a15 ldr r2, [pc, #84] ; (80035c0 ) - 800356a: 4293 cmp r3, r2 - 800356c: d113 bne.n 8003596 + 8003532: 687b ldr r3, [r7, #4] + 8003534: 4a16 ldr r2, [pc, #88] ; (8003590 ) + 8003536: 4293 cmp r3, r2 + 8003538: d003 beq.n 8003542 + 800353a: 687b ldr r3, [r7, #4] + 800353c: 4a15 ldr r2, [pc, #84] ; (8003594 ) + 800353e: 4293 cmp r3, r2 + 8003540: d113 bne.n 800356a /* Check parameters */ assert_param(IS_TIM_OCNIDLE_STATE(OC_Config->OCNIdleState)); assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); /* Reset the Output Compare and Output Compare N IDLE State */ tmpcr2 &= ~TIM_CR2_OIS3; - 800356e: 693b ldr r3, [r7, #16] - 8003570: f423 5380 bic.w r3, r3, #4096 ; 0x1000 - 8003574: 613b str r3, [r7, #16] + 8003542: 693b ldr r3, [r7, #16] + 8003544: f423 5380 bic.w r3, r3, #4096 ; 0x1000 + 8003548: 613b str r3, [r7, #16] tmpcr2 &= ~TIM_CR2_OIS3N; - 8003576: 693b ldr r3, [r7, #16] - 8003578: f423 5300 bic.w r3, r3, #8192 ; 0x2000 - 800357c: 613b str r3, [r7, #16] + 800354a: 693b ldr r3, [r7, #16] + 800354c: f423 5300 bic.w r3, r3, #8192 ; 0x2000 + 8003550: 613b str r3, [r7, #16] /* Set the Output Idle state */ tmpcr2 |= (OC_Config->OCIdleState << 4U); - 800357e: 683b ldr r3, [r7, #0] - 8003580: 695b ldr r3, [r3, #20] - 8003582: 011b lsls r3, r3, #4 - 8003584: 693a ldr r2, [r7, #16] - 8003586: 4313 orrs r3, r2 - 8003588: 613b str r3, [r7, #16] + 8003552: 683b ldr r3, [r7, #0] + 8003554: 695b ldr r3, [r3, #20] + 8003556: 011b lsls r3, r3, #4 + 8003558: 693a ldr r2, [r7, #16] + 800355a: 4313 orrs r3, r2 + 800355c: 613b str r3, [r7, #16] /* Set the Output N Idle state */ tmpcr2 |= (OC_Config->OCNIdleState << 4U); - 800358a: 683b ldr r3, [r7, #0] - 800358c: 699b ldr r3, [r3, #24] - 800358e: 011b lsls r3, r3, #4 - 8003590: 693a ldr r2, [r7, #16] - 8003592: 4313 orrs r3, r2 - 8003594: 613b str r3, [r7, #16] + 800355e: 683b ldr r3, [r7, #0] + 8003560: 699b ldr r3, [r3, #24] + 8003562: 011b lsls r3, r3, #4 + 8003564: 693a ldr r2, [r7, #16] + 8003566: 4313 orrs r3, r2 + 8003568: 613b str r3, [r7, #16] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 8003596: 687b ldr r3, [r7, #4] - 8003598: 693a ldr r2, [r7, #16] - 800359a: 605a str r2, [r3, #4] + 800356a: 687b ldr r3, [r7, #4] + 800356c: 693a ldr r2, [r7, #16] + 800356e: 605a str r2, [r3, #4] /* Write to TIMx CCMR2 */ TIMx->CCMR2 = tmpccmrx; - 800359c: 687b ldr r3, [r7, #4] - 800359e: 68fa ldr r2, [r7, #12] - 80035a0: 61da str r2, [r3, #28] + 8003570: 687b ldr r3, [r7, #4] + 8003572: 68fa ldr r2, [r7, #12] + 8003574: 61da str r2, [r3, #28] /* Set the Capture Compare Register value */ TIMx->CCR3 = OC_Config->Pulse; - 80035a2: 683b ldr r3, [r7, #0] - 80035a4: 685a ldr r2, [r3, #4] - 80035a6: 687b ldr r3, [r7, #4] - 80035a8: 63da str r2, [r3, #60] ; 0x3c + 8003576: 683b ldr r3, [r7, #0] + 8003578: 685a ldr r2, [r3, #4] + 800357a: 687b ldr r3, [r7, #4] + 800357c: 63da str r2, [r3, #60] ; 0x3c /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 80035aa: 687b ldr r3, [r7, #4] - 80035ac: 697a ldr r2, [r7, #20] - 80035ae: 621a str r2, [r3, #32] + 800357e: 687b ldr r3, [r7, #4] + 8003580: 697a ldr r2, [r7, #20] + 8003582: 621a str r2, [r3, #32] } - 80035b0: bf00 nop - 80035b2: 371c adds r7, #28 - 80035b4: 46bd mov sp, r7 - 80035b6: f85d 7b04 ldr.w r7, [sp], #4 - 80035ba: 4770 bx lr - 80035bc: 40010000 .word 0x40010000 - 80035c0: 40010400 .word 0x40010400 - -080035c4 : + 8003584: bf00 nop + 8003586: 371c adds r7, #28 + 8003588: 46bd mov sp, r7 + 800358a: f85d 7b04 ldr.w r7, [sp], #4 + 800358e: 4770 bx lr + 8003590: 40010000 .word 0x40010000 + 8003594: 40010400 .word 0x40010400 + +08003598 : * @param TIMx to select the TIM peripheral * @param OC_Config The output configuration structure * @retval None */ static void TIM_OC4_SetConfig(TIM_TypeDef *TIMx, TIM_OC_InitTypeDef *OC_Config) { - 80035c4: b480 push {r7} - 80035c6: b087 sub sp, #28 - 80035c8: af00 add r7, sp, #0 - 80035ca: 6078 str r0, [r7, #4] - 80035cc: 6039 str r1, [r7, #0] + 8003598: b480 push {r7} + 800359a: b087 sub sp, #28 + 800359c: af00 add r7, sp, #0 + 800359e: 6078 str r0, [r7, #4] + 80035a0: 6039 str r1, [r7, #0] uint32_t tmpccmrx; uint32_t tmpccer; uint32_t tmpcr2; /* Disable the Channel 4: Reset the CC4E Bit */ TIMx->CCER &= ~TIM_CCER_CC4E; - 80035ce: 687b ldr r3, [r7, #4] - 80035d0: 6a1b ldr r3, [r3, #32] - 80035d2: f423 5280 bic.w r2, r3, #4096 ; 0x1000 - 80035d6: 687b ldr r3, [r7, #4] - 80035d8: 621a str r2, [r3, #32] + 80035a2: 687b ldr r3, [r7, #4] + 80035a4: 6a1b ldr r3, [r3, #32] + 80035a6: f423 5280 bic.w r2, r3, #4096 ; 0x1000 + 80035aa: 687b ldr r3, [r7, #4] + 80035ac: 621a str r2, [r3, #32] /* Get the TIMx CCER register value */ tmpccer = TIMx->CCER; - 80035da: 687b ldr r3, [r7, #4] - 80035dc: 6a1b ldr r3, [r3, #32] - 80035de: 613b str r3, [r7, #16] + 80035ae: 687b ldr r3, [r7, #4] + 80035b0: 6a1b ldr r3, [r3, #32] + 80035b2: 613b str r3, [r7, #16] /* Get the TIMx CR2 register value */ tmpcr2 = TIMx->CR2; - 80035e0: 687b ldr r3, [r7, #4] - 80035e2: 685b ldr r3, [r3, #4] - 80035e4: 617b str r3, [r7, #20] + 80035b4: 687b ldr r3, [r7, #4] + 80035b6: 685b ldr r3, [r3, #4] + 80035b8: 617b str r3, [r7, #20] /* Get the TIMx CCMR2 register value */ tmpccmrx = TIMx->CCMR2; - 80035e6: 687b ldr r3, [r7, #4] - 80035e8: 69db ldr r3, [r3, #28] - 80035ea: 60fb str r3, [r7, #12] + 80035ba: 687b ldr r3, [r7, #4] + 80035bc: 69db ldr r3, [r3, #28] + 80035be: 60fb str r3, [r7, #12] /* Reset the Output Compare mode and Capture/Compare selection Bits */ tmpccmrx &= ~TIM_CCMR2_OC4M; - 80035ec: 68fb ldr r3, [r7, #12] - 80035ee: f423 43e0 bic.w r3, r3, #28672 ; 0x7000 - 80035f2: 60fb str r3, [r7, #12] + 80035c0: 68fb ldr r3, [r7, #12] + 80035c2: f423 43e0 bic.w r3, r3, #28672 ; 0x7000 + 80035c6: 60fb str r3, [r7, #12] tmpccmrx &= ~TIM_CCMR2_CC4S; - 80035f4: 68fb ldr r3, [r7, #12] - 80035f6: f423 7340 bic.w r3, r3, #768 ; 0x300 - 80035fa: 60fb str r3, [r7, #12] + 80035c8: 68fb ldr r3, [r7, #12] + 80035ca: f423 7340 bic.w r3, r3, #768 ; 0x300 + 80035ce: 60fb str r3, [r7, #12] /* Select the Output Compare Mode */ tmpccmrx |= (OC_Config->OCMode << 8U); - 80035fc: 683b ldr r3, [r7, #0] - 80035fe: 681b ldr r3, [r3, #0] - 8003600: 021b lsls r3, r3, #8 - 8003602: 68fa ldr r2, [r7, #12] - 8003604: 4313 orrs r3, r2 - 8003606: 60fb str r3, [r7, #12] + 80035d0: 683b ldr r3, [r7, #0] + 80035d2: 681b ldr r3, [r3, #0] + 80035d4: 021b lsls r3, r3, #8 + 80035d6: 68fa ldr r2, [r7, #12] + 80035d8: 4313 orrs r3, r2 + 80035da: 60fb str r3, [r7, #12] /* Reset the Output Polarity level */ tmpccer &= ~TIM_CCER_CC4P; - 8003608: 693b ldr r3, [r7, #16] - 800360a: f423 5300 bic.w r3, r3, #8192 ; 0x2000 - 800360e: 613b str r3, [r7, #16] + 80035dc: 693b ldr r3, [r7, #16] + 80035de: f423 5300 bic.w r3, r3, #8192 ; 0x2000 + 80035e2: 613b str r3, [r7, #16] /* Set the Output Compare Polarity */ tmpccer |= (OC_Config->OCPolarity << 12U); - 8003610: 683b ldr r3, [r7, #0] - 8003612: 689b ldr r3, [r3, #8] - 8003614: 031b lsls r3, r3, #12 - 8003616: 693a ldr r2, [r7, #16] - 8003618: 4313 orrs r3, r2 - 800361a: 613b str r3, [r7, #16] + 80035e4: 683b ldr r3, [r7, #0] + 80035e6: 689b ldr r3, [r3, #8] + 80035e8: 031b lsls r3, r3, #12 + 80035ea: 693a ldr r2, [r7, #16] + 80035ec: 4313 orrs r3, r2 + 80035ee: 613b str r3, [r7, #16] if (IS_TIM_BREAK_INSTANCE(TIMx)) - 800361c: 687b ldr r3, [r7, #4] - 800361e: 4a12 ldr r2, [pc, #72] ; (8003668 ) - 8003620: 4293 cmp r3, r2 - 8003622: d003 beq.n 800362c - 8003624: 687b ldr r3, [r7, #4] - 8003626: 4a11 ldr r2, [pc, #68] ; (800366c ) - 8003628: 4293 cmp r3, r2 - 800362a: d109 bne.n 8003640 + 80035f0: 687b ldr r3, [r7, #4] + 80035f2: 4a12 ldr r2, [pc, #72] ; (800363c ) + 80035f4: 4293 cmp r3, r2 + 80035f6: d003 beq.n 8003600 + 80035f8: 687b ldr r3, [r7, #4] + 80035fa: 4a11 ldr r2, [pc, #68] ; (8003640 ) + 80035fc: 4293 cmp r3, r2 + 80035fe: d109 bne.n 8003614 { /* Check parameters */ assert_param(IS_TIM_OCIDLE_STATE(OC_Config->OCIdleState)); /* Reset the Output Compare IDLE State */ tmpcr2 &= ~TIM_CR2_OIS4; - 800362c: 697b ldr r3, [r7, #20] - 800362e: f423 4380 bic.w r3, r3, #16384 ; 0x4000 - 8003632: 617b str r3, [r7, #20] + 8003600: 697b ldr r3, [r7, #20] + 8003602: f423 4380 bic.w r3, r3, #16384 ; 0x4000 + 8003606: 617b str r3, [r7, #20] /* Set the Output Idle state */ tmpcr2 |= (OC_Config->OCIdleState << 6U); - 8003634: 683b ldr r3, [r7, #0] - 8003636: 695b ldr r3, [r3, #20] - 8003638: 019b lsls r3, r3, #6 - 800363a: 697a ldr r2, [r7, #20] - 800363c: 4313 orrs r3, r2 - 800363e: 617b str r3, [r7, #20] + 8003608: 683b ldr r3, [r7, #0] + 800360a: 695b ldr r3, [r3, #20] + 800360c: 019b lsls r3, r3, #6 + 800360e: 697a ldr r2, [r7, #20] + 8003610: 4313 orrs r3, r2 + 8003612: 617b str r3, [r7, #20] } /* Write to TIMx CR2 */ TIMx->CR2 = tmpcr2; - 8003640: 687b ldr r3, [r7, #4] - 8003642: 697a ldr r2, [r7, #20] - 8003644: 605a str r2, [r3, #4] + 8003614: 687b ldr r3, [r7, #4] + 8003616: 697a ldr r2, [r7, #20] + 8003618: 605a str r2, [r3, #4] /* Write to TIMx CCMR2 */ TIMx->CCMR2 = tmpccmrx; - 8003646: 687b ldr r3, [r7, #4] - 8003648: 68fa ldr r2, [r7, #12] - 800364a: 61da str r2, [r3, #28] + 800361a: 687b ldr r3, [r7, #4] + 800361c: 68fa ldr r2, [r7, #12] + 800361e: 61da str r2, [r3, #28] /* Set the Capture Compare Register value */ TIMx->CCR4 = OC_Config->Pulse; - 800364c: 683b ldr r3, [r7, #0] - 800364e: 685a ldr r2, [r3, #4] - 8003650: 687b ldr r3, [r7, #4] - 8003652: 641a str r2, [r3, #64] ; 0x40 + 8003620: 683b ldr r3, [r7, #0] + 8003622: 685a ldr r2, [r3, #4] + 8003624: 687b ldr r3, [r7, #4] + 8003626: 641a str r2, [r3, #64] ; 0x40 /* Write to TIMx CCER */ TIMx->CCER = tmpccer; - 8003654: 687b ldr r3, [r7, #4] - 8003656: 693a ldr r2, [r7, #16] - 8003658: 621a str r2, [r3, #32] + 8003628: 687b ldr r3, [r7, #4] + 800362a: 693a ldr r2, [r7, #16] + 800362c: 621a str r2, [r3, #32] } - 800365a: bf00 nop - 800365c: 371c adds r7, #28 - 800365e: 46bd mov sp, r7 - 8003660: f85d 7b04 ldr.w r7, [sp], #4 - 8003664: 4770 bx lr - 8003666: bf00 nop - 8003668: 40010000 .word 0x40010000 - 800366c: 40010400 .word 0x40010400 - -08003670 : + 800362e: bf00 nop + 8003630: 371c adds r7, #28 + 8003632: 46bd mov sp, r7 + 8003634: f85d 7b04 ldr.w r7, [sp], #4 + 8003638: 4770 bx lr + 800363a: bf00 nop + 800363c: 40010000 .word 0x40010000 + 8003640: 40010400 .word 0x40010400 + +08003644 : * @param TIM_ICFilter Specifies the Input Capture Filter. * This parameter must be a value between 0x00 and 0x0F. * @retval None */ static void TIM_TI1_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter) { - 8003670: b480 push {r7} - 8003672: b087 sub sp, #28 - 8003674: af00 add r7, sp, #0 - 8003676: 60f8 str r0, [r7, #12] - 8003678: 60b9 str r1, [r7, #8] - 800367a: 607a str r2, [r7, #4] + 8003644: b480 push {r7} + 8003646: b087 sub sp, #28 + 8003648: af00 add r7, sp, #0 + 800364a: 60f8 str r0, [r7, #12] + 800364c: 60b9 str r1, [r7, #8] + 800364e: 607a str r2, [r7, #4] uint32_t tmpccmr1; uint32_t tmpccer; /* Disable the Channel 1: Reset the CC1E Bit */ tmpccer = TIMx->CCER; - 800367c: 68fb ldr r3, [r7, #12] - 800367e: 6a1b ldr r3, [r3, #32] - 8003680: 617b str r3, [r7, #20] + 8003650: 68fb ldr r3, [r7, #12] + 8003652: 6a1b ldr r3, [r3, #32] + 8003654: 617b str r3, [r7, #20] TIMx->CCER &= ~TIM_CCER_CC1E; - 8003682: 68fb ldr r3, [r7, #12] - 8003684: 6a1b ldr r3, [r3, #32] - 8003686: f023 0201 bic.w r2, r3, #1 - 800368a: 68fb ldr r3, [r7, #12] - 800368c: 621a str r2, [r3, #32] + 8003656: 68fb ldr r3, [r7, #12] + 8003658: 6a1b ldr r3, [r3, #32] + 800365a: f023 0201 bic.w r2, r3, #1 + 800365e: 68fb ldr r3, [r7, #12] + 8003660: 621a str r2, [r3, #32] tmpccmr1 = TIMx->CCMR1; - 800368e: 68fb ldr r3, [r7, #12] - 8003690: 699b ldr r3, [r3, #24] - 8003692: 613b str r3, [r7, #16] + 8003662: 68fb ldr r3, [r7, #12] + 8003664: 699b ldr r3, [r3, #24] + 8003666: 613b str r3, [r7, #16] /* Set the filter */ tmpccmr1 &= ~TIM_CCMR1_IC1F; - 8003694: 693b ldr r3, [r7, #16] - 8003696: f023 03f0 bic.w r3, r3, #240 ; 0xf0 - 800369a: 613b str r3, [r7, #16] + 8003668: 693b ldr r3, [r7, #16] + 800366a: f023 03f0 bic.w r3, r3, #240 ; 0xf0 + 800366e: 613b str r3, [r7, #16] tmpccmr1 |= (TIM_ICFilter << 4U); - 800369c: 687b ldr r3, [r7, #4] - 800369e: 011b lsls r3, r3, #4 - 80036a0: 693a ldr r2, [r7, #16] - 80036a2: 4313 orrs r3, r2 - 80036a4: 613b str r3, [r7, #16] + 8003670: 687b ldr r3, [r7, #4] + 8003672: 011b lsls r3, r3, #4 + 8003674: 693a ldr r2, [r7, #16] + 8003676: 4313 orrs r3, r2 + 8003678: 613b str r3, [r7, #16] /* Select the Polarity and set the CC1E Bit */ tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP); - 80036a6: 697b ldr r3, [r7, #20] - 80036a8: f023 030a bic.w r3, r3, #10 - 80036ac: 617b str r3, [r7, #20] + 800367a: 697b ldr r3, [r7, #20] + 800367c: f023 030a bic.w r3, r3, #10 + 8003680: 617b str r3, [r7, #20] tmpccer |= TIM_ICPolarity; - 80036ae: 697a ldr r2, [r7, #20] - 80036b0: 68bb ldr r3, [r7, #8] - 80036b2: 4313 orrs r3, r2 - 80036b4: 617b str r3, [r7, #20] + 8003682: 697a ldr r2, [r7, #20] + 8003684: 68bb ldr r3, [r7, #8] + 8003686: 4313 orrs r3, r2 + 8003688: 617b str r3, [r7, #20] /* Write to TIMx CCMR1 and CCER registers */ TIMx->CCMR1 = tmpccmr1; - 80036b6: 68fb ldr r3, [r7, #12] - 80036b8: 693a ldr r2, [r7, #16] - 80036ba: 619a str r2, [r3, #24] + 800368a: 68fb ldr r3, [r7, #12] + 800368c: 693a ldr r2, [r7, #16] + 800368e: 619a str r2, [r3, #24] TIMx->CCER = tmpccer; - 80036bc: 68fb ldr r3, [r7, #12] - 80036be: 697a ldr r2, [r7, #20] - 80036c0: 621a str r2, [r3, #32] + 8003690: 68fb ldr r3, [r7, #12] + 8003692: 697a ldr r2, [r7, #20] + 8003694: 621a str r2, [r3, #32] } - 80036c2: bf00 nop - 80036c4: 371c adds r7, #28 - 80036c6: 46bd mov sp, r7 - 80036c8: f85d 7b04 ldr.w r7, [sp], #4 - 80036cc: 4770 bx lr + 8003696: bf00 nop + 8003698: 371c adds r7, #28 + 800369a: 46bd mov sp, r7 + 800369c: f85d 7b04 ldr.w r7, [sp], #4 + 80036a0: 4770 bx lr -080036ce : +080036a2 : * @param TIM_ICFilter Specifies the Input Capture Filter. * This parameter must be a value between 0x00 and 0x0F. * @retval None */ static void TIM_TI2_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter) { - 80036ce: b480 push {r7} - 80036d0: b087 sub sp, #28 - 80036d2: af00 add r7, sp, #0 - 80036d4: 60f8 str r0, [r7, #12] - 80036d6: 60b9 str r1, [r7, #8] - 80036d8: 607a str r2, [r7, #4] + 80036a2: b480 push {r7} + 80036a4: b087 sub sp, #28 + 80036a6: af00 add r7, sp, #0 + 80036a8: 60f8 str r0, [r7, #12] + 80036aa: 60b9 str r1, [r7, #8] + 80036ac: 607a str r2, [r7, #4] uint32_t tmpccmr1; uint32_t tmpccer; /* Disable the Channel 2: Reset the CC2E Bit */ TIMx->CCER &= ~TIM_CCER_CC2E; - 80036da: 68fb ldr r3, [r7, #12] - 80036dc: 6a1b ldr r3, [r3, #32] - 80036de: f023 0210 bic.w r2, r3, #16 - 80036e2: 68fb ldr r3, [r7, #12] - 80036e4: 621a str r2, [r3, #32] + 80036ae: 68fb ldr r3, [r7, #12] + 80036b0: 6a1b ldr r3, [r3, #32] + 80036b2: f023 0210 bic.w r2, r3, #16 + 80036b6: 68fb ldr r3, [r7, #12] + 80036b8: 621a str r2, [r3, #32] tmpccmr1 = TIMx->CCMR1; - 80036e6: 68fb ldr r3, [r7, #12] - 80036e8: 699b ldr r3, [r3, #24] - 80036ea: 617b str r3, [r7, #20] + 80036ba: 68fb ldr r3, [r7, #12] + 80036bc: 699b ldr r3, [r3, #24] + 80036be: 617b str r3, [r7, #20] tmpccer = TIMx->CCER; - 80036ec: 68fb ldr r3, [r7, #12] - 80036ee: 6a1b ldr r3, [r3, #32] - 80036f0: 613b str r3, [r7, #16] + 80036c0: 68fb ldr r3, [r7, #12] + 80036c2: 6a1b ldr r3, [r3, #32] + 80036c4: 613b str r3, [r7, #16] /* Set the filter */ tmpccmr1 &= ~TIM_CCMR1_IC2F; - 80036f2: 697b ldr r3, [r7, #20] - 80036f4: f423 4370 bic.w r3, r3, #61440 ; 0xf000 - 80036f8: 617b str r3, [r7, #20] + 80036c6: 697b ldr r3, [r7, #20] + 80036c8: f423 4370 bic.w r3, r3, #61440 ; 0xf000 + 80036cc: 617b str r3, [r7, #20] tmpccmr1 |= (TIM_ICFilter << 12U); - 80036fa: 687b ldr r3, [r7, #4] - 80036fc: 031b lsls r3, r3, #12 - 80036fe: 697a ldr r2, [r7, #20] - 8003700: 4313 orrs r3, r2 - 8003702: 617b str r3, [r7, #20] + 80036ce: 687b ldr r3, [r7, #4] + 80036d0: 031b lsls r3, r3, #12 + 80036d2: 697a ldr r2, [r7, #20] + 80036d4: 4313 orrs r3, r2 + 80036d6: 617b str r3, [r7, #20] /* Select the Polarity and set the CC2E Bit */ tmpccer &= ~(TIM_CCER_CC2P | TIM_CCER_CC2NP); - 8003704: 693b ldr r3, [r7, #16] - 8003706: f023 03a0 bic.w r3, r3, #160 ; 0xa0 - 800370a: 613b str r3, [r7, #16] + 80036d8: 693b ldr r3, [r7, #16] + 80036da: f023 03a0 bic.w r3, r3, #160 ; 0xa0 + 80036de: 613b str r3, [r7, #16] tmpccer |= (TIM_ICPolarity << 4U); - 800370c: 68bb ldr r3, [r7, #8] - 800370e: 011b lsls r3, r3, #4 - 8003710: 693a ldr r2, [r7, #16] - 8003712: 4313 orrs r3, r2 - 8003714: 613b str r3, [r7, #16] + 80036e0: 68bb ldr r3, [r7, #8] + 80036e2: 011b lsls r3, r3, #4 + 80036e4: 693a ldr r2, [r7, #16] + 80036e6: 4313 orrs r3, r2 + 80036e8: 613b str r3, [r7, #16] /* Write to TIMx CCMR1 and CCER registers */ TIMx->CCMR1 = tmpccmr1 ; - 8003716: 68fb ldr r3, [r7, #12] - 8003718: 697a ldr r2, [r7, #20] - 800371a: 619a str r2, [r3, #24] + 80036ea: 68fb ldr r3, [r7, #12] + 80036ec: 697a ldr r2, [r7, #20] + 80036ee: 619a str r2, [r3, #24] TIMx->CCER = tmpccer; - 800371c: 68fb ldr r3, [r7, #12] - 800371e: 693a ldr r2, [r7, #16] - 8003720: 621a str r2, [r3, #32] + 80036f0: 68fb ldr r3, [r7, #12] + 80036f2: 693a ldr r2, [r7, #16] + 80036f4: 621a str r2, [r3, #32] } - 8003722: bf00 nop - 8003724: 371c adds r7, #28 - 8003726: 46bd mov sp, r7 - 8003728: f85d 7b04 ldr.w r7, [sp], #4 - 800372c: 4770 bx lr + 80036f6: bf00 nop + 80036f8: 371c adds r7, #28 + 80036fa: 46bd mov sp, r7 + 80036fc: f85d 7b04 ldr.w r7, [sp], #4 + 8003700: 4770 bx lr -0800372e : +08003702 : * @arg TIM_TS_TI2FP2: Filtered Timer Input 2 * @arg TIM_TS_ETRF: External Trigger input * @retval None */ static void TIM_ITRx_SetConfig(TIM_TypeDef *TIMx, uint32_t InputTriggerSource) { - 800372e: b480 push {r7} - 8003730: b085 sub sp, #20 - 8003732: af00 add r7, sp, #0 - 8003734: 6078 str r0, [r7, #4] - 8003736: 6039 str r1, [r7, #0] + 8003702: b480 push {r7} + 8003704: b085 sub sp, #20 + 8003706: af00 add r7, sp, #0 + 8003708: 6078 str r0, [r7, #4] + 800370a: 6039 str r1, [r7, #0] uint32_t tmpsmcr; /* Get the TIMx SMCR register value */ tmpsmcr = TIMx->SMCR; - 8003738: 687b ldr r3, [r7, #4] - 800373a: 689b ldr r3, [r3, #8] - 800373c: 60fb str r3, [r7, #12] + 800370c: 687b ldr r3, [r7, #4] + 800370e: 689b ldr r3, [r3, #8] + 8003710: 60fb str r3, [r7, #12] /* Reset the TS Bits */ tmpsmcr &= ~TIM_SMCR_TS; - 800373e: 68fb ldr r3, [r7, #12] - 8003740: f023 0370 bic.w r3, r3, #112 ; 0x70 - 8003744: 60fb str r3, [r7, #12] + 8003712: 68fb ldr r3, [r7, #12] + 8003714: f023 0370 bic.w r3, r3, #112 ; 0x70 + 8003718: 60fb str r3, [r7, #12] /* Set the Input Trigger source and the slave mode*/ tmpsmcr |= (InputTriggerSource | TIM_SLAVEMODE_EXTERNAL1); - 8003746: 683a ldr r2, [r7, #0] - 8003748: 68fb ldr r3, [r7, #12] - 800374a: 4313 orrs r3, r2 - 800374c: f043 0307 orr.w r3, r3, #7 - 8003750: 60fb str r3, [r7, #12] + 800371a: 683a ldr r2, [r7, #0] + 800371c: 68fb ldr r3, [r7, #12] + 800371e: 4313 orrs r3, r2 + 8003720: f043 0307 orr.w r3, r3, #7 + 8003724: 60fb str r3, [r7, #12] /* Write to TIMx SMCR */ TIMx->SMCR = tmpsmcr; - 8003752: 687b ldr r3, [r7, #4] - 8003754: 68fa ldr r2, [r7, #12] - 8003756: 609a str r2, [r3, #8] + 8003726: 687b ldr r3, [r7, #4] + 8003728: 68fa ldr r2, [r7, #12] + 800372a: 609a str r2, [r3, #8] } - 8003758: bf00 nop - 800375a: 3714 adds r7, #20 - 800375c: 46bd mov sp, r7 - 800375e: f85d 7b04 ldr.w r7, [sp], #4 - 8003762: 4770 bx lr + 800372c: bf00 nop + 800372e: 3714 adds r7, #20 + 8003730: 46bd mov sp, r7 + 8003732: f85d 7b04 ldr.w r7, [sp], #4 + 8003736: 4770 bx lr -08003764 : +08003738 : * This parameter must be a value between 0x00 and 0x0F * @retval None */ void TIM_ETR_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ExtTRGPrescaler, uint32_t TIM_ExtTRGPolarity, uint32_t ExtTRGFilter) { - 8003764: b480 push {r7} - 8003766: b087 sub sp, #28 - 8003768: af00 add r7, sp, #0 - 800376a: 60f8 str r0, [r7, #12] - 800376c: 60b9 str r1, [r7, #8] - 800376e: 607a str r2, [r7, #4] - 8003770: 603b str r3, [r7, #0] + 8003738: b480 push {r7} + 800373a: b087 sub sp, #28 + 800373c: af00 add r7, sp, #0 + 800373e: 60f8 str r0, [r7, #12] + 8003740: 60b9 str r1, [r7, #8] + 8003742: 607a str r2, [r7, #4] + 8003744: 603b str r3, [r7, #0] uint32_t tmpsmcr; tmpsmcr = TIMx->SMCR; - 8003772: 68fb ldr r3, [r7, #12] - 8003774: 689b ldr r3, [r3, #8] - 8003776: 617b str r3, [r7, #20] + 8003746: 68fb ldr r3, [r7, #12] + 8003748: 689b ldr r3, [r3, #8] + 800374a: 617b str r3, [r7, #20] /* Reset the ETR Bits */ tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP); - 8003778: 697b ldr r3, [r7, #20] - 800377a: f423 437f bic.w r3, r3, #65280 ; 0xff00 - 800377e: 617b str r3, [r7, #20] + 800374c: 697b ldr r3, [r7, #20] + 800374e: f423 437f bic.w r3, r3, #65280 ; 0xff00 + 8003752: 617b str r3, [r7, #20] /* Set the Prescaler, the Filter value and the Polarity */ tmpsmcr |= (uint32_t)(TIM_ExtTRGPrescaler | (TIM_ExtTRGPolarity | (ExtTRGFilter << 8U))); - 8003780: 683b ldr r3, [r7, #0] - 8003782: 021a lsls r2, r3, #8 - 8003784: 687b ldr r3, [r7, #4] - 8003786: 431a orrs r2, r3 - 8003788: 68bb ldr r3, [r7, #8] - 800378a: 4313 orrs r3, r2 - 800378c: 697a ldr r2, [r7, #20] - 800378e: 4313 orrs r3, r2 - 8003790: 617b str r3, [r7, #20] + 8003754: 683b ldr r3, [r7, #0] + 8003756: 021a lsls r2, r3, #8 + 8003758: 687b ldr r3, [r7, #4] + 800375a: 431a orrs r2, r3 + 800375c: 68bb ldr r3, [r7, #8] + 800375e: 4313 orrs r3, r2 + 8003760: 697a ldr r2, [r7, #20] + 8003762: 4313 orrs r3, r2 + 8003764: 617b str r3, [r7, #20] /* Write to TIMx SMCR */ TIMx->SMCR = tmpsmcr; - 8003792: 68fb ldr r3, [r7, #12] - 8003794: 697a ldr r2, [r7, #20] - 8003796: 609a str r2, [r3, #8] + 8003766: 68fb ldr r3, [r7, #12] + 8003768: 697a ldr r2, [r7, #20] + 800376a: 609a str r2, [r3, #8] } - 8003798: bf00 nop - 800379a: 371c adds r7, #28 - 800379c: 46bd mov sp, r7 - 800379e: f85d 7b04 ldr.w r7, [sp], #4 - 80037a2: 4770 bx lr + 800376c: bf00 nop + 800376e: 371c adds r7, #28 + 8003770: 46bd mov sp, r7 + 8003772: f85d 7b04 ldr.w r7, [sp], #4 + 8003776: 4770 bx lr -080037a4 : +08003778 : * @param ChannelState specifies the TIM Channel CCxE bit new state. * This parameter can be: TIM_CCx_ENABLE or TIM_CCx_DISABLE. * @retval None */ void TIM_CCxChannelCmd(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t ChannelState) { - 80037a4: b480 push {r7} - 80037a6: b087 sub sp, #28 - 80037a8: af00 add r7, sp, #0 - 80037aa: 60f8 str r0, [r7, #12] - 80037ac: 60b9 str r1, [r7, #8] - 80037ae: 607a str r2, [r7, #4] + 8003778: b480 push {r7} + 800377a: b087 sub sp, #28 + 800377c: af00 add r7, sp, #0 + 800377e: 60f8 str r0, [r7, #12] + 8003780: 60b9 str r1, [r7, #8] + 8003782: 607a str r2, [r7, #4] /* Check the parameters */ assert_param(IS_TIM_CC1_INSTANCE(TIMx)); assert_param(IS_TIM_CHANNELS(Channel)); tmp = TIM_CCER_CC1E << (Channel & 0x1FU); /* 0x1FU = 31 bits max shift */ - 80037b0: 68bb ldr r3, [r7, #8] - 80037b2: f003 031f and.w r3, r3, #31 - 80037b6: 2201 movs r2, #1 - 80037b8: fa02 f303 lsl.w r3, r2, r3 - 80037bc: 617b str r3, [r7, #20] + 8003784: 68bb ldr r3, [r7, #8] + 8003786: f003 031f and.w r3, r3, #31 + 800378a: 2201 movs r2, #1 + 800378c: fa02 f303 lsl.w r3, r2, r3 + 8003790: 617b str r3, [r7, #20] /* Reset the CCxE Bit */ TIMx->CCER &= ~tmp; - 80037be: 68fb ldr r3, [r7, #12] - 80037c0: 6a1a ldr r2, [r3, #32] - 80037c2: 697b ldr r3, [r7, #20] - 80037c4: 43db mvns r3, r3 - 80037c6: 401a ands r2, r3 - 80037c8: 68fb ldr r3, [r7, #12] - 80037ca: 621a str r2, [r3, #32] + 8003792: 68fb ldr r3, [r7, #12] + 8003794: 6a1a ldr r2, [r3, #32] + 8003796: 697b ldr r3, [r7, #20] + 8003798: 43db mvns r3, r3 + 800379a: 401a ands r2, r3 + 800379c: 68fb ldr r3, [r7, #12] + 800379e: 621a str r2, [r3, #32] /* Set or reset the CCxE Bit */ TIMx->CCER |= (uint32_t)(ChannelState << (Channel & 0x1FU)); /* 0x1FU = 31 bits max shift */ - 80037cc: 68fb ldr r3, [r7, #12] - 80037ce: 6a1a ldr r2, [r3, #32] - 80037d0: 68bb ldr r3, [r7, #8] - 80037d2: f003 031f and.w r3, r3, #31 - 80037d6: 6879 ldr r1, [r7, #4] - 80037d8: fa01 f303 lsl.w r3, r1, r3 - 80037dc: 431a orrs r2, r3 - 80037de: 68fb ldr r3, [r7, #12] - 80037e0: 621a str r2, [r3, #32] + 80037a0: 68fb ldr r3, [r7, #12] + 80037a2: 6a1a ldr r2, [r3, #32] + 80037a4: 68bb ldr r3, [r7, #8] + 80037a6: f003 031f and.w r3, r3, #31 + 80037aa: 6879 ldr r1, [r7, #4] + 80037ac: fa01 f303 lsl.w r3, r1, r3 + 80037b0: 431a orrs r2, r3 + 80037b2: 68fb ldr r3, [r7, #12] + 80037b4: 621a str r2, [r3, #32] } - 80037e2: bf00 nop - 80037e4: 371c adds r7, #28 - 80037e6: 46bd mov sp, r7 - 80037e8: f85d 7b04 ldr.w r7, [sp], #4 - 80037ec: 4770 bx lr + 80037b6: bf00 nop + 80037b8: 371c adds r7, #28 + 80037ba: 46bd mov sp, r7 + 80037bc: f85d 7b04 ldr.w r7, [sp], #4 + 80037c0: 4770 bx lr ... -080037f0 : +080037c4 : * mode. * @retval HAL status */ HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim, TIM_MasterConfigTypeDef *sMasterConfig) { - 80037f0: b480 push {r7} - 80037f2: b085 sub sp, #20 - 80037f4: af00 add r7, sp, #0 - 80037f6: 6078 str r0, [r7, #4] - 80037f8: 6039 str r1, [r7, #0] + 80037c4: b480 push {r7} + 80037c6: b085 sub sp, #20 + 80037c8: af00 add r7, sp, #0 + 80037ca: 6078 str r0, [r7, #4] + 80037cc: 6039 str r1, [r7, #0] assert_param(IS_TIM_MASTER_INSTANCE(htim->Instance)); assert_param(IS_TIM_TRGO_SOURCE(sMasterConfig->MasterOutputTrigger)); assert_param(IS_TIM_MSM_STATE(sMasterConfig->MasterSlaveMode)); /* Check input state */ __HAL_LOCK(htim); - 80037fa: 687b ldr r3, [r7, #4] - 80037fc: f893 303c ldrb.w r3, [r3, #60] ; 0x3c - 8003800: 2b01 cmp r3, #1 - 8003802: d101 bne.n 8003808 - 8003804: 2302 movs r3, #2 - 8003806: e05a b.n 80038be - 8003808: 687b ldr r3, [r7, #4] - 800380a: 2201 movs r2, #1 - 800380c: f883 203c strb.w r2, [r3, #60] ; 0x3c + 80037ce: 687b ldr r3, [r7, #4] + 80037d0: f893 303c ldrb.w r3, [r3, #60] ; 0x3c + 80037d4: 2b01 cmp r3, #1 + 80037d6: d101 bne.n 80037dc + 80037d8: 2302 movs r3, #2 + 80037da: e05a b.n 8003892 + 80037dc: 687b ldr r3, [r7, #4] + 80037de: 2201 movs r2, #1 + 80037e0: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Change the handler state */ htim->State = HAL_TIM_STATE_BUSY; - 8003810: 687b ldr r3, [r7, #4] - 8003812: 2202 movs r2, #2 - 8003814: f883 203d strb.w r2, [r3, #61] ; 0x3d + 80037e4: 687b ldr r3, [r7, #4] + 80037e6: 2202 movs r2, #2 + 80037e8: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Get the TIMx CR2 register value */ tmpcr2 = htim->Instance->CR2; - 8003818: 687b ldr r3, [r7, #4] - 800381a: 681b ldr r3, [r3, #0] - 800381c: 685b ldr r3, [r3, #4] - 800381e: 60fb str r3, [r7, #12] + 80037ec: 687b ldr r3, [r7, #4] + 80037ee: 681b ldr r3, [r3, #0] + 80037f0: 685b ldr r3, [r3, #4] + 80037f2: 60fb str r3, [r7, #12] /* Get the TIMx SMCR register value */ tmpsmcr = htim->Instance->SMCR; - 8003820: 687b ldr r3, [r7, #4] - 8003822: 681b ldr r3, [r3, #0] - 8003824: 689b ldr r3, [r3, #8] - 8003826: 60bb str r3, [r7, #8] + 80037f4: 687b ldr r3, [r7, #4] + 80037f6: 681b ldr r3, [r3, #0] + 80037f8: 689b ldr r3, [r3, #8] + 80037fa: 60bb str r3, [r7, #8] /* Reset the MMS Bits */ tmpcr2 &= ~TIM_CR2_MMS; - 8003828: 68fb ldr r3, [r7, #12] - 800382a: f023 0370 bic.w r3, r3, #112 ; 0x70 - 800382e: 60fb str r3, [r7, #12] + 80037fc: 68fb ldr r3, [r7, #12] + 80037fe: f023 0370 bic.w r3, r3, #112 ; 0x70 + 8003802: 60fb str r3, [r7, #12] /* Select the TRGO source */ tmpcr2 |= sMasterConfig->MasterOutputTrigger; - 8003830: 683b ldr r3, [r7, #0] - 8003832: 681b ldr r3, [r3, #0] - 8003834: 68fa ldr r2, [r7, #12] - 8003836: 4313 orrs r3, r2 - 8003838: 60fb str r3, [r7, #12] + 8003804: 683b ldr r3, [r7, #0] + 8003806: 681b ldr r3, [r3, #0] + 8003808: 68fa ldr r2, [r7, #12] + 800380a: 4313 orrs r3, r2 + 800380c: 60fb str r3, [r7, #12] /* Update TIMx CR2 */ htim->Instance->CR2 = tmpcr2; - 800383a: 687b ldr r3, [r7, #4] - 800383c: 681b ldr r3, [r3, #0] - 800383e: 68fa ldr r2, [r7, #12] - 8003840: 605a str r2, [r3, #4] + 800380e: 687b ldr r3, [r7, #4] + 8003810: 681b ldr r3, [r3, #0] + 8003812: 68fa ldr r2, [r7, #12] + 8003814: 605a str r2, [r3, #4] if (IS_TIM_SLAVE_INSTANCE(htim->Instance)) - 8003842: 687b ldr r3, [r7, #4] - 8003844: 681b ldr r3, [r3, #0] - 8003846: 4a21 ldr r2, [pc, #132] ; (80038cc ) - 8003848: 4293 cmp r3, r2 - 800384a: d022 beq.n 8003892 - 800384c: 687b ldr r3, [r7, #4] - 800384e: 681b ldr r3, [r3, #0] - 8003850: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 - 8003854: d01d beq.n 8003892 - 8003856: 687b ldr r3, [r7, #4] - 8003858: 681b ldr r3, [r3, #0] - 800385a: 4a1d ldr r2, [pc, #116] ; (80038d0 ) - 800385c: 4293 cmp r3, r2 - 800385e: d018 beq.n 8003892 - 8003860: 687b ldr r3, [r7, #4] - 8003862: 681b ldr r3, [r3, #0] - 8003864: 4a1b ldr r2, [pc, #108] ; (80038d4 ) - 8003866: 4293 cmp r3, r2 - 8003868: d013 beq.n 8003892 - 800386a: 687b ldr r3, [r7, #4] - 800386c: 681b ldr r3, [r3, #0] - 800386e: 4a1a ldr r2, [pc, #104] ; (80038d8 ) - 8003870: 4293 cmp r3, r2 - 8003872: d00e beq.n 8003892 - 8003874: 687b ldr r3, [r7, #4] - 8003876: 681b ldr r3, [r3, #0] - 8003878: 4a18 ldr r2, [pc, #96] ; (80038dc ) - 800387a: 4293 cmp r3, r2 - 800387c: d009 beq.n 8003892 - 800387e: 687b ldr r3, [r7, #4] - 8003880: 681b ldr r3, [r3, #0] - 8003882: 4a17 ldr r2, [pc, #92] ; (80038e0 ) - 8003884: 4293 cmp r3, r2 - 8003886: d004 beq.n 8003892 - 8003888: 687b ldr r3, [r7, #4] - 800388a: 681b ldr r3, [r3, #0] - 800388c: 4a15 ldr r2, [pc, #84] ; (80038e4 ) - 800388e: 4293 cmp r3, r2 - 8003890: d10c bne.n 80038ac + 8003816: 687b ldr r3, [r7, #4] + 8003818: 681b ldr r3, [r3, #0] + 800381a: 4a21 ldr r2, [pc, #132] ; (80038a0 ) + 800381c: 4293 cmp r3, r2 + 800381e: d022 beq.n 8003866 + 8003820: 687b ldr r3, [r7, #4] + 8003822: 681b ldr r3, [r3, #0] + 8003824: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 + 8003828: d01d beq.n 8003866 + 800382a: 687b ldr r3, [r7, #4] + 800382c: 681b ldr r3, [r3, #0] + 800382e: 4a1d ldr r2, [pc, #116] ; (80038a4 ) + 8003830: 4293 cmp r3, r2 + 8003832: d018 beq.n 8003866 + 8003834: 687b ldr r3, [r7, #4] + 8003836: 681b ldr r3, [r3, #0] + 8003838: 4a1b ldr r2, [pc, #108] ; (80038a8 ) + 800383a: 4293 cmp r3, r2 + 800383c: d013 beq.n 8003866 + 800383e: 687b ldr r3, [r7, #4] + 8003840: 681b ldr r3, [r3, #0] + 8003842: 4a1a ldr r2, [pc, #104] ; (80038ac ) + 8003844: 4293 cmp r3, r2 + 8003846: d00e beq.n 8003866 + 8003848: 687b ldr r3, [r7, #4] + 800384a: 681b ldr r3, [r3, #0] + 800384c: 4a18 ldr r2, [pc, #96] ; (80038b0 ) + 800384e: 4293 cmp r3, r2 + 8003850: d009 beq.n 8003866 + 8003852: 687b ldr r3, [r7, #4] + 8003854: 681b ldr r3, [r3, #0] + 8003856: 4a17 ldr r2, [pc, #92] ; (80038b4 ) + 8003858: 4293 cmp r3, r2 + 800385a: d004 beq.n 8003866 + 800385c: 687b ldr r3, [r7, #4] + 800385e: 681b ldr r3, [r3, #0] + 8003860: 4a15 ldr r2, [pc, #84] ; (80038b8 ) + 8003862: 4293 cmp r3, r2 + 8003864: d10c bne.n 8003880 { /* Reset the MSM Bit */ tmpsmcr &= ~TIM_SMCR_MSM; - 8003892: 68bb ldr r3, [r7, #8] - 8003894: f023 0380 bic.w r3, r3, #128 ; 0x80 - 8003898: 60bb str r3, [r7, #8] + 8003866: 68bb ldr r3, [r7, #8] + 8003868: f023 0380 bic.w r3, r3, #128 ; 0x80 + 800386c: 60bb str r3, [r7, #8] /* Set master mode */ tmpsmcr |= sMasterConfig->MasterSlaveMode; - 800389a: 683b ldr r3, [r7, #0] - 800389c: 685b ldr r3, [r3, #4] - 800389e: 68ba ldr r2, [r7, #8] - 80038a0: 4313 orrs r3, r2 - 80038a2: 60bb str r3, [r7, #8] + 800386e: 683b ldr r3, [r7, #0] + 8003870: 685b ldr r3, [r3, #4] + 8003872: 68ba ldr r2, [r7, #8] + 8003874: 4313 orrs r3, r2 + 8003876: 60bb str r3, [r7, #8] /* Update TIMx SMCR */ htim->Instance->SMCR = tmpsmcr; - 80038a4: 687b ldr r3, [r7, #4] - 80038a6: 681b ldr r3, [r3, #0] - 80038a8: 68ba ldr r2, [r7, #8] - 80038aa: 609a str r2, [r3, #8] + 8003878: 687b ldr r3, [r7, #4] + 800387a: 681b ldr r3, [r3, #0] + 800387c: 68ba ldr r2, [r7, #8] + 800387e: 609a str r2, [r3, #8] } /* Change the htim state */ htim->State = HAL_TIM_STATE_READY; - 80038ac: 687b ldr r3, [r7, #4] - 80038ae: 2201 movs r2, #1 - 80038b0: f883 203d strb.w r2, [r3, #61] ; 0x3d + 8003880: 687b ldr r3, [r7, #4] + 8003882: 2201 movs r2, #1 + 8003884: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); - 80038b4: 687b ldr r3, [r7, #4] - 80038b6: 2200 movs r2, #0 - 80038b8: f883 203c strb.w r2, [r3, #60] ; 0x3c + 8003888: 687b ldr r3, [r7, #4] + 800388a: 2200 movs r2, #0 + 800388c: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_OK; - 80038bc: 2300 movs r3, #0 + 8003890: 2300 movs r3, #0 } - 80038be: 4618 mov r0, r3 - 80038c0: 3714 adds r7, #20 - 80038c2: 46bd mov sp, r7 - 80038c4: f85d 7b04 ldr.w r7, [sp], #4 - 80038c8: 4770 bx lr - 80038ca: bf00 nop - 80038cc: 40010000 .word 0x40010000 - 80038d0: 40000400 .word 0x40000400 - 80038d4: 40000800 .word 0x40000800 - 80038d8: 40000c00 .word 0x40000c00 - 80038dc: 40010400 .word 0x40010400 - 80038e0: 40014000 .word 0x40014000 - 80038e4: 40001800 .word 0x40001800 - -080038e8 : + 8003892: 4618 mov r0, r3 + 8003894: 3714 adds r7, #20 + 8003896: 46bd mov sp, r7 + 8003898: f85d 7b04 ldr.w r7, [sp], #4 + 800389c: 4770 bx lr + 800389e: bf00 nop + 80038a0: 40010000 .word 0x40010000 + 80038a4: 40000400 .word 0x40000400 + 80038a8: 40000800 .word 0x40000800 + 80038ac: 40000c00 .word 0x40000c00 + 80038b0: 40010400 .word 0x40010400 + 80038b4: 40014000 .word 0x40014000 + 80038b8: 40001800 .word 0x40001800 + +080038bc : * interrupt can be enabled by calling the @ref __HAL_TIM_ENABLE_IT macro. * @retval HAL status */ HAL_StatusTypeDef HAL_TIMEx_ConfigBreakDeadTime(TIM_HandleTypeDef *htim, TIM_BreakDeadTimeConfigTypeDef *sBreakDeadTimeConfig) { - 80038e8: b480 push {r7} - 80038ea: b085 sub sp, #20 - 80038ec: af00 add r7, sp, #0 - 80038ee: 6078 str r0, [r7, #4] - 80038f0: 6039 str r1, [r7, #0] + 80038bc: b480 push {r7} + 80038be: b085 sub sp, #20 + 80038c0: af00 add r7, sp, #0 + 80038c2: 6078 str r0, [r7, #4] + 80038c4: 6039 str r1, [r7, #0] /* Keep this variable initialized to 0 as it is used to configure BDTR register */ uint32_t tmpbdtr = 0U; - 80038f2: 2300 movs r3, #0 - 80038f4: 60fb str r3, [r7, #12] + 80038c6: 2300 movs r3, #0 + 80038c8: 60fb str r3, [r7, #12] assert_param(IS_TIM_BREAK_STATE(sBreakDeadTimeConfig->BreakState)); assert_param(IS_TIM_BREAK_POLARITY(sBreakDeadTimeConfig->BreakPolarity)); assert_param(IS_TIM_AUTOMATIC_OUTPUT_STATE(sBreakDeadTimeConfig->AutomaticOutput)); /* Check input state */ __HAL_LOCK(htim); - 80038f6: 687b ldr r3, [r7, #4] - 80038f8: f893 303c ldrb.w r3, [r3, #60] ; 0x3c - 80038fc: 2b01 cmp r3, #1 - 80038fe: d101 bne.n 8003904 - 8003900: 2302 movs r3, #2 - 8003902: e03d b.n 8003980 - 8003904: 687b ldr r3, [r7, #4] - 8003906: 2201 movs r2, #1 - 8003908: f883 203c strb.w r2, [r3, #60] ; 0x3c + 80038ca: 687b ldr r3, [r7, #4] + 80038cc: f893 303c ldrb.w r3, [r3, #60] ; 0x3c + 80038d0: 2b01 cmp r3, #1 + 80038d2: d101 bne.n 80038d8 + 80038d4: 2302 movs r3, #2 + 80038d6: e03d b.n 8003954 + 80038d8: 687b ldr r3, [r7, #4] + 80038da: 2201 movs r2, #1 + 80038dc: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Set the Lock level, the Break enable Bit and the Polarity, the OSSR State, the OSSI State, the dead time value and the Automatic Output Enable Bit */ /* Set the BDTR bits */ MODIFY_REG(tmpbdtr, TIM_BDTR_DTG, sBreakDeadTimeConfig->DeadTime); - 800390c: 68fb ldr r3, [r7, #12] - 800390e: f023 02ff bic.w r2, r3, #255 ; 0xff - 8003912: 683b ldr r3, [r7, #0] - 8003914: 68db ldr r3, [r3, #12] - 8003916: 4313 orrs r3, r2 - 8003918: 60fb str r3, [r7, #12] + 80038e0: 68fb ldr r3, [r7, #12] + 80038e2: f023 02ff bic.w r2, r3, #255 ; 0xff + 80038e6: 683b ldr r3, [r7, #0] + 80038e8: 68db ldr r3, [r3, #12] + 80038ea: 4313 orrs r3, r2 + 80038ec: 60fb str r3, [r7, #12] MODIFY_REG(tmpbdtr, TIM_BDTR_LOCK, sBreakDeadTimeConfig->LockLevel); - 800391a: 68fb ldr r3, [r7, #12] - 800391c: f423 7240 bic.w r2, r3, #768 ; 0x300 - 8003920: 683b ldr r3, [r7, #0] - 8003922: 689b ldr r3, [r3, #8] - 8003924: 4313 orrs r3, r2 - 8003926: 60fb str r3, [r7, #12] + 80038ee: 68fb ldr r3, [r7, #12] + 80038f0: f423 7240 bic.w r2, r3, #768 ; 0x300 + 80038f4: 683b ldr r3, [r7, #0] + 80038f6: 689b ldr r3, [r3, #8] + 80038f8: 4313 orrs r3, r2 + 80038fa: 60fb str r3, [r7, #12] MODIFY_REG(tmpbdtr, TIM_BDTR_OSSI, sBreakDeadTimeConfig->OffStateIDLEMode); - 8003928: 68fb ldr r3, [r7, #12] - 800392a: f423 6280 bic.w r2, r3, #1024 ; 0x400 - 800392e: 683b ldr r3, [r7, #0] - 8003930: 685b ldr r3, [r3, #4] - 8003932: 4313 orrs r3, r2 - 8003934: 60fb str r3, [r7, #12] + 80038fc: 68fb ldr r3, [r7, #12] + 80038fe: f423 6280 bic.w r2, r3, #1024 ; 0x400 + 8003902: 683b ldr r3, [r7, #0] + 8003904: 685b ldr r3, [r3, #4] + 8003906: 4313 orrs r3, r2 + 8003908: 60fb str r3, [r7, #12] MODIFY_REG(tmpbdtr, TIM_BDTR_OSSR, sBreakDeadTimeConfig->OffStateRunMode); - 8003936: 68fb ldr r3, [r7, #12] - 8003938: f423 6200 bic.w r2, r3, #2048 ; 0x800 - 800393c: 683b ldr r3, [r7, #0] - 800393e: 681b ldr r3, [r3, #0] - 8003940: 4313 orrs r3, r2 - 8003942: 60fb str r3, [r7, #12] + 800390a: 68fb ldr r3, [r7, #12] + 800390c: f423 6200 bic.w r2, r3, #2048 ; 0x800 + 8003910: 683b ldr r3, [r7, #0] + 8003912: 681b ldr r3, [r3, #0] + 8003914: 4313 orrs r3, r2 + 8003916: 60fb str r3, [r7, #12] MODIFY_REG(tmpbdtr, TIM_BDTR_BKE, sBreakDeadTimeConfig->BreakState); - 8003944: 68fb ldr r3, [r7, #12] - 8003946: f423 5280 bic.w r2, r3, #4096 ; 0x1000 - 800394a: 683b ldr r3, [r7, #0] - 800394c: 691b ldr r3, [r3, #16] - 800394e: 4313 orrs r3, r2 - 8003950: 60fb str r3, [r7, #12] + 8003918: 68fb ldr r3, [r7, #12] + 800391a: f423 5280 bic.w r2, r3, #4096 ; 0x1000 + 800391e: 683b ldr r3, [r7, #0] + 8003920: 691b ldr r3, [r3, #16] + 8003922: 4313 orrs r3, r2 + 8003924: 60fb str r3, [r7, #12] MODIFY_REG(tmpbdtr, TIM_BDTR_BKP, sBreakDeadTimeConfig->BreakPolarity); - 8003952: 68fb ldr r3, [r7, #12] - 8003954: f423 5200 bic.w r2, r3, #8192 ; 0x2000 - 8003958: 683b ldr r3, [r7, #0] - 800395a: 695b ldr r3, [r3, #20] - 800395c: 4313 orrs r3, r2 - 800395e: 60fb str r3, [r7, #12] + 8003926: 68fb ldr r3, [r7, #12] + 8003928: f423 5200 bic.w r2, r3, #8192 ; 0x2000 + 800392c: 683b ldr r3, [r7, #0] + 800392e: 695b ldr r3, [r3, #20] + 8003930: 4313 orrs r3, r2 + 8003932: 60fb str r3, [r7, #12] MODIFY_REG(tmpbdtr, TIM_BDTR_AOE, sBreakDeadTimeConfig->AutomaticOutput); - 8003960: 68fb ldr r3, [r7, #12] - 8003962: f423 4280 bic.w r2, r3, #16384 ; 0x4000 - 8003966: 683b ldr r3, [r7, #0] - 8003968: 69db ldr r3, [r3, #28] - 800396a: 4313 orrs r3, r2 - 800396c: 60fb str r3, [r7, #12] + 8003934: 68fb ldr r3, [r7, #12] + 8003936: f423 4280 bic.w r2, r3, #16384 ; 0x4000 + 800393a: 683b ldr r3, [r7, #0] + 800393c: 69db ldr r3, [r3, #28] + 800393e: 4313 orrs r3, r2 + 8003940: 60fb str r3, [r7, #12] /* Set TIMx_BDTR */ htim->Instance->BDTR = tmpbdtr; - 800396e: 687b ldr r3, [r7, #4] - 8003970: 681b ldr r3, [r3, #0] - 8003972: 68fa ldr r2, [r7, #12] - 8003974: 645a str r2, [r3, #68] ; 0x44 + 8003942: 687b ldr r3, [r7, #4] + 8003944: 681b ldr r3, [r3, #0] + 8003946: 68fa ldr r2, [r7, #12] + 8003948: 645a str r2, [r3, #68] ; 0x44 __HAL_UNLOCK(htim); - 8003976: 687b ldr r3, [r7, #4] - 8003978: 2200 movs r2, #0 - 800397a: f883 203c strb.w r2, [r3, #60] ; 0x3c + 800394a: 687b ldr r3, [r7, #4] + 800394c: 2200 movs r2, #0 + 800394e: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_OK; - 800397e: 2300 movs r3, #0 + 8003952: 2300 movs r3, #0 } - 8003980: 4618 mov r0, r3 - 8003982: 3714 adds r7, #20 - 8003984: 46bd mov sp, r7 - 8003986: f85d 7b04 ldr.w r7, [sp], #4 - 800398a: 4770 bx lr + 8003954: 4618 mov r0, r3 + 8003956: 3714 adds r7, #20 + 8003958: 46bd mov sp, r7 + 800395a: f85d 7b04 ldr.w r7, [sp], #4 + 800395e: 4770 bx lr -0800398c : +08003960 : * @brief Hall commutation changed callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_CommutCallback(TIM_HandleTypeDef *htim) { - 800398c: b480 push {r7} - 800398e: b083 sub sp, #12 - 8003990: af00 add r7, sp, #0 - 8003992: 6078 str r0, [r7, #4] + 8003960: b480 push {r7} + 8003962: b083 sub sp, #12 + 8003964: af00 add r7, sp, #0 + 8003966: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIMEx_CommutCallback could be implemented in the user file */ } - 8003994: bf00 nop - 8003996: 370c adds r7, #12 - 8003998: 46bd mov sp, r7 - 800399a: f85d 7b04 ldr.w r7, [sp], #4 - 800399e: 4770 bx lr + 8003968: bf00 nop + 800396a: 370c adds r7, #12 + 800396c: 46bd mov sp, r7 + 800396e: f85d 7b04 ldr.w r7, [sp], #4 + 8003972: 4770 bx lr -080039a0 : +08003974 : * @brief Hall Break detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim) { - 80039a0: b480 push {r7} - 80039a2: b083 sub sp, #12 - 80039a4: af00 add r7, sp, #0 - 80039a6: 6078 str r0, [r7, #4] + 8003974: b480 push {r7} + 8003976: b083 sub sp, #12 + 8003978: af00 add r7, sp, #0 + 800397a: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIMEx_BreakCallback could be implemented in the user file */ } - 80039a8: bf00 nop - 80039aa: 370c adds r7, #12 - 80039ac: 46bd mov sp, r7 - 80039ae: f85d 7b04 ldr.w r7, [sp], #4 - 80039b2: 4770 bx lr - -080039b4 : - 80039b4: 4402 add r2, r0 - 80039b6: 4603 mov r3, r0 - 80039b8: 4293 cmp r3, r2 - 80039ba: d100 bne.n 80039be - 80039bc: 4770 bx lr - 80039be: f803 1b01 strb.w r1, [r3], #1 - 80039c2: e7f9 b.n 80039b8 - -080039c4 <__libc_init_array>: - 80039c4: b570 push {r4, r5, r6, lr} - 80039c6: 4d0d ldr r5, [pc, #52] ; (80039fc <__libc_init_array+0x38>) - 80039c8: 4c0d ldr r4, [pc, #52] ; (8003a00 <__libc_init_array+0x3c>) - 80039ca: 1b64 subs r4, r4, r5 - 80039cc: 10a4 asrs r4, r4, #2 - 80039ce: 2600 movs r6, #0 - 80039d0: 42a6 cmp r6, r4 - 80039d2: d109 bne.n 80039e8 <__libc_init_array+0x24> - 80039d4: 4d0b ldr r5, [pc, #44] ; (8003a04 <__libc_init_array+0x40>) - 80039d6: 4c0c ldr r4, [pc, #48] ; (8003a08 <__libc_init_array+0x44>) - 80039d8: f000 f818 bl 8003a0c <_init> - 80039dc: 1b64 subs r4, r4, r5 - 80039de: 10a4 asrs r4, r4, #2 - 80039e0: 2600 movs r6, #0 - 80039e2: 42a6 cmp r6, r4 - 80039e4: d105 bne.n 80039f2 <__libc_init_array+0x2e> - 80039e6: bd70 pop {r4, r5, r6, pc} - 80039e8: f855 3b04 ldr.w r3, [r5], #4 - 80039ec: 4798 blx r3 - 80039ee: 3601 adds r6, #1 - 80039f0: e7ee b.n 80039d0 <__libc_init_array+0xc> - 80039f2: f855 3b04 ldr.w r3, [r5], #4 - 80039f6: 4798 blx r3 - 80039f8: 3601 adds r6, #1 - 80039fa: e7f2 b.n 80039e2 <__libc_init_array+0x1e> - 80039fc: 08003a3c .word 0x08003a3c - 8003a00: 08003a3c .word 0x08003a3c - 8003a04: 08003a3c .word 0x08003a3c - 8003a08: 08003a40 .word 0x08003a40 - -08003a0c <_init>: - 8003a0c: b5f8 push {r3, r4, r5, r6, r7, lr} - 8003a0e: bf00 nop - 8003a10: bcf8 pop {r3, r4, r5, r6, r7} - 8003a12: bc08 pop {r3} - 8003a14: 469e mov lr, r3 - 8003a16: 4770 bx lr - -08003a18 <_fini>: - 8003a18: b5f8 push {r3, r4, r5, r6, r7, lr} - 8003a1a: bf00 nop - 8003a1c: bcf8 pop {r3, r4, r5, r6, r7} - 8003a1e: bc08 pop {r3} - 8003a20: 469e mov lr, r3 - 8003a22: 4770 bx lr + 800397c: bf00 nop + 800397e: 370c adds r7, #12 + 8003980: 46bd mov sp, r7 + 8003982: f85d 7b04 ldr.w r7, [sp], #4 + 8003986: 4770 bx lr + +08003988 : + 8003988: 4402 add r2, r0 + 800398a: 4603 mov r3, r0 + 800398c: 4293 cmp r3, r2 + 800398e: d100 bne.n 8003992 + 8003990: 4770 bx lr + 8003992: f803 1b01 strb.w r1, [r3], #1 + 8003996: e7f9 b.n 800398c + +08003998 <__libc_init_array>: + 8003998: b570 push {r4, r5, r6, lr} + 800399a: 4d0d ldr r5, [pc, #52] ; (80039d0 <__libc_init_array+0x38>) + 800399c: 4c0d ldr r4, [pc, #52] ; (80039d4 <__libc_init_array+0x3c>) + 800399e: 1b64 subs r4, r4, r5 + 80039a0: 10a4 asrs r4, r4, #2 + 80039a2: 2600 movs r6, #0 + 80039a4: 42a6 cmp r6, r4 + 80039a6: d109 bne.n 80039bc <__libc_init_array+0x24> + 80039a8: 4d0b ldr r5, [pc, #44] ; (80039d8 <__libc_init_array+0x40>) + 80039aa: 4c0c ldr r4, [pc, #48] ; (80039dc <__libc_init_array+0x44>) + 80039ac: f000 f818 bl 80039e0 <_init> + 80039b0: 1b64 subs r4, r4, r5 + 80039b2: 10a4 asrs r4, r4, #2 + 80039b4: 2600 movs r6, #0 + 80039b6: 42a6 cmp r6, r4 + 80039b8: d105 bne.n 80039c6 <__libc_init_array+0x2e> + 80039ba: bd70 pop {r4, r5, r6, pc} + 80039bc: f855 3b04 ldr.w r3, [r5], #4 + 80039c0: 4798 blx r3 + 80039c2: 3601 adds r6, #1 + 80039c4: e7ee b.n 80039a4 <__libc_init_array+0xc> + 80039c6: f855 3b04 ldr.w r3, [r5], #4 + 80039ca: 4798 blx r3 + 80039cc: 3601 adds r6, #1 + 80039ce: e7f2 b.n 80039b6 <__libc_init_array+0x1e> + 80039d0: 08003a10 .word 0x08003a10 + 80039d4: 08003a10 .word 0x08003a10 + 80039d8: 08003a10 .word 0x08003a10 + 80039dc: 08003a14 .word 0x08003a14 + +080039e0 <_init>: + 80039e0: b5f8 push {r3, r4, r5, r6, r7, lr} + 80039e2: bf00 nop + 80039e4: bcf8 pop {r3, r4, r5, r6, r7} + 80039e6: bc08 pop {r3} + 80039e8: 469e mov lr, r3 + 80039ea: 4770 bx lr + +080039ec <_fini>: + 80039ec: b5f8 push {r3, r4, r5, r6, r7, lr} + 80039ee: bf00 nop + 80039f0: bcf8 pop {r3, r4, r5, r6, r7} + 80039f2: bc08 pop {r3} + 80039f4: 469e mov lr, r3 + 80039f6: 4770 bx lr diff --git a/STM/Debug/STM_gen.map b/STM/Debug/STM_gen.map index 8e2fce8..0030131 100644 --- a/STM/Debug/STM_gen.map +++ b/STM/Debug/STM_gen.map @@ -2937,7 +2937,7 @@ LOAD C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext 0x0000000008000000 g_pfnVectors 0x0000000008000188 . = ALIGN (0x4) -.text 0x0000000008000188 0x389c +.text 0x0000000008000188 0x3870 0x0000000008000188 . = ALIGN (0x4) *(.text) .text 0x0000000008000188 0x40 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o @@ -2954,410 +2954,408 @@ LOAD C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext .text.SetInvert 0x0000000008000594 0x24 ./Core/Src/main.o 0x0000000008000594 SetInvert - .text.SetIN_R1 - 0x00000000080005b8 0x24 ./Core/Src/main.o - 0x00000000080005b8 SetIN_R1 .text.FillMode - 0x00000000080005dc 0x1e ./Core/Src/main.o - 0x00000000080005dc FillMode + 0x00000000080005b8 0x1a ./Core/Src/main.o + 0x00000000080005b8 FillMode .text.Error_Handler - 0x00000000080005fa 0x4 ./Core/Src/main.o - 0x00000000080005fa Error_Handler - *fill* 0x00000000080005fe 0x2 + 0x00000000080005d2 0x4 ./Core/Src/main.o + 0x00000000080005d2 Error_Handler + *fill* 0x00000000080005d6 0x2 .text.MX_TIM2_Init - 0x0000000008000600 0xa4 ./Core/Src/main.o + 0x00000000080005d8 0xa4 ./Core/Src/main.o .text.MX_TIM1_Init - 0x00000000080006a4 0xdc ./Core/Src/main.o + 0x000000000800067c 0xdc ./Core/Src/main.o .text.MX_SPI1_Init - 0x0000000008000780 0x34 ./Core/Src/main.o + 0x0000000008000758 0x34 ./Core/Src/main.o .text.SystemClock_Config - 0x00000000080007b4 0x88 ./Core/Src/main.o - 0x00000000080007b4 SystemClock_Config - .text.main 0x000000000800083c 0x1cc ./Core/Src/main.o - 0x000000000800083c main - .text.PWMInit 0x0000000008000a08 0xa8 ./Core/Src/main.o - 0x0000000008000a08 PWMInit + 0x000000000800078c 0x88 ./Core/Src/main.o + 0x000000000800078c SystemClock_Config + .text.main 0x0000000008000814 0x1cc ./Core/Src/main.o + 0x0000000008000814 main + .text.PWMInit 0x00000000080009e0 0xa8 ./Core/Src/main.o + 0x00000000080009e0 PWMInit .text.ChannelSwap - 0x0000000008000ab0 0x44 ./Core/Src/main.o - 0x0000000008000ab0 ChannelSwap + 0x0000000008000a88 0x44 ./Core/Src/main.o + 0x0000000008000a88 ChannelSwap .text.HAL_MspInit - 0x0000000008000af4 0x50 ./Core/Src/stm32f4xx_hal_msp.o - 0x0000000008000af4 HAL_MspInit + 0x0000000008000acc 0x50 ./Core/Src/stm32f4xx_hal_msp.o + 0x0000000008000acc HAL_MspInit .text.HAL_SPI_MspInit - 0x0000000008000b44 0x90 ./Core/Src/stm32f4xx_hal_msp.o - 0x0000000008000b44 HAL_SPI_MspInit + 0x0000000008000b1c 0x90 ./Core/Src/stm32f4xx_hal_msp.o + 0x0000000008000b1c HAL_SPI_MspInit .text.HAL_TIM_Base_MspInit - 0x0000000008000bd4 0x78 ./Core/Src/stm32f4xx_hal_msp.o - 0x0000000008000bd4 HAL_TIM_Base_MspInit + 0x0000000008000bac 0x78 ./Core/Src/stm32f4xx_hal_msp.o + 0x0000000008000bac HAL_TIM_Base_MspInit .text.HAL_TIM_MspPostInit - 0x0000000008000c4c 0xc0 ./Core/Src/stm32f4xx_hal_msp.o - 0x0000000008000c4c HAL_TIM_MspPostInit + 0x0000000008000c24 0xc0 ./Core/Src/stm32f4xx_hal_msp.o + 0x0000000008000c24 HAL_TIM_MspPostInit .text.NMI_Handler - 0x0000000008000d0c 0x6 ./Core/Src/stm32f4xx_it.o - 0x0000000008000d0c NMI_Handler + 0x0000000008000ce4 0x6 ./Core/Src/stm32f4xx_it.o + 0x0000000008000ce4 NMI_Handler .text.HardFault_Handler - 0x0000000008000d12 0x6 ./Core/Src/stm32f4xx_it.o - 0x0000000008000d12 HardFault_Handler + 0x0000000008000cea 0x6 ./Core/Src/stm32f4xx_it.o + 0x0000000008000cea HardFault_Handler .text.MemManage_Handler - 0x0000000008000d18 0x6 ./Core/Src/stm32f4xx_it.o - 0x0000000008000d18 MemManage_Handler + 0x0000000008000cf0 0x6 ./Core/Src/stm32f4xx_it.o + 0x0000000008000cf0 MemManage_Handler .text.BusFault_Handler - 0x0000000008000d1e 0x6 ./Core/Src/stm32f4xx_it.o - 0x0000000008000d1e BusFault_Handler + 0x0000000008000cf6 0x6 ./Core/Src/stm32f4xx_it.o + 0x0000000008000cf6 BusFault_Handler .text.UsageFault_Handler - 0x0000000008000d24 0x6 ./Core/Src/stm32f4xx_it.o - 0x0000000008000d24 UsageFault_Handler + 0x0000000008000cfc 0x6 ./Core/Src/stm32f4xx_it.o + 0x0000000008000cfc UsageFault_Handler .text.SVC_Handler - 0x0000000008000d2a 0xe ./Core/Src/stm32f4xx_it.o - 0x0000000008000d2a SVC_Handler + 0x0000000008000d02 0xe ./Core/Src/stm32f4xx_it.o + 0x0000000008000d02 SVC_Handler .text.DebugMon_Handler - 0x0000000008000d38 0xe ./Core/Src/stm32f4xx_it.o - 0x0000000008000d38 DebugMon_Handler + 0x0000000008000d10 0xe ./Core/Src/stm32f4xx_it.o + 0x0000000008000d10 DebugMon_Handler .text.PendSV_Handler - 0x0000000008000d46 0xe ./Core/Src/stm32f4xx_it.o - 0x0000000008000d46 PendSV_Handler + 0x0000000008000d1e 0xe ./Core/Src/stm32f4xx_it.o + 0x0000000008000d1e PendSV_Handler .text.SysTick_Handler - 0x0000000008000d54 0xc ./Core/Src/stm32f4xx_it.o - 0x0000000008000d54 SysTick_Handler + 0x0000000008000d2c 0xc ./Core/Src/stm32f4xx_it.o + 0x0000000008000d2c SysTick_Handler .text.TIM1_UP_TIM10_IRQHandler - 0x0000000008000d60 0x84 ./Core/Src/stm32f4xx_it.o - 0x0000000008000d60 TIM1_UP_TIM10_IRQHandler + 0x0000000008000d38 0x84 ./Core/Src/stm32f4xx_it.o + 0x0000000008000d38 TIM1_UP_TIM10_IRQHandler .text.CommonChannelActions - 0x0000000008000de4 0x4c ./Core/Src/stm32f4xx_it.o - 0x0000000008000de4 CommonChannelActions + 0x0000000008000dbc 0x46 ./Core/Src/stm32f4xx_it.o + 0x0000000008000dbc CommonChannelActions + *fill* 0x0000000008000e02 0x2 .text.SystemInit - 0x0000000008000e30 0x24 ./Core/Src/system_stm32f4xx.o - 0x0000000008000e30 SystemInit + 0x0000000008000e04 0x24 ./Core/Src/system_stm32f4xx.o + 0x0000000008000e04 SystemInit .text.Reset_Handler - 0x0000000008000e54 0x50 ./Core/Startup/startup_stm32f407vetx.o - 0x0000000008000e54 Reset_Handler + 0x0000000008000e28 0x50 ./Core/Startup/startup_stm32f407vetx.o + 0x0000000008000e28 Reset_Handler .text.Default_Handler - 0x0000000008000ea4 0x2 ./Core/Startup/startup_stm32f407vetx.o - 0x0000000008000ea4 RTC_Alarm_IRQHandler - 0x0000000008000ea4 HASH_RNG_IRQHandler - 0x0000000008000ea4 EXTI2_IRQHandler - 0x0000000008000ea4 TIM8_CC_IRQHandler - 0x0000000008000ea4 TIM1_CC_IRQHandler - 0x0000000008000ea4 DMA2_Stream5_IRQHandler - 0x0000000008000ea4 DMA1_Stream5_IRQHandler - 0x0000000008000ea4 PVD_IRQHandler - 0x0000000008000ea4 SDIO_IRQHandler - 0x0000000008000ea4 TAMP_STAMP_IRQHandler - 0x0000000008000ea4 CAN2_RX1_IRQHandler - 0x0000000008000ea4 EXTI3_IRQHandler - 0x0000000008000ea4 TIM8_TRG_COM_TIM14_IRQHandler - 0x0000000008000ea4 TIM8_UP_TIM13_IRQHandler - 0x0000000008000ea4 I2C3_ER_IRQHandler - 0x0000000008000ea4 EXTI0_IRQHandler - 0x0000000008000ea4 I2C2_EV_IRQHandler - 0x0000000008000ea4 DMA1_Stream2_IRQHandler - 0x0000000008000ea4 CAN1_RX0_IRQHandler - 0x0000000008000ea4 FPU_IRQHandler - 0x0000000008000ea4 OTG_HS_WKUP_IRQHandler - 0x0000000008000ea4 CAN2_SCE_IRQHandler - 0x0000000008000ea4 DMA2_Stream2_IRQHandler - 0x0000000008000ea4 SPI1_IRQHandler - 0x0000000008000ea4 TIM6_DAC_IRQHandler - 0x0000000008000ea4 TIM1_BRK_TIM9_IRQHandler - 0x0000000008000ea4 DCMI_IRQHandler - 0x0000000008000ea4 CAN2_RX0_IRQHandler - 0x0000000008000ea4 DMA2_Stream3_IRQHandler - 0x0000000008000ea4 USART6_IRQHandler - 0x0000000008000ea4 USART3_IRQHandler - 0x0000000008000ea4 CAN1_RX1_IRQHandler - 0x0000000008000ea4 UART5_IRQHandler - 0x0000000008000ea4 DMA2_Stream0_IRQHandler - 0x0000000008000ea4 TIM4_IRQHandler - 0x0000000008000ea4 I2C1_EV_IRQHandler - 0x0000000008000ea4 DMA1_Stream6_IRQHandler - 0x0000000008000ea4 DMA1_Stream1_IRQHandler - 0x0000000008000ea4 UART4_IRQHandler - 0x0000000008000ea4 TIM3_IRQHandler - 0x0000000008000ea4 RCC_IRQHandler - 0x0000000008000ea4 TIM8_BRK_TIM12_IRQHandler - 0x0000000008000ea4 Default_Handler - 0x0000000008000ea4 EXTI15_10_IRQHandler - 0x0000000008000ea4 ADC_IRQHandler - 0x0000000008000ea4 DMA1_Stream7_IRQHandler - 0x0000000008000ea4 TIM7_IRQHandler - 0x0000000008000ea4 CAN2_TX_IRQHandler - 0x0000000008000ea4 TIM5_IRQHandler - 0x0000000008000ea4 DMA2_Stream7_IRQHandler - 0x0000000008000ea4 I2C3_EV_IRQHandler - 0x0000000008000ea4 EXTI9_5_IRQHandler - 0x0000000008000ea4 RTC_WKUP_IRQHandler - 0x0000000008000ea4 ETH_WKUP_IRQHandler - 0x0000000008000ea4 SPI2_IRQHandler - 0x0000000008000ea4 OTG_HS_EP1_IN_IRQHandler - 0x0000000008000ea4 DMA1_Stream0_IRQHandler - 0x0000000008000ea4 CAN1_TX_IRQHandler - 0x0000000008000ea4 EXTI4_IRQHandler - 0x0000000008000ea4 FSMC_IRQHandler - 0x0000000008000ea4 ETH_IRQHandler - 0x0000000008000ea4 OTG_HS_EP1_OUT_IRQHandler - 0x0000000008000ea4 WWDG_IRQHandler - 0x0000000008000ea4 TIM2_IRQHandler - 0x0000000008000ea4 OTG_FS_WKUP_IRQHandler - 0x0000000008000ea4 TIM1_TRG_COM_TIM11_IRQHandler - 0x0000000008000ea4 OTG_HS_IRQHandler - 0x0000000008000ea4 EXTI1_IRQHandler - 0x0000000008000ea4 USART2_IRQHandler - 0x0000000008000ea4 I2C2_ER_IRQHandler - 0x0000000008000ea4 DMA2_Stream1_IRQHandler - 0x0000000008000ea4 CAN1_SCE_IRQHandler - 0x0000000008000ea4 FLASH_IRQHandler - 0x0000000008000ea4 DMA2_Stream4_IRQHandler - 0x0000000008000ea4 USART1_IRQHandler - 0x0000000008000ea4 OTG_FS_IRQHandler - 0x0000000008000ea4 SPI3_IRQHandler - 0x0000000008000ea4 DMA1_Stream4_IRQHandler - 0x0000000008000ea4 I2C1_ER_IRQHandler - 0x0000000008000ea4 DMA2_Stream6_IRQHandler - 0x0000000008000ea4 DMA1_Stream3_IRQHandler - *fill* 0x0000000008000ea6 0x2 + 0x0000000008000e78 0x2 ./Core/Startup/startup_stm32f407vetx.o + 0x0000000008000e78 RTC_Alarm_IRQHandler + 0x0000000008000e78 HASH_RNG_IRQHandler + 0x0000000008000e78 EXTI2_IRQHandler + 0x0000000008000e78 TIM8_CC_IRQHandler + 0x0000000008000e78 TIM1_CC_IRQHandler + 0x0000000008000e78 DMA2_Stream5_IRQHandler + 0x0000000008000e78 DMA1_Stream5_IRQHandler + 0x0000000008000e78 PVD_IRQHandler + 0x0000000008000e78 SDIO_IRQHandler + 0x0000000008000e78 TAMP_STAMP_IRQHandler + 0x0000000008000e78 CAN2_RX1_IRQHandler + 0x0000000008000e78 EXTI3_IRQHandler + 0x0000000008000e78 TIM8_TRG_COM_TIM14_IRQHandler + 0x0000000008000e78 TIM8_UP_TIM13_IRQHandler + 0x0000000008000e78 I2C3_ER_IRQHandler + 0x0000000008000e78 EXTI0_IRQHandler + 0x0000000008000e78 I2C2_EV_IRQHandler + 0x0000000008000e78 DMA1_Stream2_IRQHandler + 0x0000000008000e78 CAN1_RX0_IRQHandler + 0x0000000008000e78 FPU_IRQHandler + 0x0000000008000e78 OTG_HS_WKUP_IRQHandler + 0x0000000008000e78 CAN2_SCE_IRQHandler + 0x0000000008000e78 DMA2_Stream2_IRQHandler + 0x0000000008000e78 SPI1_IRQHandler + 0x0000000008000e78 TIM6_DAC_IRQHandler + 0x0000000008000e78 TIM1_BRK_TIM9_IRQHandler + 0x0000000008000e78 DCMI_IRQHandler + 0x0000000008000e78 CAN2_RX0_IRQHandler + 0x0000000008000e78 DMA2_Stream3_IRQHandler + 0x0000000008000e78 USART6_IRQHandler + 0x0000000008000e78 USART3_IRQHandler + 0x0000000008000e78 CAN1_RX1_IRQHandler + 0x0000000008000e78 UART5_IRQHandler + 0x0000000008000e78 DMA2_Stream0_IRQHandler + 0x0000000008000e78 TIM4_IRQHandler + 0x0000000008000e78 I2C1_EV_IRQHandler + 0x0000000008000e78 DMA1_Stream6_IRQHandler + 0x0000000008000e78 DMA1_Stream1_IRQHandler + 0x0000000008000e78 UART4_IRQHandler + 0x0000000008000e78 TIM3_IRQHandler + 0x0000000008000e78 RCC_IRQHandler + 0x0000000008000e78 TIM8_BRK_TIM12_IRQHandler + 0x0000000008000e78 Default_Handler + 0x0000000008000e78 EXTI15_10_IRQHandler + 0x0000000008000e78 ADC_IRQHandler + 0x0000000008000e78 DMA1_Stream7_IRQHandler + 0x0000000008000e78 TIM7_IRQHandler + 0x0000000008000e78 CAN2_TX_IRQHandler + 0x0000000008000e78 TIM5_IRQHandler + 0x0000000008000e78 DMA2_Stream7_IRQHandler + 0x0000000008000e78 I2C3_EV_IRQHandler + 0x0000000008000e78 EXTI9_5_IRQHandler + 0x0000000008000e78 RTC_WKUP_IRQHandler + 0x0000000008000e78 ETH_WKUP_IRQHandler + 0x0000000008000e78 SPI2_IRQHandler + 0x0000000008000e78 OTG_HS_EP1_IN_IRQHandler + 0x0000000008000e78 DMA1_Stream0_IRQHandler + 0x0000000008000e78 CAN1_TX_IRQHandler + 0x0000000008000e78 EXTI4_IRQHandler + 0x0000000008000e78 FSMC_IRQHandler + 0x0000000008000e78 ETH_IRQHandler + 0x0000000008000e78 OTG_HS_EP1_OUT_IRQHandler + 0x0000000008000e78 WWDG_IRQHandler + 0x0000000008000e78 TIM2_IRQHandler + 0x0000000008000e78 OTG_FS_WKUP_IRQHandler + 0x0000000008000e78 TIM1_TRG_COM_TIM11_IRQHandler + 0x0000000008000e78 OTG_HS_IRQHandler + 0x0000000008000e78 EXTI1_IRQHandler + 0x0000000008000e78 USART2_IRQHandler + 0x0000000008000e78 I2C2_ER_IRQHandler + 0x0000000008000e78 DMA2_Stream1_IRQHandler + 0x0000000008000e78 CAN1_SCE_IRQHandler + 0x0000000008000e78 FLASH_IRQHandler + 0x0000000008000e78 DMA2_Stream4_IRQHandler + 0x0000000008000e78 USART1_IRQHandler + 0x0000000008000e78 OTG_FS_IRQHandler + 0x0000000008000e78 SPI3_IRQHandler + 0x0000000008000e78 DMA1_Stream4_IRQHandler + 0x0000000008000e78 I2C1_ER_IRQHandler + 0x0000000008000e78 DMA2_Stream6_IRQHandler + 0x0000000008000e78 DMA1_Stream3_IRQHandler + *fill* 0x0000000008000e7a 0x2 .text.HAL_Init - 0x0000000008000ea8 0x44 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - 0x0000000008000ea8 HAL_Init + 0x0000000008000e7c 0x44 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + 0x0000000008000e7c HAL_Init .text.HAL_InitTick - 0x0000000008000eec 0x60 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - 0x0000000008000eec HAL_InitTick + 0x0000000008000ec0 0x60 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + 0x0000000008000ec0 HAL_InitTick .text.HAL_IncTick - 0x0000000008000f4c 0x28 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - 0x0000000008000f4c HAL_IncTick + 0x0000000008000f20 0x28 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + 0x0000000008000f20 HAL_IncTick .text.HAL_GetTick - 0x0000000008000f74 0x18 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - 0x0000000008000f74 HAL_GetTick + 0x0000000008000f48 0x18 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + 0x0000000008000f48 HAL_GetTick .text.__NVIC_SetPriorityGrouping - 0x0000000008000f8c 0x48 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + 0x0000000008000f60 0x48 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o .text.__NVIC_GetPriorityGrouping - 0x0000000008000fd4 0x1c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + 0x0000000008000fa8 0x1c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o .text.__NVIC_EnableIRQ - 0x0000000008000ff0 0x3c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + 0x0000000008000fc4 0x3c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o .text.__NVIC_SetPriority - 0x000000000800102c 0x54 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + 0x0000000008001000 0x54 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o .text.NVIC_EncodePriority - 0x0000000008001080 0x66 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - *fill* 0x00000000080010e6 0x2 + 0x0000000008001054 0x66 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + *fill* 0x00000000080010ba 0x2 .text.SysTick_Config - 0x00000000080010e8 0x44 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + 0x00000000080010bc 0x44 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o .text.HAL_NVIC_SetPriorityGrouping - 0x000000000800112c 0x16 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - 0x000000000800112c HAL_NVIC_SetPriorityGrouping + 0x0000000008001100 0x16 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + 0x0000000008001100 HAL_NVIC_SetPriorityGrouping .text.HAL_NVIC_SetPriority - 0x0000000008001142 0x38 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - 0x0000000008001142 HAL_NVIC_SetPriority + 0x0000000008001116 0x38 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + 0x0000000008001116 HAL_NVIC_SetPriority .text.HAL_NVIC_EnableIRQ - 0x000000000800117a 0x1c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - 0x000000000800117a HAL_NVIC_EnableIRQ + 0x000000000800114e 0x1c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + 0x000000000800114e HAL_NVIC_EnableIRQ .text.HAL_SYSTICK_Config - 0x0000000008001196 0x18 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - 0x0000000008001196 HAL_SYSTICK_Config - *fill* 0x00000000080011ae 0x2 + 0x000000000800116a 0x18 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + 0x000000000800116a HAL_SYSTICK_Config + *fill* 0x0000000008001182 0x2 .text.HAL_GPIO_Init - 0x00000000080011b0 0x338 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o - 0x00000000080011b0 HAL_GPIO_Init + 0x0000000008001184 0x338 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + 0x0000000008001184 HAL_GPIO_Init .text.HAL_GPIO_WritePin - 0x00000000080014e8 0x32 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o - 0x00000000080014e8 HAL_GPIO_WritePin - *fill* 0x000000000800151a 0x2 + 0x00000000080014bc 0x32 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + 0x00000000080014bc HAL_GPIO_WritePin + *fill* 0x00000000080014ee 0x2 .text.HAL_RCC_OscConfig - 0x000000000800151c 0x4f0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o - 0x000000000800151c HAL_RCC_OscConfig + 0x00000000080014f0 0x4f0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + 0x00000000080014f0 HAL_RCC_OscConfig .text.HAL_RCC_ClockConfig - 0x0000000008001a0c 0x1cc ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o - 0x0000000008001a0c HAL_RCC_ClockConfig + 0x00000000080019e0 0x1cc ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + 0x00000000080019e0 HAL_RCC_ClockConfig .text.HAL_RCC_GetSysClockFreq - 0x0000000008001bd8 0x18c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o - 0x0000000008001bd8 HAL_RCC_GetSysClockFreq + 0x0000000008001bac 0x18c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + 0x0000000008001bac HAL_RCC_GetSysClockFreq .text.HAL_SPI_Init - 0x0000000008001d64 0x112 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o - 0x0000000008001d64 HAL_SPI_Init + 0x0000000008001d38 0x112 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + 0x0000000008001d38 HAL_SPI_Init .text.HAL_SPI_Receive - 0x0000000008001e76 0x222 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o - 0x0000000008001e76 HAL_SPI_Receive + 0x0000000008001e4a 0x222 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + 0x0000000008001e4a HAL_SPI_Receive .text.HAL_SPI_TransmitReceive - 0x0000000008002098 0x344 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o - 0x0000000008002098 HAL_SPI_TransmitReceive + 0x000000000800206c 0x344 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + 0x000000000800206c HAL_SPI_TransmitReceive .text.SPI_WaitFlagStateUntilTimeout - 0x00000000080023dc 0x110 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + 0x00000000080023b0 0x110 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o .text.SPI_EndRxTransaction - 0x00000000080024ec 0xca ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o - *fill* 0x00000000080025b6 0x2 + 0x00000000080024c0 0xca ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + *fill* 0x000000000800258a 0x2 .text.SPI_EndRxTxTransaction - 0x00000000080025b8 0x84 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + 0x000000000800258c 0x84 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o .text.HAL_TIM_Base_Init - 0x000000000800263c 0x9e ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x000000000800263c HAL_TIM_Base_Init - *fill* 0x00000000080026da 0x2 + 0x0000000008002610 0x9e ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000008002610 HAL_TIM_Base_Init + *fill* 0x00000000080026ae 0x2 .text.HAL_TIM_Base_Start_IT - 0x00000000080026dc 0xe0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x00000000080026dc HAL_TIM_Base_Start_IT + 0x00000000080026b0 0xe0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x00000000080026b0 HAL_TIM_Base_Start_IT .text.HAL_TIM_OC_Init - 0x00000000080027bc 0x9e ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x00000000080027bc HAL_TIM_OC_Init + 0x0000000008002790 0x9e ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000008002790 HAL_TIM_OC_Init .text.HAL_TIM_OC_MspInit - 0x000000000800285a 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x000000000800285a HAL_TIM_OC_MspInit + 0x000000000800282e 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x000000000800282e HAL_TIM_OC_MspInit .text.HAL_TIM_PWM_Init - 0x000000000800286e 0x9e ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x000000000800286e HAL_TIM_PWM_Init + 0x0000000008002842 0x9e ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000008002842 HAL_TIM_PWM_Init .text.HAL_TIM_PWM_MspInit - 0x000000000800290c 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x000000000800290c HAL_TIM_PWM_MspInit + 0x00000000080028e0 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x00000000080028e0 HAL_TIM_PWM_MspInit .text.HAL_TIM_PWM_Start - 0x0000000008002920 0x190 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x0000000008002920 HAL_TIM_PWM_Start + 0x00000000080028f4 0x190 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x00000000080028f4 HAL_TIM_PWM_Start .text.HAL_TIM_PWM_Stop - 0x0000000008002ab0 0xe0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x0000000008002ab0 HAL_TIM_PWM_Stop + 0x0000000008002a84 0xe0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000008002a84 HAL_TIM_PWM_Stop .text.HAL_TIM_IRQHandler - 0x0000000008002b90 0x210 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x0000000008002b90 HAL_TIM_IRQHandler + 0x0000000008002b64 0x210 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000008002b64 HAL_TIM_IRQHandler .text.HAL_TIM_OC_ConfigChannel - 0x0000000008002da0 0xb8 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x0000000008002da0 HAL_TIM_OC_ConfigChannel + 0x0000000008002d74 0xb8 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000008002d74 HAL_TIM_OC_ConfigChannel .text.HAL_TIM_PWM_ConfigChannel - 0x0000000008002e58 0x184 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x0000000008002e58 HAL_TIM_PWM_ConfigChannel + 0x0000000008002e2c 0x184 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000008002e2c HAL_TIM_PWM_ConfigChannel .text.HAL_TIM_ConfigClockSource - 0x0000000008002fdc 0x18e ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x0000000008002fdc HAL_TIM_ConfigClockSource + 0x0000000008002fb0 0x18e ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000008002fb0 HAL_TIM_ConfigClockSource .text.HAL_TIM_PeriodElapsedCallback - 0x000000000800316a 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x000000000800316a HAL_TIM_PeriodElapsedCallback + 0x000000000800313e 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x000000000800313e HAL_TIM_PeriodElapsedCallback .text.HAL_TIM_OC_DelayElapsedCallback - 0x000000000800317e 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x000000000800317e HAL_TIM_OC_DelayElapsedCallback + 0x0000000008003152 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000008003152 HAL_TIM_OC_DelayElapsedCallback .text.HAL_TIM_IC_CaptureCallback - 0x0000000008003192 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x0000000008003192 HAL_TIM_IC_CaptureCallback + 0x0000000008003166 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000008003166 HAL_TIM_IC_CaptureCallback .text.HAL_TIM_PWM_PulseFinishedCallback - 0x00000000080031a6 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x00000000080031a6 HAL_TIM_PWM_PulseFinishedCallback + 0x000000000800317a 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x000000000800317a HAL_TIM_PWM_PulseFinishedCallback .text.HAL_TIM_TriggerCallback - 0x00000000080031ba 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x00000000080031ba HAL_TIM_TriggerCallback - *fill* 0x00000000080031ce 0x2 + 0x000000000800318e 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x000000000800318e HAL_TIM_TriggerCallback + *fill* 0x00000000080031a2 0x2 .text.TIM_Base_SetConfig - 0x00000000080031d0 0x140 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x00000000080031d0 TIM_Base_SetConfig + 0x00000000080031a4 0x140 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x00000000080031a4 TIM_Base_SetConfig .text.TIM_OC1_SetConfig - 0x0000000008003310 0xe0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x00000000080032e4 0xe0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o .text.TIM_OC2_SetConfig - 0x00000000080033f0 0xec ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x00000000080033f0 TIM_OC2_SetConfig + 0x00000000080033c4 0xec ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x00000000080033c4 TIM_OC2_SetConfig .text.TIM_OC3_SetConfig - 0x00000000080034dc 0xe8 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x00000000080034b0 0xe8 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o .text.TIM_OC4_SetConfig - 0x00000000080035c4 0xac ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000008003598 0xac ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o .text.TIM_TI1_ConfigInputStage - 0x0000000008003670 0x5e ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000008003644 0x5e ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o .text.TIM_TI2_ConfigInputStage - 0x00000000080036ce 0x60 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x00000000080036a2 0x60 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o .text.TIM_ITRx_SetConfig - 0x000000000800372e 0x36 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000008003702 0x36 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o .text.TIM_ETR_SetConfig - 0x0000000008003764 0x40 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x0000000008003764 TIM_ETR_SetConfig + 0x0000000008003738 0x40 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000008003738 TIM_ETR_SetConfig .text.TIM_CCxChannelCmd - 0x00000000080037a4 0x4a ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - 0x00000000080037a4 TIM_CCxChannelCmd - *fill* 0x00000000080037ee 0x2 + 0x0000000008003778 0x4a ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000008003778 TIM_CCxChannelCmd + *fill* 0x00000000080037c2 0x2 .text.HAL_TIMEx_MasterConfigSynchronization - 0x00000000080037f0 0xf8 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o - 0x00000000080037f0 HAL_TIMEx_MasterConfigSynchronization + 0x00000000080037c4 0xf8 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o + 0x00000000080037c4 HAL_TIMEx_MasterConfigSynchronization .text.HAL_TIMEx_ConfigBreakDeadTime - 0x00000000080038e8 0xa4 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o - 0x00000000080038e8 HAL_TIMEx_ConfigBreakDeadTime + 0x00000000080038bc 0xa4 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o + 0x00000000080038bc HAL_TIMEx_ConfigBreakDeadTime .text.HAL_TIMEx_CommutCallback - 0x000000000800398c 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o - 0x000000000800398c HAL_TIMEx_CommutCallback + 0x0000000008003960 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o + 0x0000000008003960 HAL_TIMEx_CommutCallback .text.HAL_TIMEx_BreakCallback - 0x00000000080039a0 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o - 0x00000000080039a0 HAL_TIMEx_BreakCallback - .text.memset 0x00000000080039b4 0x10 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-memset.o) - 0x00000000080039b4 memset + 0x0000000008003974 0x14 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o + 0x0000000008003974 HAL_TIMEx_BreakCallback + .text.memset 0x0000000008003988 0x10 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-memset.o) + 0x0000000008003988 memset .text.__libc_init_array - 0x00000000080039c4 0x48 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-init.o) - 0x00000000080039c4 __libc_init_array + 0x0000000008003998 0x48 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-init.o) + 0x0000000008003998 __libc_init_array *(.glue_7) - .glue_7 0x0000000008003a0c 0x0 linker stubs + .glue_7 0x00000000080039e0 0x0 linker stubs *(.glue_7t) - .glue_7t 0x0000000008003a0c 0x0 linker stubs + .glue_7t 0x00000000080039e0 0x0 linker stubs *(.eh_frame) - .eh_frame 0x0000000008003a0c 0x0 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o + .eh_frame 0x00000000080039e0 0x0 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o *(.init) - .init 0x0000000008003a0c 0x4 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crti.o - 0x0000000008003a0c _init - .init 0x0000000008003a10 0x8 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtn.o + .init 0x00000000080039e0 0x4 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crti.o + 0x00000000080039e0 _init + .init 0x00000000080039e4 0x8 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtn.o *(.fini) - .fini 0x0000000008003a18 0x4 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crti.o - 0x0000000008003a18 _fini - .fini 0x0000000008003a1c 0x8 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtn.o - 0x0000000008003a24 . = ALIGN (0x4) - 0x0000000008003a24 _etext = . + .fini 0x00000000080039ec 0x4 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crti.o + 0x00000000080039ec _fini + .fini 0x00000000080039f0 0x8 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtn.o + 0x00000000080039f8 . = ALIGN (0x4) + 0x00000000080039f8 _etext = . -.vfp11_veneer 0x0000000008003a24 0x0 - .vfp11_veneer 0x0000000008003a24 0x0 linker stubs +.vfp11_veneer 0x00000000080039f8 0x0 + .vfp11_veneer 0x00000000080039f8 0x0 linker stubs -.v4_bx 0x0000000008003a24 0x0 - .v4_bx 0x0000000008003a24 0x0 linker stubs +.v4_bx 0x00000000080039f8 0x0 + .v4_bx 0x00000000080039f8 0x0 linker stubs -.iplt 0x0000000008003a24 0x0 - .iplt 0x0000000008003a24 0x0 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o +.iplt 0x00000000080039f8 0x0 + .iplt 0x00000000080039f8 0x0 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o -.rodata 0x0000000008003a24 0x10 - 0x0000000008003a24 . = ALIGN (0x4) +.rodata 0x00000000080039f8 0x10 + 0x00000000080039f8 . = ALIGN (0x4) *(.rodata) *(.rodata*) .rodata.AHBPrescTable - 0x0000000008003a24 0x10 ./Core/Src/system_stm32f4xx.o - 0x0000000008003a24 AHBPrescTable - 0x0000000008003a34 . = ALIGN (0x4) + 0x00000000080039f8 0x10 ./Core/Src/system_stm32f4xx.o + 0x00000000080039f8 AHBPrescTable + 0x0000000008003a08 . = ALIGN (0x4) -.ARM.extab 0x0000000008003a34 0x0 - 0x0000000008003a34 . = ALIGN (0x4) +.ARM.extab 0x0000000008003a08 0x0 + 0x0000000008003a08 . = ALIGN (0x4) *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x0000000008003a34 . = ALIGN (0x4) + 0x0000000008003a08 . = ALIGN (0x4) -.ARM 0x0000000008003a34 0x8 - 0x0000000008003a34 . = ALIGN (0x4) - 0x0000000008003a34 __exidx_start = . +.ARM 0x0000000008003a08 0x8 + 0x0000000008003a08 . = ALIGN (0x4) + 0x0000000008003a08 __exidx_start = . *(.ARM.exidx*) - .ARM.exidx 0x0000000008003a34 0x8 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard\libgcc.a(_udivmoddi4.o) - 0x0000000008003a3c __exidx_end = . - 0x0000000008003a3c . = ALIGN (0x4) + .ARM.exidx 0x0000000008003a08 0x8 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard\libgcc.a(_udivmoddi4.o) + 0x0000000008003a10 __exidx_end = . + 0x0000000008003a10 . = ALIGN (0x4) -.rel.dyn 0x0000000008003a3c 0x0 - .rel.iplt 0x0000000008003a3c 0x0 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o +.rel.dyn 0x0000000008003a10 0x0 + .rel.iplt 0x0000000008003a10 0x0 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o -.preinit_array 0x0000000008003a3c 0x0 - 0x0000000008003a3c . = ALIGN (0x4) - 0x0000000008003a3c PROVIDE (__preinit_array_start = .) +.preinit_array 0x0000000008003a10 0x0 + 0x0000000008003a10 . = ALIGN (0x4) + 0x0000000008003a10 PROVIDE (__preinit_array_start = .) *(.preinit_array*) - 0x0000000008003a3c PROVIDE (__preinit_array_end = .) - 0x0000000008003a3c . = ALIGN (0x4) + 0x0000000008003a10 PROVIDE (__preinit_array_end = .) + 0x0000000008003a10 . = ALIGN (0x4) -.init_array 0x0000000008003a3c 0x4 - 0x0000000008003a3c . = ALIGN (0x4) - 0x0000000008003a3c PROVIDE (__init_array_start = .) +.init_array 0x0000000008003a10 0x4 + 0x0000000008003a10 . = ALIGN (0x4) + 0x0000000008003a10 PROVIDE (__init_array_start = .) *(SORT_BY_NAME(.init_array.*)) *(.init_array*) - .init_array 0x0000000008003a3c 0x4 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o - 0x0000000008003a40 PROVIDE (__init_array_end = .) - 0x0000000008003a40 . = ALIGN (0x4) + .init_array 0x0000000008003a10 0x4 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o + 0x0000000008003a14 PROVIDE (__init_array_end = .) + 0x0000000008003a14 . = ALIGN (0x4) -.fini_array 0x0000000008003a40 0x4 - 0x0000000008003a40 . = ALIGN (0x4) +.fini_array 0x0000000008003a14 0x4 + 0x0000000008003a14 . = ALIGN (0x4) [!provide] PROVIDE (__fini_array_start = .) *(SORT_BY_NAME(.fini_array.*)) *(.fini_array*) - .fini_array 0x0000000008003a40 0x4 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o + .fini_array 0x0000000008003a14 0x4 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o [!provide] PROVIDE (__fini_array_end = .) - 0x0000000008003a44 . = ALIGN (0x4) - 0x0000000008003a44 _sidata = LOADADDR (.data) + 0x0000000008003a18 . = ALIGN (0x4) + 0x0000000008003a18 _sidata = LOADADDR (.data) -.data 0x0000000020000000 0x10 load address 0x0000000008003a44 +.data 0x0000000020000000 0x10 load address 0x0000000008003a18 0x0000000020000000 . = ALIGN (0x4) 0x0000000020000000 _sdata = . *(.data) @@ -3378,12 +3376,12 @@ LOAD C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext 0x0000000020000010 . = ALIGN (0x4) *fill* 0x000000002000000d 0x3 0x0000000020000010 _edata = . - 0x0000000008003a54 _siccmram = LOADADDR (.ccmram) + 0x0000000008003a28 _siccmram = LOADADDR (.ccmram) -.igot.plt 0x0000000020000010 0x0 load address 0x0000000008003a54 +.igot.plt 0x0000000020000010 0x0 load address 0x0000000008003a28 .igot.plt 0x0000000020000010 0x0 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard/crtbegin.o -.ccmram 0x0000000010000000 0x0 load address 0x0000000008003a54 +.ccmram 0x0000000010000000 0x0 load address 0x0000000008003a28 0x0000000010000000 . = ALIGN (0x4) 0x0000000010000000 _sccmram = . *(.ccmram) @@ -3498,19 +3496,19 @@ LOAD C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext .comment 0x0000000000000043 0x44 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o .comment 0x0000000000000043 0x44 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o -.debug_info 0x0000000000000000 0xb2c2 - .debug_info 0x0000000000000000 0x1afc ./Core/Src/main.o - .debug_info 0x0000000000001afc 0xfd4 ./Core/Src/stm32f4xx_hal_msp.o - .debug_info 0x0000000000002ad0 0x8ca ./Core/Src/stm32f4xx_it.o - .debug_info 0x000000000000339a 0x512 ./Core/Src/system_stm32f4xx.o - .debug_info 0x00000000000038ac 0x23 ./Core/Startup/startup_stm32f407vetx.o - .debug_info 0x00000000000038cf 0x948 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - .debug_info 0x0000000000004217 0xd46 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - .debug_info 0x0000000000004f5d 0x6c3 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o - .debug_info 0x0000000000005620 0x8b1 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o - .debug_info 0x0000000000005ed1 0x15fb ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o - .debug_info 0x00000000000074cc 0x2948 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - .debug_info 0x0000000000009e14 0x14ae ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o +.debug_info 0x0000000000000000 0xb230 + .debug_info 0x0000000000000000 0x1a87 ./Core/Src/main.o + .debug_info 0x0000000000001a87 0xfd4 ./Core/Src/stm32f4xx_hal_msp.o + .debug_info 0x0000000000002a5b 0x8ad ./Core/Src/stm32f4xx_it.o + .debug_info 0x0000000000003308 0x512 ./Core/Src/system_stm32f4xx.o + .debug_info 0x000000000000381a 0x23 ./Core/Startup/startup_stm32f407vetx.o + .debug_info 0x000000000000383d 0x948 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + .debug_info 0x0000000000004185 0xd46 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + .debug_info 0x0000000000004ecb 0x6c3 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + .debug_info 0x000000000000558e 0x8b1 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + .debug_info 0x0000000000005e3f 0x15fb ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + .debug_info 0x000000000000743a 0x2948 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + .debug_info 0x0000000000009d82 0x14ae ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o .debug_abbrev 0x0000000000000000 0x195c .debug_abbrev 0x0000000000000000 0x323 ./Core/Src/main.o @@ -3527,62 +3525,62 @@ LOAD C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext .debug_abbrev 0x00000000000016e0 0x27c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o .debug_loclists - 0x0000000000000000 0x258 + 0x0000000000000000 0x230 .debug_loclists - 0x0000000000000000 0x258 ./Core/Src/main.o + 0x0000000000000000 0x230 ./Core/Src/main.o -.debug_aranges 0x0000000000000000 0xb70 +.debug_aranges 0x0000000000000000 0xb68 .debug_aranges - 0x0000000000000000 0x78 ./Core/Src/main.o + 0x0000000000000000 0x70 ./Core/Src/main.o .debug_aranges - 0x0000000000000078 0x48 ./Core/Src/stm32f4xx_hal_msp.o + 0x0000000000000070 0x48 ./Core/Src/stm32f4xx_hal_msp.o .debug_aranges - 0x00000000000000c0 0x70 ./Core/Src/stm32f4xx_it.o + 0x00000000000000b8 0x70 ./Core/Src/stm32f4xx_it.o .debug_aranges - 0x0000000000000130 0x28 ./Core/Src/system_stm32f4xx.o + 0x0000000000000128 0x28 ./Core/Src/system_stm32f4xx.o .debug_aranges - 0x0000000000000158 0x28 ./Core/Startup/startup_stm32f407vetx.o + 0x0000000000000150 0x28 ./Core/Startup/startup_stm32f407vetx.o .debug_aranges - 0x0000000000000180 0xf0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + 0x0000000000000178 0xf0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o .debug_aranges - 0x0000000000000270 0x118 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + 0x0000000000000268 0x118 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o .debug_aranges - 0x0000000000000388 0x58 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + 0x0000000000000380 0x58 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o .debug_aranges - 0x00000000000003e0 0x88 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + 0x00000000000003d8 0x88 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o .debug_aranges - 0x0000000000000468 0x1d0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + 0x0000000000000460 0x1d0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o .debug_aranges - 0x0000000000000638 0x3d0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x0000000000000630 0x3d0 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o .debug_aranges - 0x0000000000000a08 0x168 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o + 0x0000000000000a00 0x168 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o .debug_rnglists - 0x0000000000000000 0x906 + 0x0000000000000000 0x900 .debug_rnglists - 0x0000000000000000 0x80 ./Core/Src/main.o + 0x0000000000000000 0x7a ./Core/Src/main.o .debug_rnglists - 0x0000000000000080 0x33 ./Core/Src/stm32f4xx_hal_msp.o + 0x000000000000007a 0x33 ./Core/Src/stm32f4xx_hal_msp.o .debug_rnglists - 0x00000000000000b3 0x50 ./Core/Src/stm32f4xx_it.o + 0x00000000000000ad 0x50 ./Core/Src/stm32f4xx_it.o .debug_rnglists - 0x0000000000000103 0x1a ./Core/Src/system_stm32f4xx.o + 0x00000000000000fd 0x1a ./Core/Src/system_stm32f4xx.o .debug_rnglists - 0x000000000000011d 0x19 ./Core/Startup/startup_stm32f407vetx.o + 0x0000000000000117 0x19 ./Core/Startup/startup_stm32f407vetx.o .debug_rnglists - 0x0000000000000136 0xaf ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + 0x0000000000000130 0xaf ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o .debug_rnglists - 0x00000000000001e5 0xce ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + 0x00000000000001df 0xce ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o .debug_rnglists - 0x00000000000002b3 0x3f ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + 0x00000000000002ad 0x3f ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o .debug_rnglists - 0x00000000000002f2 0x66 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + 0x00000000000002ec 0x66 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o .debug_rnglists - 0x0000000000000358 0x16f ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + 0x0000000000000352 0x16f ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o .debug_rnglists - 0x00000000000004c7 0x31a ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + 0x00000000000004c1 0x31a ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o .debug_rnglists - 0x00000000000007e1 0x125 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o + 0x00000000000007db 0x125 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o .debug_macro 0x0000000000000000 0x20a0e .debug_macro 0x0000000000000000 0x1e1 ./Core/Src/main.o @@ -3638,62 +3636,62 @@ LOAD C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext .debug_macro 0x0000000000020671 0x1cf ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o .debug_macro 0x0000000000020840 0x1ce ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o -.debug_line 0x0000000000000000 0xc5b0 - .debug_line 0x0000000000000000 0xe78 ./Core/Src/main.o - .debug_line 0x0000000000000e78 0x83d ./Core/Src/stm32f4xx_hal_msp.o - .debug_line 0x00000000000016b5 0x86b ./Core/Src/stm32f4xx_it.o - .debug_line 0x0000000000001f20 0x7c7 ./Core/Src/system_stm32f4xx.o - .debug_line 0x00000000000026e7 0x7a ./Core/Startup/startup_stm32f407vetx.o - .debug_line 0x0000000000002761 0xa2d ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - .debug_line 0x000000000000318e 0xcdc ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - .debug_line 0x0000000000003e6a 0xba1 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o - .debug_line 0x0000000000004a0b 0xda4 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o - .debug_line 0x00000000000057af 0x1cbe ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o - .debug_line 0x000000000000746d 0x3719 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - .debug_line 0x000000000000ab86 0x1a2a ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o +.debug_line 0x0000000000000000 0xc576 + .debug_line 0x0000000000000000 0xe3f ./Core/Src/main.o + .debug_line 0x0000000000000e3f 0x83d ./Core/Src/stm32f4xx_hal_msp.o + .debug_line 0x000000000000167c 0x86a ./Core/Src/stm32f4xx_it.o + .debug_line 0x0000000000001ee6 0x7c7 ./Core/Src/system_stm32f4xx.o + .debug_line 0x00000000000026ad 0x7a ./Core/Startup/startup_stm32f407vetx.o + .debug_line 0x0000000000002727 0xa2d ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + .debug_line 0x0000000000003154 0xcdc ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + .debug_line 0x0000000000003e30 0xba1 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + .debug_line 0x00000000000049d1 0xda4 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + .debug_line 0x0000000000005775 0x1cbe ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + .debug_line 0x0000000000007433 0x3719 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + .debug_line 0x000000000000ab4c 0x1a2a ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o -.debug_str 0x0000000000000000 0xc65dd - .debug_str 0x0000000000000000 0xc3a30 ./Core/Src/main.o - 0xc3d9f (size before relaxing) - .debug_str 0x00000000000c3a30 0x688 ./Core/Src/stm32f4xx_hal_msp.o +.debug_str 0x0000000000000000 0xc65f4 + .debug_str 0x0000000000000000 0xc3a24 ./Core/Src/main.o + 0xc3d93 (size before relaxing) + .debug_str 0x00000000000c3a24 0x6ab ./Core/Src/stm32f4xx_hal_msp.o 0xc3d10 (size before relaxing) - .debug_str 0x00000000000c40b8 0x126 ./Core/Src/stm32f4xx_it.o - 0xc3615 (size before relaxing) - .debug_str 0x00000000000c41de 0xdb ./Core/Src/system_stm32f4xx.o + .debug_str 0x00000000000c40cf 0x126 ./Core/Src/stm32f4xx_it.o + 0xc3609 (size before relaxing) + .debug_str 0x00000000000c41f5 0xdb ./Core/Src/system_stm32f4xx.o 0xc306d (size before relaxing) - .debug_str 0x00000000000c42b9 0x34 ./Core/Startup/startup_stm32f407vetx.o + .debug_str 0x00000000000c42d0 0x34 ./Core/Startup/startup_stm32f407vetx.o 0x57 (size before relaxing) - .debug_str 0x00000000000c42ed 0x60d ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + .debug_str 0x00000000000c4304 0x60d ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o 0xc3bf1 (size before relaxing) - .debug_str 0x00000000000c48fa 0x32d ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + .debug_str 0x00000000000c4911 0x32d ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o 0xc3924 (size before relaxing) - .debug_str 0x00000000000c4c27 0x121 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + .debug_str 0x00000000000c4c3e 0x121 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o 0xc31e8 (size before relaxing) - .debug_str 0x00000000000c4d48 0x233 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + .debug_str 0x00000000000c4d5f 0x233 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o 0xc34a1 (size before relaxing) - .debug_str 0x00000000000c4f7b 0x58d ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + .debug_str 0x00000000000c4f92 0x58d ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o 0xc3931 (size before relaxing) - .debug_str 0x00000000000c5508 0xcf4 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + .debug_str 0x00000000000c551f 0xcf4 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o 0xc43e7 (size before relaxing) - .debug_str 0x00000000000c61fc 0x3e1 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o + .debug_str 0x00000000000c6213 0x3e1 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o 0xc3c03 (size before relaxing) -.debug_frame 0x0000000000000000 0x3010 - .debug_frame 0x0000000000000000 0x168 ./Core/Src/main.o - .debug_frame 0x0000000000000168 0xec ./Core/Src/stm32f4xx_hal_msp.o - .debug_frame 0x0000000000000254 0x14c ./Core/Src/stm32f4xx_it.o - .debug_frame 0x00000000000003a0 0x58 ./Core/Src/system_stm32f4xx.o - .debug_frame 0x00000000000003f8 0x374 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o - .debug_frame 0x000000000000076c 0x498 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o - .debug_frame 0x0000000000000c04 0x14c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o - .debug_frame 0x0000000000000d50 0x1f4 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o - .debug_frame 0x0000000000000f44 0x824 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o - .debug_frame 0x0000000000001768 0x11c4 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o - .debug_frame 0x000000000000292c 0x638 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o - .debug_frame 0x0000000000002f64 0x20 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-memset.o) - .debug_frame 0x0000000000002f84 0x2c C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-init.o) - .debug_frame 0x0000000000002fb0 0x2c C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard\libgcc.a(_aeabi_uldivmod.o) - .debug_frame 0x0000000000002fdc 0x34 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard\libgcc.a(_udivmoddi4.o) +.debug_frame 0x0000000000000000 0x2ff8 + .debug_frame 0x0000000000000000 0x150 ./Core/Src/main.o + .debug_frame 0x0000000000000150 0xec ./Core/Src/stm32f4xx_hal_msp.o + .debug_frame 0x000000000000023c 0x14c ./Core/Src/stm32f4xx_it.o + .debug_frame 0x0000000000000388 0x58 ./Core/Src/system_stm32f4xx.o + .debug_frame 0x00000000000003e0 0x374 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.o + .debug_frame 0x0000000000000754 0x498 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o + .debug_frame 0x0000000000000bec 0x14c ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.o + .debug_frame 0x0000000000000d38 0x1f4 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.o + .debug_frame 0x0000000000000f2c 0x824 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.o + .debug_frame 0x0000000000001750 0x11c4 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.o + .debug_frame 0x0000000000002914 0x638 ./Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.o + .debug_frame 0x0000000000002f4c 0x20 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-memset.o) + .debug_frame 0x0000000000002f6c 0x2c C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard\libc_nano.a(libc_a-init.o) + .debug_frame 0x0000000000002f98 0x2c C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard\libgcc.a(_aeabi_uldivmod.o) + .debug_frame 0x0000000000002fc4 0x34 C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7e-m+fp/hard\libgcc.a(_udivmoddi4.o) .debug_line_str 0x0000000000000000 0x4b diff --git a/~$Gen описание (1).docx b/~$Gen описание (1).docx new file mode 100644 index 0000000000000000000000000000000000000000..8c8e7c263b21d436abfa77539ec1837911f6da0c GIT binary patch literal 162 zcmZSePAsWRWFQf+GI%p2GL$e>0!d;3Gf)u=5FZd_W_kRZktIQZ8N`KyhAj`67`6g2 R6gap(U^?Ir