From 7442f4dd3ad74a828f7c283124d307c693ad8c7f Mon Sep 17 00:00:00 2001 From: Ayzen Date: Tue, 3 Feb 2026 19:29:57 +0300 Subject: [PATCH] added sram saw --- Src/main.c | 351 +- build/For_stm32.bin | Bin 45948 -> 46932 bytes build/For_stm32.elf | Bin 744140 -> 749540 bytes build/For_stm32.hex | 5129 +++--- build/For_stm32.map | 2117 +-- build/main.lst | 38512 ++++++++++++++++++++++-------------------- build/main.o | Bin 151476 -> 162152 bytes 7 files changed, 24016 insertions(+), 22093 deletions(-) diff --git a/Src/main.c b/Src/main.c index 5deb688..c3af010 100644 --- a/Src/main.c +++ b/Src/main.c @@ -44,7 +44,12 @@ #define AD9102_REG_WAV_CONFIG 0x0027u #define AD9102_REG_PAT_TIMEBASE 0x0028u #define AD9102_REG_PAT_PERIOD 0x0029u +#define AD9102_REG_DAC_PAT 0x002Bu #define AD9102_REG_SAW_CONFIG 0x0037u +#define AD9102_REG_START_DLY 0x005Cu +#define AD9102_REG_START_ADDR 0x005Du +#define AD9102_REG_STOP_ADDR 0x005Eu +#define AD9102_REG_SRAM_DATA_BASE 0x6000u #define AD9102_REG_CFG_ERROR 0x0060u #define AD9102_PAT_STATUS_RUN (1u << 0) @@ -68,14 +73,28 @@ #define AD9102_EX4_PAT_PERIOD 0xFFFFu #define AD9102_EX4_SAW_CONFIG 0x0606u +#define AD9102_EX2_WAV_CONFIG 0x3030u +#define AD9102_EX2_DAC_PAT 0x0101u +#define AD9102_EX2_SAW_CONFIG 0x0200u +#define AD9102_SRAM_PAT_PERIOD_BASE_DEFAULT 0x1u +#define AD9102_SRAM_START_DELAY_BASE_DEFAULT 0x1u +#define AD9102_SRAM_START_DLY_DEFAULT 0x0000u +#define AD9102_SRAM_HOLD_DEFAULT 0x1u +#define AD9102_SRAM_SAMPLES_DEFAULT 16u +#define AD9102_SRAM_MAX_SAMPLES 4096u +#define AD9102_SRAM_RAMP_MIN (-8192) +#define AD9102_SRAM_RAMP_MAX (8191) +#define AD9102_SRAM_RAMP_SPAN (AD9102_SRAM_RAMP_MAX - AD9102_SRAM_RAMP_MIN) + #define AD9102_SAW_STEP_DEFAULT 1u #define AD9102_PAT_PERIOD_BASE_DEFAULT 0x2u #define AD9102_START_DELAY_BASE_DEFAULT 0x1u #define AD9102_PAT_TIMEBASE_HOLD_DEFAULT 0x1u #define AD9102_PAT_PERIOD_DEFAULT 0xFFFFu -#define AD9102_FLAG_ENABLE 0x0001u -#define AD9102_FLAG_TRIANGLE 0x0002u +#define AD9102_FLAG_ENABLE 0x0001u +#define AD9102_FLAG_TRIANGLE 0x0002u +#define AD9102_FLAG_SRAM 0x0004u /* USER CODE END PD */ /* Private macro -------------------------------------------------------------*/ @@ -124,17 +143,29 @@ static const uint16_t ad9102_reg_addr[AD9102_REG_COUNT] = { 0x001eu, 0x001du }; -static const uint16_t ad9102_example4_regval[AD9102_REG_COUNT] = { - 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x4000u, - 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x1f00u, 0x0000u, 0x0000u, 0x0000u, - 0x000eu, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x3212u, 0x0121u, - 0xffffu, 0x0000u, 0x0101u, 0x0003u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, - 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x4000u, 0x0000u, 0x0606u, 0x1999u, - 0x9a00u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, - 0x0fa0u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, - 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x16ffu, - 0x0001u, 0x0001u -}; +static const uint16_t ad9102_example4_regval[AD9102_REG_COUNT] = { + 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x4000u, + 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x1f00u, 0x0000u, 0x0000u, 0x0000u, + 0x000eu, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x3212u, 0x0121u, + 0xffffu, 0x0000u, 0x0101u, 0x0003u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, + 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x4000u, 0x0000u, 0x0606u, 0x1999u, + 0x9a00u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, + 0x0fa0u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, + 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x16ffu, + 0x0001u, 0x0001u +}; + +static const uint16_t ad9102_example2_regval[AD9102_REG_COUNT] = { + 0x0000u, 0x0e00u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x4000u, + 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x1f00u, 0x0000u, 0x0000u, 0x0000u, + 0x000eu, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x3030u, 0x0111u, + 0xffffu, 0x0000u, 0x0101u, 0x0003u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, + 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x4000u, 0x0000u, 0x0200u, 0x0000u, + 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, + 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, + 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0fa0u, 0x0000u, 0x3ff0u, 0x0100u, + 0x0001u, 0x0001u +}; @@ -175,7 +206,10 @@ static void AD9102_WriteReg(uint16_t addr, uint16_t value); static uint16_t AD9102_ReadReg(uint16_t addr); static void AD9102_WriteRegTable(const uint16_t *values, uint16_t count); static uint16_t AD9102_Apply(uint8_t saw_type, uint8_t enable, uint8_t saw_step, uint8_t pat_base, uint16_t pat_period); +static uint16_t AD9102_ApplySram(uint8_t enable, uint16_t samples, uint8_t hold, uint8_t triangle); +static void AD9102_LoadSramRamp(uint16_t samples, uint8_t triangle); static uint8_t AD9102_CheckFlags(uint16_t pat_status, uint8_t expect_run, uint8_t saw_type, uint8_t saw_step, uint8_t pat_base, uint16_t pat_period); +static uint8_t AD9102_CheckFlagsSram(uint16_t pat_status, uint8_t expect_run, uint16_t samples, uint8_t hold); uint8_t CheckChecksum(uint16_t *pbuff); uint16_t CalculateChecksum(uint16_t *pbuff, uint16_t len); //int SD_Init(void); @@ -435,45 +469,61 @@ int main(void) } break; case AD9102_CMD://10 - Configure AD9102 sawtooth output - if (CalculateChecksum(COMMAND, AD9102_CMD_WORDS - 1) == COMMAND[AD9102_CMD_WORDS - 1]) + if (CalculateChecksum(COMMAND, AD9102_CMD_WORDS - 1) == COMMAND[AD9102_CMD_WORDS - 1]) { uint16_t flags = COMMAND[0]; uint16_t param0 = COMMAND[1]; uint16_t param1 = COMMAND[2]; uint8_t enable = (flags & AD9102_FLAG_ENABLE) ? 1u : 0u; uint8_t triangle = (flags & AD9102_FLAG_TRIANGLE) ? 1u : 0u; - uint8_t saw_type = triangle ? AD9102_SAW_TYPE_TRI : AD9102_SAW_TYPE_UP; - uint8_t saw_step = (uint8_t)(param0 & 0x00FFu); - uint8_t pat_base = (uint8_t)((param0 >> 8) & 0x0Fu); - uint16_t pat_period = param1; + uint8_t sram_mode = (flags & AD9102_FLAG_SRAM) ? 1u : 0u; - if (param0 == 0u && param1 == 0u) + if (sram_mode) { - saw_step = AD9102_SAW_STEP_DEFAULT; - pat_base = AD9102_PAT_PERIOD_BASE_DEFAULT; - pat_period = AD9102_PAT_PERIOD_DEFAULT; + uint16_t samples = param0; + uint8_t hold = (uint8_t)(param1 & 0x0Fu); + uint16_t pat_status = AD9102_ApplySram(enable, samples, hold, triangle); + State_Data[1] = (uint8_t)(pat_status & 0x00FFu); + if (AD9102_CheckFlagsSram(pat_status, enable, samples, hold)) + { + State_Data[0] |= AD9102_ERR; + } } else { - if (saw_step == 0u) + uint8_t saw_type = triangle ? AD9102_SAW_TYPE_TRI : AD9102_SAW_TYPE_UP; + uint8_t saw_step = (uint8_t)(param0 & 0x00FFu); + uint8_t pat_base = (uint8_t)((param0 >> 8) & 0x0Fu); + uint16_t pat_period = param1; + + if (param0 == 0u && param1 == 0u) { saw_step = AD9102_SAW_STEP_DEFAULT; - } - else if (saw_step > 63u) - { - saw_step = 63u; - } - if (pat_period == 0u) - { + pat_base = AD9102_PAT_PERIOD_BASE_DEFAULT; pat_period = AD9102_PAT_PERIOD_DEFAULT; } - } + else + { + if (saw_step == 0u) + { + saw_step = AD9102_SAW_STEP_DEFAULT; + } + else if (saw_step > 63u) + { + saw_step = 63u; + } + if (pat_period == 0u) + { + pat_period = AD9102_PAT_PERIOD_DEFAULT; + } + } - uint16_t pat_status = AD9102_Apply(saw_type, enable, saw_step, pat_base, pat_period); - State_Data[1] = (uint8_t)(pat_status & 0x00FFu); - if (AD9102_CheckFlags(pat_status, enable, saw_type, saw_step, pat_base, pat_period)) - { - State_Data[0] |= AD9102_ERR; + uint16_t pat_status = AD9102_Apply(saw_type, enable, saw_step, pat_base, pat_period); + State_Data[1] = (uint8_t)(pat_status & 0x00FFu); + if (AD9102_CheckFlags(pat_status, enable, saw_type, saw_step, pat_base, pat_period)) + { + State_Data[0] |= AD9102_ERR; + } } } else @@ -2521,6 +2571,137 @@ static uint16_t AD9102_Apply(uint8_t saw_type, uint8_t enable, uint8_t saw_step, return AD9102_ReadReg(AD9102_REG_PAT_STATUS); } +static void AD9102_LoadSramRamp(uint16_t samples, uint8_t triangle) +{ + if (samples < 2u) + { + samples = 2u; + } + if (samples > AD9102_SRAM_MAX_SAMPLES) + { + samples = AD9102_SRAM_MAX_SAMPLES; + } + + // Enable SRAM access. + AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0004u); + + for (uint16_t i = 0; i < samples; i++) + { + int32_t value; + if (triangle) + { + uint16_t half = samples / 2u; + if (half == 0u) + { + half = 1u; + } + if (i < half) + { + uint16_t denom = (half > 1u) ? (uint16_t)(half - 1u) : 1u; + value = AD9102_SRAM_RAMP_MIN + + ((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)i) / (int32_t)denom; + } + else + { + uint16_t tail = (uint16_t)(samples - half); + uint16_t denom = (tail > 1u) ? (uint16_t)(tail - 1u) : 1u; + value = AD9102_SRAM_RAMP_MAX - + ((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)(i - half)) / (int32_t)denom; + } + } + else + { + uint16_t denom = (samples > 1u) ? (uint16_t)(samples - 1u) : 1u; + value = AD9102_SRAM_RAMP_MIN + + ((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)i) / (int32_t)denom; + } + + if (value < -8192) + { + value = -8192; + } + else if (value > 8191) + { + value = 8191; + } + + uint16_t sample_u14 = (uint16_t)((int16_t)value) & 0x3FFFu; + uint16_t word = (uint16_t)(sample_u14 << 2); + AD9102_WriteReg((uint16_t)(AD9102_REG_SRAM_DATA_BASE + i), word); + } + + // Disable SRAM access. + AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u); +} + +static uint16_t AD9102_ApplySram(uint8_t enable, uint16_t samples, uint8_t hold, uint8_t triangle) +{ + if (samples == 0u) + { + samples = AD9102_SRAM_SAMPLES_DEFAULT; + } + if (samples < 2u) + { + samples = 2u; + } + if (samples > AD9102_SRAM_MAX_SAMPLES) + { + samples = AD9102_SRAM_MAX_SAMPLES; + } + if (hold == 0u) + { + hold = AD9102_SRAM_HOLD_DEFAULT; + } + if (hold > 0x0Fu) + { + hold = 0x0Fu; + } + + uint16_t pat_timebase = (uint16_t)(((uint16_t)(hold & 0x0Fu) << 8) | + ((AD9102_SRAM_PAT_PERIOD_BASE_DEFAULT & 0x0Fu) << 4) | + (AD9102_SRAM_START_DELAY_BASE_DEFAULT & 0x0Fu)); + uint32_t pat_period = (uint32_t)samples * (uint32_t)(hold & 0x0Fu); + if (pat_period == 0u) + { + pat_period = samples; + } + if (pat_period > 0xFFFFu) + { + pat_period = 0xFFFFu; + } + + AD9102_WriteRegTable(ad9102_example2_regval, AD9102_REG_COUNT); + AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u); + AD9102_WriteReg(AD9102_REG_WAV_CONFIG, AD9102_EX2_WAV_CONFIG); + AD9102_WriteReg(AD9102_REG_SAW_CONFIG, AD9102_EX2_SAW_CONFIG); + AD9102_WriteReg(AD9102_REG_DAC_PAT, AD9102_EX2_DAC_PAT); + AD9102_WriteReg(AD9102_REG_PAT_TIMEBASE, pat_timebase); + AD9102_WriteReg(AD9102_REG_PAT_PERIOD, (uint16_t)pat_period); + AD9102_WriteReg(AD9102_REG_PAT_TYPE, 0x0000u); // continuous pattern repeat + AD9102_WriteReg(AD9102_REG_START_DLY, AD9102_SRAM_START_DLY_DEFAULT); + AD9102_WriteReg(AD9102_REG_START_ADDR, 0x0000u); + AD9102_WriteReg(AD9102_REG_STOP_ADDR, (uint16_t)((samples - 1u) << 4)); + AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); + + AD9102_LoadSramRamp(samples, triangle); + + if (enable) + { + HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); + AD9102_WriteReg(AD9102_REG_PAT_STATUS, AD9102_PAT_STATUS_RUN); + AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); + for (volatile uint32_t d = 0; d < 1000; d++) {} + HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + } + else + { + AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u); + HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); + } + + return AD9102_ReadReg(AD9102_REG_PAT_STATUS); +} + static uint8_t AD9102_CheckFlags(uint16_t pat_status, uint8_t expect_run, uint8_t saw_type, uint8_t saw_step, uint8_t pat_base, uint16_t pat_period) { uint16_t spiconfig = AD9102_ReadReg(AD9102_REG_SPICONFIG); @@ -2600,6 +2781,104 @@ static uint8_t AD9102_CheckFlags(uint16_t pat_status, uint8_t expect_run, uint8_ return (ok ? 0u : 1u); } + +static uint8_t AD9102_CheckFlagsSram(uint16_t pat_status, uint8_t expect_run, uint16_t samples, uint8_t hold) +{ + uint16_t spiconfig = AD9102_ReadReg(AD9102_REG_SPICONFIG); + uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); + uint16_t clockcfg = AD9102_ReadReg(AD9102_REG_CLOCKCONFIG); + uint16_t cfg_err = AD9102_ReadReg(AD9102_REG_CFG_ERROR); + + if (samples == 0u) + { + samples = AD9102_SRAM_SAMPLES_DEFAULT; + } + if (samples < 2u) + { + samples = 2u; + } + if (samples > AD9102_SRAM_MAX_SAMPLES) + { + samples = AD9102_SRAM_MAX_SAMPLES; + } + if (hold == 0u) + { + hold = AD9102_SRAM_HOLD_DEFAULT; + } + if (hold > 0x0Fu) + { + hold = 0x0Fu; + } + + uint16_t pat_timebase = (uint16_t)(((uint16_t)(hold & 0x0Fu) << 8) | + ((AD9102_SRAM_PAT_PERIOD_BASE_DEFAULT & 0x0Fu) << 4) | + (AD9102_SRAM_START_DELAY_BASE_DEFAULT & 0x0Fu)); + uint32_t pat_period = (uint32_t)samples * (uint32_t)(hold & 0x0Fu); + if (pat_period == 0u) + { + pat_period = samples; + } + if (pat_period > 0xFFFFu) + { + pat_period = 0xFFFFu; + } + + uint16_t stop_addr = (uint16_t)((samples - 1u) << 4); + + uint8_t ok = 1u; + + if (spiconfig != 0x0000u) + { + ok = 0u; + } + if (powercfg & ((1u << 8) | (1u << 7) | (1u << 6) | (1u << 5) | (1u << 3))) + { + ok = 0u; + } + if (clockcfg & ((1u << 11) | (1u << 7) | (1u << 6) | (1u << 5))) + { + ok = 0u; + } + if (cfg_err & 0x003Fu) + { + ok = 0u; + } + if (expect_run && ((pat_status & AD9102_PAT_STATUS_RUN) == 0u)) + { + ok = 0u; + } + + if (AD9102_ReadReg(AD9102_REG_WAV_CONFIG) != AD9102_EX2_WAV_CONFIG) + { + ok = 0u; + } + if (AD9102_ReadReg(AD9102_REG_PAT_TIMEBASE) != pat_timebase) + { + ok = 0u; + } + if (AD9102_ReadReg(AD9102_REG_PAT_PERIOD) != (uint16_t)pat_period) + { + ok = 0u; + } + if (AD9102_ReadReg(AD9102_REG_PAT_TYPE) != 0x0000u) + { + ok = 0u; + } + if (AD9102_ReadReg(AD9102_REG_START_ADDR) != 0x0000u) + { + ok = 0u; + } + if (AD9102_ReadReg(AD9102_REG_STOP_ADDR) != stop_addr) + { + ok = 0u; + } + if (AD9102_ReadReg(AD9102_REG_DAC_PAT) != AD9102_EX2_DAC_PAT) + { + ok = 0u; + } + + return (ok ? 0u : 1u); +} void Set_LTEC(uint8_t num, uint16_t DATA) { diff --git a/build/For_stm32.bin b/build/For_stm32.bin index 4415e18c9d77e97a2dcc83bc3eed25dc52ee9ab0..62f9194cf41328e6991a24697a7962e8f9b86d09 100755 GIT binary patch delta 6629 zcmbtZ3tUvyx?gMW0fv_h5HdW3d4LWtMS(=Y7(lnkV2F>zN6N#BvJBKy95QDRGqh8w z3(Mo<0tG~6^ z_x-=e`qsC;{q4O6|3&7rtBf5Xtzkzu(hg5YS~m<23?B>;2Ku{yGGKUyinA~W!1xYq z{~yDC%Q*a>I7hRa}=xP0$&M)OupZIYDbE%u$&m_U*+{CQXgseS`wCi9v4ihObojEU(^q{0s z{86O6Ifjlp?+NM-4r~XlJ%`DtNIlaoIxUft0s~4VWKJgE=wry**g7UaB4=W=?Z=KF zZR3$q9JT}w1aOCj9n0B)$|1)BG{~fCj7bLBy-`Lf69%z4cMzNM2Y-m)-i^~o4dAKU zyD!9_xZIXQeAliO-;kR&$43sM<>6-&XN>|)-i5O)0}mx_@BYi>ja29Q{$W(r1scg` zH+OGFo4Yl`?^+%9ZrMFw#<{O_|EXm302=>o-%2gc`fy-R$w#Mf#>oL(u>(V#4&BW;JU2|}+LU8dn%MP#xX?*M9@h|HKUgLpU2!36Ji4!78a z(-@@TAkBY7EHQ?a$?k__)!ir=8^^$|LuBd<)dqsn5|KT0ub}avcaVm$A}wRhJwjUa z=>dh{Tg~Xd>sQ!Czk$>BqI_hfYFXd&m2HRGxCrhJZVZRO>%uDzT1UU$1{OLjrVhWWFYPc;3EPw zzJTE|T}Or;MHQ#;4qW((y*mZJ(*5V3P()cjPK_HHvZFqfsvjElD4lhDQ3RcnyApUD zf%;MEI9PgtTzV~=-C05<7T{;ghZH&u=$Ue_pvhKc$-o!Ms0*du3)EDFS_V{}yid{3 z0NOM`wqC>0s=-q{M(m;9OZ@YdH{>;#9CV@7BQBC1H##nQBn=TGX$T!jLl9XWS8M-5 zD!mqER-B~Ji2h4bB1)kVeJEAWfJjqlH1A0eP0D1TdZpKC3@ICLEs0V-a3KT-P`u$# z0GGrWyTUk}c6)*+bw#8@f=#y)Y>H)qh8pb;%;Y13_Hhg!!DxKUwfL@X$nfk_Te%YB zolqu!71c6%LWIO&n!?9KD3c}{NRtTrkEE%1Se(Mq;2XqbZ~IR)^m?$PVK0YyDa=b? zrm0*g)+TN44#u0iX*%bKcD4E{#EG1Nlii2KJf~WRdZ@#lKCG1dG*Q)>qLg;PAf&kY zpzHPmM@sdEg4L5gdKYI%3_XrkHT*wj}bET?w#nkRS)lQ+`_MWu6l2k(lIIJ2f^uKwJx%42@8L8Q8AW^B8y$4)T zfEyHiH{dGuf_I-Q3~;N0KM%M{ZSi)v0s(g@cpKmL$0hvHU9 zO%o{5qOt?MlE?|M;mf^BR+=6IWDzkZjtifm=%{%sA`263DRJHfwyzrA?6z?Ey>nr~ zn^_IN6^hnNP9~P&3nXGpO!yg(S|W6Jr^v)HHsb+Lvf^NyEAiGoURJc!W%iK0V{G^_ z^8J`(O&}j4kg%kW?6PoP*!f2jS7@9Ajs$@wfKu0mrIjYmX3Pir3ZOcLx&+#dttPH= z$XaU!$skA|&SFZR1zB|$l~vYO1Aj`DRZ;pAq5N(t`H!Y-;NDjxs1|5D|BgTf>x)Yv zH9dmf985wwaBAp|;Lb9R|DhwEn&oM*llq^XSwU?Ts5z(_ETFohXuVu~Lops%wi>WSB+?L_ zS4s8P+;mG9;^g2R>LS^|6@h&Hh(Ef8fHIcPBZ~}q%-0^W)i5{VJ|7gzJch74J{5G1 zfR4b9pck1=ny6|b8Ybem$pm8#v(`ga80RMVyfiw7d@6)FG%qU3FEE`JP`*m~jdA!J za@m-LXM%~IOfwF^^{+SLOZY0*&O}DiK|Z1wT!uq%<)l5;>5Pj`PW1Q&uuJL^3^fEWS!srq(lu zMA8S$>%fe6rjA{R?FalOP6L$#2kAdAyslJ^qlxD8C6LgXV)d&m_I(o*1mbcF%+3h4dd3Lep0sOTL5y+M}-q!WNY=Q3~uE<|2Rn}FNMf2S2s zsPh$$G!K?v>QgdWMYnYi(6oWFe3dW17eTTnK^@yjQF<{>C#~s4Oo)%XmtKeaNovNG z<+a}Z%_sx$+a1`XF*bo}wfBO8JP!!X)q{ZD?KS_FYW)r{ov{Is8QyvY*{o{St^lmS zyI;XJ0j4$905XX*WyXvjr?%PJg@72n`&$ya%q=Lx%5QQY6JwkU=xER|81Duu(n}6! zrr6ycY_SiGJ;;>>@Qb8EI2{Ch(!ujW*tRk*fWJ>ZFMR3vP(X-sg)*g*OlchD>ZMCp`}XO}A?T?wzroM}gHDDbwRwt%_=sf$R4C z1~{#84A2M2lUc^l-5zX;R`dRz-A1L%X?Xh0GK?QsSWRzacw zi4yvHLIBYy2)zS>g`GX2fCMN=Fd#@E`PnOCzY`mJB0%u-A^~NXe~&n`XM}cotY((5 zuQU80VJB84W9HMYtl5cM&8*2*7Gz((@7J1m(b9oe8mu!;LbomJ|K}fwzN;B*L&z!j7Qqp zQv<;+fsG>*yFFk#?hFEafn3%@Bb-g1%Bf1*DrFz1UPDMoC;dkHNJhu$7t&#g2k${7 zm;`m|XoiWL6BisLH}nL7txSx$SsK4vl*!!OW!kr-Lp=OM> zYbAGrZ?`R>VRv~{11YiJ2s*g4Jh}!OB)9B&u`<7vQeIDfD+BWl4axfYzk_T6g>f>!;+MJ6{KnjL&Rds%K#xz4dKsjW?RzX_bhanG!f z=IGMU#!IgG6|ADwIXG^geHeGacNvW zZ0A*ZvaPz&%%yWvfa`>N=HtE`ShAkC!;pDcalElW=QCi8cl@6JtYg)hoOE z{<}z9Y`K0`beZV>$`@vfZy0ThuL(9smPa>+!nh3g`MVey^zcx-14bBqz>x)03+$Vq zW^jhNkAbS1*t!u;WTSHO=-Qdq4Io1qzCOu)z_ZSFZVQ_cIpIua66BDhyBul6$oP z*SYRTg+?eC3_b2q2wv~U+$vC@s?%i#`u$2k!vR%|rpgWQOmrwu+mGRqqEaWli{a)o zc#!2c{c}lbL58tm8#0!`n^>NBUZ`o+!V80jpCDFM7BrZ7En84iNty~`(pLLb$twTl zhwdm?S+}k(mCJ(-Xj;e>re)~r2Q5Ec)p;j>o7^~GMetnw#W9j+r^YfeLzYd8 zx1%x)Kc*mS7@Y0fF!pKSeD#d=wZA(JdiPdJtU-hyY3TI!<=xq>lzLanhCV2|-T zAXBm}-jO^j6k038hBn6AuraPN5!$Nko_?GxouolJ&)>;FG4RBmw`{`AA7dKliJ5bhEUr$1$=Oo9EM!tO{E*Aqb~l{3 zzQN3tpI&;#+Bg&CGuAn`@RFR{ac4-qVcZI3=t}wXW z`xRLZ$evSV`{gW<(Jv4x?EtA6`gkVD*DG=&la?(dcDK7h4g^s;7YCxb-fVFDfE)p) z@42Yqq7lO=kd`Wj)$)&uq(WIR9Pr5sULjwAR(?kyGW-q_nhEn6c<)PuVWsbXz&iln z3UmXEV-!20AqCIW*16q+L^l=QKS)}T@k$I|N^0yu zAU)}!v7eK^aovo;K!5FmG5xSpdgg0Q;0mA{jynIgHB--gB06=QHG!jzUctTB3kLvy zhCv7!mckH@IyW60z<3m?>9Vld*^%U#t}zT^NU<|LbYBEQd=bJJVds*rU>tR&6lr7N Y4>Mz66vMc0I(e*n7h{=EqMQ%?FS4PH1ONa4 delta 5734 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%0AchWjkxJSu>Mf{PgFMhE%CYuR7<6+*H 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 QI^Hk8>Lg2^lWF+=A0j2zC;$Ke literal 744140 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

E`Q%6eF<)URA`Op^KD*Z-|hhveJ5KEBN> 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 Rmp-{~Ejr1OaU-qV{{yu`QFs6V diff --git a/build/For_stm32.hex b/build/For_stm32.hex index c79a80f..9f6ce8a 100644 --- a/build/For_stm32.hex +++ b/build/For_stm32.hex @@ -1,45 +1,45 @@ :020000040800F2 -:100000000000082041AF0008A1410008A3410008FA -:10001000A5410008A7410008A94100080000000010 -:10002000000000000000000000000000AB410008DC -:10003000AD41000800000000AF410008B1410008D8 -:1000400091AF000891AF000891AF000891AF000890 -:1000500091AF000891AF000891AF000891AF000880 -:1000600091AF000891AF000891AF000891AF000870 -:1000700091AF000891AF000891AF000891AF000860 -:1000800091AF000891AF0008B941000891AF000896 -:1000900091AF000891AF000891AF000891AF000840 -:1000A00091AF0008D14100080542000891AF000857 -:1000B0003942000891AF000891AF000891AF0008E5 -:1000C00091AF000891AF000891AF000891AF000810 -:1000D00091AF00080D46000891AF000891AF0008ED -:1000E00091AF000891AF000891AF000891AF0008F0 -:1000F0003D42000891AF000891AF000891AF0008A1 -:1001000091AF000891AF00088D42000891AF000840 -:1001100091AF000891AF000891420008C542000865 -:1001200091AF000891AF000891AF000891AF0008AF -:1001300091AF000891AF000891AF000891AF00089F -:1001400091AF000891AF000891AF000891AF00088F -:1001500091AF000891AF0008ED46000891AF00088C -:1001600091AF000891AF000891AF000891AF00086F -:1001700091AF000891AF000891AF000800000000A7 -:1001800091AF000891AF000891AF000891AF00084F -:1001900091AF000891AF000891AF000891AF00083F -:1001A00091AF000891AF000891AF000891AF00082F -:1001B00091AF000891AF000891AF000891AF00081F -:1001C00091AF000891AF00080000000091AF000857 -:1001D00091AF000891AF000891AF000891AF0008FF -:1001E00091AF000891AF000891AF000891AF0008EF -:0801F00091AF000891AF000877 +:100000000000082095B20008F5440008F7440008F5 +:10001000F9440008FB440008FD440008000000000B +:10002000000000000000000000000000FF44000885 +:1000300001450008000000000345000805450008D0 +:10004000E5B20008E5B20008E5B20008E5B2000834 +:10005000E5B20008E5B20008E5B20008E5B2000824 +:10006000E5B20008E5B20008E5B20008E5B2000814 +:10007000E5B20008E5B20008E5B20008E5B2000804 +:10008000E5B20008E5B200080D450008E5B2000839 +:10009000E5B20008E5B20008E5B20008E5B20008E4 +:1000A000E5B200082545000859450008E5B20008FA +:1000B0008D450008E5B20008E5B20008E5B2000889 +:1000C000E5B20008E5B20008E5B20008E5B20008B4 +:1000D000E5B2000861490008E5B20008E5B2000891 +:1000E000E5B20008E5B20008E5B20008E5B2000894 +:1000F00091450008E5B20008E5B20008E5B2000845 +:10010000E5B20008E5B20008E1450008E5B20008E4 +:10011000E5B20008E5B20008E54500081946000808 +:10012000E5B20008E5B20008E5B20008E5B2000853 +:10013000E5B20008E5B20008E5B20008E5B2000843 +:10014000E5B20008E5B20008E5B20008E5B2000833 +:10015000E5B20008E5B20008414A0008E5B200082F +:10016000E5B20008E5B20008E5B20008E5B2000813 +:10017000E5B20008E5B20008E5B2000800000000A2 +:10018000E5B20008E5B20008E5B20008E5B20008F3 +:10019000E5B20008E5B20008E5B20008E5B20008E3 +:1001A000E5B20008E5B20008E5B20008E5B20008D3 +:1001B000E5B20008E5B20008E5B20008E5B20008C3 +:1001C000E5B20008E5B2000800000000E5B2000852 +:1001D000E5B20008E5B20008E5B20008E5B20008A3 +:1001E000E5B20008E5B20008E5B20008E5B2000893 +:0801F000E5B20008E5B20008C9 :100200000348044B834202D0034B03B118477047A5 :100210005C0000205C000020000000000548064B48 :100220001B1AD90F01EBA301491002D0034B03B1F4 :10023000184770475C0000205C00002000000000B0 :1002400010B5064C237843B9FFF7DAFF044B13B11E :100250000448AFF300800123237010BD5C00002030 -:100260000000000094AF000808B5044B1BB104491E +:1002600000000000E8B2000808B5044B1BB10449C7 :100270000448AFF30080BDE80840CFE7000000006D -:100280006000002094AF00080CB410B59CB01EAB09 +:1002800060000020E8B200080CB410B59CB01EABB2 :10029000029106916FF0004104910791084953F8CB :1002A000042B0591002402A901931B9400F010F97E :1002B000029B1C701CB0BDE8104002B0704700BF2C @@ -110,13 +110,13 @@ :1006C0004303A1F13002092AF5D9059362E74021DD :1006D00000F0BEF8C8F80000C8F8100018B14023B8 :1006E000C8F8143002E70C23C9F800304FF0FF308F -:1006F00082E700BF20B1000828B100082CB1000833 +:1006F00082E700BF74B400087CB4000880B400082E :10070000000000000903000870B50F4B0F4DAB420D :10071000A3EB050607D0B610002455F8043B0134BE -:100720009847A642F9D80AF035FC094D094B5E1BE3 +:100720009847A642F9D80AF0DFFD094D094B5E1B38 :10073000AB424FEAA60606D0002455F8043B01342C -:100740009847A642F9D870BD18B3000818B300083E -:1007500018B300081CB30008830730B547D0541EF7 +:100740009847A642F9D870BDF0B60008F0B6000888 +:10075000F0B60008F4B60008830730B547D0541E41 :10076000002A3ED0CAB2034601E0013C39D303F867 :10077000012B9D07F9D1032C2CD9CDB205EB052512 :100780000F2C05EB054535D9A4F1100222F00F0C12 @@ -271,9 +271,9 @@ :1010D00019801EE7B2F90010084668E72D20002AA3 :1010E000A26084F8430002DB23F0040323600A2596 :1010F00005484942AE46CEE7037884F8423004F111 -:1011000042097EE7606842E734B1000848B1000850 +:1011000042097EE7606842E788B400089CB40008A2 :10111000704700BF704700BF38B5074D0022044636 -:1011200008462A6009F0DEFB431C00D038BD2B685E +:1011200008462A6009F088FD431C00D038BD2B68B2 :10113000002BFBD0236038BDBC01002051F8043CDB :10114000181F002BBCBF0B58C018704753B94AB9C1 :10115000002908BF00281CBF4FF0FF314FF0FF30BF @@ -372,7 +372,7 @@ :10172000100300200000C8420000FA460000FAC67C :101730000000004738B50C46C0F30E05274B1B6868 :1017400013F0400F04D1254A136843F0400313609F -:1017500000224FF48051224804F099FC00231F4AD4 +:1017500000224FF48051224804F043FE00231F4A28 :10176000926812F0020F05D15A1CB3F57A7F01D2AC :101770001346F4E7194B9D810023184A926812F032 :10178000010F05D15A1CB3F57A7F01D21346F4E755 @@ -380,2499 +380,2560 @@ :1017A0005A1CB3F57A7F01D21346F4E70B4B9C81A8 :1017B00000230A4A926812F0010F05D15A1CB3F5B2 :1017C0007A7F01D21346F4E7044BDB6801224FF421 -:1017D0008051034804F05BFC38BD00BF0038004076 +:1017D0008051034804F005FE38BD00BF00380040CA :1017E0000004024070B506460D46002408E036F8B5 :1017F0001410054B33F81400FFF79CFF0134A4B21A -:10180000AC42F4D370BD00BFE0B1000800B583B0B6 -:1018100001224FF48051164804F039FC0022402187 -:10182000144804F034FC0023019302E0019B0133CF -:101830000193019BB3F57A7FF8D3012240210D4833 -:1018400004F025FC42210C48FFF7CCFF00211E20AC -:10185000FFF770FF01211D20FFF76CFF01224FF4FD -:101860000061064804F013FC03B05DF804FB00BF00 -:1018700000040240000802405CB10008000C024075 -:1018800010B540F40044284B1B6813F0400F04D1FE -:10189000254A136843F04003136000224FF480513F -:1018A000224804F0F4FB00231F4A926812F0020F52 -:1018B00005D15A1CB3F57A7F01D21346F4E71A4BCF -:1018C0009C810023184A926812F0010F05D15A1C1E -:1018D000B3F57A7F01D21346F4E7134BDB6800239C -:1018E000114A926812F0020F05D15A1CB3F57A7FA3 -:1018F00001D21346F4E700230B4A93810A4A926807 -:1019000012F0010F05D15A1CB3F57A7F01D21346AC -:10191000F4E7054BDC68A4B201224FF48051034880 -:1019200004F0B5FB204610BD003800400004024022 -:101930002DE9F04F83B001900F4615461C46BDF8C7 -:1019400034B00020FFF79CFF82460120FFF798FF8C -:1019500081460220FFF794FF80466020FFF790FF4A -:101960009DF830301B0103F0F00340F201161E43D6 -:101970001CB13F2C02D93F2400E00124BBF1000F31 -:1019800001D14FF6FF7B05F00305A400E4B2254327 -:10199000BAF1000F36D1012419F4F47F00D00024ED -:1019A00018F40E6F00D0002410F03F0F00D0002478 -:1019B00027B1019B13F0010F00D100242720FFF76E -:1019C0005FFF43F21223984200D000242820FFF743 -:1019D00057FFB04200D000242920FFF751FF58459F -:1019E00000D000241F20FFF74BFF00B10024372058 -:1019F000FFF746FFA84200D0002484F0010003B0A6 -:101A0000BDE8F08F0024C7E730B583B000294AD085 -:101A10001AB13F2A02D93F2200E0012200F0030060 -:101A20009200D2B240EA02041B0103F0F00340F23C -:101A300001151D4343F212212720FFF77BFE2146AB -:101A40003720FFF777FE29462820FFF773FEBDF801 -:101A500018102920FFF76EFE00211F20FFF76AFEF5 -:101A600001224FF40061154804F011FB01211E20F2 -:101A7000FFF760FE01211D20FFF75CFE00230193AC -:101A800002E0019B01330193019BB3F57A7FF8D308 -:101A900000224FF40061094804F0F9FA1E20FFF714 -:101AA000EFFE03B030BD00211E20FFF743FE0122F0 -:101AB0004FF40061014804F0EAFAEFE7000C02403D -:101AC00010B5092813D8DFE800F00513212F3D4B8E -:101AD0005965717D414C01224FF48061204604F02C -:101AE000D6FA00224FF48061204604F0D0FA10BDEF -:101AF0003A4C01224FF40061204604F0C8FA00225B -:101B00004FF40061204604F0C2FAF0E7334C0122A2 -:101B10004FF48051204604F0BAFA00224FF480516D -:101B2000204604F0B4FAE2E72C4C01224FF40051B5 -:101B3000204604F0ACFA00224FF40051204604F095 -:101B4000A6FAD4E7254C01224FF48041204604F048 -:101B50009EFA00224FF48041204604F098FAC6E72E -:101B60001E4C01224FF40041204604F090FA00225E -:101B70004FF40041204604F08AFAB8E7184C0122DD -:101B80001021204604F083FA00221021204604F0A0 -:101B90007EFAACE7124C01222021204604F077FAAD -:101BA00000222021204604F072FAA0E70C4C01220A -:101BB0004021204604F06BFA00224021204604F028 -:101BC00066FA94E7064C01228021204604F05FFA71 -:101BD00000228021204604F05AFA88E700180240CB -:101BE0000004024038B5044600224FF48041814889 -:101BF00004F04DFA00224FF400717F4804F047FAD8 -:101C0000002300E00133B3F5FA7FFBD301224FF448 -:101C10008041784804F03BFA01224FF40071764885 -:101C200004F035FA002300E00133B3F5FA7FFBD36B -:101C3000631E032B39D8DFE803F0023A6FA66D4C20 -:101C400001224FF40061204604F021FA00224FF4F3 -:101C50008061204604F01BFA002300E00133B3F555 -:101C6000FA7FFBD3654A136843F0400313600023F7 -:101C7000624A926812F0010F04D1B3F57A7F01D85D -:101C80000133F5E75D490A6822F040020A6000E08E -:101C90000133B3F5FA7FFBD301224FF4806155483D -:101CA00004F0F5F9554BDD68ADB2284638BD524C0D -:101CB00001224FF48061204604F0E9F9002240211E -:101CC000204604F0E4F9002300E00133B3F5FA7F85 -:101CD000FBD34B4A136843F0400313600023484A88 -:101CE000926812F0010F04D1B3F57A7F01D8013365 -:101CF000F5E743490A6822F040020A6000E0013338 -:101D0000B3F5FA7FFBD3012240213B4804F0BFF931 -:101D10003B4BDD68ADB2C8E7364C01224FF4806121 -:101D2000204604F0B4F900224FF40061204604F08C -:101D3000AEF9002300E00133B3F5FA7FFBD32F4A5D -:101D4000136843F04003136000232C4A926812F09A -:101D5000010F04D1B3F57A7F01D80133F5E72749A4 -:101D60000A6822F040020A6000E00133B3F5FA7F0E -:101D7000FBD301224FF400611E4804F088F91F4B89 -:101D8000DD68ADB291E71C4C01224021204604F0F1 -:101D90007EF900224FF48061204604F078F9002398 -:101DA00000E00133B3F5FA7FFBD3154A136843F023 -:101DB000400313600023124A926812F0010F04D10D -:101DC000B3F57A7F01D80133F5E70D490A6822F0AF -:101DD00040020A6000E00133B3F5FA7FFBD3012231 -:101DE0004FF48061044804F052F9054BDD68ADB250 -:101DF0005BE700BF001002400014024000340140C5 -:101E00000050014008B5044805F0E6FF0023034AEE -:101E10001370034A136008BD08040020D602002096 -:101E20000C0300202DE9F04F8FB0002409940A9490 -:101E30000B940C940D948A4B1A6B42F020021A6397 -:101E40001A6B02F020020192019A1A6B42F0800292 -:101E50001A631A6B02F080020292029A1A6B42F025 -:101E600004021A631A6B02F004020392039A1A6BBB -:101E700042F001021A631A6B02F001020492049A02 -:101E80001A6B42F002021A631A6B02F00202059208 -:101E9000059A1A6B42F010021A631A6B02F01002D4 -:101EA0000692069A1A6B42F008021A631A6B02F045 -:101EB00008020792079A1A6B42F040021A631B6BE2 -:101EC00003F040030893089BDFF8A49122464FF4E7 -:101ED000C861484604F0DBF8DFF898A122463C21AF -:101EE000504604F0D4F801224021504604F0CFF8C7 -:101EF0005C4F22464B21384604F0C9F801221021DC -:101F0000384604F0C4F8DFF8708122464FF440618F -:101F1000404604F0BCF801224FF48041404604F0F2 -:101F2000B6F8DFF858B122464FF44F61584604F036 -:101F3000AEF801224FF48051584604F0A8F84A4EFA -:101F400022464FF4C171304604F0A1F801224FF44B -:101F50000061304604F09BF822464FF47E4143482E -:101F600004F095F8182309930A9401250B9509A903 -:101F7000484603F083FF4FF4C86309930A950B9416 -:101F80000C9409A9484603F079FF742309930A9534 -:101F90000B940C9409A9504603F070FF0823099391 -:101FA0000A950B9403230C9309A9504603F066FF8E -:101FB0005B2309930A950B940C9409A9384603F006 -:101FC0005DFF4FF4F04309930A940B9409A9484626 -:101FD00003F054FF4FF4406309930A950B940C945B -:101FE00009A9404603F04AFF4FF4804309930A953C -:101FF0000B9403230C9309A9404603F03FFF41F6DD -:10200000F04309930A950B940C9409A9584603F0E0 -:1020100035FF40F6821309930A950B940C9409A995 -:10202000304603F02BFF4FF4807309930A940B940E -:1020300009A9384603F022FF09950A940B9409A9CF -:10204000304603F01BFF4FF47E4309930A950B942F -:102050000C9409A9054803F011FF0FB0BDE8F08FFB -:102060000038024000000240000C0240001802400C -:102070000014024000080240001002400004024028 -:102080002DE9F04192B02822002108A8FEF764FB58 -:1020900000240294039404940594069407942A4B14 -:1020A0005A6C42F400525A645A6C02F40052019283 -:1020B000019A1A6B42F010021A631B6B03F01003B3 -:1020C0000093009B4FF480530293022503954FF039 -:1020D0000308CDF81080052707971C4E02A930464B -:1020E00004F041FB4FF4005302930395CDF81080A8 -:1020F00005940694079702A9304604F034FB4FF488 -:10210000806308934FF4827309934FF470630A93CA -:102110000B950C944FF400730D9318230E930F94AA -:102120001094072311930A4C08A9204605F098FC47 -:10213000636823F010036360636823F0080363603F -:1021400012B0BDE8F08100BF00380240001002402C -:10215000003401402DE9F04192B02822002108A866 -:10216000FEF7FAFA0024029403940494059406946A -:1021700007942F4B1A6C42F480421A641A6C02F4D2 -:1021800080420192019A1A6B42F002021A631B6BA1 -:1021900003F002030093009B4FF4005302934FF0AF -:1021A0000208CDF80C800327049705260796214DD9 -:1021B00002A9284604F0D7FA4FF480430293CDF8E1 -:1021C0000C80049705940694079602A9284604F00B -:1021D000CAFA4FF400430293CDF80C80049705949B -:1021E0000694079602A9284604F0BDFA08944FF415 -:1021F000827309934FF470630A930B940C944FF419 -:1022000000730D9310230E930F94109407231193D2 -:10221000094C08A9204605F023FC636823F010034D -:102220006360636823F00803636012B0BDE8F08167 -:102230000038024000040240003800402DE9F0411F -:1022400092B02822002108A8FEF786FA0024029402 -:1022500003940494059406940794294B5A6C42F411 -:1022600080125A645A6C02F480120192019A1A6B1D -:1022700042F020021A631B6B03F020030093009BC3 -:1022800080230293022503954FF00308CDF81080B8 -:10229000052707971B4E02A9304604F064FA4FF455 -:1022A000807302930395CDF81080059406940797E8 -:1022B00002A9304604F057FA4FF4806308934FF4B4 -:1022C000827309934FF470630A930B950C944FF447 -:1022D00000730D9318230E930F94109407231193FA -:1022E000094C08A9204605F0BBFB636823F01003E6 -:1022F0006360636823F00803636012B0BDE8F08197 -:102300000038024000140240005001402DE9F04125 -:1023100092B02822002108A8FEF71EFA0024029499 -:1023200003940494059406940794294B5A6C42F440 -:1023300000125A645A6C02F400120192019A1A6B4C -:1023400042F001021A631B6B03F001030093009B30 -:1023500020230293022503954FF00308CDF8108047 -:10236000082707971B4E0DEB0701304604F0FBF9D9 -:10237000802302930395CDF8108005940694079767 -:102380000DEB0701304604F0EEF908944FF4827328 -:1023900009934FF470630A930B9501230C934FF448 -:1023A00000730D9318230E930F9410940723119329 -:1023B000094C08A9204605F053FB636823F010037D -:1023C0006360636823F00803636012B0BDE8F081C6 -:1023D00000380240000002400054014010B586B0B1 -:1023E0000024019402940394049405941D4B1A6CE8 -:1023F00042F001021A641B6C03F001030093009B7E -:10240000194BD86822462146C0F30220FFF716F880 -:102410000001C0B2154B83F81C034FF080521A60C4 -:102420004FF47A73ADF804300294114B0393049483 -:1024300001A94FF0804006F063F94FF080431A681D -:1024400022F080021A6099680A4A0A409A605A6823 -:1024500022F070025A609A6822F080029A6006B0F8 -:1024600010BD00BF0038024000ED00E000E100E0D8 -:1024700040D10C00F8BFFEFF10B586B000240194D7 -:1024800002940394049405941C4B1A6C42F00802C5 -:102490001A641B6C03F008030093009B184BD86868 -:1024A00022462146C0F30220FEF7C8FF0001C0B259 -:1024B000144B83F832034FF480225A6042F21073B7 -:1024C000ADF8043002944FF40C73039304940E4C53 -:1024D00001A9204606F014F9236823F08003236045 -:1024E000A2680A4B1340A360636823F07003636023 -:1024F000A36823F08003A36006B010BD003802403B -:1025000000ED00E000E100E0000C0040F8BFFEFF3D -:1025100010B586B0002401940294039404940594A9 -:102520001A4B1A6C42F020021A641B6C03F0200351 -:102530000093009B164BD86822462146C0F3022028 -:10254000FEF77CFF0001C0B2124B83F837034FF453 -:1025500000025A6040F29733ADF8043002946323CE -:1025600003930D4C01A9204606F0CAF8236823F016 -:1025700080032360636823F0700343F010036360FB -:10258000A36823F08003A36006B010BD00380240AA -:1025900000ED00E000E100E00014004010B586B05E -:1025A0000024019402940394049405941A4B1A6C29 -:1025B00042F010021A641B6C03F010030093009B9E -:1025C000164BD86822462146C0F30220FEF736FF9C -:1025D0000001C0B2124B83F836034FF480025A60F8 -:1025E0004BF2AF33ADF804300294132303930D4C38 -:1025F00001A9204606F084F8236823F080032360B5 -:10260000636823F0700343F010036360A36823F052 -:102610008003A36006B010BD0038024000ED00E06A -:1026200000E100E0001000402DE9F04100239F4A46 -:1026300013609F4A13609F4A13609F4A13609F4A2A -:1026400013609F4A13709F4A13809F4A13609F4AEA -:1026500013609F4A13709F4A137005E09E4A002141 -:1026600022F8131001339BB20E2BF7D99A4B41F28B -:1026700011121A80994B0022DA81DA701A711A82CB -:102680001A735A735A719A71DA72DA711A725A722B -:102690009A725A709A701A70914D2A80914C2280C9 -:1026A00000226A606260AA60A2608F4E9C46BCE80D -:1026B0000F000FC6DCF8003033808C4E95E80F0019 -:1026C00086E80F008A4D94E80F0085E80F00894BDB -:1026D000DA6842F00102DA601A6842F001021A6018 -:1026E00003F58063DA6842F00102DA601A6842F0AA -:1026F00001021A6003F51433D3F8B82022F0010266 -:10270000C3F8B8204FF00062DA604FF00072DA6070 -:10271000794A02F1080353E8003F43F0800308328E -:1027200042E800310029F3D1744BD3F8B82042F0CD -:102730001002C3F8B820D3F8B82042F00402C3F85E -:10274000B8204FF00062DA604FF00072DA606C4A35 -:10275000D3F8B83003F0C003402B7DD0674BC3F8EB -:10276000C020684AC3F8C4200024674B1C60674B34 -:102770001C60674F22460821384603F088FC224639 -:102780000421384603F083FCDFF8A88122464FF489 -:102790008071404603F07BFC22461021384603F04E -:1027A00076FC5C4E22464FF48061304603F06FFCAD -:1027B000594D22460821284603F069FC2246012192 -:1027C000284603F064FC22460221284603F05FFC01 -:1027D00022464FF40061304603F059FC2246202186 -:1027E000384603F054FC07F5006701224FF480617E -:1027F000384603F04CFC494C01224021204603F0AE -:1028000046FC01224FF48041384603F040FC01228F -:102810004FF48041204603F03AFC01224FF48041FE -:10282000304603F034FC01224021284603F02FFCFF -:1028300001224FF48051304603F029FC012210217F -:10284000284603F024FC0121404603F019FC50B156 -:10285000FEF7DCFFBDE8F081284BC3F8C420294A0D -:10286000C3F8C02080E74FF48071284603F008FCCD -:102870000028EDD12A4806F06BF82A4B186018B1F1 -:10288000294B01221A70E3E71E231A4627492848DC -:1028900006F0AEF8234C2060214806F06BF820606B -:1028A0000023084A1380064A1370E9E7300300202A -:1028B00018030020140300202C0300202403002010 -:1028C000D9020020D40200208402002080020020CF -:1028D000D8020020D7020020B002002018020020F9 -:1028E00050020020400200202C0200207002002034 -:1028F000600200200010004000100140006402400F -:10290000DC02002028100140200300201C030020CE -:10291000000802400004024000000240001402408F -:10292000ACAF0008880200200003002090020020C5 -:10293000B0AF0008000C024010B5002405282CD8C8 -:10294000DFE800F0030812171C26154802F094F97E -:10295000204610BD124C6421204602F047FA204662 -:1029600002F0A5FA80B2F4E70D4802F01FFA204603 -:10297000EFE70C4802F080F92046EAE7094C6421B1 -:10298000204602F033FA204602F091FA80B2E0E7E6 -:10299000044802F00BFA2046DBE72046D9E700BFE7 -:1029A000B805002070050020032818BF012800F09A -:1029B000A38038B50C460138032823D8DFE800F09F -:1029C000023B5B7C00224FF480414C4803F05FFBEC -:1029D00000224B4B9B6813F0020F04D1B2F5FA7F33 -:1029E00001D80132F5E7464B9C810022444B9B689D -:1029F00013F0010F04D1B2F5FA7F01D80132F5E7E7 -:102A00003F4BDB683D4D01224FF48041284603F0E7 -:102A10003EFB3C4C01224021204603F038FB0122C2 -:102A20004FF48051284603F032FB0122102120464A -:102A300003F02DFB38BD00224021324803F027FB74 -:102A40000022314B9B6813F0020F04D1B2F5FA7FDC -:102A500001D80132F5E72C4B9C8100222A4B9B6860 -:102A600013F0010F04D1B2F5FA7F01D80132F5E776 -:102A7000254BDB68C6E700224FF480511F4803F066 -:102A800006FB00221E4B9B6813F0020F04D1B2F527 -:102A9000FA7F01D80132F5E7194B9C810022184BCF -:102AA0009B6813F0010F04D1B2F5FA7F01D801320F -:102AB000F5E7134BDB68A5E700221021114803F06E -:102AC000E6FA0022104B9B6813F0020F04D1B2F516 -:102AD000FA7F01D80132F5E70B4B9C8100220A4BAB -:102AE0009B6813F0010F04D1B2F5FA7F01D80132CF -:102AF000F5E7054BDB6885E7704700BF000402403F -:102B00000038004000000240005401402DE9F84325 -:102B100005460F4616461C46AF4B00221A6001219F -:102B2000AE4803F0ADFA002800F0D2802B8803F005 -:102B3000010323702B88C3F3400363702B88C3F316 -:102B40008003A3702B88C3F3C003E3702B88C3F307 -:102B5000001323712B88C3F3401363712B88C3F3D5 -:102B60008013A3712B88C3F3C013E3712B88C3F3C5 -:102B7000002323722B88C3F3402363722B88C3F393 -:102B80008023A3722B88C3F3C023E3722B88C3F383 -:102B9000003323732B88C3F3403363736B883B800C -:102BA000AB8833806B89E381AB8907EE903AF8EE0E -:102BB000677A9FED8B7A67EE877AC7ED017AEB89AA -:102BC00007EE903AF8EE677A67EE877AC7ED027AF9 -:102BD0002B8A07EE903AF8EE677A67EE877AC6EDB1 -:102BE000017A6B8A07EE903AF8EE677A67EE877A99 -:102BF000C6ED027AAA8A7B4B5A83EB8ABB812B8B68 -:102C0000B3816378002B00F095800122082176487B -:102C100003F03DFAA378002B00F0928001220421FA -:102C2000714803F034FAE378002B00F08F80012222 -:102C30004FF48071694803F02AFA2379002B00F0E1 -:102C40008C8001221021684803F021FA6379002B5F -:102C500000F0898001224FF48061644803F017FA84 -:102C6000A379002B00F0868001220821604803F040 -:102C70000EFA637A1BB1E379002B40F081800022C9 -:102C800001215B4803F003FA00224FF4006157482A -:102C900003F0FDF9A37A1BB1237A002B40F0868064 -:102CA00000220221524803F0F2F9002220214E486E -:102CB00003F0EDF9237B1BB94E4B7B604E4BBB60A1 -:102CC000637B1BB94B4B73604B4BB360BDE8F88320 -:102CD0004FF48071464803F0D3F901287FF426AF02 -:102CE000464805F035FE3C4B186000287FF41EAFC7 -:102CF000DFF80C91484605F041FFDFF8DC80C8F8AA -:102D00000000484605F018FFC8F800001E222946BA -:102D1000484605F03FFEC8F800001E2229464846F6 -:102D200005F06EFFC8F80000344805F023FEC8F82F -:102D30000000FBE6002208212B4803F0A8F969E710 -:102D400000220421284803F0A2F96CE700224FF486 -:102D50008071224803F09BF96FE70022102122487E -:102D600003F095F972E700224FF480611F4803F0E9 -:102D70008EF975E7002208211D4803F088F978E7ED -:102D800047F6FF710320FFF70FFE47F6FF710320A0 -:102D9000FFF70AFE01224FF40061144803F077F9AF -:102DA00001221146124803F072F973E747F6FF71EA -:102DB0000420FFF7F9FD47F6FF710420FFF7F4FD4B -:102DC00001222021084803F062F90122022108486B -:102DD00003F05DF96EE700BF88020020000C02409E -:102DE0000000803BB00200200008024000040240C6 -:102DF00000000240000020410AD7233CACAF00088D -:102E0000B0AF000884460088012304E03CF813209A -:102E1000504001331BB28B42F8DB704710B50E4BAC -:102E20001B8841F21112934205D047F27772934208 -:102E30000FD10E2400E00D242146FFF7E3FF074BDE -:102E40001880074B33F81430984214BF002001203B -:102E500010BD0020FCE700BFD2020020D0020020FD -:102E60009002002010B5044601210A4803F008F939 -:102E700008B1012010BD084805F06AFD08B1012025 -:102E8000F8E71E222146054805F0BAFE024805F083 -:102E900071FDEFE7000C0240ACAF0008BCAF0008CA -:102EA00038B5044601210D4803F0EAF808B10120C5 -:102EB00038BD0B4805F04CFD08B10120F8E7094D7D -:102EC0002B681E222146084805F092FD2B681E3310 -:102ED0002B60034805F04EFDEAE700BF000C0240FE -:102EE000ACAF000884020020BCAF000810B501217F -:102EF0000B4803F0C5F808B1012010BD094805F0E2 -:102F000027FD08B10120F8E7074C204605F036FE02 -:102F1000204605F011FE034805F02CFDEDE700BF4B -:102F2000000C0240ACAF0008BCAF00088C46002289 -:102F30000CE033B9074BDB6913F08003F9D00123B0 -:102F4000F7E7815C034B9962013292B26245F1D39B -:102F5000704700BF001001400D4B1B78002BFBD1C8 -:102F60000C4BD3F8B82022F00102C3F8B820D3F8F4 -:102F7000BC206FF30F021043C3F8BC00D3F8B82095 -:102F800042F00102C3F8B820014B01221A707047C9 -:102F9000D80200200064024072B6FEE700B585B09A -:102FA000002300930193029303932B482B4A026062 -:102FB0004FF440324260836001220261836180F8F5 -:102FC0002030C36226498162C3600521C16180F857 -:102FD0003030426101F024FE002831D109230093F2 -:102FE000012301930723029369461B4802F000F86E -:102FF00040BB08230093022301936946164801F061 -:10300000F7FF08BB0223009303230193694612488C -:1030100001F0EEFFD0B90A2300930423019369461F -:103020000D4801F0E5FF98B90B23009305230193A8 -:103030006946094801F0DCFF60B905B05DF804FBA2 -:10304000FFF7AAFFFFF7A8FFFFF7A6FFFFF7A4FF10 -:10305000FFF7A2FFFFF7A0FFB80500200020014006 -:103060000100000F00B585B0002300930193029387 -:1030700003931448144A02604FF440324260836064 -:103080000361836180F82030C362104A8262C360AA -:103090000122C26180F83030426101F0C1FD68B99F -:1030A0000F230093012301930723029369460548E8 -:1030B00001F09EFF20B905B05DF804FBFFF76CFF3F -:1030C000FFF76AFF70050020002201400100000F99 -:1030D0002DE9F041B4B000212D912E912F91309126 -:1030E0003191329133912791289129912A912B91F5 -:1030F0002C91902203A8FDF72FFB4023039303A8F4 -:1031000002F0BCFB002840F09E80504B5A6C42F00D -:1031100010025A645A6C02F010020292029A1A6B60 -:1031200042F001021A631B6B03F001030193019B40 -:103130004FF4007327934FF00208CDF8A0800327C7 -:10314000299700242A942B9407262C96404D27A9D2 -:10315000284603F008FB4FF480632793CDF8A08046 -:1031600029972A942B942C9627A9284603F0FBFA3A -:10317000384BD3F8B82022F0F05242F00062C3F886 -:10318000B820D3F8B82022F0C00242F04002C3F8C1 -:10319000B820D3F8B82042F44032C3F8B820D3F8AE -:1031A000B82022F49072C3F8B820D3F8B82022F4E3 -:1031B0000072C3F8B820D3F8B82042F48062C3F894 -:1031C000B820D3F8B82022F4C052C3F8B820D3F8FE -:1031D000B82022F4C042C3F8B820D3F8CC2022F0A3 -:1031E0000402C3F8CC201C4BD86822462146C0F309 -:1031F0000220FEF723F90001C0B2184B83F8250323 -:1032000020225A604FF4E1332D932E942F94309462 -:103210000C2331933294339404F1804404F58834C0 -:103220002DA9204605F00CFB636823F490436360EE -:10323000A36823F02A03A360236843F001032360FB -:1032400034B0BDE8F081FFF7A7FE00BF00380240B0 -:10325000000002400064024000ED00E000E100E0F8 -:1032600008B50848084B0360B72343600023836018 -:103270000922C2600361836104F01AFF00B908BD2E -:10328000FFF78AFE080400200044014008B50B48FF -:103290000B4B03604FF4E133436000238360C36052 -:1032A00003610C2242618361C3610362436207F0E0 -:1032B00016FE00B908BDFFF76FFE00BF3403002003 -:1032C000007C004000B589B0002304930593069369 -:1032D00007930193029303931348144A02604360D7 -:1032E00083605B22C26003614361836104F0E0FE9E -:1032F00098B94FF48053049304A90B4805F01AF8C9 -:1033000068B9002301930293039301A9064805F0CD -:10331000A3F930B909B05DF804FBFFF73DFEFFF7F4 -:103320003BFEFFF739FE00BF5404002000040140BB -:1033300000B589B00023019302930393049305938E -:10334000069307931448154A026001224260836085 -:103350005B22C26003618023836104F0A9FEA8B9E7 -:103360000D4804F0D5FE98B9602301935B230293C6 -:1033700000220392059201A9074804F031FF48B9E1 -:10338000054801F029FB09B05DF804FBFFF704FED6 -:10339000FFF702FEFFF700FEBC03002000480140DB -:1033A00000B58FB000230A930B930C930D930793F2 -:1033B0000893099300930193029303930493059355 -:1033C00006931E481E4A0260436083602D22C2603D -:1033D0000361836104F06CFE30BB4FF480530A93A9 -:1033E0000AA9164804F0A6FF00BB144804F090FE9A -:1033F000F0B900230793099307A9104805F02CF9A9 -:10340000C0B9602300931623019300230293049311 -:1034100008226946094804F0E3FE68B9074801F04C -:10342000DBFA0FB05DF804FBFFF7B6FDFFF7B4FD64 -:10343000FFF7B2FDFFF7B0FDFFF7AEFDA0040020DF -:103440000008004000B595B03422002107A8FDF720 -:1034500083F9002302930393049305930693244B6B -:103460001A6C42F080521A641B6C03F08053009374 -:10347000009B204B1A6842F440421A601B6803F418 -:1034800040430193019B012307934FF4803308933A -:1034900002230D934FF480020E9219220F924FF4E3 -:1034A000B8721092119308221292139307A801F098 -:1034B00093FEB0B902F0FAFDA8B90F2302930223DC -:1034C0000393002304934FF4A05305934FF48053C8 -:1034D0000693062102A802F0F5F830B915B05DF8A0 -:1034E00004FBFFF759FDFFF757FDFFF755FD00BF40 -:1034F00000380240007000402DE9F04385B002F032 -:10350000AFFEFFF79FFFFEF78DFCFDF7C9FFFEF74B -:10351000B7FD00F029FEFEF761FFFEF7ADFFFFF7F4 -:103520003DFDFFF79FFDFEF715FEFEF787FEFEF758 -:10353000EDFEFFF7CDFDFDF7A1FFFEF7E9FFFFF779 -:103540002DF8FFF78DFEFFF7A1FEFFF7BBFEFFF79B -:10355000EFFEFFF725FFFFF767F8854A3523D362B3 -:10356000D36A01335B08013BD363D36A9B00033307 -:1035700002F5A032D362D36A01335B08013B536387 -:103580004CE07C4B1B78002B4FD17B4A52E8003F2C -:1035900043F4807342E800310029F6D1764A52E8BC -:1035A000003F43F0200342E800310029F6D1724A7F -:1035B00002F1080353E8003F43F00103083242E8F8 -:1035C00000310029F3D16D4B002283F825232022FE -:1035D0005A60684B01221A7027E0694B00221A706A -:1035E000684B5A681A61FEF70DFC674B1B78022B7B -:1035F00000F06884032B00F09B84012B09D1634CFD -:1036000002212046FFF792FC0023237063705E4A7C -:1036100013705F4B1B78012B00F08C844FF480718A -:103620005C4802F02DFD0128ABD05B4B1B780A2BC8 -:10363000DBD801A252F823F0DB350008653600081C -:10364000CF36000805370008353700084537000831 -:1036500061370008C5370008AF390008F5390008A0 -:10366000193900084D4C0D212046FFF7CBFB4C4B80 -:1036700018802046FFF7D2FB70B9444A137843F014 -:1036800004031370444B02221A703D4B00221A703F -:103690003D4B01221A70A8E7424A136843F04003E9 -:1036A000136002F58E32136843F0400313603E4B03 -:1036B0003E4A3F492046FFF729FA3E4B1A683E4BE7 -:1036C0001A600723344A13702D4A1370E0E72D4B1C -:1036D0005A681A61FEF796FBFEF7A6FF314A136897 -:1036E00023F04003136002F58E32136823F0400389 -:1036F00013600023284A1370214A1370224B0122C1 -:103700001A7072E72D48FFF7CBFB82B22C4B1A8060 -:103710001E490B7803430B7042B91B4B03221A70EE -:103720000023174A13701C4A13705EE7164B0122E0 -:103730001A70F5E7144B02221A70114B1A78164BC7 -:103740001A7052E7FFF7D2FB104A13780343137045 -:103750000D4B01221A700A4B1A780F4B1A7044E76E -:10376000094B01221A70064B1A780B4B1A703CE772 -:1037700000080040D70200200010014000E100E0F6 -:10378000FF020020C0010020FE020020FC020020F9 -:10379000D902002000000240000300209002002017 -:1037A000D0020020003800402C02002060020020DF -:1037B00070020020300300202C030020B002002003 -:1037C000CE0200209F4B5A681A61FEF71BFB9E4BEE -:1037D0001B689E4A126893427FF607AF9B4A1360AC -:1037E0000120FEF7FFF99A4F38810120FEF7FAF920 -:1037F00038810220FEF7F6F9964E30810220FEF75E -:10380000F1F930810320FEF7EDF90320FEF7EAF924 -:1038100038800420FEF7E6F90420FEF7E3F9308053 -:10382000DFF86482012239464046FDF711FF014668 -:10383000894D28800320FFF7B7F8DFF8489202226D -:1038400031464846FDF704FF014628800420FFF773 -:10385000ABF83B89814C63803389A380B8F80C10A6 -:103860000120FFF7A1F8B9F80C100220FFF79CF82F -:103870000020FFF761F828800120FFF75DF828801D -:10388000E0810120FFF758F8288020820120FFF70F -:1038900053F8288060820120FFF74EF82880A0822C -:1038A0000120FFF749F82880E0820220FFF744F862 -:1038B00028800320FFF740F828800420FFF73CF819 -:1038C000288020830520FFF737F82880644B1B6889 -:1038D000644A1360E3801B0C23813B886381338837 -:1038E000A381614BDB7A012B03D0604B07221A7056 -:1038F0007BE602340D212046FFF784FA03465C4A3A -:103900001080A01E8383FFF7ADFA03462880594933 -:103910000A7813430B70E8E7574C03212046FFF762 -:1039200071FAE38898420CD0524A137843F00403AA -:103930001370524B01221A704C4B1A78504B1A706C -:1039400053E622886388A48802F00108C2F3400687 -:1039500012F0020F00D00226DDB2C3F30327234387 -:1039600009D01DB13F2D02D93F2500E0012534B912 -:103970004FF6FF7403E04FF6FF7402270125009411 -:103980003B462A4641463046FEF73EF8394B5870D2 -:10399000019400972B4632464146FDF7C9FF0028A7 -:1039A000C7D0344A137863F07F031370C1E73248FD -:1039B000FFF734FA70B92F4A137843F004031370F9 -:1039C0002F4B02221A70294B00221A702B4B012216 -:1039D0001A700AE6244B2B4A2B492748FDF784FD31 -:1039E0001F4B1A68294B1A600923254A13701F4A76 -:1039F0001370EBE7134B1B78012B53D0022B00F015 -:103A00003681114B1B68114A1268934200F20782FB -:103A10001F4B1B78002BFBD0FEF7F4F9094BDB8A18 -:103A2000032B0BD91B4B1A681B4BDA60054B1B7D14 -:103A30001A4AA2FB0323DB08194A13600B4B092225 -:103A40001A70D2E5C00100201803002014030020E2 -:103A50000C02002000020020CE020020B002002054 -:103A600030030020280300202C020020FF02002049 -:103A7000D0020020FC02002090020020FE02002064 -:103A80000003002060020020700200202C030020B0 -:103A9000D60200200403002008040020CDCCCCCCAA -:103AA00008030020AD4BD3ED077AFCEEE77A17EE62 -:103AB000903A99B20220FEF777FF0320FEF792F8C2 -:103AC0000320FEF78FF8A64C20800420FEF78AF82A -:103AD0000420FEF787F8A34D288001222146A24842 -:103AE000FDF7B6FD0146A14C20800320FEF75CFFE8 -:103AF000022229469E48FDF7ABFD014620800420A6 -:103B0000FEF752FF9B4C01228021204602F0BFFAB3 -:103B100000228021204602F0BAFA974804F014F9F6 -:103B2000002875D18D4B93ED027AD3ED047A37EEF0 -:103B3000677AD3ED036AC7EE267AB2EE047A67EEAF -:103B4000877AFCEEE77ACDED037A9DF80C60DFF81A -:103B500054920021484604F029FDDFF84C820821E8 -:103B6000404604F023FD854F3B6823F008033B608B -:103B7000834D2B6823F008032B6000247C626C6269 -:103B80002146484604F066FC0821404604F062FCE9 -:103B9000EB6A143B6B627C622546704BD3ED047A72 -:103BA00093ED027AF4EEC77AF1EE10FA37D5754B41 -:103BB0001B78002BF1D0FCEEE77A17EE903A99B221 -:103BC0000120FEF7F1FE654BD3ED047A93ED037A05 -:103BD00077EE877AC3ED047A00276B4B1F60694B41 -:103BE0001F70DFF8C88101224FF40071404602F0D7 -:103BF0004EFA3A464FF40071404602F048FAB4FBE0 -:103C0000F6F306FB13439BB21BB10134A4B2C4E725 -:103C1000FEE7E8B2FDF754FF0135ADB2F5E7574ACC -:103C2000D36843F00103D360FEF7ECF84B4CD4EDBE -:103C3000017AC4ED047AFCEEE77A17EE903A99B275 -:103C40000120FEF7B1FEE38A032B0CD94A4AD06863 -:103C50004E49086042F20F71D160013B642202FBC1 -:103C600003F34B4A1360444804F06EF8C9E63B4B3B -:103C7000D3ED077AFCEEE77A17EE903A99B201207D -:103C8000FEF792FE0320FDF7ADFF0320FDF7AAFF2C -:103C9000334C20800420FDF7A5FF0420FDF7A2FF90 -:103CA000304D2880012221462F48FDF7D1FC0146E6 -:103CB0002E4C20800320FEF777FE022229462C4856 -:103CC000FDF7C6FC014620800420FEF76DFE314B57 -:103CD00002221A7000229A721A814FF47A721A81A3 -:103CE0002D4A5A6080225A802C4B42F21072DA62BE -:103CF0002B4804F029F878BB012280211D4802F0EE -:103D0000C6F942F21073013BFDD10022802119480F -:103D100002F0BDF91F4B02229A72174804F014F802 -:103D2000D8B90E4BD3ED047A93ED027AF4EEC77A4C -:103D3000F1EE10FA3CD5134B1B78002BF1D0074B5A -:103D400093ED037A77EE277AC3ED047A00230E4AC7 -:103D500013600C4A1370E4E7FEE7FEE7C0010020A1 -:103D60000C0200200002002070020020CE02002081 -:103D700060020020000C02400804002000480140BE -:103D800000080040D60200200C030020040300209D -:103D900008030020F4010020000402400004014058 -:103DA00054040020BC030020A0040020001802409E -:103DB0006C4803F0B4FF6C4C01228021204602F0D5 -:103DC00066F900228021204602F061F9674804F07C -:103DD00003F8674B00225A62FEF714F8654CD4EDE5 -:103DE000017AC4ED047AFCEEE77A17EE903A99B2C4 -:103DF0000220FEF7D9FDE38A032B0CD9594AD0687B -:103E00005D49086042F20F71D160013B642202FB00 -:103E100003F35A4A1360534803F096FFF1E5584AFA -:103E200013600120FDF7DEFE564E30810120FDF7C4 -:103E3000D9FE30810220FDF7D5FE534F3881022094 -:103E4000FDF7D0FE38813389504C6380A08000207C -:103E5000FEF772FD4E4D28800120FEF76DFD288093 -:103E6000E0810120FEF768FD288020820120FEF716 -:103E700063FD288060820120FEF75EFD2880A0821D -:103E80000120FEF759FD2880E0820220FEF754FD54 -:103E900028800320FEF750FD28800420FEF74CFD0B -:103EA000288020830520FEF747FD2880394B1B68BA -:103EB000394A1360E3801B0C2381338863813B887C -:103EC000A381A5E5354C0D212046FEF79BFF344B21 -:103ED0001880608300230BE02C4A32F8132059002D -:103EE000304800F813200131120A425401339BB2CA -:103EF0000E2BF1D91E20FFF72FF82B4B00221A7042 -:103F0000FFF787BB214A32F813205900254800F8F3 -:103F100013200131120A425401339BB20E2BF1D906 -:103F20001E20FFF719F8204B00221A70FFF771BB13 -:103F30000023F3E7174B1B681C4A12689B1A642B7B -:103F40007FF66CAB00221A4B1A801A490B7843F0AB -:103F500002030B70144B01211970174B1A70FFF7F5 -:103F60005DBB00BF08040020000C02405404002088 -:103F700000040140C00100200403002008030020C9 -:103F8000140300200C02002000020020B0020020D8 -:103F9000CE0200203003002028030020B2020020BF -:103FA000D0020020DC020020FE02002024030020BA -:103FB000D4020020FC020020D902002000B583B00A -:103FC000009313460A460146034803F0D5F800B1B2 -:103FD000012003B05DF804FBEC04002000B583B0C1 -:103FE000009313460A460146034803F0E9F900B17D -:103FF000012003B05DF804FBEC04002008B5034881 -:1040000003F01CFD043818BF012008BDEC0400209B -:1040100008B50146014803F09EFC08BDEC040020F1 -:1040200000B583B001238DF8073000F0ADF810B96A -:1040300000238DF807309DF8070003B05DF804FBFE -:1040400038B5FFF7EDFF012802D00225284638BD1C -:104050000446074803F064FC05460028F6D14FF4F7 -:104060000061034803F08AFC0028EFD02546EDE705 -:10407000EC04002008B5074B01221A70FFF7BEFFC1 -:1040800020B9044A137803F0FE031370014B18782B -:1040900008BD00BF5000002010B50446074B0122A8 -:1040A0001A70FFF7CDFF10B1044B187810BD2046F1 -:1040B000FFF7E0FF014B1870F6E700BF500000204B -:1040C00008B5FFF7D7FF08BD08B5084611461A46E0 -:1040D0004FF0FF33FFF772FF30B9FFF78FFF034652 -:1040E0000028FAD1184608BD0123FBE708B50846A9 -:1040F00011461A464FF0FF33FFF770FF30B9FFF754 -:104100007DFF03460028FAD1184608BD0123FBE7CE -:1041100030B589B0134B187810F001041BD1154647 -:1041200003291CD8DFE801F002040A100C4613E052 -:104130006846FFF76DFF069B2B600DE06846FFF7B2 -:1041400067FF079B2B8007E06846FFF761FF079B2F -:104150005B0A2B6000E00324204609B030BD042434 -:10416000FAE700BF5000002008B50349034806F0F5 -:10417000B3FB034B187008BD0006002064B20008B2 -:10418000040600200020704708B50121034801F013 -:1041900077FF08B9012008BD0020FCE7000C0240B1 -:1041A000FEE7FEE7FEE7FEE7FEE770477047704771 -:1041B00008B502F061F808BD08B5034800F07DFEBF -:1041C000024800F07AFE08BDB80500207005002006 -:1041D00008B5084A136801331360074A126893420E -:1041E00003D0064803F017FE08BD054B01221A70E4 -:1041F000F7E700BF0C03002008030020080400209C -:10420000D602002008B5094B1A6842F008021A606D -:1042100007490A6842F008020A60DA6822F00102DF -:10422000DA60044803F0F7FD08BD00BF0048014014 -:1042300000080040BC0300207047000010B5114B7F -:104240009B7A022B0ED0032B18D100210220FEF7FF -:10425000ABFB0C4C00226188606801F018FF022360 -:10426000A3720BE0074C21890220FEF79DFB01227F -:104270006188606801F00BFF0323A372024803F01A -:10428000CAFD10BDF4010020540400207047000056 -:1042900008B5094B1B6913F0010F0BD0064B6FF0EB -:1042A00001021A61054A13680133136002210448B0 -:1042B00001F0F3FE08BD00BF0010004030030020F5 -:1042C000000C0240064B1B6913F0010F07D0044B92 -:1042D0006FF001021A61034A1368013313607047DB -:1042E000001400401803002010B49B4B5A6AD2B24D -:1042F0009A4B1A709A4B1B881F2B00F26481DFE8DF -:1043000013F020002F00620162016201620162016C -:10431000620162019E00620162016201620162014A -:104320006201620162016201620162016201620175 -:10433000620162016201620162016201D8006201F0 -:104340001201884908688849086088490120087076 -:1043500087490A800344824A13805DF8044B704702 -:1043600083490B8803EB02239BB20B8045F2555225 -:10437000934245D022D843F23332934237D010D8FB -:1043800041F2111293422ED042F22222934248D19E -:104390000023734A1380754A1370764B02221A70F9 -:1043A000DBE744F2444293423BD100236C4A138042 -:1043B0006E4A13706F4B04221A70CEE747F2777281 -:1043C000934226D048F68802934226D046F266628F -:1043D000934226D10023624A1380644A1370654BCE -:1043E00006221A70B9E75E4B02221A80B5E7002355 -:1043F0005B4A13805D4A13705E4B03221A70ACE770 -:104400000023574A1380594A13705A4B05221A70D9 -:10441000A3E7534B02221A809FE7514B02221A80D6 -:104420009BE700234E4A1380504A1370524A137878 -:1044300043F0020313704F4B02221A708DE74C4970 -:10444000088848F68801884212D013F0010F2AD05C -:1044500059080139494C34F8110000EB022224F8C4 -:10446000112001333E4A1380454B00221A7074E735 -:1044700013F0010F11D05B08013B404830F81310D6 -:1044800001EB022220F813203A4B0A221A70002373 -:10449000334A1380354A13705FE75B08013B3749A5 -:1044A00021F81320F0E759080139344820F8112089 -:1044B000D7E72F49088841F21111884212D013F032 -:1044C000010F2AD0590801392C4C34F8110000EBA7 -:1044D000022224F811200133214A1380284B0022A4 -:1044E0001A703AE713F0010F11D05B08013B234823 -:1044F00030F8131001EB022220F813201D4B01228B -:104500001A700023164A1380184A137025E75B08B7 -:10451000013B1A4921F81320F0E7590801391748DF -:1045200020F81120D7E71249088847F277718842AE -:1045300028D013F0010F40D0590801390F4C34F83E -:10454000110000EB022224F811200133044A1380E9 -:104550000B4B00221A7000E70010014001030020FD -:10456000D40200203003002024030020D9020020C0 -:10457000D202002000030020FC0200209002002054 -:10458000FE02002013F0010F11D05B08013B1A4816 -:1045900030F8131001EB022220F81320174B0822E9 -:1045A0001A700023164A1380164A1370D5E65B086A -:1045B000013B114921F81320F0E7590801390E4851 -:1045C00020F81120C1E713F0010F0FD0590801396D -:1045D000094C34F8110000EB022224F811200133B9 -:1045E000074A1380084B00221A70B6E659080139B1 -:1045F000014820F81120F2E790020020000300207B -:10460000D4020020D9020020FE02002000B583B0B1 -:10461000304BDB6913F0200F07D02E4B1B6813F0D3 -:10462000200F02D0FFF760FE33E02A4BDB6913F066 -:10463000080F25D1274BDB6913F0020F2CD1254B36 -:10464000DB6913F0040F31D1224BDB6913F0010F4A -:1046500036D1214BDB6913F0400F1AD01E4B1B687B -:1046600013F0400F15D01B4B40221A62194A52E832 -:10467000003F23F0400342E800310029F6D108E072 -:10468000144B5B6A9DF8072052FA83F3DBB28DF876 -:10469000073003B05DF804FB0E4B5B6A9DF8072002 -:1046A00052FA83F3DBB28DF80730F2E7094B5B6A0D -:1046B0009DF8072052FA83F3DBB28DF80730E8E764 -:1046C000044B5B6A9DF8072052FA83F3DBB28DF846 -:1046D0000730DEE70010014000140140024B4FF0AC -:1046E0000062DA60704700BF0064024008B50A4B00 -:1046F0005B6813F0006F09D1074B5B6813F0007F14 -:1047000003D0054B4FF00072DA6008BDFFF7E6FFFB -:10471000024B00221A70F8E700640240D802002021 -:1047200082B00A4B1A6C42F080521A641A6C02F082 -:1047300080520092009A5A6C42F480425A645B6C38 -:1047400003F480430193019B02B07047003802409C -:1047500030B58DB000230793089309930A930B9308 -:104760000368384A934204D0374A934246D00DB08A -:1047700030BD364B5A6C42F480725A645A6C02F463 -:1047800080720192019A1A6B42F004021A631A6B4A -:1047900002F004020292029A1A6B42F001021A63BA -:1047A0001A6B02F001020392039A1A6B42F00202A2 -:1047B0001A631B6B03F002030493049B0324079406 -:1047C000089407A9224801F059FB04230793089491 -:1047D0000025099507A91F4801F050FB079408948C -:1047E000099507A91C4801F049FB2A4629461220D1 -:1047F00001F0DEFC122001F0EBFCB8E7134B5A6C21 -:1048000042F480625A645A6C02F480620592059AFE -:104810001A6B42F020021A631B6B03F0200306930D -:10482000069B202307930323089307A90B4801F055 -:1048300025FB00221146122001F0BAFC122001F0E3 -:10484000C7FC94E7002001400022014000380240EC -:104850000008024000000240000402400014024030 -:10486000F0B5ADB0044600212791289129912A91F5 -:104870002B91902203A8FBF76FFF2268224B9A42EC -:1048800001D02DB0F0BD4FF42003039303A800F036 -:10489000F5FF002835D11D4B5A6C42F400625A6472 -:1048A0005A6C02F400620092009A1A6B42F0040201 -:1048B0001A631A6B02F004020192019A1A6B42F019 -:1048C00008021A631B6B03F008030293029B4FF468 -:1048D000F8532793022728970026299603252A951F -:1048E0000C242B9427A90A4801F0C8FA0423279323 -:1048F000289729962A952B9427A9064801F0BEFAF5 -:10490000BFE7FEF749FBC6E7002C01400038024034 -:1049100000080240000C024000B585B00368294A37 -:1049200093420BD0284A934213D0284A934223D073 -:10493000274A934233D005B05DF804FB254B1A6C2F -:1049400042F004021A641B6C03F004030093009B02 -:10495000F1E7204B5A6C42F002025A645B6C03F0A0 -:1049600002030193019B002211462C2001F020FC40 -:104970002C2001F02DFCDEE7164B5A6C42F400327D -:104980005A645B6C03F400330293029B00221146CD -:10499000192001F00DFC192001F01AFCCBE70D4B9A -:1049A0005A6C42F480225A645B6C03F480230393B4 -:1049B000039B002211461A2001F0FAFB1A2001F095 -:1049C00007FCB8E700080040000401400044014033 -:1049D000004801400038024000B589B0002303932D -:1049E000049305930693079303681A4A934205D0EC -:1049F000194A934217D009B05DF804FB174B1A6BA4 -:104A000042F002021A631B6B03F002030193019B45 -:104A10004FF48073039302230493079303A9104870 -:104A200001F02CFAE7E70D4B1A6B42F002021A6311 -:104A30001B6B03F002030293029B4FF4007303937A -:104A4000022304930323079303A9054801F016FAF0 -:104A5000D1E700BF00080040004801400038024094 -:104A60000004024010B5ACB0044600212791289103 -:104A700029912A912B91902203A8FBF76DFE2268C1 -:104A8000174B9A4201D02CB010BD4FF40053039342 -:104A900003A800F0F3FE00BB124B1A6C42F0004278 -:104AA0001A641A6C02F000420192019A1A6B42F0E9 -:104AB00010021A631B6B03F010030293029B032383 -:104AC000279302222892002229922A9308232B93CB -:104AD00027A9054801F0D2F9D5E7FEF75DFADBE733 -:104AE000007C004000380240001002404A4B5A68E7 -:104AF00022F440325A605A6841680A435A60026898 -:104B0000536823F48073536002685368016943EA71 -:104B1000012353600268536823F0407353600268B6 -:104B2000536881680B4353600268936823F4006301 -:104B3000936002689368C1680B439360826A374B45 -:104B40009A4257D00268936823F0706393600268BA -:104B50009368816A0B4393600268936823F0405323 -:104B6000936002689368C16A0B439360026893681C -:104B700023F00203936002689368816943EA41036A -:104B8000936090F82030002B3FD00268536843F4C4 -:104B9000006353600268536823F460435360016804 -:104BA0004B68426A013A43EA42334B600268D36A77 -:104BB00023F47003D3620168CB6AC269013A43EA05 -:104BC0000253CB620268936823F400739360026817 -:104BD000936890F8301043EA412393600268936829 -:104BE00023F48063936002689368416943EA8123F8 -:104BF000936070470268936823F070639360026863 -:104C0000936823F040539360B0E70268536823F43D -:104C100000635360CAE700BF002301400100000F9A -:104C200028B310B50446036C43B1236C13F0100F86 -:104C30000BD00120002384F83C3010BDFFF788FD25 -:104C40000023636484F83C30EFE7226C094B134087 -:104C500043F0020323642046FFF748FF002060640E -:104C6000236C23F0030343F001032364E2E70120F4 -:104C7000704700BFFDEEFFFF82B00023019390F864 -:104C80003C30012B7ED0012380F83C3003689A68C9 -:104C900012F0010F13D19A6842F001029A603D4B65 -:104CA0001B683D4AA2FB03239B0C03EB43030193C8 -:104CB00002E0019B013B0193019B002BF9D10368AA -:104CC0009A6812F0010F52D0016C344A0A4042F443 -:104CD000807202645A6812F4806F05D0026C22F46C -:104CE000405242F480520264026C12F4805F19D088 -:104CF000426C22F006024264002280F83C206FF0F1 -:104D000022021A60264B5B6813F01F0F0DD1036857 -:104D10009A6812F0405F37D19A6842F080429A60F8 -:104D200000202DE000224264E6E703681D4A93421A -:104D30000AD01B4B5B6813F0100F27D103681A4A87 -:104D400093420AD000201BE09A6812F0405FF0D135 -:104D50009A6842F080429A60EBE79A6812F0405FEE -:104D600016D19A6842F080429A60002008E0036CF5 -:104D700043F010030364436C43F0010343640020D9 -:104D800002B070470220FBE70020F9E70020F7E7B8 -:104D90000020F5E75800002083DE1B43FEF8FFFFEC -:104DA00000230140002001400022014090F83C30E7 -:104DB000012B17D0012380F83C300268936823F060 -:104DC0000103936003689B6813F0010F05D1026C27 -:104DD000054B134043F001030364002380F83C308B -:104DE0001846704702207047FEEEFFFF70B504467C -:104DF0000D4603689A6812F4806F03D09B6813F421 -:104E0000807F19D101F044FA064623681A6812F02F -:104E1000020F20D1B5F1FF3FF7D0B5B923681B6869 -:104E200013F0020FF1D1236C43F004032364002339 -:104E300084F83C30032033E0036C43F02003036428 -:104E4000002380F83C3001202AE001F021FA801B89 -:104E5000A842DAD9E2E76FF012021A60236C43F439 -:104E60000073236423689A6812F0405F17D1A26927 -:104E7000BAB9DA6A12F4700F03D09B6813F4806F2A -:104E800011D1236C23F480732364236C13F4805FAB -:104E90000BD1236C43F001032364002000E00020C9 -:104EA00070BD0020FCE70020FAE70020F8E7036867 -:104EB000D86C704770477047704770B504460368F8 -:104EC0001E685D68C5F3401212EA56022CD0026CCF -:104ED00012F0100F03D1026C42F4007202649A685F -:104EE00012F0405F19D1A269BAB9DA6A12F4700FF0 -:104EF00003D09A6812F4806F0FD15A6822F0200212 -:104F00005A60236C23F480732364236C13F4805F52 -:104F100003D1236C43F0010323642046FFF7CAFF4B -:104F200023686FF012021A60C5F3C01313EA9603E8 -:104F300035D0236C13F0100F03D1236C43F40053CE -:104F4000236423689A6812F4401F21D19A6B12F4EB -:104F5000401F03D09A6812F4806F19D15A6812F476 -:104F6000806F15D19A6812F0405F11D1A2697AB9A9 -:104F70005A6822F080025A60236C23F48053236421 -:104F8000236C13F4807F03D1236C43F0010323646B -:104F9000204600F01FF923686FF00C021A60C5F379 -:104FA00080131E4204D023681B6813F0010F05D143 -:104FB000C5F3806515EA56150CD170BD236C43F41A -:104FC000803323642046FFF776FF23686FF00102E9 -:104FD0001A60EDE7636C43F00203636423686FF0CB -:104FE00020051D602046FFF767FF23681D60E4E78A -:104FF00030B482B00022019290F83C20012A00F0E7 -:10500000DC800346012280F83C200A68B2F1004FA0 -:1050100018BF092A22D90468E06892B202EB420262 -:105020001E3A4FF0070C0CFA02F220EA0202E2608C -:105030000A68634882420AD01D68E8688C6892B2A8 -:1050400002EB42021E3A94402043E8601CE01868DC -:10505000C2688C6842EA0462C26015E00468206994 -:1050600092B202EB42024FF0070C0CFA02F220EA75 -:10507000020222611C6820690A8802EB42028D68E4 -:1050800005FA02F2024322614A68062A29D81C68FE -:10509000606B02EB8202053A4FF01F0C0CFA02F231 -:1050A00020EA020262631C68606B4A6802EB8202BB -:1050B000053AB1F800C00CFA02F2024362631868C4 -:1050C000404A90423DD018683E4A904243D018680A -:1050D0003C4A90424CD0002083F83C0002B030BCE7 -:1050E00070470C2A16D81D68286B02EB8202233AFF -:1050F0001F2404FA02F220EA02022A631D68286BC8 -:105100004A6802EB8202233A0C8804FA02F2024354 -:105110002A63D4E71D68E86A02EB8202413A1F2441 -:1051200004FA02F220EA0202EA621D68E86A4A68AA -:1051300002EB8202413A0C8804FA02F20243EA626C -:10514000BDE70A68B2F1004FBDD11F48426822F4A2 -:1051500040024260B7E70A68122AB8D11A4A50687A -:1051600020F400005060506840F480005060AEE7CA -:105170000A681348112A18BF8242ACD1124A5068FB -:1051800020F480005060506840F4000050600968CE -:105190000B4A91429FD10D4A12680D49A1FB0212A0 -:1051A000920C02EB82025200019202E0019A013A53 -:1051B0000192019A002AF9D18DE702208EE700BF03 -:1051C0001200001000200140002301405800002080 -:1051D00083DE1B4370470000002800F0068270B594 -:1051E00082B00446036813F0010F29D0954B9B68E9 -:1051F00003F00C03042B1AD0924B9B6803F00C03B2 -:10520000082B0FD06368B3F5803F40D0002B54D1FA -:105210008C4B1A6822F480321A601A6822F48022B9 -:105220001A6039E0874B5B6813F4800FEAD0854B36 -:105230001B6813F4003F03D06368002B00F0D78194 -:10524000236813F0020F74D07E4B9B6813F00C0F91 -:105250005ED07C4B9B6803F00C03082B53D0E368B3 -:10526000002B00F08980774A136843F00103136034 -:1052700001F00EF80546734B1B6813F0020F72D154 -:1052800001F006F8401B0228F5D90320B4E16D4A6D -:10529000136843F48033136063682BB300F0F8FFA6 -:1052A0000546684B1B6813F4003FC9D100F0F0FFBE -:1052B000401B6428F5D903209EE1B3F5A02F09D047 -:1052C000604B1A6822F480321A601A6822F4802235 -:1052D0001A60E1E75B4B1A6842F480221A601A6890 -:1052E00042F480321A60D7E700F0D2FF0546554BF2 -:1052F0001B6813F4003FA3D000F0CAFF401B6428D2 -:10530000F5D9032078E14F4B5B6813F4800FA6D1E9 -:105310004C4B1B6813F0020F03D0E368012B40F0E5 -:105320006881484A136823F0F803216943EAC103FE -:105330001360236813F0080F46D0636983B3414AB2 -:10534000536F43F00103536700F0A2FF05463D4B46 -:105350005B6F13F0020F37D100F09AFF401B022859 -:10536000F5D9032048E1374A136823F0F80321698F -:1053700043EAC1031360DCE7324A136823F00103F8 -:10538000136000F085FF05462E4B1B6813F0020FDB -:10539000CFD000F07DFF401B0228F5D903202BE180 -:1053A000284A536F23F00103536700F071FF05464D -:1053B000244B5B6F13F0020F06D000F069FF401B17 -:1053C0000228F5D9032017E1236813F0040F7DD0DC -:1053D0001C4B1B6C13F0805F1ED11A4B1A6C42F0F1 -:1053E00080521A641B6C03F080530193019B0125CA -:1053F000154B1B6813F4807F10D0A368012B25D0B8 -:10540000002B3BD10F4B1A6F22F001021A671A6F63 -:1054100022F004021A671EE00025E9E70A4A136831 -:1054200043F48073136000F033FF0646064B1B689D -:1054300013F4807FE1D100F02BFF801B6428F5D9A5 -:105440000320D9E00038024000700040724A136F18 -:1054500043F001031367A36833B300F019FF064656 -:105460006D4B1B6F13F0020F2FD100F011FF801B4B -:1054700041F288339842F3D90320BDE0052B09D0CF -:10548000654B1A6F22F001021A671A6F22F00402AC -:105490001A67E0E7604B1A6F42F004021A671A6F4E -:1054A00042F001021A67D6E700F0F2FE06465A4BB8 -:1054B0001B6F13F0020F08D000F0EAFE801B41F2D0 -:1054C00088339842F3D9032096E0FDB9A369002BF5 -:1054D00000F09180504A926802F00C02082A59D0DC -:1054E000022B19D04C4A136823F08073136000F02C -:1054F000CFFE0446484B1B6813F0007F48D000F0F5 -:10550000C7FE001B0228F5D9032075E0424A136C40 -:1055100023F080531364D9E73F4A136823F0807364 -:10552000136000F0B5FE05463B4B1B6813F0007F8F -:1055300006D000F0ADFE401B0228F5D903205BE049 -:10554000E369226A1343626A43EA8213A26A520839 -:10555000013A43EA0243E26A43EA0263226B43EA06 -:1055600002732D4A5360136843F08073136000F098 -:105570008FFE0446284B1B6813F0007F06D100F015 -:1055800087FE001B0228F5D9032035E0002033E018 -:10559000002031E0204A5268012B2FD002F4800312 -:1055A000E1698B422CD102F03F03216A8B4229D161 -:1055B000616A47F6C0731340B3EB811F24D102F434 -:1055C0004031A36A5B08013BB1EB034F1ED102F0EF -:1055D0007063E16AB3EB016F1AD102F0E042236B12 -:1055E000B2EB037F16D1002006E0012070470120B6 -:1055F00002E0012000E0002002B070BD0120FBE7C6 -:105600000120F9E70120F7E70120F5E70120F3E7A2 -:105610000120F1E70120EFE70038024008B5264BF2 -:105620009B6803F00C03042B41D0082B41D1224B83 -:105630005A6802F03F025B6813F4800F12D01E4BD1 -:105640005968C1F388111D480023A1FB0001FBF735 -:105650007DFD194B5B68C3F3014301335B00B0FB75 -:10566000F3F008BD144B5868C0F388104FEA401C93 -:10567000BCEB000C6EEB0E0E4FEA8E1343EA9C63FC -:105680004FEA8C11B1EB0C0163EB0E03DB0043EA34 -:105690005173C90011EB000C43F100039902002380 -:1056A0004FEA8C2041EA9C51FBF750FDD1E70348BB -:1056B000D7E70348D5E700BF0038024040787D01B6 -:1056C0000024F400002800F0A08070B50D460446C8 -:1056D000524B1B6803F00F038B420BD24F4A1368E7 -:1056E00023F00F030B431360136803F00F038B4287 -:1056F00040F08D80236813F0020F17D013F0040FD1 -:1057000004D0474A936843F4E0539360236813F04E -:10571000080F04D0424A936843F460439360404AC0 -:10572000936823F0F003A1680B439360236813F0A0 -:10573000010F31D06368012B20D0022B25D0384ACD -:10574000126812F0020F64D035498A6822F0030211 -:1057500013438B6000F09CFD0646314B9B6803F0C1 -:105760000C036268B3EB820F16D000F091FD801B32 -:1057700041F288339842F0D9032045E0284A126864 -:1057800012F4003FE0D101203EE0254A126812F0F9 -:10579000007FD9D1012037E0204B1B6803F00F03B5 -:1057A000AB420AD91D4A136823F00F032B43136041 -:1057B000136803F00F03AB422DD1236813F0040FDD -:1057C00006D0174A936823F4E053E1680B439360D3 -:1057D000236813F0080F07D0114A936823F460433D -:1057E000216943EAC1039360FFF718FF0C4B9B68E4 -:1057F000C3F303130B4AD35CD8400B4B18600B4B1D -:10580000186800F007FD002070BD012070470120DE -:10581000FAE70120F8E70120F6E700BF003C02406C -:105820000038024080B200085800002054000020D8 -:10583000014B1868704700BF5800002008B5FFF7FB -:10584000F7FF044B9B68C3F38223034AD35CD84021 -:1058500008BD00BF0038024078B2000808B5FFF765 -:10586000E7FF044B9B68C3F34233034AD35CD84041 -:1058700008BD00BF0038024078B20008F0B583B020 -:105880000446066816F001060DD0B54B9A6822F45E -:1058900000029A609A68416B0A439A60436B002B3E -:1058A00000F067810026256815F4002511D0AC4A68 -:1058B000D2F88C3023F44013E16B0B43C2F88C30E8 -:1058C000E36BB3F5801F00F05681002B00F055818B -:1058D0000025236813F4801F0FD0A14AD2F88C3022 -:1058E00023F44003216C0B43C2F88C30236CB3F5D6 -:1058F000800F00F0448103B90125236813F0807FF5 -:1059000000D0012613F0200F40F03B81236813F0F4 -:10591000100F0CD0924BD3F88C2022F08072C3F879 -:105920008C20D3F88C20A16B0A43C3F88C20236809 -:1059300013F4804F08D08A4AD2F8903023F44033D1 -:10594000616E0B43C2F89030236813F4004F08D007 -:10595000834AD2F8903023F44023A16E0B43C2F85F -:105960009030236813F4803F08D07D4AD2F89030FD -:1059700023F44013E16E0B43C2F89030236813F414 -:10598000003F08D0764AD2F8903023F44003216FCC -:105990000B43C2F89030236813F0400F08D0704AD0 -:1059A000D2F8903023F00303616C0B43C2F89030BF -:1059B000236813F0800F08D0694AD2F8903023F0A2 -:1059C0000C03A16C0B43C2F89030236813F4807F62 -:1059D00008D0634AD2F8903023F03003E16C0B43D7 -:1059E000C2F89030236813F4007F08D05C4AD2F8E4 -:1059F000903023F0C003216D0B43C2F89030236830 -:105A000013F4806F08D0564AD2F8903023F44073D4 -:105A1000616D0B43C2F89030236813F4006F08D017 -:105A20004F4AD2F8903023F44063A16D0B43C2F883 -:105A30009030236813F4805F08D0494AD2F8903040 -:105A400023F44053E16D0B43C2F89030236813F404 -:105A5000005F08D0424AD2F8903023F44043216ED0 -:105A60000B43C2F89030236813F4800F08D03C4AEF -:105A7000D2F8903023F08063A16F0B43C2F89030CE -:105A8000236813F4001F0DD0354AD2F8903023F06C -:105A90000063E16F0B43C2F89030E36FB3F1006F26 -:105AA00000F0D580236813F0080F00D0012513F40F -:105AB000802F08D02A4AD2F8903023F04073616FCB -:105AC0000B43C2F89030236813F4000F09D0244A26 -:105AD000D2F8903023F08053D4F880100B43C2F8F2 -:105AE0009030236813F0806F09D01D4AD2F89030AF -:105AF00023F00053D4F884100B43C2F8903023688D -:105B000013F0006F09D0164AD2F88C3023F00073DE -:105B1000D4F888100B43C2F88C30236813F0805FF0 -:105B200009D00F4AD2F88C3023F08063D4F88C105F -:105B30000B43C2F88C3026B9236813F0007F00F0C5 -:105B40000681074A136823F08063136000F0A0FB0E -:105B50000646034B1B6813F0006F7AD002E000BFCB -:105B60000038024000F094FB801B6428F1D9032028 -:105B7000F0E0012697E60126A7E60125A9E6012621 -:105B8000B9E67F4B1A6C42F080521A641B6C03F02A -:105B900080530193019B7B4A136843F48073136025 -:105BA00000F076FB0746774B1B6813F4807F06D125 -:105BB00000F06EFBC01B6428F5D90320CAE0704BCF -:105BC0001B6F13F4407315D0226B02F440729A429B -:105BD00010D06B4B1A6F22F44072196F41F4803170 -:105BE0001967196F21F4803119671A671B6F13F059 -:105BF000010F12D1236B03F44072B2F5407F1DD028 -:105C00005F4A936823F4F81393605D490B6F226B2E -:105C1000C2F30B0213430B6778E600F039FB07462B -:105C2000574B1B6F13F0020FE4D100F031FBC01B88 -:105C300041F288339842F3D903208BE050488268C0 -:105C400022F4F812504919400A438260DDE7012529 -:105C500028E7236813F0010F13D0636B8BB9484A10 -:105C6000D2F88430D2F88410606803F4403343EAF9 -:105C7000801301F070610B43A16843EA0173C2F81D -:105C80008430236813F4002F03D0E26BB2F5801F39 -:105C900006D013F4801F1ED0236CB3F5800F1AD1E9 -:105CA000374AD2F88430D2F88410606803F4403365 -:105CB00043EA8013E06843EA006301F0E0410B43EC -:105CC000C2F88430D2F88C3023F01F03616A0139A6 -:105CD0000B43C2F88C30236813F0807F11D0284A20 -:105CE000D2F88400D2F88410666823691B0443EA62 -:105CF000861300F07060034301F0E0410B43C2F8EB -:105D00008430236813F0007F0DD0626823691B0480 -:105D100043EA8213E26843EA0263A26843EA027339 -:105D2000174AC2F88430164A136843F08063136040 -:105D300000F0AEFA0646124B1B6813F0006F06D156 -:105D400000F0A6FA801B6428F5D9032002E0012D9B -:105D500002D0002003B0F0BD094A136823F080533D -:105D6000136000F095FA0546054B1B6813F0005FC1 -:105D70000CD000F08DFA401B6428F5D90320E9E728 -:105D80000038024000700040FFFCFF0F236813F44E -:105D9000002F01D0E26B22B113F4801F1DD0236CC1 -:105DA000DBB9354AD2F88830D2F88810606903F43C -:105DB000403343EA8013A06943EA006301F0E04105 -:105DC0000B43C2F88830D2F88C3023F4F853A16A20 -:105DD000013943EA0123C2F88C30236813F4001F11 -:105DE00003D0E36FB3F1006F31D0236813F0080FD5 -:105DF00019D0214AD2F88810D2F88830606903F4AB -:105E0000403343EA801301F070610B43E16943EAD8 -:105E10000173C2F88830D2F88C3023F44033E16A41 -:105E20000B43C2F88C30144A136843F0805313605C -:105E300000F02EFA0446104B1B6813F0005F19D1D6 -:105E400000F026FA001B6428F5D9032082E70A4AED -:105E5000D2F88800D2F888106569236A1B0443EAE7 -:105E6000851300F07060034301F0E0410B43C2F87A -:105E70008830BAE700206DE70038024000230F2B7E -:105E800000F2F48070B582B066E085684FEA430E98 -:105E9000032404FA0EF425EA0405CC6804FA0EF48F -:105EA0002C438460446824EA02044A68C2F3001266 -:105EB0009A40224342605DE0DC08083450F8242018 -:105EC00003F00705AD004FF00F0E0EFA05FE22EAB3 -:105ED0000E0E0A69AA4042EA0E0240F824205DE054 -:105EE000092200E0002202FA0EF22A430234604D39 -:105EF00045F824205F4A94686FEA0C0224EA0C05F6 -:105F00004E6816F4801F01D04CEA0405594CA56078 -:105F1000E46802EA04054E6816F4001F01D04CEA5A -:105F20000405544CE560646802EA04054E6816F402 -:105F3000003F01D04CEA04054E4C656024682240C5 -:105F40004D6815F4803F01D04CEA0402494C2260B0 -:105F500001330F2B00F2888001229A400C6804EA7A -:105F6000020C32EA0404F3D14C6804F00304013C4F -:105F7000012C8AD94A6802F00302032A09D0C468B6 -:105F80005D000322AA4024EA02048A68AA40224350 -:105F9000C2604A6802F00302022A8DD004684FEA08 -:105FA000430E032202FA0EF224EA02044A6802F0C7 -:105FB000030202FA0EF2224302604A6812F4403FE2 -:105FC000C6D02D4A546C44F480445464526C02F49C -:105FD00080420192019A9C08A51C254A52F825503E -:105FE00003F0030E4FEA8E0E0F2202FA0EF225EA9C -:105FF0000205224A90423FF475AF02F5806290425A -:1060000022D002F58062904220D002F58062904258 -:106010001ED002F5806290421CD002F58062904250 -:106020001AD002F58062904218D002F58062904248 -:1060300016D002F58062904214D002F58062904240 -:106040003FF44EAF0A224EE701224CE702224AE714 -:10605000032248E7042246E7052244E7062242E7F6 -:10606000072240E708223EE702B070BD704700BF3C -:1060700000380140003C014000380240000002406E -:106080000369194201D001207047002070470AB10E -:1060900081617047090481617047436901EA030225 -:1060A00021EA030141EA02418161704710B582B0E3 -:1060B0001B4B1A6C42F080521A641B6C03F0805325 -:1060C0000193019B174A136843F48033136000F077 -:1060D000DFF80446134B5B6813F4803F08D100F0EF -:1060E000D7F8001BB0F57A7FF4D9032002B010BDB9 -:1060F0000C4A136843F40033136000F0C9F80446F7 -:10610000084B5B6813F4003F07D100F0C1F8001B97 -:10611000B0F57A7FF4D90320E8E70020E6E700BF76 -:106120000038024000700040002804DB0901C9B2B9 -:10613000044B1954704700F00F000901C9B2024B1B -:106140001954704700E400E014ED00E000B500F0E1 -:106150000700C0F1070CBCF1040F28BF4FF0040C7E -:10616000031D062B0FD9C31E4FF0FF3E0EFA0CF095 -:1061700021EA000199400EFA03FE22EA0E0241EAEA -:1061800002005DF804FB0023EEE700000649CB683F -:1061900023F4E0631B041B0C000200F4E0600343E3 -:1061A000024A1A43CA60704700ED00E00000FA0599 -:1061B00010B50446054BD868C0F30220FFF7C6FFB0 -:1061C00001462046FFF7B0FF10BD00BF00ED00E024 -:1061D000002807DB00F01F02400901239340024A18 -:1061E00042F82030704700BF00E100E00138B0F114 -:1061F000807F0BD24FF0E0235861054AF02182F8EE -:1062000023100020986107221A617047012070470F -:1062100000ED00E010B504460E4B1A784FF47A7387 -:10622000B3FBF2F30C4A1068B0FBF3F0FFF7DEFFAC -:1062300068B90F2C01D901200AE0002221464FF055 -:10624000FF30FFF7B5FF054B1C60002000E0012088 -:1062500010BD00BF51000020580000205400002055 -:1062600008B50320FFF792FF0020FFF7D3FFFEF7EA -:1062700057FA002008BD0000034A1168034B1B7841 -:106280000B441360704700BF080600205100002037 -:10629000014B1868704700BF0806002038B5044657 -:1062A000FFF7F6FF0546B4F1FF3F02D0044B1B7821 -:1062B0001C44FFF7EDFF401BA042FAD338BD00BFDE -:1062C00051000020034B9B68C3F30313024AD35CC5 -:1062D000D84070470038024080B20008034B9B68EA -:1062E000C3F38223024AD35CD8407047003802408F -:1062F00078B20008034B9B68C3F34233024AD35C75 -:10630000D84070470038024078B200080D4B5B68F7 -:1063100003F480039BB90C480A4B5A6802F03F0211 -:10632000B0FBF2F05A68C2F3881202FB00F05B681F -:10633000C3F3014301335B00B0FBF3F07047034844 -:10634000EAE700BF003802400024F40040787D01F5 -:1063500008B5074B9B6803F00C03042B04D0082BF3 -:1063600004D1FFF7D3FF08BD0248FCE70248FAE773 -:106370000038024040787D010024F40008B503286D -:1063800008D00C282ED0B0F5406F53D030287AD0EA -:10639000002008BD514BD3F89030034043EA00433E -:1063A0004F4A934208D0B3F1031F0CD0013A9342F5 -:1063B00011D1FFF7CDFFECE7484B186810F0020051 -:1063C000E7D04848E5E7454B186F10F00200E0D0F1 -:1063D0004FF40040DDE7FFF7BBFFFFF773FFFFF768 -:1063E00089FFD6E73D4BD3F89030034043EA0043A2 -:1063F0003D4A934208D0B3F10C1F0CD0043A9342AB -:1064000011D1FFF7A5FFC4E7344B186810F0020064 -:10641000BFD03448BDE7314B186F10F00200B8D040 -:106420004FF40040B5E7FFF793FFFFF74BFFFFF78F -:1064300055FFAEE7294BD3F89030034043EA0043C1 -:106440002A4A934209D0B3F10C2F0DD0A2F58062F5 -:10645000934211D1FFF77CFF9BE7204B186810F0A7 -:10646000020096D01F4894E71C4B186F10F00200F2 -:106470008FD04FF400408CE7FFF76AFFFFF722FF51 -:10648000FFF738FF85E7154BD3F89030034043EA18 -:106490000043174A934208D0B3F1301F0DD0103A91 -:1064A000934213D1FFF754FF73E70C4B186810F0B9 -:1064B00002003FF46EAF0B486BE7084B186F10F00B -:1064C00002003FF466AF4FF4004062E7FFF740FF81 -:1064D000FFF7F8FEFFF702FF5BE700BF003802405E -:1064E000020003000024F40008000C000008000C67 -:1064F0002000300008B5C0280AD0B0F5407F2FD06A -:10650000B0F5405F55D0B0F5404F7BD0002008BDBE -:10651000524BD3F89030034043EA0043504A934231 -:1065200008D0B3F1C01F0CD0403A934211D1FFF70D -:106530000FFFECE7494B186810F00200E7D049481C -:10654000E5E7464B186F10F00200E0D04FF4004032 -:10655000DDE7FFF7FDFEFFF7B5FEFFF7BFFED6E76D -:106560003E4BD3F89030034043EA00433E4A934207 -:1065700009D0B3F1032F0DD0A2F58072934211D14F -:10658000FFF7E6FEC3E7354B186810F00200BED0F7 -:106590003448BCE7314B186F10F00200B7D04FF40D -:1065A0000040B4E7FFF7D4FEFFF78CFEFFF796FE3E -:1065B000ADE72A4BD3F89030034043EA00432B4A1F -:1065C000934209D0B3F1302F0DD0A2F580529342FF -:1065D00011D1FFF7BDFE9AE7204B186810F00200BA -:1065E00095D0204893E71D4B186F10F002008ED015 -:1065F0004FF400408BE7FFF7ABFEFFF763FEFFF7BA -:106600006DFE84E7154BD3F89030034043EA004316 -:10661000174A934209D0B3F1C02F0ED0A2F58042A1 -:10662000934213D1FFF794FE71E70C4B186810F0FA -:1066300002003FF46CAF0B4869E7084B186F10F08D -:1066400002003FF464AF4FF4004060E7FFF780FEC4 -:10665000FFF738FEFFF742FE59E700BF003802405F -:106660008000C0000024F40000020003002000307D -:10667000008000C000B5836891FAA1FCBCFA8CFCD4 -:106680004FEA4C0C4FF0030E0EFA0CFC23EA0C03FD -:1066900091FAA1F1B1FA81F149008A401343836074 -:1066A0005DF804FB00B5C36891FAA1FCBCFA8CFC50 -:1066B0004FEA4C0C4FF0030E0EFA0CFC23EA0C03CD -:1066C00091FAA1F1B1FA81F149008A401343C36004 -:1066D0005DF804FB00B5036A91FAA1FCBCFA8CFCDE -:1066E0004FEA8C0C4FF00F0E0EFA0CFC23EA0C0351 -:1066F00091FAA1F1B1FA81F189008A401343036252 -:106700005DF804FB00B5436A090A91FAA1FCBCFAE2 -:106710008CFC4FEA8C0C4FF00F0E0EFA0CFC23EAA7 -:106720000C0391FAA1F1B1FA81F189008A40134377 -:1067300043625DF804FB00B5036891FAA1FCBCFA62 -:106740008CFC4FEA4C0C4FF0030E0EFA0CFC23EAC3 -:106750000C0391FAA1F1B1FA81F149008A40134387 -:1067600003605DF804FBF8B507460E460D6895FA20 -:10677000A5F5B5FA85F519E0B26821463846FFF768 -:1067800079FF3268F1687B6823EA020301FB02F2B9 -:1067900013437B6016E0726921463846FFF7B2FF6B -:1067A000726821463846FFF7C6FF0135346834FA6F -:1067B00005F21BD00122AA401440F6D07368013BB9 -:1067C000012BD9D9326921463846FFF76BFF736830 -:1067D000022BE5D194FAA4F3B3FA83F3072BDAD8AA -:1067E000726921463846FFF775FFD9E70020F8BDEA -:1067F0000B4B1B680B4AA2FB03235B0A41F2883256 -:1068000002FB03F31A46013B3AB1426B12F0800FD0 -:10681000F8D0C5238363002070474FF000407047D5 -:1068200058000020D34D621084B00DF1040C8CE8A8 -:106830000E000B461343039A1343049A1343059A1D -:106840001343069A13434168034A0A4013434360C3 -:10685000002004B0704700BF0081FFFFD0F8800027 -:1068600070470B68C0F88030002070470323036036 -:1068700000207047006800F0030070470B688360D9 -:106880004B688A681343CA6813430A691343C26892 -:106890006FF30B021343C360002070470069C0B25E -:1068A00070471430405870470B6843624B688362EE -:1068B0008B68CA6813430A6913434A691343C26A5F -:1068C00022F0F7021343C3620020704710B586B070 -:1068D0000446002301930293039304934FF48063CF -:1068E000059301A9FFF7CAFF2046FFF781FF06B015 -:1068F00010BD000038B504460D46504B1B6850498A -:10690000A1FB03135B0A03FB02F21346013A002BBF -:106910005DD0636B13F0450FF7D013F4006FF4D123 -:10692000636B13F0040F06D1636B13F0010F05D0F6 -:106930000120A0634DE00420A0634AE0C523A363C7 -:106940002046FFF7ABFFA84201D0012041E0002123 -:106950002046FFF7A6FF03463A481840C8B3002B6D -:1069600038DB13F0804F38D113F0005F37D113F0CC -:10697000805F36D113F0006F36D113F0806F36D1BF -:1069800013F0807F36D113F4000F36D113F4800F4B -:1069900036D113F4001F36D113F4801F36D113F40F -:1069A000802F36D113F4003F36D113F4803F36D117 -:1069B00013F4004F36D113F4804F36D113F4005F37 -:1069C00036D113F0080F36D04FF4000001E04FF03D -:1069D000004038BD4FF00070FBE74020F9E7802011 -:1069E000F7E74FF48070F4E74FF40070F1E74FF4ED -:1069F0008060EEE74FF40060EBE74FF48050E8E78B -:106A00004FF40050E5E74FF48040E2E74FF40040D8 -:106A1000DFE74FF40030DCE74FF48020D9E74FF494 -:106A20000020D6E74FF48010D3E74FF40010D0E7F2 -:106A30004FF48000CDE74FF48030CAE758000020C3 -:106A4000D34D621008E0FFFD30B587B004460191D8 -:106A50001025029540230393002304934FF4806391 -:106A6000059301A9FFF70AFF41F288322946204623 -:106A7000FFF740FF07B030BD30B587B00446019145 -:106A80001125029540230393002304934FF4806360 -:106A9000059301A9FFF7F2FE41F28832294620460C -:106AA000FFF728FF07B030BD30B587B0044601912D -:106AB0001225029540230393002304934FF480632F -:106AC000059301A9FFF7DAFE41F2883229462046F4 -:106AD000FFF710FF07B030BD30B587B00446019115 -:106AE0001825029540230393002304934FF48063F9 -:106AF000059301A9FFF7C2FE41F2883229462046DC -:106B0000FFF7F8FE07B030BD30B587B004460191FD -:106B10001925029540230393002304934FF48063C7 -:106B2000059301A9FFF7AAFE41F2883229462046C3 -:106B3000FFF7E0FE07B030BD30B587B00446002354 -:106B400001930C2502954022039204934FF4806335 -:106B5000059301A9FFF792FE034A29462046FFF755 -:106B6000C9FE07B030BD00BF00E1F50530B587B004 -:106B700004460192072502954023039300230493C2 -:106B80004FF48063059301A9FFF778FE41F2883244 -:106B900029462046FFF7AEFE07B030BD30B587B0BE -:106BA0000446019137250295402303930023049363 -:106BB0004FF48063059301A9FFF760FE41F288322C -:106BC00029462046FFF796FE07B030BD30B587B0A6 -:106BD0000446019106250295402303930023049364 -:106BE0004FF48063059301A9FFF748FE41F2883214 -:106BF00029462046FFF77EFE07B030BD30B587B08E -:106C00000446002301933325029540220392049306 -:106C10004FF48063059301A9FFF730FE41F28832FB -:106C200029462046FFF766FE07B030BD30B587B075 -:106C3000044601910D2502954023039300230493FC -:106C40004FF48063059301A9FFF718FE41F28832E3 -:106C500029462046FFF74EFE07B030BD0146144BD3 -:106C60001B68144AA2FB03235B0A41F2883202FB31 -:106C700003F31A46013BBAB14A6B12F0450FF8D044 -:106C800012F4006FF5D14B6B13F0040F06D1486B73 -:106C900010F0010005D1C5238B6370470420886381 -:106CA00070470120886370474FF00040704700BF75 -:106CB00058000020D34D621010B586B00446002362 -:106CC000019302220292C022039204934FF4806344 -:106CD000059301A9FFF7D2FD2046FFF7BFFF06B0DD -:106CE00010BD10B586B00446019109230293C0235C -:106CF0000393002304934FF48063059301A9FFF7E6 -:106D0000BDFD2046FFF7AAFF06B010BD0146104B9F -:106D10001B68104AA2FB03235B0A41F2883202FB84 -:106D200003F31A46013B82B14A6B12F0450FF8D0CB -:106D300012F4006FF5D1486B10F0040002D1C523A6 -:106D40008B6370470420886370474FF000407047A2 -:106D500058000020D34D621010B586B004460A4B8F -:106D60000B430193292302934023039300230493AD -:106D70004FF48063059301A9FFF780FD2046FFF7DC -:106D8000C5FF06B010BD00BF00001080F8B5054675 -:106D90000E461746234B1B68234AA2FB03235B0ABC -:106DA00041F2883202FB03F31A46013B8AB36C6B53 -:106DB00014F0450FF8D014F4006FF5D16B6B13F09D -:106DC000040F06D16B6B13F0010F05D00120A863EF -:106DD00021E00420A8631EE02846FFF75FFDB042D3 -:106DE00001D0012017E0C523AB6300212846FFF73F -:106DF00058FD034610F4604008D013F4804F0BD1C7 -:106E000013F4004F0BD04FF4805004E01B0C3B8078 -:106E100001E04FF00040F8BD4FF40050FBE74FF4A5 -:106E20008030F8E758000020D34D621070B586B06E -:106E300004460D4600230193032602964022039246 -:106E400004934FF48063059301A9FFF717FD2A46C9 -:106E500031462046FFF79AFF06B070BD0146164B3B -:106E60001B68164AA2FB03235B0A41F2883202FB2D -:106E700003F31A46013BE2B14A6B12F0450FF8D01A -:106E800012F4006FF5D14B6B13F0040F0BD14B6B69 -:106E900013F001030AD1486B10F040000BD04022E0 -:106EA0008A6318467047042088637047012088630E -:106EB00070474FF00040704758000020D34D6210DB -:106EC00010B586B004464FF4D5730193082302939E -:106ED00040230393002304934FF48063059301A997 -:106EE000FFF7CCFC2046FFF7B9FF06B010BD00004D -:106EF00070B582B00446002301930068FFF7E6FCFA -:106F0000054610B1284602B070BD2068FFF7D8FFD3 -:106F100038B90123A364A36C012B0BD02E4628465D -:106F200014E00023A3642068FFF7D0FC0028F2D00F -:106F30000546E7E700212068FFF730FE0028EDD086 -:106F40004FF08055DEE7019B01330193019A4FF624 -:106F5000FE739A4213D896B900212068FFF71EFEEF -:106F6000E0B912492068FFF7F7FE0646C0B90021D4 -:106F70002068FFF796FCC30FE5D01E46E3E7019AB1 -:106F80004FF6FE739A420ED810F0804302D00123D0 -:106F90006364B7E7002262641D46B3E70546B1E7C4 -:106FA0004FF08055AEE74FF08075ABE7000010C1A1 -:106FB000F0B589B004460F46FFF76AF9064600238C -:106FC0000093019308212068FFF73EFD054610B1AC -:106FD000284609B0F0BD216D09042068FFF7DEFDE9 -:106FE00005460028F4D14FF0FF33029308230393A2 -:106FF0003023049302230593002306930123079370 -:1070000002A92068FFF750FC2068FFF7F7FD05464E -:1070100058B1DDE7FFF722FC4DF825000135FFF7F9 -:1070200037F9831BB3F1FF3F3FD02068436B13F068 -:107030002A0F07D1436B13F4001FEBD1436B13F4FA -:10704000005FECD1436B13F0080F25D1436B13F0B5 -:10705000020F24D1456B15F0200523D140F23A539D -:107060008363019A130203F47F0343EA0263110A64 -:1070700001F47F410B4343EA12633B60009A130221 -:1070800003F47F0343EA0263110A01F47F410B43D7 -:1070900043EA12637B609BE70825856398E7022536 -:1070A000856395E72025856392E74FF000458FE7DC -:1070B00010B582B004460021009101910068FFF7ED -:1070C000F0FB10F0007F13D169462046FFF770FFF8 -:1070D00080B9019B13F4802F0ED0216D0904206824 -:1070E000FFF75CFD30B902212068FFF76FFD01E07A -:1070F0004FF4006002B010BD4FF08060FAE710B5A9 -:1071000082B004460021009101910068FFF7C9FB9D -:1071100010F0007F13D169462046FFF749FF80B980 -:10712000019B13F4803F0ED0216D09042068FFF706 -:1071300035FD30B900212068FFF748FD01E04FF42C -:10714000006002B010BD4FF08060FAE770B581B109 -:1071500004460E46016D09040068FFF767FD054609 -:1071600008B1284670BD00212068FFF79AFB306007 -:10717000F7E74FF00065F4E72DE9F04F87B00546DB -:107180000C4616469B46DDF840A0FFF781F8002C20 -:1071900036D0814695F83470FFB2012F40F004815B -:1071A0000023AB6306EB0B03EA6D93422ED8032357 -:1071B00085F834302B680022DA626B6C012B00D02A -:1071C00076024FF0FF3300934FEA4B230193902355 -:1071D000029302230393002304930123059369463A -:1071E0002868FFF761FBBBF1010F14D902232B6361 -:1071F00031462868FFF758FCA0B9DDF8048038E074 -:10720000AB6B43F00063AB630127D2E0AB6B43F0A1 -:107210000073AB63CDE001232B6331462868FFF791 -:107220002BFCE9E72B68654A9A63AB6B0343AB63BE -:10723000012385F8343000232B63BAE02868FFF778 -:107240000DFB2070C0F307236370C0F30743A370E6 -:10725000000EE0700434A8F104080136072EEDD9C1 -:10726000FFF716F8A0EB090050450FD2BAF1000F56 -:107270000CD02868466B16F4957615D1436B13F441 -:10728000004FEDD0B8F1000FEAD0E7E72B684B4A8A -:107290009A63AB6B43F00043AB63012385F8343052 -:1072A00000232B63032784E0436B13F4807F05D016 -:1072B000BBF1010F02D96B6C032B38D12B685A6BD1 -:1072C00012F0080F44D15A6B12F0020F4CD15A6BD6 -:1072D00012F0200F54D12868436B13F4001F5BD0C9 -:1072E000B8F1000F58D0FFF7B9FA2070C0F30723A8 -:1072F0006370C0F30743A370000EE0700434A8F17C -:107300000408FEF7C5FFA0EB0900504502D2BAF110 -:10731000000FE0D12B68294A9A63AB6B43F000431E -:10732000AB63012385F8343000232B6341E0FFF782 -:1073300003FC03460028C1D02A6820499163AA6B48 -:107340001343AB63012385F8343000232B6330E013 -:107350001A4A9A63AB6B43F00803AB63012385F8C9 -:10736000343000232B6324E0144A9A63AB6B43F060 -:107370000203AB63012385F8343000232B6318E04C -:107380000E4A9A63AB6B43F02003AB63012385F88D -:10739000343000232B630CE040F23A538363012323 -:1073A00085F83430002704E0AB6B43F00053AB6347 -:1073B0000127384607B0BDE8F08F00BFFF05400049 -:1073C0002DE9F04F8BB005460C4616469B46DDF87E -:1073D00050A0FEF75DFF002C37D0804695F8347042 -:1073E000FFB2012F40F0E1800023AB6306EB0B03FB -:1073F000EA6D93422FD8032385F834302B6800229E -:10740000DA626B6C012B00D076024FF0FF330493ED -:107410004FEA4B2305939023069300230793089389 -:107420000123099304A92868FFF73EFABBF1010F75 -:1074300016D920232B6331462868FFF765FB01909E -:10744000019BABB9DDF8149040E0AB6B43F00063F7 -:10745000AB630127AEE0AB6B43F00073AB63A9E015 -:1074600010232B6331462868FFF736FB0190E7E7CE -:107470002B68524A9A63AB6B019A1343AB630123A7 -:1074800085F8343000232B6394E0237803936278EB -:1074900043EA02230393A27843EA02430393E27888 -:1074A00043EA026303930434A9F1040903A9286899 -:1074B000FFF7D7F90136072EE7D9FEF7E9FEA0EB73 -:1074C000080050450FD2BAF1000F0CD02868466B67 -:1074D00016F48D7615D1436B13F4804FEDD0B9F1CE -:1074E000000FEAD0E7E72B68344A9A63AB6B019A46 -:1074F0001343AB63012385F8343000232B63032748 -:1075000058E0436B13F4807F05D0BBF1010F02D923 -:107510006B6C032B18D12B685A6B12F0080F24D117 -:107520005A6B12F0020F2CD15A6B12F0100F34D09C -:10753000224A9A63AB6B43F01003AB63012385F8D7 -:10754000343000232B6335E0FFF7F6FA03460028BA -:10755000E1D02A6819499163AA6B1343AB630123F5 -:1075600085F8343000232B6324E0144A9A63AB6B14 -:1075700043F00803AB63012385F8343000232B6309 -:1075800018E00E4A9A63AB6B43F00203AB6301232E -:1075900085F8343000232B630CE040F23A529A63B2 -:1075A000012385F83430002704E0AB6B43F000532F -:1075B000AB63012738460BB0BDE8F08FFF054000F4 -:1075C0000346426E920F0A70426EC2F383624A70A3 -:1075D00090F8672002F003028A7090F86620CA7063 -:1075E00090F865200A7190F864204A71826E120D3D -:1075F000CA80B0F86A2002F00F020A72826EC2F3EB -:10760000C0324A72826EC2F380328A72826EC2F3D4 -:107610004032CA72826EC2F300320A7300224A7389 -:10762000426C002A40F08680806E40F6FC7202EACE -:107630008002D86E42EA90720A61DA6EC2F3C262C8 -:107640000A7593F86F2002F007024A75DA6EC2F3EA -:1076500042528A75DA6EC2F38242CA75DA6EC2F39A -:10766000C2320A760A6901325A65087E00F00700C4 -:10767000023082405A6591F808C00CF00F0C0120CE -:1076800000FA0CF09865400A00FB02F2DA654FF44C -:1076900000721A66DA6EC2F380324A76DA6EC2F38C -:1076A000C6128A76DA6E02F07F02CA761A6FD20F9D -:1076B0000A771A6FC2F341724A771A6FC2F3826275 -:1076C0008A771A6FC2F38352CA771A6FC2F3405295 -:1076D00081F82020002081F82100B3F8722002F008 -:1076E000010281F822201A6FC2F3C03281F82320F0 -:1076F0001A6FC2F3803281F824201A6FC2F340322D -:1077000081F825201A6FC2F3003281F826201A6F03 -:10771000C2F3812281F827201A6FC2F3012281F877 -:1077200028201B6FC3F3460381F82930012381F819 -:107730002A307047012A11D1826E120402F47C12A1 -:10774000B0F86E0002430A610A69013292025A657A -:10775000DA654FF400729A651A669BE7026805497C -:107760009163826B42F080528263012083F834007F -:10777000704700BFFF05400070B590B0044601237C -:10778000ADF812300068FFF775F800286CD0636C14 -:10779000032B45D1636C032B5DD1636C032B1DD090 -:1077A000BDF81210216509042068FFF79AFA054612 -:1077B00000285BD100212068FFF773F86066042180 -:1077C0002068FFF76EF8A06608212068FFF769F8C7 -:1077D000E0660C212068FFF764F820670421206828 -:1077E000FFF75FF8000DE06405A92046FFF7E8FE0B -:1077F00000283ED1226D120400232068FFF7B6F95D -:10780000054698BB234653F8106B93E807008DE8B4 -:107810000700043494E80E003046FFF705F825E031 -:107820002068FFF749FA054600BB00212068FFF7F2 -:1078300038F8606704212068FFF733F8A067082153 -:107840002068FFF72EF8E0670C212068FFF729F881 -:10785000C4F880009EE70DF112012068FFF7E6FAF8 -:107860000546002899D001E04FF08065284610B009 -:1078700070BD4FF08055F9E730B58BB0044600235A -:1078800004930593069307930893762309930AAB11 -:1078900013E907008DE8070004AB0ECB2068FEF764 -:1078A000C3FF18B1012528460BB030BD054622683C -:1078B000536823F4807353602068FEF7D7FF226873 -:1078C000536843F4807353600220FEF7E7FC2046C0 -:1078D000FFF70EFB30B1012584F83450A36B03434E -:1078E000A363E0E72046FFF747FF30B1012584F8A6 -:1078F0003450A36B0343A363D5E74FF400712068B2 -:10790000FFF7A2F80028CED0236804499963A36B3F -:107910000343A363012584F83450C4E7FF05400006 -:10792000A8B110B5044690F8343063B1032384F84D -:1079300034302046FFF7A0FF58B9A063206301232D -:1079400084F8343010BD0377FCF78AFFEEE701209E -:1079500070470120F6E7436C0B60836C4B60C36C8F -:107960008B60036DCB60436D0B61836D4B61C36DA9 -:107970008B61036ECB6100207047000030B58BB087 -:1079800004460D46032380F83430436C032B1CD08F -:10799000B1F5805F08D0B1F5006F0AD079B1836B83 -:1079A00043F00063836314E0836B43F0805383638D -:1079B0000FE0FFF77DFBA36B0343A36309E0FFF731 -:1079C0009EFBA36B0343A36303E0836B43F08053ED -:1079D0008363A36BC3B12368174A9A63012584F8B4 -:1079E00034504FF400712068FFF72EF830B123684F -:1079F00011499963A36B0343A3630125012384F811 -:107A0000343028460BB030BD63680493A3680593F7 -:107A1000E3680693079563690893A36909930AAB22 -:107A200013E907008DE8070004AB0ECB2068FEF7D2 -:107A3000FBFE0025D5E700BFFF05400010B582B072 -:107A400004460023019301A9FFF780FB10B1A36B4B -:107A50000343A3630198C0F3432002B010BD0000AC -:107A60000346026812F0400F36D110B402681D4878 -:107A700010400A684C682243CC6822430C692243B8 -:107A80004C6922438C692243CC6922430C6A22430D -:107A9000104318605868144A02408868B1F816C04C -:107AA00040EA0C0002435A608A68B2F5006F03D2C4 -:107AB0005A6842F480525A600A6AB2F5005F07D0F1 -:107AC0000020DA6922F40062DA615DF8044B704745 -:107AD0008A8C1A610020F4E70120DA6922F400623E -:107AE000DA6170474000FFFFFBF0FFFF70B4046AEB -:107AF000036A23F00103036242688569124B2B403D -:107B00000D681D4324F002048B6823430F4C104E74 -:107B1000B04218BFA0420CBF0124002405D123F0BD -:107B20000803CE681E4326F004032CB122F44072F1 -:107B30004C6914438A692243426085614A68426302 -:107B4000036270BC704700BF8CFFFEFF0000014065 -:107B50000004014070B4036A026A22F48072026277 -:107B60004268C569144C2C400E68264323F4007308 -:107B70008C6843EA0423114C114DA84218BFA0425F -:107B80000CBF0124002406D123F40063CD6843EA2E -:107B9000052323F480633CB122F440524C6942EA4D -:107BA00004128C6942EA04124260C6614A68C263E8 -:107BB000036270BC704700BF8CFFFEFF00000140F5 -:107BC0000004014070B4036A026A22F48052026227 -:107BD0004468C5690D4A2A400D6842EA052223F42B -:107BE00000538D6843EA0533094E0A4DA84218BF79 -:107BF000B04204D124F480444D6944EA85144460C1 -:107C0000C2614A680264036270BC7047FF8CFFFE69 -:107C1000000001400004014070B4036A026A22F4CB -:107C2000803202624468426D0D4D15400A682A4355 -:107C300023F400338D6843EA05430A4E0A4DA842F7 -:107C400018BFB04204D124F480344D6944EA0524BD -:107C5000446042654A688265036270BC704700BF39 -:107C60008FFFFEFF000001400004014070B4036A72 -:107C7000026A22F4801202624468456D0D4A2A406D -:107C80000D6842EA052223F400138D6843EA055388 -:107C9000094E0A4DA84218BFB04204D124F48024F2 -:107CA0004D6944EA8524446042654A68C2650362BE -:107CB00070BC7047FF8FFFFE0000014000040140D0 -:107CC00010B4036A046A24F001040462846924F095 -:107CD000F00C4CEA021223F00A030B4382610362A8 -:107CE0005DF8044B704710B4036A046A24F0100472 -:107CF0000462846924F4704C4CEA023223F0A0033D -:107D000043EA0113826103625DF8044B70478368A4 -:107D100023F070030B4343F007038360704703684D -:107D2000196A41F21112114208D1196A40F2444213 -:107D3000114203D11A6822F001021A60012380F86F -:107D40003D3000207047000090F83D30DBB2012B41 -:107D50003AD1022380F83D300268D36843F0010332 -:107D6000D36003681A4AB3F1804F18BF93421DD005 -:107D7000A2F57C42934219D002F58062934215D05D -:107D800002F58062934211D002F5784293420DD001 -:107D900002F57052934209D0A2F59432934205D075 -:107DA0001A6842F001021A60002070479968094A77 -:107DB0000A40062A18BFB2F5803F07D01A6842F081 -:107DC00001021A60002070470120704700207047B0 -:107DD00000000140070001000268D36823F001039E -:107DE000D3600368196A41F21112114208D1196A6D -:107DF00040F24442114203D11A6822F001021A6093 -:107E0000012380F83D30002070477047704770476D -:107E100070477047704770B504460368DE681D6997 -:107E200015F0020F10D016F0020F0DD06FF0020205 -:107E30001A610123037703689B6913F0030F64D071 -:107E4000FFF7E6FF0023237715F0040F12D016F09A -:107E5000040F0FD023686FF004021A610223237706 -:107E600023689B6913F4407F55D02046FFF7D0FF6D -:107E70000023237715F0080F12D016F0080F0FD04B -:107E800023686FF008021A61042323772368DB69F3 -:107E900013F0030F46D02046FFF7BAFF00232377E5 -:107EA00015F0100F12D016F0100F0FD023686FF0DE -:107EB00010021A61082323772368DB6913F4407FDB -:107EC00037D02046FFF7A4FF0023237715F0010FDA -:107ED00002D016F0010F33D115F4025F02D016F074 -:107EE000800F35D115F4807F02D016F0800F37D186 -:107EF00015F0400F02D016F0400F39D115F0200FC9 -:107F000002D016F0200F3BD170BDFFF780FF204656 -:107F1000FFF77FFF96E72046FFF779FF2046FFF740 -:107F200078FFA5E72046FFF772FF2046FFF771FFB5 -:107F3000B4E72046FFF76BFF2046FFF76AFFC3E771 -:107F400023686FF001021A612046FFF75FFFC3E765 -:107F500023686FF402521A61204600F0CEFBC1E79D -:107F600023686FF480721A61204600F0C7FBBFE7F8 -:107F700023686FF040021A612046FFF74BFFBDE710 -:107F800023686FF020021A61204600F0B5FBBBE7C2 -:107F900030B503683F4A904214BF4FF0000E4FF0D7 -:107FA000010EB0F1804F14BF72464EF00102AAB923 -:107FB000394CA04214BF00240124384DA8420DD0F2 -:107FC00064B904F1804404F58234A04214BF002453 -:107FD000012405F50065A84200D01CB123F0700310 -:107FE0004C682343002A33D12B4A904214BF00220D -:107FF00001222A4CA0422BD052BB02F1804202F552 -:108000008232904214BF0022012204F50064A04293 -:108010001ED0EAB9224A904214BF0022012204F580 -:108020009A34A04214D09AB91E4A904214BF00223A -:10803000012204F50064A0420AD04AB91A4A9042CB -:1080400014BF00220122A4F59634A04200D022B130 -:1080500023F4407CCB6843EA0C0323F080034A6995 -:10806000134303608A68C2620A6882620F4A9042C0 -:1080700014BF73464EF001030BB10B690363012378 -:108080004361036913F0010F03D0036923F0010377 -:10809000036130BD000001400008004000040040C2 -:1080A000004401400018004000200040000401404E -:1080B00060B310B5044690F83D3013B3022384F842 -:1080C0003D30214651F8040BFFF762FF012384F88D -:1080D000483084F83E3084F83F3084F8403084F8EB -:1080E000413084F8423084F8433084F8443084F8D6 -:1080F000453084F8463084F8473084F83D3000201D -:1081000010BD80F83C30FCF707FCD7E70120704732 -:1081100060B310B5044690F83D3013B3022384F8E1 -:108120003D30214651F8040BFFF732FF012384F85C -:10813000483084F83E3084F83F3084F8403084F88A -:10814000413084F8423084F8433084F8443084F875 -:10815000453084F8463084F8473084F83D300020BC -:1081600010BD80F83C30FFF750FED7E70120704784 -:1081700070B4036A026A22F01002026242688569E2 -:10818000144C2C400D6844EA052523F020038C682C -:1081900043EA0413104C114EB04218BFA0420CBF6A -:1081A0000124002406D123F08003CE6843EA06139D -:1081B00023F040033CB122F440624C6942EA84025D -:1081C0008C6942EA8402426085614A688263036284 -:1081D00070BC7047FF8CFFFE0000014000040140AE -:1081E00038B590F83C30012B00F0958004460D46E0 -:1081F000012380F83C30142A00F28880DFE802F086 -:108200000B8686861F868686348686864886868680 -:108210005D86868671000068FFF768FC22689369B6 -:1082200043F0080393612268936923F00403936188 -:108230002268936929690B439361002067E0006815 -:10824000FFF796FF2268936943F400639361226805 -:10825000936923F48063936122689369296943EAEF -:1082600001239361002052E00068FFF773FC22684D -:10827000D36943F00803D3612268D36923F0040370 -:10828000D3612268D36929690B43D36100203EE0A2 -:108290000068FFF797FC2268D36943F40063D36159 -:1082A0002268D36923F48063D3612268D369296982 -:1082B00043EA0123D361002029E00068FFF7ACFC0A -:1082C0002268536D43F0080353652268536D23F011 -:1082D000040353652268536D29690B4353650020DD -:1082E00015E00068FFF7C2FC2268536D43F4006399 -:1082F00053652268536D23F4806353652268536D80 -:10830000296943EA01235365002000E0012000238E -:1083100084F83C3038BD0220FCE710B4846824F4B3 -:108320007F4C42EA03220A4342EA0C0282605DF873 -:10833000044B704790F83C30012B76D010B50446C2 -:10834000012380F83C30022380F83D3002689068B9 -:10835000374B034093600B68602B4CD023D8402BE5 -:1083600054D011D8202B03D00AD80BB1102B05D133 -:1083700019462068FFF7CBFC002028E0012026E00A -:10838000302BF5D0012022E0502B0AD1CA68496871 -:108390002068FFF795FC50212068FFF7B8FC00200B -:1083A00015E0012013E0B3F5805F3AD0B3F5005F2C -:1083B00014D0702B37D1CB684A6889682068FFF7E2 -:1083C000ACFF2268936843F0770393600020012399 -:1083D00084F83D30002384F83C3010BDCB684A68F7 -:1083E00089682068FFF799FF2268936843F4804307 -:1083F00093600020EBE7CA6849682068FFF773FCC8 -:1084000060212068FFF783FC0020E0E7CA68496824 -:108410002068FFF755FC40212068FFF778FC00201A -:10842000D5E70020D3E70120D1E70220704700BF45 -:108430008800FEFF01F01F014FF0010C0CFA01FC57 -:10844000036A23EA0C030362036A8A40134303624C -:108450007047000010B5044610293CD8DFE801F051 -:10846000093B3B3B1F3B3B3B263B3B3B2D3B3B3BCD -:10847000340090F83E30DBB2013B18BF0123002BE3 -:1084800040F08980102974D8DFE801F02C737373F1 -:1084900063737373677373736B7373736F0090F8A5 -:1084A0003F30DBB2013B18BF0123E8E790F84030D2 -:1084B000DBB2013B18BF0123E1E790F84130DBB2AA -:1084C000013B18BF0123DAE790F84230DBB2013BF1 -:1084D00018BF0123D3E790F84330DBB2013B18BF4C -:1084E0000123CCE7022384F83E3001222068FFF705 -:1084F000A1FF23682A492B4A934218BF8B4203D11C -:108500005A6C42F400425A642368254AB3F1804F02 -:1085100018BF934231D0A2F57C4293422DD002F590 -:108520008062934229D002F58062934225D002F501 -:108530007842934221D002F5705293421DD0A2F5A9 -:108540009432934219D01A6842F001021A60002056 -:1085500022E0022384F83F30C7E7022384F840304A -:10856000C3E7022384F84130BFE7022384F8423096 -:10857000BBE7022384F84330B7E799680A4A0A4008 -:10858000062A18BFB2F5803F07D01A6842F00102F0 -:108590001A60002000E0012010BD0020FCE700BFB1 -:1085A00000000140000401400700010038B5044606 -:1085B0000D4600220068FFF73DFF23682449254A45 -:1085C000934218BF8B420DD1196A41F21112114228 -:1085D00008D1196A40F24442114203D15A6C22F484 -:1085E00000425A642368196A41F21112114208D1FB -:1085F000196A40F24442114203D11A6822F0010282 -:108600001A60102D1FD8DFE805F0091E1E1E0E1E71 -:108610001E1E121E1E1E161E1E1E1A00012384F888 -:108620003E30002038BD012384F83F30F9E70123B4 -:1086300084F84030F5E7012384F84130F1E7012365 -:1086400084F84230EDE7012384F84330E9E700BFC6 -:10865000000001400004014090F83C20012A45D070 -:1086600070B40346012280F83C20022280F83D20AD -:108670000268506894681E4E1E4DAA4218BFB2424E -:1086800003D120F470004D68284320F070000D687D -:10869000284350601A681648B2F1804F18BF8242D2 -:1086A00017D0A0F57C40824213D000F58060824252 -:1086B0000FD000F5806082420BD000F578408242F6 -:1086C00007D000F57050824203D0A0F5943082426A -:1086D00004D124F08004896821439160012283F849 -:1086E0003D20002083F83C0070BC7047022070479A -:1086F00000000140000401407047704770470000CF -:1087000030B503683B4A904214BF4FF0000E4FF063 -:10871000010EB0F1804F14BF72464EF00102AAB9AB -:10872000354CA04214BF00240124344DA8420DD082 -:1087300064B904F1804404F58234A04214BF0024DB -:10874000012405F50065A84200D01CB123F0700398 -:108750004C682343002A33D1274A904214BF002299 -:108760000122264CA0422BD052BB02F1804202F5DE -:108770008232904214BF0022012204F50064A0421C -:108780001ED0EAB91E4A904214BF0022012204F50D -:108790009A34A04214D09AB91A4A904214BF0022C7 -:1087A000012204F50064A0420AD04AB9164A904258 -:1087B00014BF00220122A4F59634A04200D022B1B9 -:1087C00023F4407CCB684CEA030303608A68C262EE -:1087D0000A8882620D4A904214BF73464EF001032C -:1087E0000BB10B690363436943F00103436100204C -:1087F00030BD00BF00000140000800400004004000 -:1088000000440140001800400020004000040140E6 -:10881000B2F5004F06D001EB5301B1FBF3F189B281 -:10882000C16070475A0802EB4102B2FBF3F34FF606 -:10883000F0721A40C3F342031343C3607047000051 -:1088400038B5036813F0010F62D104460D46036882 -:10885000314A1A404B68C9680B4329690B43A9691F -:108860000B431A430260AB68426822F44052134340 -:1088700043606B69826822F4407213438360274B24 -:10888000984216D0264B98421BD0264B98421CD0BB -:10889000254B98421DD0254B98421ED0244B984220 -:1088A00020D0244B984222D0234B984224D0012040 -:1088B0002FE00320FDF762FD60B32B680BBB0120A6 -:1088C00027E00C20FDF75AFDF6E73020FDF756FDB6 -:1088D000F2E7C020FDF70EFEEEE74FF44070FDF723 -:1088E00009FEE9E74FF44060FDF748FDE4E74FF487 -:1088F0004050FDF7FFFDDFE74FF44040FDF7FAFD84 -:10890000DAE7AA6901462046FFF782FF002000E06F -:10891000012038BD0120FCE7F369FFEF00100140A2 -:108920000044004000480040004C0040005000401F -:108930000014014000780040007C0040034AD2F857 -:10894000883043F47003C2F88830704700ED00E0CF -:1089500008B501460122054801F01EFA044B1870C3 -:1089600008B1012008BD0020FCE700BF5C16002014 -:108970008C02002008B501460122002001F00CFA0B -:10898000034B187008B1012008BD0020FCE700BFB0 -:108990008C020020F8B504460D461646104901F039 -:1089A000ECFE104B187008B1C0B2F8BD022221468F -:1089B0000D4801F021FA0B4B187008B1C0B2F4E772 -:1089C000094F0A4B32462946384601F01AFC054C3D -:1089D0002070384601F069FD2070C0B2E5E700BFA5 -:1089E000140600208C0200202C0600200C0600201B -:1089F0002DE9F04104460F4690461D46434901F0DB -:108A0000BCFE434B1870E8B901222146414801F0F1 -:108A1000F3F906463E4B187018BB29463D4801F055 -:108A200059FD3B4B187058B36420F8F75BF90546C5 -:108A300022463949F7F746FC2846F8F75BF9344BEC -:108A400018780CE06420F8F74DF9054622463349C2 -:108A5000F7F738FC2846F8F74DF92D4B1878BDE8A4 -:108A6000F0816420F8F73EF90546234632462C494A -:108A7000F7F728FC2846F8F73DF9254B1878EEE77C -:108A8000284B42463946234801F0CFFA0646204B90 -:108A9000187008BB55B91F4BDA68234B1A603A703F -:108AA0005A787A709A78BA70DB78FB70194801F0BE -:108AB000FCFC0546164B1870D8B16420F8F712F983 -:108AC000064623462A461949F7F7FCFB3046F8F7D5 -:108AD00011F90F4B1878C2E76420F8F703F905463F -:108AE000234632461249F7F7EDFB2846F8F702F91C -:108AF000EFE76420F8F7F6F8054622460D49F7F748 -:108B0000E1FB2846F8F7F6F8E3E700BF140600207B -:108B10008C0200202C06002084B00008C8AF00089A -:108B2000ECAF000810060020800200203CB00008D6 -:108B300014B0000864B0000810B504460C4901F0F8 -:108B40001CFE0C4B187008B9C0B210BD0B22214698 -:108B5000094801F051F9074B187008B1C0B2F4E7A9 -:108B6000054801F0A2FC034B1870C0B2EDE700BF4E -:108B7000140600208C0200202C06002070B504464C -:108B80001A4901F0FAFD1A4B1870A0B9204601F0FD -:108B900016FE0546164B1870D8B96420F8F7A2F8EF -:108BA000054622461349F7F78DFB2846F8F7A2F849 -:108BB0000F4B187870BD6420F8F794F805462246EC -:108BC0000D49F7F77FFB2846F8F794F8084B18781B -:108BD000F0E76420F8F786F8064623462A46074958 -:108BE000F7F770FB3046F8F785F8E1E71406002048 -:108BF0008C020020CCB00008ACB00008F0B0000837 -:108C0000F8B504460D461646104901F0B6FD104B66 -:108C1000187008B1C0B2F8BD322221460D4801F0EB -:108C2000EBF80B4B187008B1C0B2F4E7094F0A4BD0 -:108C300032462946384601F0E4FA054C20703846A1 -:108C400001F033FC2070C0B2E5E700BF140600203D -:108C50008C0200202C0600200C06002008B5044BD6 -:108C600003EB8002526852680344187A904708BDAB -:108C7000B826002008B5084B1B5C53B9064B0122EF -:108C80001A5403EB8002526812680344187A904722 -:108C900008BD0020FCE700BFB826002038B5044C12 -:108CA00004EB80056D68AD680444207AA84738BDA0 -:108CB000B826002038B5044C04EB80056D68ED68DB -:108CC0000444207AA84738BDB826002010B5044BCC -:108CD00003EB8004646824690344187AA04710BD3C -:108CE000B82600204278007840EA02207047C37816 -:108CF000827842EA0322437843EA0223007840EA7A -:108D0000032070470170090A417070470170C1F378 -:108D100007234370C1F307438370090EC170704786 -:108D2000944632B10A78013102700130BCF1010C75 -:108D3000F8D1704701700130013AFBD17047844689 -:108D40009CF800000CF1010C0B780131C01A013ABB -:108D500001D00028F4D07047034600E001331878B2 -:108D600008B18842FAD1704710B44FF0000C634646 -:108D700002E04FF0010C0133012B15D81A01184CF9 -:108D8000A258002AF5D00468A242F4D1144A02EB9A -:108D90000312546882689442EDD1114A02EB031227 -:108DA000946842699442E6D1022B0BD0B1B90C4AC7 -:108DB00002EB03139B89B3F5807F0DD000205DF893 -:108DC000044B7047022914BF63464CF001030BB1FA -:108DD0000020F4E71220F2E71020F0E71020EEE781 -:108DE00090260020002000E00130012804D8030173 -:108DF000034AD358002BF7D1023818BF012070471F -:108E00009026002070B4002300E00133012B13D81A -:108E10001A01234CA45802689442F6D1204A02EB6E -:108E20000312546882689442EFD11D4A02EB031288 -:108E3000946842699442E8D1022B08D0F9B1184AEB -:108E400002EB031292894ABB4FF480721DE00023AB -:108E5000012B05D81A01124CA2580AB10133F7E7C9 -:108E6000022B19D00E4D1C0105EB031206682E5182 -:108E7000846854604069906000209081DEE7084A71 -:108E800002EB03129289013292B2054901EB031100 -:108E90008A81581C70BC70470020FBE70020F9E76E -:108EA000902600200138012815D80D4B03EB001344 -:108EB0009B89B3F5807F03D043B1013B9BB200E0B7 -:108EC0000023074A02EB0012938133B9030100200B -:108ED000034AD0507047022070470020704700BFFF -:108EE00090260020002303E05DF8044B7047013317 -:108EF000012B11D81A0109498A588242F7D110B4BE -:108F00001A0100248C500133012BEDD81A010349BA -:108F10008A588242F7D1F3E7704700BF90260020BD -:108F200002398369023B8B4204D94389C06A01FB41 -:108F300003007047002070470268C36A04339089B9 -:108F4000B1FBF0F15289B1FBF2F101E0091A0833EB -:108F5000186818B18142F9D258680844704770B552 -:108F600006460D4601F11A00FFF7BCFE3378032BCD -:108F700000D070BD044605F11400FFF7B3FE44EACB -:108F80000040F6E770B506460C46154691B204F16E -:108F90001A00FFF7B7FE3378032B00D070BD290C01 -:108FA00004F11400FFF7AEFEF8E738B500234B726A -:108FB000C36973B305460C460022134606E0BCF1B4 -:108FC000090F0FD0A1184B72013263460A2B0ED83D -:108FD00003F1010C296ACB5C202BF6D0052BEED1D6 -:108FE000E523ECE7A1182E2048720132EAE722447B -:108FF000002353722B6ADB7A2372286A1C30FFF736 -:1090000076FE2060286A1630FFF771FEE080000CC3 -:10901000A08038BD2DE9F84F81468A46D1F80080FE -:1090200000F1240B0B2220215846FFF783FE002578 -:109030002B46082729E0013618F806302F2BFAD0E6 -:109040005C2BF8D04644CAF80060002D44D099F853 -:109050002430E52B35D0202C37D8042389F82F3045 -:10906000002035E014F0800F27D121461B48FFF780 -:1090700073FE78BBA4F16103DBB2192B01D8203C4D -:10908000E4B20BF80540013533465E1C18F8034086 -:10909000202CD7D95C2C18BF2F2CCDD02E2C18BF4C -:1090A000AF42DFD82E3C18BF01240B2F08BF44F07D -:1090B000010464B908250B27E6E7803C084B1C5DDA -:1090C000D3E7052389F82430C5E70023C6E7062047 -:1090D000BDE8F88F0620FBE70620F9E710B100088D -:1090E00090B200080146006808B1024603E04FF064 -:1090F000FF30704701321378202B01D93A2BF9D178 -:109100003A2B01D000207047034613F8010B30388A -:10911000092898BF9A4203D128B901320A607047E2 -:109120004FF0FF3070474FF0FF30704738B50D46B5 -:10913000044698B103689BB11A78A2B18188DA8895 -:10914000914203D0092000242C6038BD5878FFF7E5 -:1091500085FD10F0010009D12468F5E70920F3E747 -:109160001C460920F0E709200024EDE7092000242F -:10917000EAE72DE9F041C57815B92846BDE8F08148 -:109180000446076B00F1340801233A464146407813 -:10919000FFF790FD0546A0B90023E370636AFB1A50 -:1091A000E2699342E9D2A67808E0E3691F4401230B -:1091B0003A4641466078FFF77DFD013E012EF4D826 -:1091C000DBE70125D9E770B5036B8B4202D100269E -:1091D000304670BD04460D46FFF7CBFF064600281B -:1091E000F6D101232A4604F134016078FFF756FDD9 -:1091F00010B101264FF0FF352563E9E738B5044685 -:109200000023C3704FF0FF330363FFF7DCFF30BB75 -:10921000054604F23220FFF765FD4AF655239842D1 -:109220001FD194F83430E92B07D0636B03F0FF13A0 -:109230000D4A934201D0022514E004F16A00FFF7C1 -:1092400056FD20F07F40094B98420BD004F1860078 -:10925000FFF74DFD064B984204D0022502E004259D -:1092600000E00325284638BDEB009000464154003D -:10927000464154332DE9F04F87B00D461646002382 -:109280000B60FFF72FFF071EC0F26781BE4B53F83C -:109290002740002C00F066812C6006F0FE06237843 -:1092A00073B16078FFF7DAFC10F0010508D1002EE9 -:1092B00000F0548110F0040F00F050810A254DE1B8 -:1092C00000232370F8B26070FFF7D4FC10F0010F98 -:1092D00040F04A811EB110F0040F40F0478104F1C4 -:1092E0000C0202216078FFF7F1FC0546002840F0EF -:1092F0003F81A289A2F500739BB2B3F5606F00F2C3 -:109300003981531E1A4201D0012527E10021204650 -:10931000FFF774FF022800F088800026042800F080 -:109320002B81012800F22A8104F13F00FFF7DAFCCB -:10933000B4F80C80404540F0238104F14A00FFF767 -:10934000D1FC074620B904F15800FFF7D0FC0746CE -:10935000E76194F84420A270531EDBB2012B00F2A7 -:10936000118107FB02F3009394F84190A4F80A904E -:10937000B9F1000F00F0108109F1FF3319EA030F72 -:1093800040F00C8104F14500FFF7ACFC82462081DF -:109390004FEA581BB0FBFBF30BFB13039BB2002BF4 -:1093A00040F0FE8004F14700FFF79CFC019020B9DB -:1093B00004F15400FFF79BFC019004F14200FFF719 -:1093C00091FC0146002800F0ED80009BC318BAFB19 -:1093D000FBFB5B44019A9A42C0F0E680D21AB2FBD2 -:1093E000F9F04A45C0F0E2804FF6F572904234D869 -:1093F00040F6F57290426AD94FF0020B2FE0002040 -:1094000006AB03EB860343F8100C0136032E0ED88F -:1094100004F13400330103F5DF7318440379002BA2 -:10942000EDD00830FFF763FCEAE70026EEE70027FF -:109430000AE031462046FFF7E1FE01287FF66EAFD5 -:109440000137032F3FF66AAF06AB03EB870353F8F0 -:10945000106C002EEDD10320F2E74FF0030B00F16A -:109460000209C4F8189026628A1962623344E362E2 -:10947000BBF1030F2ED0BAF1000F00F09D80009BCE -:109480001A44A262BBF1020F35D009EB490209F080 -:10949000010303EB52034344013BB3FBF8F3BB422C -:1094A00000F28C804FF0FF336361236180232371CE -:1094B000BBF1030F22D084F800B0344A1388013383 -:1094C0009BB21380E3802046FFF70CFD46E04FF08F -:1094D000010BC4E704F15E00FFF704FC002867D12C -:1094E000BAF1000F66D104F16000FFF700FCA06242 -:1094F0004FEA8903CFE74FEA4903CCE704F1640060 -:10950000FFF7F0FB0128D6D1711C2046FFF75BFE68 -:109510000028D0D10023237104F23220FFF7E2FBB0 -:109520004AF655239842C6D104F13400FFF7DFFB19 -:10953000174B9842BFD104F50670FFF7D8FB154BC7 -:109540009842B8D104F50770FFF7D1FB606104F5CC -:109550000870FFF7CCFB2061ADE70B25284607B06C -:10956000BDE8F08F0C25F9E70325F7E70A25F5E7B5 -:109570000125F3E70125F1E70125EFE70D25EDE7EB -:109580000D25EBE70D25E9E7B4260020B0260020E5 -:1095900052526141727241610D25DFE70D25DDE711 -:1095A0000D25DBE70D25D9E70D25D7E70D25D5E7F7 -:1095B0000D25D3E70D25D1E70D25CFE70D25CDE707 -:1095C0002DE9F047012940F28E8004460D461746EA -:1095D00083698B4240F28B800378022B49D0032BA6 -:1095E00060D0012B40F0858001EB5108416A8389EE -:1095F000B8FBF3F31944FFF7E6FD0646002873D1E4 -:1096000004F1340A08F10109A389B8FBF3F203FB62 -:10961000128815F0010522D01AF8083003F00F0364 -:1096200043EA0713DBB20AF808300123E370616AEA -:10963000A389B9FBF3F319442046FFF7C4FD06469E -:10964000002851D1A389B9FBF3F203FB129945B16C -:10965000C7F307130AF809300123E37044E0FBB2B3 -:10966000E1E71AF80930C7F3032223F00F0313438D -:10967000F0E7416A83895B08B5FBF3F31944FFF710 -:10968000A2FD064680BB04F134006D00A389B5FB42 -:10969000F3F203FB1255B9B22844FFF733FB012361 -:1096A000E37021E0416A83899B08B5FBF3F3194419 -:1096B000FFF789FD0646B8B927F0704704F1340377 -:1096C000AD00A289B5FBF2F102FB11551D442846FD -:1096D000FFF70DFB00F0704139432846FFF716FBFA -:1096E0000123E37000E002263046BDE8F087022641 -:1096F000FAE70226F8E7F8B5056801296AD90C46A9 -:10970000AB698B4268D92B78022B35D0032B49D01B -:10971000012B63D101EB5106696AAB89B6FBF3F308 -:1097200019442846FFF74FFD10B14FF0FF3052E0CB -:10973000771CAB89B6FBF3F203FB12662E4496F856 -:109740003460696AB7FBF3F319442846FFF73BFD21 -:10975000002845D1AB89B7FBF3F203FB12772F4406 -:1097600097F8343046EA032014F0010F01D00009C5 -:1097700031E0C0F30B002EE0696AAB895B08B4FBF3 -:10978000F3F319442846FFF71EFD60BB05F13400D2 -:109790006400AB89B4FBF3F203FB12442044FFF7EF -:1097A000A1FA18E0696AAB899B08B4FBF3F319448A -:1097B0002846FFF708FDC8B905F13400A400AB89BD -:1097C000B4FBF3F203FB12442044FFF790FA20F0BD -:1097D000704000E00120F8BD0120FCE70120FAE71D -:1097E0004FF0FF30F7E74FF0FF30F4E74FF0FF3076 -:1097F000F1E72DE9F041D0F80080B1F5001F49D222 -:1098000007460E4611F01F0F47D1416184681CBB0B -:1098100098F80030022B01D9D8F82840E4B9B8F8FC -:109820000830B3EB561F3AD9D8F82830FB61BC6139 -:10983000FB69E3B3B8F80C20B6FBF2F21344FB610A -:1098400008F13403B8F80C20B6FBF2F102FB116109 -:109850000B443B6200201EE0B8F80A50B8F80C3008 -:1098600003FB05F5AE420FD321463846FFF743FF11 -:109870000446B0F1FF3F14D0012814D9D8F81830AD -:10988000834212D9761BEDE721464046FFF748FB9D -:10989000F861CCE70220BDE8F0810220FBE702205E -:1098A000F9E70120F7E70220F5E70220F3E70220BD -:1098B000F1E72DE9F041054606680F4651B9D6F8A3 -:1098C0001080B8F1000F12D0B369434511D84FF0A2 -:1098D00001080EE0FFF70FFF034601284CD9B0F155 -:1098E000FF3F4ED0B26982424BD8B84601E04FF0FC -:1098F000010844460CE021462846FFF7FCFE0346DB -:1099000078B1B0F1FF3F18BF01283AD0444537D0B5 -:109910000134B369A342EED8B8F1010F2ED9022465 -:10992000E9E74FF0FF3221463046FFF749FE024695 -:10993000B0FA80F04009002F08BF002070B9A2B92A -:1099400034617269B369023B9A4201D8013A72618B -:10995000337943F001033371234612E0224639463E -:109960003046FFF72DFE0246E9E7012A01D0012328 -:1099700007E04FF0FF3304E0012302E0002300E0A2 -:1099800000231846BDE8F081F8B50C4605680129AA -:109990002ED906461146AB69A3422BD94AB14FF0E6 -:1099A000FF322846FFF70CFE074610B123E0A24223 -:1099B00021D9274621463046FFF79DFE0446E0B1F7 -:1099C00001281CD0B0F1FF3F1BD0002239462846A9 -:1099D000FFF7F6FD074670B96B69AA69911E8B42C5 -:1099E000E5D201336B612B7943F001032B71DEE784 -:1099F000022700E002273846F8BD0027FBE70227D0 -:109A0000F9E70127F7E738B504460568C169284634 -:109A1000FFF7D9FB20B9236AE5221A700123EB7006 -:109A200038BD2DE9F84306684469C369002B74D03A -:109A300005460F462034B4F5001F70D2B189B4FB3F -:109A4000F1F201FB12423AB90133C3618169A1B954 -:109A50003389B3EB541F0CD96C6106F13403B2891E -:109A6000B4FBF2F102FB114423442B620020BDE859 -:109A7000F8830023C3610420F9E7B289B4FBF2F252 -:109A80007389013B12EA0308E6D1FFF734FE8146F1 -:109A9000012846D9B0F1FF3F45D0B369834234D89D -:109AA0008FB1A9692846FFF704FF814600283CD002 -:109AB00001283CD0B0F1FF3F3BD03046FFF759FBC7 -:109AC00028B10120D3E70023EB610420CFE7B2895E -:109AD000002106F13400FFF72DF949463046FFF723 -:109AE0001FFA3063738998450BD20123F370304617 -:109AF000FFF73FFBF8B908F10108336B013333631B -:109B0000F0E7336BA3EB08033363C5F818904946BD -:109B10003046FFF705FAE8619EE70420A7E7042036 -:109B2000A5E70220A3E70120A1E707209FE7022085 -:109B30009DE701209BE7012099E770B50446066880 -:109B40000021FFF756FE054640B1284670BD0021B2 -:109B50002046FFF766FF05460028F6D1E16930464A -:109B6000FFF731FB05460028EFD1206A03787BB16F -:109B7000C37A03F03F03A371C37A13F0080FE6D151 -:109B80000B2204F12401FFF7DAF80028DFD1DCE72B -:109B90000425DAE730B583B004460191056801E099 -:109BA00001330193019B1A782F2AF9D05C2AF7D050 -:109BB0000022A2601B781F2B21D901A92046FFF7A4 -:109BC00029FA034618BB2046FFF7B7FF94F82F2069 -:109BD0000346F8B912F0040F19D1A37913F0100F4E -:109BE0001FD005F134016369AA89B3FBF2F002FBCF -:109BF000103319442846FFF7B2F9A060DDE780234F -:109C000084F82F3011462046FFF7F3FD034618462F -:109C100003B030BD0428FAD112F0040FF7D10523A8 -:109C2000F5E70523F3E7F8B504460E46076800217B -:109C3000FFF7DFFD0246B8B9002506E00025012147 -:109C40002046FFF7EEFE024670B9E1693846FFF79D -:109C5000BAFA024640B9236A1B78002B18BFE52BDD -:109C6000ECD10135B542EAD1042A01D01046F8BD45 -:109C70000722FBE770B5044606680121FFF7D3FF12 -:109C8000054608B1284670BDE1693046FFF79BFAEA -:109C900005460028F6D120220021206AFFF74AF865 -:109CA0000B2204F12401206AFFF73AF80123F37034 -:109CB000E8E7F8B504460E460568042705E00021EC -:109CC0002046FFF7AEFE0746E8B9E169D9B128465C -:109CD000FFF779FA0746B0B9236A1A7892B1DB7AAE -:109CE00003F03F03A371E52A18BF2E2AE7D00F2BFC -:109CF000E5D023F02003082B14BF00230123B34237 -:109D0000DDD100E004270FB10023E3613846F8BD40 -:109D100070B50446FFF72DFA054648B92378032BA2 -:109D200008D0002211466078FEF7D0FF00B101256F -:109D3000284670BD2379012BF3D104F13406A289A2 -:109D400000213046FEF7F6FF4AF6552104F2322094 -:109D5000FEF7D8FF0E493046FEF7D8FF0D4904F54F -:109D60000670FEF7D3FF616904F50770FEF7CEFFBA -:109D7000216904F50870FEF7C9FF226A01322263E7 -:109D8000012331466078FEF795FF00232371C8E771 -:109D9000525261417272416170B584B0019000917C -:109DA0001646039103A8FFF79DF9041E20DB114B13 -:109DB00053F8245025B12846FFF794F800232B7060 -:109DC000019B0BB100221A70019B0A4A42F8243011 -:109DD000721E18BF0122002B08BF42F0010212B10F -:109DE000002004B070BD01A96846FFF743FAF8E708 -:109DF0000B20F6E7B42600202DE9F04391B0019145 -:109E0000002800F010811446064602F03F073A464B -:109E100003A901A8FFF72EFA054628B100233360F5 -:109E2000284611B0BDE8F083039B0493019904A870 -:109E3000FFF7B0FE054660B99DF93F30002B52DBBD -:109E400014F03E0F14BF0121002104A8FEF78CFF7F -:109E5000054614F01C0F5CD0002D50D0042D44D0CA -:109E600047F00807002DD9D117F0080F61D0FAF795 -:109E700089F9044601460C980E30FEF747FF21464B -:109E80000C981630FEF742FF0C9B2022DA72DDF8A8 -:109E90000C80DDF8309049464046FFF760F80446F4 -:109EA000002249464046FFF76DF800210C981C300F -:109EB000FEF72CFF039B0122DA70002C39D0039BA4 -:109EC000D3F830800022214604A8FFF75DFD054647 -:109ED0000028A3D141460398FFF775F90546013CD8 -:109EE000039B1C6125E00625B3E7FEF77BFF08B95D -:109EF0001225B5E704A8FFF7BDFE0546B0E79DF8BB -:109F0000163013F0110F13D114F0040FAAD0082546 -:109F100084E7002D82D19DF8163013F0100F7ED10A -:109F200014F0020F05D013F0010F02D0072575E7DA -:109F30000725002D7FF472AF17F0080F01D047F00E -:109F40004007039B1B6B73620C9BB362012F94BF92 -:109F50000021012104A8FEF755FF306108B9022550 -:109F60005CE7039CDDF8308041462046FEF7F7FFB2 -:109F7000B06008F11C00FEF7BAFEF0600021F1624B -:109F80003460E388B380377571753162B16106F171 -:109F900030084FF480524046FEF7CCFE17F0200FF9 -:109FA00039D0F468002C36D0B461039B5F899B895B -:109FB00003FB07F7B16801E00225E41BBC4294BF34 -:109FC000002301235DB953B13046FFF794FB0146EE -:109FD0000128F1D9B0F1FF3FEFD10125EDE7F161A3 -:109FE000002D7FF41BAF039FB7F80C90B4FBF9F37F -:109FF00009FB13437BB13846FEF792FF08B90225EF -:10A000000CE7B4FBF9F2024432620123414678784E -:10A01000FEF744FE28B9002D3FF402AFFEE604250A -:10A02000FCE60125FAE60925FAE62DE9F04F85B0B0 -:10A0300004460F46154698460023C8F8003003A989 -:10A04000FFF774F80190002840F0B980637D019318 -:10A05000002B40F0B480237D13F0010F00F0CE8080 -:10A06000E668A369F61AAE4267D32E4665E0E36A56 -:10A070001BB12046FEF760FF73E0E1692046FFF761 -:10A080003AFB6EE04FF0020A84F815A0CDF804A068 -:10A0900095E04FF0010A84F815A0CDF804A08EE0F9 -:10A0A0004FF0020A84F815A0CDF804A087E094F9D7 -:10A0B0001430002B04DB039B9D890AFB05F532E07D -:10A0C000236AA3EB09035345F5D2039A928904F15D -:10A0D000300102FB0370FEF723FEECE7226A4A45DB -:10A0E0000DD094F91430002B6DDB01234A4604F1A6 -:10A0F000300103984078FEF7D1FD002877D1C4F8ED -:10A100002090039B9D89A369B3FBF5F205FB1233F5 -:10A11000ED1AAE4200D2354604F130012A46194408 -:10A120003846FEF7FDFD2F44A3692B44A361D8F800 -:10A1300000302B44C8F80030761B002E3FD0A169B8 -:10A14000039A9589B1FBF5F305FB1313002BD8D1C6 -:10A15000B1FBF5F55389013B1D4008D1002986D19B -:10A16000A06801288ED9B0F1FF3F92D0E061DDF800 -:10A170000CB0E1695846FEF7D3FE814600288FD027 -:10A18000A944BBF80C30B6FBF3FAB342A6D805EBF2 -:10A190000A03BBF80A20934201D9A2EB050A5346F1 -:10A1A0004A4639469BF80100FEF778FD00283FF447 -:10A1B0007EAF4FF0010A84F815A0CDF804A00198F5 -:10A1C00005B0BDE8F08F012304F130019BF80100D8 -:10A1D000FEF770FD20B9237D03F07F03237584E72C -:10A1E0004FF0010A84F815A0CDF804A0E7E74FF07E -:10A1F000010A84F815A0CDF804A0E0E70723019335 -:10A20000DDE72DE9F04F85B004460F461546984628 -:10A210000023C8F8003003A9FEF788FF019000284A -:10A220004AD1637D0193002B46D1237D13F0020FA9 -:10A2300000F0EC80A369EB42C0F0B680DD43B3E0F0 -:10A24000E36A002B3CD02046FEF776FE002800F0A3 -:10A25000D880012839D0B0F1FF3F3DD0E061A3683C -:10A2600003B9A06094F91430002B3CDBDDF80CB08E -:10A27000E1695846FEF754FE8146002848D0B144B3 -:10A28000BBF80C30B5FBF3FAAB425FD806EB0A0320 -:10A29000BBF80A20934201D9A2EB060A53464A466C -:10A2A00039469BF80100FEF705FDC0B34FF0010AE7 -:10A2B00084F815A0CDF804A0019805B0BDE8F08F92 -:10A2C000E1692046FFF7F5FAC0E74FF0020A84F88B -:10A2D00015A0CDF804A0EFE74FF0010A84F815A00F -:10A2E000CDF804A0E8E70123226A04F130010398C5 -:10A2F0004078FEF7DFFC20B9237D03F07F03237550 -:10A30000B4E74FF0010A84F815A0CDF804A0D3E714 -:10A310004FF0020A84F815A0CDF804A0CCE7236A18 -:10A32000A3EB0903534504D3039B9E890AFB06F65E -:10A330002BE0039A928902FB037104F13000FEF7CF -:10A34000EFFC237D03F07F032375EDE7236A4B4584 -:10A3500003D0A269E3689A4242D3C4F82090039BD9 -:10A360009E89A369B3FBF6F206FB1233F61AB542D7 -:10A3700000D22E4604F13000324639461844FEF72A -:10A38000CFFC237D63F07F0323753744A3693344F7 -:10A39000A361E268934238BF1346E360D8F8003007 -:10A3A0003344C8F80030AD1B5DB3A169039A9689A8 -:10A3B000B1FBF6F306FB1313002BD0D1B1FBF6F67D -:10A3C0005389013B1E407FF44DAF00297FF438AF25 -:10A3D000A06800287FF43DAF2046FFF76AFA35E712 -:10A3E00001234A4604F130019BF80100FEF756FCB8 -:10A3F0000028B2D04FF0010A84F815A0CDF804A0CF -:10A400005AE7237D43F04003237555E70723019363 -:10A4100052E770B582B0044601A9FEF787FE70B915 -:10A42000237D13F0400F0AD013F0800F09D1F9F704 -:10A43000A9FE0546616A0198FEF7C5FE78B102B033 -:10A4400070BD0123226A04F1300101984078FEF7C3 -:10A4500031FC40BB237D03F07F032375E7E7A66A49 -:10A46000F37A43F02003F372A26831462068FEF7C6 -:10A4700089FDE16806F11C00FEF748FC294606F15B -:10A480001600FEF743FC002106F11200FEF73AFC2D -:10A49000019B0122DA700198FFF73AFC237D23F03B -:10A4A00040032375CBE70120C9E710B582B004460D -:10A4B000FFF7AFFF08B102B010BD01A92046FEF7BB -:10A4C00035FE0028F7D12069FEF7ECFC0028F2D118 -:10A4D0002060F0E72DE9F04F83B004460D4601A956 -:10A4E000FEF724FE064678B9667D6EB9E36A002B56 -:10A4F00000F08E80B5F1FF3F0AD0E768AF4200D38D -:10A500002F46A761002F3FD1304603B0BDE8F08F42 -:10A51000984658F804BBD4F808A0BAF1000F27D029 -:10A520004FF0020909F102095146002701370D4693 -:10A530002046FFF7E0F80146012813D9B0F1FF3FAC -:10A5400013D001358542F1D0CB4505D3434643F8BE -:10A55000087BC8F804A09846019B9B698B4209D9E7 -:10A560008A46DFE702266675CEE701266675CBE7E9 -:10A570004FF00209E36AC3F80090D94500F2FB806E -:10A580000023C8F80030BFE77D1E29462046FEF7AD -:10A59000D3FC0146E061DDF804804046FEF7C0FCD4 -:10A5A00000B3B8F80C30B5FBF3F5B8F80A20013A5F -:10A5B00015400544B7FBF3F203FB1277002FA3D03D -:10A5C000226AAA42A0D094F91430002B0DDB01239B -:10A5D0002A4604F1300101984078FEF75FFBA0B9EC -:10A5E000256291E7022666758EE7012304F13001AA -:10A5F00098F80100FEF75EFB20B9237D03F07F038E -:10A600002375E4E7012666757EE7012666757BE71C -:10A61000E368AB4204D2227D12F0020F00D11D4646 -:10A62000A3690022A261E5B1019AB2F80A80928979 -:10A6300002FB08F873B16A1EB2FBF8F2013BB3FBF0 -:10A64000F8F18A4206D3C8F100021340A361EF1A61 -:10A65000E56904E0A06850B3E0612F460546002D8F -:10A6600045D1A369E268934204D9E360227D42F0B8 -:10A670004002227501988289B3FBF2F102FB11338B -:10A68000002B3FF441AF226AAA423FF43DAF94F958 -:10A690001430002B5DDB01232A4604F130010198C0 -:10A6A0004078FEF7FBFA002862D125622CE70021F2 -:10A6B0002046FFF7FEF8012804D0B0F1FF3F04D098 -:10A6C000A060C9E7022666751EE7012666751BE7CE -:10A6D00029462046FFF70FF80546B5F1FF3F2DD07C -:10A6E000012D2ED9019B9B69AB422AD9E5614745D3 -:10A6F00010D9A7EB0807A3694344A361237D13F096 -:10A70000020FE5D029462046FFF7D3F8054600287A -:10A71000E3D10746A3693B44A3610198B0F80C80DC -:10A72000B7FBF8F308FB13738BB12946FEF7F8FB70 -:10A73000054648B1B7FBF8F73D4492E70126667538 -:10A74000E2E602266675DFE602266675DCE61D4651 -:10A7500087E7012304F130014078FEF7ABFA20B916 -:10A76000237D03F07F03237595E701266675CBE60D -:10A7700001266675C8E61126C6E630B58FB0019091 -:10A780000C46002202A901A8FEF774FD054610B18F -:10A7900028460FB030BD019902A8FFF7FBF9054626 -:10A7A0000028F5D19DF93730002B06DB002CEFD0C7 -:10A7B000214602A8FEF7F9FBEAE70625E8E7F0B52F -:10A7C0009DB00190022203A901A8FEF753FD039B4F -:10A7D0001093044610B120461DB0F0BD019910A899 -:10A7E000FFF7D8F904460028F5D1022110A8FEF79A -:10A7F000BBFA04460028EED19DF96F30002B3CDBFC -:10A800009DF8465015F0010F39D1039F189938462D -:10A81000FEF7A5FB064615F0100F13D1002CDAD178 -:10A8200010A8FFF7F0F80446B0FA80F04009002EB7 -:10A8300008BF0020D0B9002CCDD10398FFF768FAEB -:10A840000446C8E704970690002104A8FEF7D1FF4C -:10A8500004460028BFD1002104A8FFF72AFA0446C5 -:10A8600010B10428DAD1DBE70724D7E7002231460C -:10A8700010A8FFF789F80446DDE70624ABE70724B4 -:10A88000A9E70000134B5B7A13BB10B5044603F035 -:10A89000FF00104B93F809C05FFA8CFC4FF0000EDC -:10A8A00003F80CE093F809C003EB8C0CCCF80440DF -:10A8B0005C7A1C4422725A7A541CE4B25C723032C4 -:10A8C0000A703A234B702F238B7081F803E010BD80 -:10A8D00001207047B826002008B50022FFF7D2FFFC -:10A8E00008BD000010B503460C4A0D490D4800682C -:10A8F00040B10C4800680344521A934206D8094AF2 -:10A90000136010BD0748084C0460F2E7F5F776FFC6 -:10A910000C2303604FF0FF30F3E700BF0000082076 -:10A9200000400000C4260020C8260020026852E82B -:10A93000003F23F4907342E800310029F6D1026809 -:10A9400002F1080353E8003F23F00103083242E814 -:10A9500000310029F3D1036E012B06D02023C0F86B -:10A9600080300023036683667047026852E8003F28 -:10A9700023F0100342E800310029F6D1EEE7000091 -:10A9800010B5044683680269134342691343C269E0 -:10A99000134301680868914A02401A430A6022681A -:10A9A000536823F44053E1680B435360A269236A60 -:10A9B0001A4321688B6823F4306313438B60236848 -:10A9C000874A934218D0874A93423AD0864A9342A4 -:10A9D0004FD0864A93425ED0854A93426DD0854AD5 -:10A9E00093427FD0844A934200F09180834A9342FD -:10A9F00000F0A28010230BE0814BD3F8903003F0DD -:10AA00000303032B1BD8DFE803F00216AB18012366 -:10AA1000E069B0F5004F00F0D780082B00F23881D4 -:10AA2000DFE813F014012701120136012A01360173 -:10AA3000360136012D010423EAE70823E8E7102355 -:10AA4000E6E76F4BD3F8903003F00C030C2B0ED8D5 -:10AA5000DFE803F0070D0D0D090D0D0D880D0D0D2F -:10AA60000B000023D4E70423D2E70823D0E7102308 -:10AA7000CEE7634BD3F8903003F03003202B73D034 -:10AA800005D8002B72D0102B72D10423C0E7302BD5 -:10AA900070D10823BCE75A4BD3F8903003F0C003C1 -:10AAA000802B69D005D8002B68D0402B68D10423B7 -:10AAB000AEE7C02B66D10823AAE7514BD3F89030FC -:10AAC00003F44073B3F5007F5ED006D8002B5DD051 -:10AAD000B3F5807F5CD104239AE7B3F5407F59D169 -:10AAE000082395E7464BD3F8903003F44063B3F561 -:10AAF000006F51D006D8002B50D0B3F5806F4FD1E6 -:10AB0000042385E7B3F5406F4CD1082380E73C4B25 -:10AB1000D3F8903003F44053B3F5005F44D006D827 -:10AB2000002B43D0B3F5805F42D1042370E7B3F527 -:10AB3000405F3FD108236BE7314BD3F8903003F4EB -:10AB40004043B3F5004F37D005D8BBB3B3F5804FC2 -:10AB500036D104235CE7B3F5404F33D1082357E7E0 -:10AB6000022355E7022353E7022351E700234FE76F -:10AB700010234DE710234BE7022349E7002347E763 -:10AB8000102345E7102343E7022341E700233FE773 -:10AB900010233DE710233BE7022339E7012337E782 -:10ABA000102335E7102333E7022331E700232FE793 -:10ABB00010232DE710232BE7022329E7002327E7A3 -:10ABC000102325E7102323E7082B5BD8DFE803F0E9 -:10ABD0001A343A5A375A5A5A1E0000BFF369FFEF27 -:10ABE000001001400044004000480040004C00407C -:10ABF000005000400014014000780040007C0040FC -:10AC000000380240FAF71AFE00283DD06268530867 -:10AC100003EB4003B3FBF2F3A3F110014FF6EF7225 -:10AC2000914233D89AB222F00F02C3F34203134386 -:10AC30002268D360002030E0FAF710FEE4E7FAF76C -:10AC4000EDFCE1E71748E1E7164802E0FAF7F6FD08 -:10AC500000B3636800EB5300B0FBF3F0A0F1100207 -:10AC60004FF6EF739A4217D8236880B2D86000205D -:10AC700013E0FAF7F3FDEBE7FAF7D0FCE8E74FF45F -:10AC80000040E6E7012008E0002006E0012004E0A3 -:10AC9000012002E0002000E001200023A366E3661B -:10ACA00010BD00BF0024F400436A13F0080F06D063 -:10ACB0000268536823F40043416B0B435360436ABB -:10ACC00013F0010F06D00268536823F40033816A41 -:10ACD0000B435360436A13F0020F06D002685368B7 -:10ACE00023F48033C16A0B435360436A13F0040FAB -:10ACF00006D00268536823F48023016B0B43536032 -:10AD0000436A13F0100F06D00268936823F480534F -:10AD1000816B0B439360436A13F0200F06D00268E7 -:10AD2000936823F40053C16B0B439360436A13F0A1 -:10AD3000400F0AD00268536823F48013016C0B4360 -:10AD40005360036CB3F5801F0BD0436A13F0800F80 -:10AD500006D00268536823F40023816C0B435360D0 -:10AD600070470268536823F4C003416C0B4353607F -:10AD7000EBE72DE9F84305460E4617469946DDF800 -:10AD800020802B68DC6936EA04040CBF012400240F -:10AD9000BC423AD1B8F1FF3FF3D0FBF779FAA0EB10 -:10ADA0000900404534D8B8F1000F33D02B681A6839 -:10ADB00012F0040FE5D0B6F1400218BF0122802E38 -:10ADC000DFD0002ADDD0DA6912F0080F11D1DA697C -:10ADD00012F4006FD5D04FF400621A622846FFF7D4 -:10ADE000A5FD2023C5F88430002385F878300320A2 -:10ADF0000CE008241C622846FFF798FDC5F8844043 -:10AE0000002385F87830012000E00020BDE8F883B9 -:10AE10000320FBE70320F9E730B583B004460023A5 -:10AE2000C0F88430FBF734FA05462268126812F045 -:10AE3000080F0FD123681B6813F0040F26D12023BD -:10AE4000E367C4F8803000202066606684F87800EC -:10AE500003B030BD6FF07E430093034600224FF4F1 -:10AE600000112046FFF785FF0028E3D0226852E852 -:10AE7000003F23F0800342E800310029F6D120236F -:10AE8000E367002384F878300320E1E76FF07E4326 -:10AE900000932B4600224FF480012046FFF769FF04 -:10AEA0000028CCD0226852E8003F23F4907342E897 -:10AEB00000310029F6D1226802F1080353E8003F6F -:10AEC00023F00103083242E800310029F3D12023A6 -:10AED000C4F88030002384F878300320B8E768B3E2 -:10AEE00010B50446C36F03B32423E36722681368D5 -:10AEF00023F001031360636AE3B92046FFF740FDC6 -:10AF0000012811D02268536823F4904353602268CB -:10AF1000936823F02A0393602268136843F00103C7 -:10AF200013602046FFF778FF10BD80F87830F9F7FE -:10AF300099FDD9E72046FFF7B7FEDEE7012070470D -:10AF4000DFF834D0FDF7FAFC0C480D490D4A002318 -:10AF500002E0D458C4500433C4188C42F9D30A4ACE -:10AF60000A4C002301E013600432A242FBD3F5F740 -:10AF7000CBFBF8F7C1FA7047000008200000002062 -:10AF80005C00002020B300085C000020C8260020E0 -:10AF9000FEE70000F8B500BFF8BC08BC9E4670474D -:0CAFA000F8B500BFF8BC08BC9E46704726 -:10AFAC002F000000434F4D4D414E442E5458540039 -:10AFBC0046494C45312E54585400000045525252CB -:10AFCC004F52212121202A25732A20646F6573207A -:10AFDC006E6F74206578697374730A0A0000000040 -:10AFEC004552524F52212121204E6F2E2025642094 -:10AFFC00696E206F70656E696E672066696C65207E -:10B00C002A25732A0A0A00004552524F5221212147 -:10B01C00204E6F2E20256420696E20726561646954 -:10B02C006E672066696C65202A25732A0A0A00005F -:10B03C004552524F52212121204E6F2E2025642043 -:10B04C00696E20636C6F73696E672066696C65202E -:10B05C002A25732A0A0A000046696C65202A257382 -:10B06C002A20434C4F5345442073756363657373B7 -:10B07C0066756C6C790A00004552524F52212121A1 -:10B08C002043616E2774207365656B20746865209E -:10B09C0066696C653A2020202A25732A0A0A00006A -:10B0AC004552524F52212121202A25732A20646FA8 -:10B0BC006573206E6F74206578697374730A0A0067 -:10B0CC002A25732A20686173206265656E2072657B -:10B0DC006D6F766564207375636365737366756CE9 -:10B0EC006C790A004552524F52204E6F2E20256427 -:10B0FC0020696E2072656D6F76696E67202A2573E4 -:10B10C002A0A0A00222A2B2C3A3B3C3D3E3F5B5D2F -:10B11C007C7F0000232D302B20000000686C4C003D -:10B12C006566674546470000303132333435363773 -:10B13C003839414243444546000000003031323337 -:10B14C003435363738396162636465660000000057 -:10B15C0000000000000000000000000000000040A3 -:10B16C000000000000000000001F000000000000B4 -:10B17C000E0000000000000000000000123221014F -:10B18C00FFFF0000010103000000000000000000B0 -:10B19C0000000000000000000040000006069919A5 -:10B1AC00009A0000000000000000000000000000F9 -:10B1BC00A00F0000000000000000000000000000D4 -:10B1CC000000000000000000000000000000FF165E -:10B1DC000100010000000100020003000400050052 -:10B1EC0006000700080009000A000B000C000D0007 -:10B1FC000E001F0020002200230024002500260042 -:10B20C002700280029002A002B002C002D002E00DE -:10B21C002F0030003100320033003400350036008E -:10B22C0037003E003F004000410042004300440014 -:10B23C004500470050005100520053005400550087 -:10B24C0056005700580059005A005B005C005D0026 -:10B25C005E005F001E001D0099400008C140000800 -:10B26C00C9400008ED400008114100080000000032 -:10B27C0001020304000000000000000001020304AE -:10B28C000607080943554541414141434545454958 -:10B29C00494941414592924F4F4F5555594F554F42 -:10B2AC009C4F9E9F41494F55A5A5A6A7A8A9AAABFF -:10B2BC00ACADAEAFB0B1B2B3B4414141B8B9BABBA9 -:10B2CC00BCBDBEBFC0C1C2C3C4C54141C8C9CACB45 -:10B2DC00CCCDCECFD1D145454549494949D9DADB09 -:10B2EC00DCDD49DF4FE14F4F4F4FE6E8E855555550 -:10B2FC005959EEEFF0F1F2F3F4F5F6F7F8F9FAFB31 -:04B30C00FCFDFEFF47 -:08B310000058FF7F010000005E -:04B3180069020008BE -:04B31C0041020008E2 -:10B32000040000200000000080000020E800002051 -:10B33000500100200000000000000000000000009C -:10B3400000000000000000000000000000000000FD -:10B3500000000000000000000000000000000000ED -:10B3600000000000000000000000000000000000DD -:0CB3700001010000100000000024F400A7 -:040000050800AF41FF +:10180000AC42F4D370BD00BFB8B5000870B50E4649 +:10181000012806D90546B0F5805F03D94FF48055FD +:1018200000E0022504211E20FFF784FF00242FE0A2 +:10183000012334E0012238E0EA1A92B2012A0ED9DB +:10184000013A92B2E31AC3EB833393FBF2F241F60F +:10185000FF71891A11F5005F0DDA1C490EE00122B3 +:10186000F0E7012D28D96A1E92B2C4EB843393FBB2 +:10187000F2F3A3F50051B1F5005F1FDA89B28900D8 +:1018800089B204F5C04080B2FFF754FF0134A4B21E +:10189000A54216D9002EE4D06B08012DC8D99C4270 +:1018A000CAD2012BC6D9013B9AB2C4EB843393FB55 +:1018B000F2F3A3F50051DEE70122D6E741F6FF710E +:1018C000DCE700211E20FFF735FF70BD00E0FFFFC1 +:1018D00000B583B001224FF48051164804F081FD19 +:1018E00000224021144804F07CFD0023019302E013 +:1018F000019B01330193019BB3F57A7FF8D3012259 +:1019000040210D4804F06DFD42210C48FFF76AFFAD +:1019100000211E20FFF70EFF01211D20FFF70AFF07 +:1019200001224FF40061064804F05BFD03B05DF84E +:1019300004FB00BF000402400008024034B5000868 +:10194000000C024010B540F40044284B1B6813F013 +:10195000400F04D1254A136843F04003136000226E +:101960004FF48051224804F03CFD00231F4A926846 +:1019700012F0020F05D15A1CB3F57A7F01D213463B +:10198000F4E71A4B9C810023184A926812F0010F69 +:1019900005D15A1CB3F57A7F01D21346F4E7134BF5 +:1019A000DB680023114A926812F0020F05D15A1C1D +:1019B000B3F57A7F01D21346F4E700230B4A9381F3 +:1019C0000A4A926812F0010F05D15A1CB3F57A7FCA +:1019D00001D21346F4E7054BDC68A4B201224FF4B0 +:1019E0008051034804F0FDFC204610BD0038004043 +:1019F000000402402DE9F04F83B083460F461446A1 +:101A00001D460020FFF79EFF82460120FFF79AFF48 +:101A100081460220FFF796FF80466020FFF792FF85 +:101A20001CB1012C02D8022403E01024B4F5805F1D +:101A300004D835B10F2D05D90F2503E04FF480549C +:101A4000F7E701252E0206F4706646F011060194B0 +:101A500005F00F0504FB05F51DB1B5F5803F4CD22F +:101A60000195013CA4B22401A4B2BAF1000F48D1FF +:101A7000012519F4F47F00D0002518F40E6F00D072 +:101A8000002510F03F0F00D000251FB11BF0010F03 +:101A900000D100252720FFF755FF43F2300398427D +:101AA00000D000252820FFF74DFFB04200D00025D0 +:101AB0002920FFF747FFBDF80430984200D00025E9 +:101AC0001F20FFF73FFF00B100255D20FFF73AFF21 +:101AD00000B100255E20FFF735FFA04200D00025B1 +:101AE0002B20FFF72FFF40F20113984200D0002572 +:101AF00085F0010003B0BDE8F08F4FF6FF7301934E +:101B0000AFE70025B5E72DE9F04F83B001900F4610 +:101B100015461C46BDF834B00020FFF713FF82467F +:101B20000120FFF70FFF81460220FFF70BFF8046E1 +:101B30006020FFF707FF9DF830301B0103F0F00332 +:101B400040F201161E431CB13F2C02D93F2400E095 +:101B50000124BBF1000F01D14FF6FF7B05F0030517 +:101B6000A400E4B22543BAF1000F36D1012419F4E0 +:101B7000F47F00D0002418F40E6F00D0002410F081 +:101B80003F0F00D0002427B1019B13F0010F00D1BB +:101B900000242720FFF7D6FE43F21223984200D0FC +:101BA00000242820FFF7CEFEB04200D000242920D8 +:101BB000FFF7C8FE584500D000241F20FFF7C2FEE3 +:101BC00000B100243720FFF7BDFEA84200D000245A +:101BD00084F0010003B0BDE8F08F0024C7E70000E7 +:101BE0002DE9F04182B005461E4621B10C4601297F +:101BF00002D8022403E01024B4F5805F04D832B187 +:101C00000F2A05D90F2203E04FF48054F7E7012291 +:101C1000170207F4706747F01107A04602F00F02A1 +:101C200004FB02F21AB1B2F5803F4DD29046422138 +:101C30003648FFF7D7FD00211E20FFF77BFD43F25A +:101C400030012720FFF776FD4FF400713720FFF7B2 +:101C500071FD40F201112B20FFF76CFD3946282061 +:101C6000FFF768FD1FFA88F12920FFF763FD0021C7 +:101C70001F20FFF75FFD00215C20FFF75BFD0021C7 +:101C80005D20FFF757FD611E89B2090189B25E2010 +:101C9000FFF750FD01211D20FFF74CFD3146204686 +:101CA000FFF7B4FD35B301224FF40061184804F08A +:101CB00098FB01211E20FFF73DFD01211D20FFF7AC +:101CC00039FD0023019305E04FF6FF78AFE7019B54 +:101CD00001330193019BB3F57A7FF8D300224FF4CF +:101CE00000610B4804F07DFB1E20FFF72BFE02B0C5 +:101CF000BDE8F08100211E20FFF71CFD01224FF4FA +:101D00000061034804F06DFBEEE700BFB0B40008CB +:101D1000000C024030B583B000294AD01AB13F2AE6 +:101D200002D93F2200E0012200F003009200D2B26B +:101D300040EA02041B0103F0F00340F201151D43C9 +:101D400043F212212720FFF7F5FC21463720FFF749 +:101D5000F1FC29462820FFF7EDFCBDF818102920DA +:101D6000FFF7E8FC00211F20FFF7E4FC01224FF4FD +:101D70000061154804F035FB01211E20FFF7DAFC55 +:101D800001211D20FFF7D6FC0023019302E0019BF7 +:101D900001330193019BB3F57A7FF8D300224FF40E +:101DA0000061094804F01DFB1E20FFF7CBFD03B0C6 +:101DB00030BD00211E20FFF7BDFC01224FF4006161 +:101DC000014804F00EFBEFE7000C024010B50928B3 +:101DD00013D8DFE800F00513212F3D4B5965717DC5 +:101DE000414C01224FF48061204604F0FAFA0022AF +:101DF0004FF48061204604F0F4FA10BD3A4C012201 +:101E00004FF40061204604F0ECFA00224FF4006128 +:101E1000204604F0E6FAF0E7334C01224FF48051FB +:101E2000204604F0DEFA00224FF48051204604F0F0 +:101E3000D8FAE2E72C4C01224FF40051204604F07E +:101E4000D0FA00224FF40051204604F0CAFAD4E739 +:101E5000254C01224FF48041204604F0C2FA0022B2 +:101E60004FF48041204604F0BCFAC6E71E4C012224 +:101E70004FF40041204604F0B4FA00224FF4004130 +:101E8000204604F0AEFAB8E7184C01221021204693 +:101E900004F0A7FA00221021204604F0A2FAACE7D1 +:101EA000124C01222021204604F09BFA002220211E +:101EB000204604F096FAA0E70C4C0122402120466F +:101EC00004F08FFA00224021204604F08AFA94E7B9 +:101ED000064C01228021204604F083FA0022802152 +:101EE000204604F07EFA88E7001802400004024011 +:101EF00038B5044600224FF48041814804F071FA5D +:101F000000224FF400717F4804F06BFA002300E0D8 +:101F10000133B3F5FA7FFBD301224FF480417848B7 +:101F200004F05FFA01224FF40071764804F059FA88 +:101F3000002300E00133B3F5FA7FFBD3631E032BCC +:101F400039D8DFE803F0023A6FA66D4C01224FF456 +:101F50000061204604F045FA00224FF480612046DB +:101F600004F03FFA002300E00133B3F5FA7FFBD31E +:101F7000654A136843F0400313600023624A926885 +:101F800012F0010F04D1B3F57A7F01D80133F5E7E0 +:101F90005D490A6822F040020A6000E00133B3F5AF +:101FA000FA7FFBD301224FF48061554804F019FAFF +:101FB000554BDD68ADB2284638BD524C01224FF476 +:101FC0008061204604F00DFA00224021204604F0F2 +:101FD00008FA002300E00133B3F5FA7FFBD34B4A44 +:101FE000136843F0400313600023484A926812F0DC +:101FF000010F04D1B3F57A7F01D80133F5E74349E6 +:102000000A6822F040020A6000E00133B3F5FA7F6B +:10201000FBD3012240213B4804F0E3F93B4BDD6850 +:10202000ADB2C8E7364C01224FF48061204604F07F +:10203000D8F900224FF40061204604F0D2F90023C1 +:1020400000E00133B3F5FA7FFBD32F4A136843F066 +:102050004003136000232C4A926812F0010F04D150 +:10206000B3F57A7F01D80133F5E727490A6822F0F2 +:1020700040020A6000E00133B3F5FA7FFBD301228E +:102080004FF400611E4804F0ACF91F4BDD68ADB29F +:1020900091E71C4C01224021204604F0A2F90022C5 +:1020A0004FF48061204604F09CF9002300E00133E6 +:1020B000B3F5FA7FFBD3154A136843F0400313606E +:1020C0000023124A926812F0010F04D1B3F57A7F0F +:1020D00001D80133F5E70D490A6822F040020A6091 +:1020E00000E00133B3F5FA7FFBD301224FF48061A6 +:1020F000044804F076F9054BDD68ADB25BE700BF3C +:102100000010024000140240003401400050014021 +:1021100008B5044806F00AF80023034A1370034A7E +:10212000136008BD08040020D60200200C03002024 +:102130002DE9F04F8FB0002409940A940B940C946D +:102140000D948A4B1A6B42F020021A631A6B02F04C +:1021500020020192019A1A6B42F080021A631A6BF4 +:1021600002F080020292029A1A6B42F004021A6391 +:102170001A6B02F004020392039A1A6B42F00102F6 +:102180001A631A6B02F001020492049A1A6B42F06D +:1021900002021A631A6B02F002020592059A1A6B88 +:1021A00042F010021A631A6B02F010020692069AAD +:1021B0001A6B42F008021A631A6B02F008020792C7 +:1021C000079A1A6B42F040021A631B6B03F040033C +:1021D0000893089BDFF8A49122464FF4C861484653 +:1021E00004F0FFF8DFF898A122463C21504604F0A5 +:1021F000F8F801224021504604F0F3F85C4F2246E3 +:102200004B21384604F0EDF801221021384604F045 +:10221000E8F8DFF8708122464FF44061404604F050 +:10222000E0F801224FF48041404604F0DAF8DFF88C +:1022300058B122464FF44F61584604F0D2F80122BB +:102240004FF48051584604F0CCF84A4E22464FF4E1 +:10225000C171304604F0C5F801224FF400613046E8 +:1022600004F0BFF822464FF47E41434804F0B9F829 +:10227000182309930A9401250B9509A9484603F0F0 +:10228000A7FF4FF4C86309930A950B940C9409A90E +:10229000484603F09DFF742309930A950B940C9410 +:1022A00009A9504603F094FF082309930A950B945B +:1022B00003230C9309A9504603F08AFF5B2309937B +:1022C0000A950B940C9409A9384603F081FF4FF44A +:1022D000F04309930A940B9409A9484603F078FF48 +:1022E0004FF4406309930A950B940C9409A9404656 +:1022F00003F06EFF4FF4804309930A950B94032378 +:102300000C9309A9404603F063FF41F6F04309939B +:102310000A950B940C9409A9584603F059FF40F60E +:10232000821309930A950B940C9409A9304603F083 +:102330004FFF4FF4807309930A940B9409A9384610 +:1023400003F046FF09950A940B9409A9304603F05F +:102350003FFF4FF47E4309930A950B940C9409A90F +:10236000054803F035FF0FB0BDE8F08F003802409C +:1023700000000240000C024000180240001402401D +:102380000008024000100240000402402DE9F04124 +:1023900092B02822002108A8FEF7DEF9002402945A +:1023A000039404940594069407942A4B5A6C42F4BF +:1023B00000525A645A6C02F400520192019A1A6B4C +:1023C00042F010021A631B6B03F010030093009B92 +:1023D0004FF480530293022503954FF00308CDF884 +:1023E0001080052707971C4E02A9304604F065FBB4 +:1023F0004FF4005302930395CDF810800594069492 +:10240000079702A9304604F058FB4FF48063089305 +:102410004FF4827309934FF470630A930B950C94F5 +:102420004FF400730D9318230E930F941094072309 +:1024300011930A4C08A9204605F0BCFC636823F000 +:1024400010036360636823F00803636012B0BDE8A3 +:10245000F08100BF0038024000100240003401400B +:102460002DE9F04192B02822002108A8FEF774F966 +:1024700000240294039404940594069407942F4B2B +:102480001A6C42F480421A641A6C02F4804201927F +:10249000019A1A6B42F002021A631B6B03F00203EB +:1024A0000093009B4FF4005302934FF00208CDF8C5 +:1024B0000C800327049705260796214D02A928467C +:1024C00004F0FBFA4FF480430293CDF80C8004979C +:1024D00005940694079602A9284604F0EEFA4FF4F4 +:1024E00000430293CDF80C80049705940694079658 +:1024F00002A9284604F0E1FA08944FF48273099384 +:102500004FF470630A930B940C944FF400730D9383 +:1025100010230E930F94109407231193094C08A9CC +:10252000204605F047FC636823F01003636063688E +:1025300023F00803636012B0BDE8F0810038024068 +:1025400000040240003800402DE9F04192B02822FA +:10255000002108A8FEF700F90024029403940494D3 +:10256000059406940794294B5A6C42F480125A64DD +:102570005A6C02F480120192019A1A6B42F0200206 +:102580001A631B6B03F020030093009B80230293CC +:10259000022503954FF00308CDF810800527079713 +:1025A0001B4E02A9304604F088FA4FF48073029360 +:1025B0000395CDF8108005940694079702A930463C +:1025C00004F07BFA4FF4806308934FF4827309930D +:1025D0004FF470630A930B950C944FF400730D93B2 +:1025E00018230E930F94109407231193094C08A9F4 +:1025F000204605F0DFFB636823F010036360636827 +:1026000023F00803636012B0BDE8F0810038024097 +:1026100000140240005001402DE9F04192B0282200 +:10262000002108A8FEF798F800240294039404946B +:10263000059406940794294B5A6C42F400125A648C +:102640005A6C02F400120192019A1A6B42F00102D4 +:102650001A631B6B03F001030093009B202302937A +:10266000022503954FF00308CDF81080082707973F +:102670001B4E0DEB0701304604F01FFA8023029336 +:102680000395CDF810800594069407970DEB07018C +:10269000304604F012FA08944FF4827309934FF411 +:1026A00070630A930B9501230C934FF400730D9301 +:1026B00018230E930F94109407231193094C08A923 +:1026C000204605F077FB636823F0100363606368BE +:1026D00023F00803636012B0BDE8F08100380240C7 +:1026E000000002400054014010B586B0002401945F +:1026F00002940394049405941D4B1A6C42F0010259 +:102700001A641B6C03F001030093009B194BD868FB +:1027100022462146C0F30220FEF790FE0001C0B21F +:10272000154B83F81C034FF080521A604FF47A73F4 +:10273000ADF804300294114B0393049401A94FF0B7 +:10274000804006F087F94FF080431A6822F080023B +:102750001A6099680A4A0A409A605A6822F0700220 +:102760005A609A6822F080029A6006B010BD00BFDD +:102770000038024000ED00E000E100E040D10C0034 +:10278000F8BFFEFF10B586B00024019402940394B4 +:10279000049405941C4B1A6C42F008021A641B6CDA +:1027A00003F008030093009B184BD868224621468B +:1027B000C0F30220FEF742FE0001C0B2144B83F8C2 +:1027C00032034FF480225A6042F21073ADF80430A5 +:1027D00002944FF40C73039304940E4C01A9204609 +:1027E00006F038F9236823F080032360A2680A4BBF +:1027F0001340A360636823F070036360A36823F051 +:102800008003A36006B010BD0038024000ED00E078 +:1028100000E100E0000C0040F8BFFEFF10B586B0FC +:102820000024019402940394049405941A4B1A6CA6 +:1028300042F020021A641B6C03F020030093009BFB +:10284000164BD86822462146C0F30220FEF7F6FD5B +:102850000001C0B2124B83F837034FF400025A60F4 +:1028600040F29733ADF804300294632303930D4C88 +:1028700001A9204606F0EEF8236823F080032360C8 +:10288000636823F0700343F010036360A36823F0D0 +:102890008003A36006B010BD0038024000ED00E0E8 +:1028A00000E100E00014004010B586B0002401945F +:1028B00002940394049405941A4B1A6C42F010028B +:1028C0001A641B6C03F010030093009B164BD8682E +:1028D00022462146C0F30220FEF7B0FD0001C0B23F +:1028E000124B83F836034FF480025A604BF2AF3339 +:1028F000ADF804300294132303930D4C01A9204634 +:1029000006F0A8F8236823F080032360636823F0AF +:10291000700343F010036360A36823F08003A36097 +:1029200006B010BD0038024000ED00E000E100E01C +:10293000001000402DE9F04100239F4A13609F4A98 +:1029400013609F4A13609F4A13609F4A13609F4A17 +:1029500013709F4A13809F4A13609F4A13609F4AD7 +:1029600013709F4A137005E09E4A002122F813104D +:1029700001339BB20E2BF7D99A4B41F211121A80F8 +:10298000994B0022DA81DA701A711A821A735A731B +:102990005A719A71DA72DA711A725A729A725A709C +:1029A0009A701A70914D2A80914C228000226A60A0 +:1029B0006260AA60A2608F4E9C46BCE80F000FC602 +:1029C000DCF8003033808C4E95E80F0086E80F006D +:1029D0008A4D94E80F0085E80F00894BDA6842F0D1 +:1029E0000102DA601A6842F001021A6003F580639E +:1029F000DA6842F00102DA601A6842F001021A60F5 +:102A000003F51433D3F8B82022F00102C3F8B8203C +:102A10004FF00062DA604FF00072DA60794A02F13A +:102A2000080353E8003F43F08003083242E80031D6 +:102A30000029F3D1744BD3F8B82042F01002C3F848 +:102A4000B820D3F8B82042F00402C3F8B8204FF001 +:102A50000062DA604FF00072DA606C4AD3F8B83086 +:102A600003F0C003402B7DD0674BC3F8C020684AF9 +:102A7000C3F8C4200024674B1C60674B1C60674F81 +:102A800022460821384603F0ACFC22460421384691 +:102A900003F0A7FCDFF8A88122464FF4807140467E +:102AA00003F09FFC22461021384603F09AFC5C4E4E +:102AB00022464FF48061304603F093FC594D224684 +:102AC0000821284603F08DFC22460121284603F008 +:102AD00088FC22460221284603F083FC22464FF45C +:102AE0000061304603F07DFC22462021384603F089 +:102AF00078FC07F5006701224FF48061384603F047 +:102B000070FC494C01224021204603F06AFC01225E +:102B10004FF48041384603F064FC01224FF48041B9 +:102B2000204603F05EFC01224FF48041304603F062 +:102B300058FC01224021284603F053FC01224FF4A7 +:102B40008051304603F04DFC01221021284603F04D +:102B500048FC0121404603F03DFC50B1FEF7B8FEB1 +:102B6000BDE8F081284BC3F8C420294AC3F8C0202F +:102B700080E74FF48071284603F02CFC0028EDD14B +:102B80002A4806F08FF82A4B186018B1294B012209 +:102B90001A70E3E71E231A462749284806F0D2F8A0 +:102BA000234C2060214806F08FF820600023084A5B +:102BB0001380064A1370E9E7300300201803002051 +:102BC000140300202C03002024030020D90200203D +:102BD000D40200208402002080020020D8020020BD +:102BE000D7020020B002002018020020500200206E +:102BF000400200202C020020700200206002002011 +:102C0000001000400010014000640240DC0200207F +:102C100028100140200300201C030020000802406F +:102C200000040240000002400014024000B300080B +:102C300088020020000300209002002004B3000856 +:102C4000000C024010B5002405282CD8DFE800F065 +:102C5000030812171C26154802F0B8F9204610BDCB +:102C6000124C6421204602F06BFA204602F0C9FAA9 +:102C700080B2F4E70D4802F043FA2046EFE70C4833 +:102C800002F0A4F92046EAE7094C6421204602F04C +:102C900057FA204602F0B5FA80B2E0E7044802F0A5 +:102CA0002FFA2046DBE72046D9E700BFB805002011 +:102CB00070050020032818BF012800F0A38038B554 +:102CC0000C460138032823D8DFE800F0023B5B7C88 +:102CD00000224FF480414C4803F083FB00224B4B11 +:102CE0009B6813F0020F04D1B2F5FA7F01D80132CC +:102CF000F5E7464B9C810022444B9B6813F0010F83 +:102D000004D1B2F5FA7F01D80132F5E73F4BDB6819 +:102D10003D4D01224FF48041284603F062FB3C4CBC +:102D200001224021204603F05CFB01224FF4805138 +:102D3000284603F056FB01221021204603F051FBE8 +:102D400038BD00224021324803F04BFB0022314BBA +:102D50009B6813F0020F04D1B2F5FA7F01D801325B +:102D6000F5E72C4B9C8100222A4B9B6813F0010F46 +:102D700004D1B2F5FA7F01D80132F5E7254BDB68C3 +:102D8000C6E700224FF480511F4803F02AFB0022BF +:102D90001E4B9B6813F0020F04D1B2F5FA7F01D8E5 +:102DA0000132F5E7194B9C810022184B9B6813F008 +:102DB000010F04D1B2F5FA7F01D80132F5E7134BC8 +:102DC000DB68A5E700221021114803F00AFB00226E +:102DD000104B9B6813F0020F04D1B2F5FA7F01D8B3 +:102DE0000132F5E70B4B9C8100220A4B9B6813F0E4 +:102DF000010F04D1B2F5FA7F01D80132F5E7054B96 +:102E0000DB6885E7704700BF0004024000380040DF +:102E100000000240005401402DE9F84305460F46EA +:102E200016461C46AF4B00221A600121AE4803F043 +:102E3000D1FA002800F0D2802B8803F00103237020 +:102E40002B88C3F3400363702B88C3F38003A37004 +:102E50002B88C3F3C003E3702B88C3F300132371E3 +:102E60002B88C3F3401363712B88C3F38013A371C2 +:102E70002B88C3F3C013E3712B88C3F300232372A1 +:102E80002B88C3F3402363722B88C3F38023A37280 +:102E90002B88C3F3C023E3722B88C3F3003323735F +:102EA0002B88C3F3403363736B883B80AB883380DC +:102EB0006B89E381AB8907EE903AF8EE677A9FED74 +:102EC0008B7A67EE877AC7ED017AEB8907EE903A45 +:102ED000F8EE677A67EE877AC7ED027A2B8A07EEFB +:102EE000903AF8EE677A67EE877AC6ED017A6B8AD8 +:102EF00007EE903AF8EE677A67EE877AC6ED027AC7 +:102F0000AA8A7B4B5A83EB8ABB812B8BB381637874 +:102F1000002B00F0958001220821764803F061FA29 +:102F2000A378002B00F0928001220421714803F065 +:102F300058FAE378002B00F08F8001224FF4807163 +:102F4000694803F04EFA2379002B00F08C800122AF +:102F50001021684803F045FA6379002B00F089805E +:102F600001224FF48061644803F03BFAA379002BFF +:102F700000F0868001220821604803F032FA637A6B +:102F80001BB1E379002B40F08180002201215B48D6 +:102F900003F027FA00224FF40061574803F021FAAA +:102FA000A37A1BB1237A002B40F0868000220221F5 +:102FB000524803F016FA002220214E4803F011FA7D +:102FC000237B1BB94E4B7B604E4BBB60637B1BB9B5 +:102FD0004B4B73604B4BB360BDE8F8834FF480718B +:102FE000464803F0F7F901287FF426AF464805F07C +:102FF00059FE3C4B186000287FF41EAFDFF80C919F +:10300000484605F065FFDFF8DC80C8F80000484658 +:1030100005F03CFFC8F800001E222946484605F08E +:1030200063FEC8F800001E222946484605F092FFBC +:10303000C8F80000344805F047FEC8F80000FBE679 +:10304000002208212B4803F0CCF969E70022042173 +:10305000284803F0C6F96CE700224FF4807122483B +:1030600003F0BFF96FE700221021224803F0B9F9FD +:1030700072E700224FF480611F4803F0B2F975E750 +:10308000002208211D4803F0ACF978E747F6FF71EC +:103090000320FFF70FFE47F6FF710320FFF70AFE3C +:1030A00001224FF40061144803F09BF901221146FC +:1030B000124803F096F973E747F6FF710420FFF713 +:1030C000F9FD47F6FF710420FFF7F4FD01222021EE +:1030D000084803F086F901220221084803F081F92B +:1030E0006EE700BF88020020000C02400000803B19 +:1030F000B00200200008024000040240000002402C +:10310000000020410AD7233C00B3000804B30008A4 +:1031100084460088012304E03CF81320504001332A +:103120001BB28B42F8DB704710B50E4B1B8841F287 +:103130001112934205D047F2777293420FD10E24B9 +:1031400000E00D242146FFF7E3FF074B1880074BF3 +:1031500033F81430984214BF0020012010BD002025 +:10316000FCE700BFD2020020D00200209002002025 +:1031700010B5044601210A4803F02CF908B10120DA +:1031800010BD084805F08EFD08B10120F8E71E22A9 +:103190002146054805F0DEFE024805F095FDEFE703 +:1031A000000C024000B3000810B3000838B5044614 +:1031B00001210D4803F00EF908B1012038BD0B487C +:1031C00005F070FD08B10120F8E7094D2B681E22BB +:1031D0002146084805F0B6FD2B681E332B600348D6 +:1031E00005F072FDEAE700BF000C024000B30008E2 +:1031F0008402002010B3000810B501210B4803F031 +:10320000E9F808B1012010BD094805F04BFD08B1EF +:103210000120F8E7074C204605F05AFE204605F04D +:1032200035FE034805F050FDEDE700BF000C0240FD +:1032300000B3000810B300088C4600220CE033B93C +:10324000074BDB6913F08003F9D00123F7E7815CBA +:10325000034B9962013292B26245F1D3704700BFCD +:10326000001001400D4B1B78002BFBD10C4BD3F809 +:10327000B82022F00102C3F8B820D3F8BC206FF3C5 +:103280000F021043C3F8BC00D3F8B82042F001028B +:10329000C3F8B820014B01221A707047D8020020F1 +:1032A0000064024072B6FEE700B585B000230093CB +:1032B0000193029303932B482B4A02604FF4403250 +:1032C0004260836001220261836180F82030C36222 +:1032D00026498162C3600521C16180F830304261B6 +:1032E00001F048FE002831D1092300930123019306 +:1032F0000723029369461B4802F024F840BB0823C9 +:103300000093022301936946164802F01BF808BB9C +:1033100002230093032301936946124802F012F836 +:10332000D0B90A2300930423019369460D4802F0A3 +:1033300009F898B90B2300930523019369460948BE +:1033400002F000F860B905B05DF804FBFFF7AAFFD2 +:10335000FFF7A8FFFFF7A6FFFFF7A4FFFFF7A2FF05 +:10336000FFF7A0FFB8050020002001400100000F7A +:1033700000B585B000230093019302930393144892 +:10338000144A02604FF440324260836003618361FB +:1033900080F82030C362104A8262C3600122C26199 +:1033A00080F83030426101F0E5FD68B90F230093E9 +:1033B00001230193072302936946054801F0C2FFE8 +:1033C00020B905B05DF804FBFFF76CFFFFF76AFF5B +:1033D00070050020002201400100000F2DE9F0419E +:1033E000B4B000212D912E912F91309131913291D5 +:1033F00033912791289129912A912B912C919022F8 +:1034000003A8FDF7A9F94023039303A802F0E0FB0A +:10341000002840F09E80504B5A6C42F010025A64D3 +:103420005A6C02F010020292029A1A6B42F00102E8 +:103430001A631B6B03F001030193019B4FF40073AC +:1034400027934FF00208CDF8A08003272997002486 +:103450002A942B9407262C96404D27A9284603F042 +:103460002CFB4FF480632793CDF8A08029972A94F2 +:103470002B942C9627A9284603F01FFB384BD3F832 +:10348000B82022F0F05242F00062C3F8B820D3F81E +:10349000B82022F0C00242F04002C3F8B820D3F8AE +:1034A000B82042F44032C3F8B820D3F8B82022F450 +:1034B0009072C3F8B820D3F8B82022F40072C3F891 +:1034C000B820D3F8B82042F48062C3F8B820D3F80B +:1034D000B82022F4C052C3F8B820D3F8B82022F4A0 +:1034E000C042C3F8B820D3F8CC2022F00402C3F8BD +:1034F000CC201C4BD86822462146C0F30220FDF7A1 +:103500009DFF0001C0B2184B83F8250320225A60AA +:103510004FF4E1332D932E942F9430940C23319358 +:103520003294339404F1804404F588342DA9204664 +:1035300005F030FB636823F490436360A36823F0D5 +:103540002A03A360236843F00103236034B0BDE87D +:10355000F081FFF7A7FE00BF0038024000000240E4 +:103560000064024000ED00E000E100E008B508481A +:10357000084B0360B7234360002383600922C260C5 +:103580000361836104F03EFF00B908BDFFF78AFEC6 +:10359000080400200044014008B50B480B4B0360B1 +:1035A0004FF4E133436000238360C36003610C2266 +:1035B00042618361C3610362436207F03AFE00B96E +:1035C00008BDFFF76FFE00BF34030020007C004001 +:1035D00000B589B0002304930593069307930193E4 +:1035E000029303931348144A0260436083605B2292 +:1035F000C26003614361836104F004FF98B94FF432 +:103600008053049304A90B4805F03EF868B90023E1 +:1036100001930293039301A9064805F0C7F930B955 +:1036200009B05DF804FBFFF73DFEFFF73BFEFFF737 +:1036300039FE00BF540400200004014000B589B0E9 +:103640000023019302930393049305930693079336 +:103650001448154A02600122426083605B22C26006 +:1036600003618023836104F0CDFEA8B90D4804F006 +:10367000F9FE98B9602301935B2302930022039221 +:10368000059201A9074804F055FF48B9054801F023 +:103690004DFB09B05DF804FBFFF704FEFFF702FEE7 +:1036A000FFF700FEBC0300200048014000B58FB0CA +:1036B00000230A930B930C930D930793089309939C +:1036C00000930193029303930493059306931E487A +:1036D0001E4A0260436083602D22C26003618361E1 +:1036E00004F090FE30BB4FF480530A930AA91648A9 +:1036F00004F0CAFF00BB144804F0B4FEF0B9002384 +:103700000793099307A9104805F050F9C0B9602341 +:103710000093162301930023029304930822694621 +:10372000094804F007FF68B9074801F0FFFA0FB035 +:103730005DF804FBFFF7B6FDFFF7B4FDFFF7B2FD40 +:10374000FFF7B0FDFFF7AEFDA00400200008004029 +:1037500000B595B03422002107A8FCF7FDFF002337 +:1037600002930393049305930693244B1A6C42F03F +:1037700080521A641B6C03F080530093009B204B13 +:103780001A6842F440421A601B6803F440430193F4 +:10379000019B012307934FF48033089302230D9379 +:1037A0004FF480020E9219220F924FF4B8721092C9 +:1037B000119308221292139307A801F0B7FEB0B933 +:1037C00002F01EFEA8B90F230293022303930023E5 +:1037D00004934FF4A05305934FF4805306930621AE +:1037E00002A802F019F930B915B05DF804FBFFF733 +:1037F00059FDFFF757FDFFF755FD00BF00380240A8 +:10380000007000402DE9F04385B002F0D3FEFFF7D1 +:103810009FFFFEF78DFCFDF743FEFEF7B7FD00F0BE +:103820004DFEFEF761FFFEF7ADFFFFF73DFDFFF731 +:103830009FFDFEF715FEFEF787FEFEF7EDFEFFF794 +:10384000CDFDFDF71BFEFEF7E9FFFFF72DF8FFF7B3 +:103850008DFEFFF7A1FEFFF7BBFEFFF7EFFEFFF7C0 +:1038600025FFFFF767F8854A3523D362D36A013312 +:103870005B08013BD363D36A9B00033302F5A0329C +:10388000D362D36A01335B08013B53634CE07C4B4A +:103890001B78002B4FD17B4A52E8003F43F48073E2 +:1038A00042E800310029F6D1764A52E8003F43F061 +:1038B000200342E800310029F6D1724A02F10803E0 +:1038C00053E8003F43F00103083242E80031002989 +:1038D000F3D16D4B002283F8252320225A60684BD8 +:1038E00001221A7027E0694B00221A70684B5A684F +:1038F0001A61FEF70DFC674B1B78022B00F08184E8 +:10390000032B00F0B484012B09D1634C0221204623 +:10391000FFF792FC0023237063705E4A13705F4BC5 +:103920001B78012B00F0A5844FF480715C4802F0F5 +:1039300051FD0128ABD05B4B1B780A2BDBD801A2D1 +:1039400052F823F0E738000871390008DB39000825 +:10395000113A0008413A0008513A00086D3A00084F +:10396000D13A0008FD3C0008913D0008253C0008C4 +:103970004D4C0D212046FFF7CBFB4C4B18802046C9 +:10398000FFF7D2FB70B9444A137843F00403137075 +:10399000444B02221A703D4B00221A703D4B01220B +:1039A0001A70A8E7424A136843F04003136002F517 +:1039B0008E32136843F0400313603E4B3E4A3F494A +:1039C0002046FFF729FA3E4B1A683E4B1A60072340 +:1039D000344A13702D4A1370E0E72D4B5A681A6170 +:1039E000FEF796FBFEF7A6FF314A136823F040036B +:1039F000136002F58E32136823F040031360002336 +:103A0000284A1370214A1370224B01221A7072E760 +:103A10002D48FFF7CBFB82B22C4B1A801E490B7846 +:103A200003430B7042B91B4B03221A700023174A41 +:103A300013701C4A13705EE7164B01221A70F5E7EB +:103A4000144B02221A70114B1A78164B1A7052E757 +:103A5000FFF7D2FB104A1378034313700D4B01227A +:103A60001A700A4B1A780F4B1A7044E7094B01225F +:103A70001A70064B1A780B4B1A703CE7000800408E +:103A8000D70200200010014000E100E0FF0200200A +:103A9000C0010020FE020020FC020020D90200200C +:103AA000000002400003002090020020D00200200D +:103AB000003800402C02002060020020700200202C +:103AC000300300202C030020B0020020CE02002092 +:103AD0009C4B5A681A61FEF71BFB9B4B1B689B4A69 +:103AE000126893427FF607AF984A13600120FEF7F1 +:103AF000FFF9974F38810120FEF7FAF9388102204B +:103B0000FEF7F6F9934E30810220FEF7F1F930818D +:103B10000320FEF7EDF90320FEF7EAF938800420D0 +:103B2000FEF7E6F90420FEF7E3F93080DFF858826B +:103B3000012239464046FDF78BFD0146864D28801F +:103B40000320FFF7B7F8DFF83C92022231464846DF +:103B5000FDF77EFD014628800420FFF7ABF83B8986 +:103B60007E4C63803389A380B8F80C100120FFF7E6 +:103B7000A1F8B9F80C100220FFF79CF80020FFF71D +:103B800061F828800120FFF75DF82880E08101209E +:103B9000FFF758F8288020820120FFF753F828808B +:103BA00060820120FFF74EF82880A0820120FFF7F5 +:103BB00049F82880E0820220FFF744F8288003209B +:103BC000FFF740F828800420FFF73CF82880208386 +:103BD0000520FFF737F82880614B1B68614A1360A6 +:103BE000E3801B0C23813B8863813388A3815E4B78 +:103BF000DB7A012B03D05D4B07221A707BE602347F +:103C00000D212046FFF784FA0346594A1080A01E72 +:103C10008383FFF7ADFA0346288056490A78134399 +:103C20000B70E8E7544C03212046FFF771FAE38854 +:103C300098420CD04F4A137843F0040313704F4B53 +:103C400001221A70494B1A784D4B1A7053E623889B +:103C50006588A48803F00107C3F3400613F0040F3E +:103C600010D106B102265FFA85F8C5F30329254372 +:103C700025D0B8F1000F1CD0B8F13F0F1BD94FF081 +:103C80003F0818E004F00F04334622462946384620 +:103C9000FDF7A6FF374B587023462A463946FDF7F5 +:103CA000A9FE0028CBD0334A137863F07F0313704A +:103CB000C5E74FF0010844B94FF6FF7405E04FF631 +:103CC000FF744FF002094FF0010800944B46424642 +:103CD00039463046FEF71EF8264B58700194CDF851 +:103CE0000090434632463946FDF70DFF0028A6D026 +:103CF000204A137863F07F031370A0E71E48FFF794 +:103D000013FA70B91B4A137843F0040313701C4B69 +:103D100002221A70154B00221A70184B01221A70D9 +:103D2000E9E5114B174A18491348FDF7DDFB0C4B29 +:103D30001A68164B1A600923114A13700B4A137044 +:103D4000EBE700BFC001002018030020140300208F +:103D50000C02002000020020CE020020B002002051 +:103D600030030020280300202C020020FF02002046 +:103D7000D0020020FC02002090020020FE02002061 +:103D80000003002060020020700200202C030020AD +:103D9000864B1B78012B23D0022B00F03181844B02 +:103DA0001B68844A1268934200F2D881824B1B78C8 +:103DB000002BFBD0FEF7ACF97C4BDB8A032B0BD935 +:103DC0007E4B1A687E4BDA60784B1B7D7D4AA2FBE6 +:103DD0000323DB087C4A13607C4B09221A708AE5B6 +:103DE000724BD3ED077AFCEEE77A17EE903A99B270 +:103DF0000220FEF75FFF0320FEF77AF80320FEF7AC +:103E000077F8734C20800420FEF772F80420FEF748 +:103E10006FF8704D2880012221466F48FDF718FC8D +:103E200001466E4C20800320FEF744FF0222294603 +:103E30006B48FDF70DFC014620800420FEF73AFF99 +:103E4000684C01228021204602F0CBFA002280211A +:103E5000204602F0C6FA5A4804F020F9002875D12D +:103E6000524B93ED027AD3ED047A37EE677AD3EDB5 +:103E7000036AC7EE267AB2EE047A67EE877AFCEE22 +:103E8000E77ACDED037A9DF80C60DFF868910021A8 +:103E9000484604F035FDDFF860810821404604F013 +:103EA0002FFD514F3B6823F008033B604F4D2B68BB +:103EB00023F008032B6000247C626C622146484694 +:103EC00004F072FC0821404604F06EFCEB6A143BDF +:103ED0006B627C622546354BD3ED047A93ED027A12 +:103EE000F4EEC77AF1EE10FA37D5334B1B78002B7E +:103EF000F1D0FCEEE77A17EE903A99B20120FEF786 +:103F0000D9FE2A4BD3ED047A93ED037A77EE877AC4 +:103F1000C3ED047A0027364B1F60274B1F70DFF874 +:103F2000DC8001224FF40071404602F05AFA3A4612 +:103F30004FF40071404602F054FAB4FBF6F306FB6E +:103F400013439BB21BB10134A4B2C4E7FEE7E8B24D +:103F5000FDF73CFF0135ADB2F5E7234AD36843F0E6 +:103F60000103D360FEF7D4F8104CD4ED017AC4ED10 +:103F7000047AFCEEE77A17EE903A99B20120FEF748 +:103F800099FEE38A032B0CD90D4AD0680B490860CF +:103F900042F20F71D160013B642202FB03F30A4A33 +:103FA0001360074804F07AF8F9E600BFC00100206A +:103FB0001803002014030020D60200200403002070 +:103FC00008040020CDCCCCCC08030020FF02002048 +:103FD0000C0200200002002070020020CE0200200F +:103FE00060020020000C0240004801400008004030 +:103FF0000C030020BC030020A00400200018024095 +:10400000A74BD3ED077AFCEEE77A17EE903A99B218 +:104010000120FEF74FFE0320FDF76AFF0320FDF7A6 +:1040200067FFA04C20800420FDF762FF0420FDF70D +:104030005FFF9D4D2880012221469C48FDF708FB2B +:1040400001469B4C20800320FEF734FE02222946C5 +:104050009848FDF7FDFA014620800420FEF72AFE6D +:10406000954B02221A7000229A721A814FF47A72CA +:104070001A81924A5A6080225A80914B42F2107201 +:10408000DA62904804F00AF878BB012280218E4859 +:1040900002F0A7F942F21073013BFDD1002280210A +:1040A000894802F09EF9844B02229A72874803F0F5 +:1040B000F5FFD8B97A4BD3ED047A93ED027AF4EE9A +:1040C000C77AF1EE10FA12D5814B1B78002BF1D094 +:1040D000734B93ED037A77EE277AC3ED047A0023CE +:1040E0007C4A13607A4A1370E4E7FEE7FEE77748FC +:1040F00003F0BFFF744C01228021204602F071F9C9 +:1041000000228021204602F06CF96E4804F00EF87F +:104110006B4B00225A62FDF7FBFF614CD4ED017A34 +:10412000C4ED047AFCEEE77A17EE903A99B20220D9 +:10413000FEF7C0FDE38A032B0CD9644AD0686649B8 +:10414000086042F20F71D160013B642202FB03F36D +:10415000624A13605D4803F0A1FF20E6604A1360E5 +:104160000120FDF7C5FE4F4E30810120FDF7C0FE56 +:1041700030810220FDF7BCFE4B4F38810220FDF755 +:10418000B7FE38813389574C6380A0800020FEF74A +:1041900059FD474D28800120FEF754FD2880E0811D +:1041A0000120FEF74FFD288020820120FEF74AFD06 +:1041B000288060820120FEF745FD2880A082012032 +:1041C000FEF740FD2880E0820220FEF73BFD2880BC +:1041D0000320FEF737FD28800420FEF733FD2880FA +:1041E00020830520FEF72EFD28803F4B1B683F4AA9 +:1041F0001360E3801B0C2381338863813B88A38198 +:10420000D4E53B4C0D212046FEF782FF394B188048 +:10421000608300230BE0334A32F8132059003648FC +:1042200000F813200131120A425401339BB20E2BC5 +:10423000F1D91E20FFF716F8304B00221A70FFF755 +:104240006EBB284A32F8132059002B4800F813207F +:104250000131120A425401339BB20E2BF1D91E20B8 +:10426000FFF700F8254B00221A70FFF758BB002318 +:10427000F3E71D4B1B68224A12689B1A642B7FF6DA +:1042800053AB00221F4B1A801F490B7843F00203E7 +:104290000B701A4B012119701C4B1A70FFF744BBAD +:1042A000C00100200C02002000020020700200204B +:1042B000CE02002060020020F40100200004024031 +:1042C0000004014054040020000C024008040020B7 +:1042D000D60200200C030020040300200803002065 +:1042E00014030020B0020020300300202803002027 +:1042F000B2020020D0020020DC020020FE020020DA +:1043000024030020D4020020FC020020D902002057 +:1043100000B583B0009313460A460146034803F0F4 +:10432000D5F800B1012003B05DF804FBEC040020D7 +:1043300000B583B0009313460A460146034803F0D4 +:10434000E9F900B1012003B05DF804FBEC040020A2 +:1043500008B5034803F01CFD043818BF012008BD50 +:10436000EC04002008B50146014803F09EFC08BD9E +:10437000EC04002000B583B001238DF8073000F075 +:10438000ADF810B900238DF807309DF8070003B091 +:104390005DF804FB38B5FFF7EDFF012802D00225D8 +:1043A000284638BD0446074803F064FC054600284B +:1043B000F6D14FF40061034803F08AFC0028EFD0E7 +:1043C0002546EDE7EC04002008B5074B01221A70E2 +:1043D000FFF7BEFF20B9044A137803F0FE03137001 +:1043E000014B187808BD00BF5000002010B50446EE +:1043F000074B01221A70FFF7CDFF10B1044B18785C +:1044000010BD2046FFF7E0FF014B1870F6E700BF34 +:104410005000002008B5FFF7D7FF08BD08B50846D3 +:1044200011461A464FF0FF33FFF772FF30B9FFF71E +:104430008FFF03460028FAD1184608BD0123FBE789 +:1044400008B5084611461A464FF0FF33FFF770FFD4 +:1044500030B9FFF77DFF03460028FAD1184608BDA2 +:104460000123FBE730B589B0134B187810F0010435 +:104470001BD1154603291CD8DFE801F002040A10FD +:104480000C4613E06846FFF76DFF069B2B600DE0BE +:104490006846FFF767FF079B2B8007E06846FFF73A +:1044A00061FF079B5B0A2B6000E00324204609B0F4 +:1044B00030BD0424FAE700BF5000002008B50349CE +:1044C000034806F0B3FB034B187008BD000600203C +:1044D0003CB60008040600200020704708B5012102 +:1044E000034801F077FF08B9012008BD0020FCE770 +:1044F000000C0240FEE7FEE7FEE7FEE7FEE770473E +:104500007047704708B502F061F808BD08B5034868 +:1045100000F07DFE024800F07AFE08BDB8050020DC +:104520007005002008B5084A136801331360074A74 +:104530001268934203D0064803F017FE08BD054BEE +:1045400001221A70F7E700BF0C03002008030020C7 +:1045500008040020D602002008B5094B1A6842F072 +:1045600008021A6007490A6842F008020A60DA681D +:1045700022F00102DA60044803F0F7FD08BD00BF35 +:104580000048014000080040BC03002070470000C4 +:1045900010B5114B9B7A022B0ED0032B18D10021A2 +:1045A0000220FEF787FB0C4C00226188606801F056 +:1045B00018FF0223A3720BE0074C21890220FEF7AB +:1045C00079FB01226188606801F00BFF0323A3726D +:1045D000024803F0CAFD10BDF4010020540400207D +:1045E0007047000008B5094B1B6913F0010F0BD091 +:1045F000064B6FF001021A61054A1368013313601C +:104600000221044801F0F3FE08BD00BF0010004085 +:1046100030030020000C0240064B1B6913F0010F11 +:1046200007D0044B6FF001021A61034A136801338B +:1046300013607047001400401803002010B49B4B17 +:104640005A6AD2B29A4B1A709A4B1B881F2B00F2EF +:104650006481DFE813F020002F0062016201620133 +:1046600062016201620162019E00620162016201F7 +:104670006201620162016201620162016201620122 +:104680006201620162016201620162016201620112 +:10469000D800620112018849086888490860884981 +:1046A0000120087087490A800344824A13805DF81C +:1046B000044B704783490B8803EB02239BB20B80AA +:1046C00045F25552934245D022D843F233329342B9 +:1046D00037D010D841F2111293422ED042F222224A +:1046E000934248D10023734A1380754A1370764B66 +:1046F00002221A70DBE744F2444293423BD100238A +:104700006C4A13806E4A13706F4B04221A70CEE706 +:1047100047F27772934226D048F68802934226D019 +:1047200046F26662934226D10023624A1380644AAD +:104730001370654B06221A70B9E75E4B02221A808D +:10474000B5E700235B4A13805D4A13705E4B03227A +:104750001A70ACE70023574A1380594A13705A4B1A +:1047600005221A70A3E7534B02221A809FE7514B90 +:1047700002221A809BE700234E4A1380504A13708E +:10478000524A137843F0020313704F4B02221A70FF +:104790008DE74C49088848F68801884212D013F00A +:1047A000010F2AD059080139494C34F8110000EBA7 +:1047B000022224F8112001333E4A1380454B002287 +:1047C0001A7074E713F0010F11D05B08013B4048E9 +:1047D00030F8131001EB022220F813203A4B0A2282 +:1047E0001A700023334A1380354A13705FE75B0861 +:1047F000013B374921F81320F0E7590801393448C3 +:1048000020F81120D7E72F49088841F2111188427A +:1048100012D013F0010F2AD0590801392C4C34F86A +:10482000110000EB022224F811200133214A1380E9 +:10483000284B00221A703AE713F0010F11D05B08E1 +:10484000013B234830F8131001EB022220F813201B +:104850001D4B01221A700023164A1380184A137048 +:1048600025E75B08013B1A4921F81320F0E75908B6 +:104870000139174820F81120D7E71249088847F274 +:104880007771884228D013F0010F40D059080139C0 +:104890000F4C34F8110000EB022224F811200133F0 +:1048A000044A13800B4B00221A7000E700100140ED +:1048B00001030020D4020020300300202403002044 +:1048C000D9020020D202002000030020FC020020B8 +:1048D00090020020FE02002013F0010F11D05B08AF +:1048E000013B1A4830F8131001EB022220F8132084 +:1048F000174B08221A700023164A1380164A1370A9 +:10490000D5E65B08013B114921F81320F0E759086F +:1049100001390E4820F81120C1E713F0010F0FD024 +:1049200059080139094C34F8110000EB022224F82F +:1049300011200133074A1380084B00221A70B6E693 +:1049400059080139014820F81120F2E790020020AF +:1049500000030020D4020020D9020020FE02002023 +:1049600000B583B0304BDB6913F0200F07D02E4B1E +:104970001B6813F0200F02D0FFF760FE33E02A4BD4 +:10498000DB6913F0080F25D1274BDB6913F0020F09 +:104990002CD1254BDB6913F0040F31D1224BDB699D +:1049A00013F0010F36D1214BDB6913F0400F1AD001 +:1049B0001E4B1B6813F0400F15D01B4B40221A6290 +:1049C000194A52E8003F23F0400342E80031002931 +:1049D000F6D108E0144B5B6A9DF8072052FA83F386 +:1049E000DBB28DF8073003B05DF804FB0E4B5B6A59 +:1049F0009DF8072052FA83F3DBB28DF80730F2E717 +:104A0000094B5B6A9DF8072052FA83F3DBB28DF8FD +:104A10000730E8E7044B5B6A9DF8072052FA83F3FE +:104A2000DBB28DF80730DEE70010014000140140D2 +:104A3000024B4FF00062DA60704700BF0064024032 +:104A400008B50A4B5B6813F0006F09D1074B5B6830 +:104A500013F0007F03D0054B4FF00072DA6008BD01 +:104A6000FFF7E6FF024B00221A70F8E700640240ED +:104A7000D802002082B00A4B1A6C42F080521A64AD +:104A80001A6C02F080520092009A5A6C42F48042F2 +:104A90005A645B6C03F480430193019B02B070473E +:104AA0000038024030B58DB0002307930893099376 +:104AB0000A930B930368384A934204D0374A9342CF +:104AC00046D00DB030BD364B5A6C42F480725A64F9 +:104AD0005A6C02F480720192019A1A6B42F004023D +:104AE0001A631A6B02F004020292029A1A6B42F0E5 +:104AF00001021A631A6B02F001020392039A1A6B05 +:104B000042F002021A631B6B03F002030493049B3E +:104B100003240794089407A9224801F059FB0423B1 +:104B2000079308940025099507A91F4801F050FB39 +:104B300007940894099507A91C4801F049FB2A46E7 +:104B40002946122001F0DEFC122001F0EBFCB8E750 +:104B5000134B5A6C42F480625A645A6C02F48062BD +:104B60000592059A1A6B42F020021A631B6B03F040 +:104B700020030693069B202307930323089307A98A +:104B80000B4801F025FB00221146122001F0BAFC6F +:104B9000122001F0C7FC94E70020014000220140F0 +:104BA00000380240000802400000024000040240B9 +:104BB00000140240F0B5ADB00446002127912891C1 +:104BC00029912A912B91902203A8FBF7C5FD226819 +:104BD000224B9A4201D02DB0F0BD4FF42003039335 +:104BE00003A800F0F5FF002835D11D4B5A6C42F4A4 +:104BF00000625A645A6C02F400620092009A1A6BC6 +:104C000042F004021A631A6B02F004020192019A44 +:104C10001A6B42F008021A631B6B03F0080302933D +:104C2000029B4FF4F85327930227289700262996D2 +:104C300003252A950C242B9427A90A4801F0C8FAC9 +:104C400004232793289729962A952B9427A9064869 +:104C500001F0BEFABFE7FEF725FBC6E7002C0140D6 +:104C60000038024000080240000C024000B585B048 +:104C70000368294A93420BD0284A934213D0284A0A +:104C8000934223D0274A934233D005B05DF804FB0A +:104C9000254B1A6C42F004021A641B6C03F00403E7 +:104CA0000093009BF1E7204B5A6C42F002025A64D9 +:104CB0005B6C03F002030193019B002211462C2040 +:104CC00001F020FC2C2001F02DFCDEE7164B5A6C85 +:104CD00042F400325A645B6C03F400330293029B8B +:104CE00000221146192001F00DFC192001F01AFCD8 +:104CF000CBE70D4B5A6C42F480225A645B6C03F490 +:104D000080230393039B002211461A2001F0FAFB33 +:104D10001A2001F007FCB8E7000800400004014039 +:104D200000440140004801400038024000B589B00D +:104D300000230393049305930693079303681A4A89 +:104D4000934205D0194A934217D009B05DF804FB8D +:104D5000174B1A6B42F002021A631B6B03F002033B +:104D60000193019B4FF480730393022304930793F1 +:104D700003A9104801F02CFAE7E70D4B1A6B42F03B +:104D800002021A631B6B03F002030293029B4FF4AF +:104D900000730393022304930323079303A9054895 +:104DA00001F016FAD1E700BF0008004000480140BA +:104DB000003802400004024010B5ACB004460021A7 +:104DC0002791289129912A912B91902203A8FBF7F2 +:104DD000C3FC2268174B9A4201D02CB010BD4FF48F +:104DE0000053039303A800F0F3FE00BB124B1A6CB0 +:104DF00042F000421A641A6C02F000420192019AD9 +:104E00001A6B42F010021A631B6B03F0100302933B +:104E1000029B0323279302222892002229922A939D +:104E200008232B9327A9054801F0D2F9D5E7FEF70F +:104E300039FADBE7007C00400038024000100240F5 +:104E40004A4B5A6822F440325A605A6841680A4311 +:104E50005A600268536823F4807353600268536891 +:104E6000016943EA012353600268536823F04073E9 +:104E700053600268536881680B435360026893680B +:104E800023F40063936002689368C1680B439360E6 +:104E9000826A374B9A4257D00268936823F0706356 +:104EA000936002689368816A0B4393600268936819 +:104EB00023F04053936002689368C16A0B43936088 +:104EC0000268936823F00203936002689368816923 +:104ED00043EA4103936090F82030002B3FD00268F2 +:104EE000536843F4006353600268536823F46043DB +:104EF000536001684B68426A013A43EA42334B60AF +:104F00000268D36A23F47003D3620168CB6AC26972 +:104F1000013A43EA0253CB620268936823F40073B8 +:104F200093600268936890F8301043EA41239360DD +:104F30000268936823F48063936002689368416910 +:104F400043EA8123936070470268936823F070639B +:104F500093600268936823F040539360B0E702685F +:104F6000536823F400635360CAE700BF0023014085 +:104F70000100000F28B310B50446036C43B1236C45 +:104F800013F0100F0BD00120002384F83C3010BD2B +:104F9000FFF788FD0023636484F83C30EFE7226C60 +:104FA000094B134043F0020323642046FFF748FFF8 +:104FB00000206064236C23F0030343F001032364A7 +:104FC000E2E70120704700BFFDEEFFFF82B0002343 +:104FD000019390F83C30012B7ED0012380F83C30C7 +:104FE00003689A6812F0010F13D19A6842F0010227 +:104FF0009A603D4B1B683D4AA2FB03239B0C03EBCD +:105000004303019302E0019B013B0193019B002BB1 +:10501000F9D103689A6812F0010F52D0016C344A3A +:105020000A4042F4807202645A6812F4806F05D01C +:10503000026C22F4405242F480520264026C12F478 +:10504000805F19D0426C22F006024264002280F890 +:105050003C206FF022021A60264B5B6813F01F0F92 +:105060000DD103689A6812F0405F37D19A6842F018 +:1050700080429A6000202DE000224264E6E7036847 +:105080001D4A93420AD01B4B5B6813F0100F27D1C7 +:1050900003681A4A93420AD000201BE09A6812F073 +:1050A000405FF0D19A6842F080429A60EBE79A68DC +:1050B00012F0405F16D19A6842F080429A60002058 +:1050C00008E0036C43F010030364436C43F00103F6 +:1050D0004364002002B070470220FBE70020F9E79C +:1050E0000020F7E70020F5E75800002083DE1B438F +:1050F000FEF8FFFF00230140002001400022014094 +:1051000090F83C30012B17D0012380F83C30026826 +:10511000936823F00103936003689B6813F0010F09 +:1051200005D1026C054B134043F0010303640023D7 +:1051300080F83C301846704702207047FEEEFFFFB3 +:1051400070B504460D4603689A6812F4806F03D068 +:105150009B6813F4807F19D101F044FA0646236856 +:105160001A6812F0020F20D1B5F1FF3FF7D0B5B9A0 +:1051700023681B6813F0020FF1D1236C43F0040382 +:105180002364002384F83C30032033E0036C43F0B5 +:1051900020030364002380F83C3001202AE001F062 +:1051A00021FA801BA842DAD9E2E76FF012021A60F6 +:1051B000236C43F40073236423689A6812F0405F01 +:1051C00017D1A269BAB9DA6A12F4700F03D09B68DA +:1051D00013F4806F11D1236C23F480732364236C48 +:1051E00013F4805F0BD1236C43F001032364002090 +:1051F00000E0002070BD0020FCE70020FAE700205E +:10520000F8E70368D86C704770477047704770B50F +:10521000044603681E685D68C5F3401212EA560230 +:105220002CD0026C12F0100F03D1026C42F4007209 +:1052300002649A6812F0405F19D1A269BAB9DA6AB9 +:1052400012F4700F03D09A6812F4806F0FD15A686D +:1052500022F020025A60236C23F480732364236CB1 +:1052600013F4805F03D1236C43F0010323642046D1 +:10527000FFF7CAFF23686FF012021A60C5F3C0136C +:1052800013EA960335D0236C13F0100F03D1236C6F +:1052900043F40053236423689A6812F4401F21D119 +:1052A0009A6B12F4401F03D09A6812F4806F19D1E0 +:1052B0005A6812F4806F15D19A6812F0405F11D1CC +:1052C000A2697AB95A6822F080025A60236C23F4EA +:1052D00080532364236C13F4807F03D1236C43F049 +:1052E00001032364204600F01FF923686FF00C02CD +:1052F0001A60C5F380131E4204D023681B6813F0A4 +:10530000010F05D1C5F3806515EA56150CD170BDA6 +:10531000236C43F4803323642046FFF776FF236831 +:105320006FF001021A60EDE7636C43F002036364FF +:1053300023686FF020051D602046FFF767FF236894 +:105340001D60E4E730B482B00022019290F83C2066 +:10535000012A00F0DC800346012280F83C200A6824 +:10536000B2F1004F18BF092A22D90468E06892B24E +:1053700002EB42021E3A4FF0070C0CFA02F220EA4E +:105380000202E2600A68634882420AD01D68E86847 +:105390008C6892B202EB42021E3A94402043E860CD +:1053A0001CE01868C2688C6842EA0462C26015E0BA +:1053B0000468206992B202EB42024FF0070C0CFA2B +:1053C00002F220EA020222611C6820690A8802EBCC +:1053D00042028D6805FA02F2024322614A68062AF7 +:1053E00029D81C68606B02EB8202053A4FF01F0C53 +:1053F0000CFA02F220EA020262631C68606B4A68DF +:1054000002EB8202053AB1F800C00CFA02F2024344 +:1054100062631868404A90423DD018683E4A904204 +:1054200043D018683C4A90424CD0002083F83C009E +:1054300002B030BC70470C2A16D81D68286B02EBEE +:105440008202233A1F2404FA02F220EA02022A63AB +:105450001D68286B4A6802EB8202233A0C8804FA22 +:1054600002F202432A63D4E71D68E86A02EB820273 +:10547000413A1F2404FA02F220EA0202EA621D689D +:10548000E86A4A6802EB8202413A0C8804FA02F2A6 +:105490000243EA62BDE70A68B2F1004FBDD11F487E +:1054A000426822F440024260B7E70A68122AB8D183 +:1054B0001A4A506820F400005060506840F48000A0 +:1054C0005060AEE70A681348112A18BF8242ACD177 +:1054D000124A506820F480005060506840F4000088 +:1054E000506009680B4A91429FD10D4A12680D49DC +:1054F000A1FB0212920C02EB82025200019202E026 +:10550000019A013A0192019A002AF9D18DE702200D +:105510008EE700BF12000010002001400023014070 +:105520005800002083DE1B4370470000002800F075 +:10553000068270B582B00446036813F0010F29D0CB +:10554000954B9B6803F00C03042B1AD0924B9B687D +:1055500003F00C03082B0FD06368B3F5803F40D0F5 +:10556000002B54D18C4B1A6822F480321A601A68CE +:1055700022F480221A6039E0874B5B6813F4800FB5 +:10558000EAD0854B1B6813F4003F03D06368002BFF +:1055900000F0D781236813F0020F74D07E4B9B6814 +:1055A00013F00C0F5ED07C4B9B6803F00C03082BB0 +:1055B00053D0E368002B00F08980774A136843F0EA +:1055C0000103136001F00EF80546734B1B6813F0DE +:1055D000020F72D101F006F8401B0228F5D9032012 +:1055E000B4E16D4A136843F48033136063682BB3EE +:1055F00000F0F8FF0546684B1B6813F4003FC9D163 +:1056000000F0F0FF401B6428F5D903209EE1B3F5BC +:10561000A02F09D0604B1A6822F480321A601A68F1 +:1056200022F480221A60E1E75B4B1A6842F4802280 +:105630001A601A6842F480321A60D7E700F0D2FF8D +:105640000546554B1B6813F4003FA3D000F0CAFF7A +:10565000401B6428F5D9032078E14F4B5B6813F4B5 +:10566000800FA6D14C4B1B6813F0020F03D0E368E8 +:10567000012B40F06881484A136823F0F803216940 +:1056800043EAC1031360236813F0080F46D063692F +:1056900083B3414A536F43F00103536700F0A2FF05 +:1056A00005463D4B5B6F13F0020F37D100F09AFFB8 +:1056B000401B0228F5D9032048E1374A136823F03C +:1056C000F803216943EAC1031360DCE7324A136837 +:1056D00023F00103136000F085FF05462E4B1B6885 +:1056E00013F0020FCFD000F07DFF401B0228F5D948 +:1056F00003202BE1284A536F23F00103536700F086 +:1057000071FF0546244B5B6F13F0020F06D000F0CB +:1057100069FF401B0228F5D9032017E1236813F025 +:10572000040F7DD01C4B1B6C13F0805F1ED11A4BF5 +:105730001A6C42F080521A641B6C03F08053019380 +:10574000019B0125154B1B6813F4807F10D0A368C3 +:10575000012B25D0002B3BD10F4B1A6F22F00102F9 +:105760001A671A6F22F004021A671EE00025E9E7A3 +:105770000A4A136843F48073136000F033FF06464F +:10578000064B1B6813F4807FE1D100F02BFF801BD8 +:105790006428F5D90320D9E00038024000700040A9 +:1057A000724A136F43F001031367A36833B300F029 +:1057B00019FF06466D4B1B6F13F0020F2FD100F03F +:1057C00011FF801B41F288339842F3D90320BDE0DA +:1057D000052B09D0654B1A6F22F001021A671A6F68 +:1057E00022F004021A67E0E7604B1A6F42F00402ED +:1057F0001A671A6F42F001021A67D6E700F0F2FE4C +:1058000006465A4B1B6F13F0020F08D000F0EAFE59 +:10581000801B41F288339842F3D9032096E0FDB90A +:10582000A369002B00F09180504A926802F00C02AC +:10583000082A59D0022B19D04C4A136823F08073E0 +:10584000136000F0CFFE0446484B1B6813F0007F46 +:1058500048D000F0C7FE001B0228F5D9032075E0F0 +:10586000424A136C23F080531364D9E73F4A13680C +:1058700023F08073136000F0B5FE05463B4B1B68B8 +:1058800013F0007F06D000F0ADFE401B0228F5D9D2 +:1058900003205BE0E369226A1343626A43EA8213EE +:1058A000A26A5208013A43EA0243E26A43EA026307 +:1058B000226B43EA02732D4A5360136843F08073EE +:1058C000136000F08FFE0446284B1B6813F0007F26 +:1058D00006D100F087FE001B0228F5D9032035E031 +:1058E000002033E0002031E0204A5268012B2FD005 +:1058F00002F48003E1698B422CD102F03F03216A5C +:105900008B4229D1616A47F6C0731340B3EB811F04 +:1059100024D102F44031A36A5B08013BB1EB034F91 +:105920001ED102F07063E16AB3EB016F1AD102F08D +:10593000E042236BB2EB037F16D1002006E001208A +:105940007047012002E0012000E0002002B070BD9D +:105950000120FBE70120F9E70120F7E70120F5E747 +:105960000120F3E70120F1E70120EFE700380240D2 +:1059700008B5264B9B6803F00C03042B41D0082B81 +:1059800041D1224B5A6802F03F025B6813F4800F4A +:1059900012D01E4B5968C1F388111D480023A1FB8A +:1059A0000001FBF7D3FB194B5B68C3F301430133E1 +:1059B0005B00B0FBF3F008BD144B5868C0F38810CF +:1059C0004FEA401CBCEB000C6EEB0E0E4FEA8E1340 +:1059D00043EA9C634FEA8C11B1EB0C0163EB0E03BD +:1059E000DB0043EA5173C90011EB000C43F10003E3 +:1059F000990200234FEA8C2041EA9C51FBF7A6FB59 +:105A0000D1E70348D7E70348D5E700BF0038024095 +:105A100040787D010024F400002800F0A08070B5DB +:105A20000D460446524B1B6803F00F038B420BD20A +:105A30004F4A136823F00F030B431360136803F0FE +:105A40000F038B4240F08D80236813F0020F17D0B4 +:105A500013F0040F04D0474A936843F4E053936073 +:105A6000236813F0080F04D0424A936843F460435C +:105A70009360404A936823F0F003A1680B4393605E +:105A8000236813F0010F31D06368012B20D0022B63 +:105A900025D0384A126812F0020F64D035498A685E +:105AA00022F0030213438B6000F09CFD0646314B4D +:105AB0009B6803F00C036268B3EB820F16D000F012 +:105AC00091FD801B41F288339842F0D9032045E0D4 +:105AD000284A126812F4003FE0D101203EE0254A36 +:105AE000126812F0007FD9D1012037E0204B1B68EB +:105AF00003F00F03AB420AD91D4A136823F00F03CA +:105B00002B431360136803F00F03AB422DD12368BE +:105B100013F0040F06D0174A936823F4E053E168AA +:105B20000B439360236813F0080F07D0114A936862 +:105B300023F46043216943EAC1039360FFF718FF30 +:105B40000C4B9B68C3F303130B4AD35CD8400B4B3D +:105B500018600B4B186800F007FD002070BD012095 +:105B600070470120FAE70120F8E70120F6E700BFBF +:105B7000003C02400038024058B60008580000209F +:105B800054000020014B1868704700BF58000020E7 +:105B900008B5FFF7F7FF044B9B68C3F38223034A62 +:105BA000D35CD84008BD00BF0038024050B60008A2 +:105BB00008B5FFF7E7FF044B9B68C3F34233034A82 +:105BC000D35CD84008BD00BF0038024050B6000882 +:105BD000F0B583B00446066816F001060DD0B54B4B +:105BE0009A6822F400029A609A68416B0A439A60AC +:105BF000436B002B00F067810026256815F4002513 +:105C000011D0AC4AD2F88C3023F44013E16B0B4333 +:105C1000C2F88C30E36BB3F5801F00F05681002B87 +:105C200000F055810025236813F4801F0FD0A14A8E +:105C3000D2F88C3023F44003216C0B43C2F88C3033 +:105C4000236CB3F5800F00F0448103B9012523686C +:105C500013F0807F00D0012613F0200F40F03B812D +:105C6000236813F0100F0CD0924BD3F88C2022F045 +:105C70008072C3F88C20D3F88C20A16B0A43C3F840 +:105C80008C20236813F4804F08D08A4AD2F89030D1 +:105C900023F44033616E0B43C2F89030236813F451 +:105CA000004F08D0834AD2F8903023F44023A16EED +:105CB0000B43C2F89030236813F4803F08D07D4A2C +:105CC000D2F8903023F44013E16E0B43C2F89030C9 +:105CD000236813F4003F08D0764AD2F8903023F4BA +:105CE0004003216F0B43C2F89030236813F0400F3C +:105CF00008D0704AD2F8903023F00303616C0B4354 +:105D0000C2F89030236813F0800F08D0694AD2F8A7 +:105D1000903023F00C03A16C0B43C2F89030236841 +:105D200013F4807F08D0634AD2F8903023F0300318 +:105D3000E16C0B43C2F89030236813F4007F08D065 +:105D40005C4AD2F8903023F0C003216D0B43C2F8B7 +:105D50009030236813F4806F08D0564AD2F8903000 +:105D600023F44073616D0B43C2F89030236813F441 +:105D7000006F08D04F4AD2F8903023F44063A16DF1 +:105D80000B43C2F89030236813F4805F08D0494A6F +:105D9000D2F8903023F44053E16D0B43C2F89030B9 +:105DA000236813F4005F08D0424AD2F8903023F4FD +:105DB0004043216E0B43C2F89030236813F4800FE8 +:105DC00008D03C4AD2F8903023F08063A16F0B4397 +:105DD000C2F89030236813F4001F0DD0354AD2F872 +:105DE000903023F00063E16F0B43C2F89030E36F13 +:105DF000B3F1006F00F0D580236813F0080F00D0D6 +:105E0000012513F4802F08D02A4AD2F8903023F0CD +:105E10004073616F0B43C2F89030236813F4000F96 +:105E200009D0244AD2F8903023F08053D4F880105F +:105E30000B43C2F89030236813F0806F09D01D4ADD +:105E4000D2F8903023F00053D4F884100B43C2F8FA +:105E50009030236813F0006F09D0164AD2F88C30C6 +:105E600023F00073D4F888100B43C2F88C302368F9 +:105E700013F0805F09D00F4AD2F88C3023F0806392 +:105E8000D4F88C100B43C2F88C3026B9236813F079 +:105E9000007F00F00681074A136823F080631360D7 +:105EA00000F0A0FB0646034B1B6813F0006F7AD08E +:105EB00002E000BF0038024000F094FB801B642821 +:105EC000F1D90320F0E0012697E60126A7E6012597 +:105ED000A9E60126B9E67F4B1A6C42F080521A649B +:105EE0001B6C03F080530193019B7B4A136843F4BE +:105EF0008073136000F076FB0746774B1B6813F442 +:105F0000807F06D100F06EFBC01B6428F5D903200A +:105F1000CAE0704B1B6F13F4407315D0226B02F470 +:105F200040729A4210D06B4B1A6F22F44072196F74 +:105F300041F480311967196F21F4803119671A67AC +:105F40001B6F13F0010F12D1236B03F44072B2F5F3 +:105F5000407F1DD05F4A936823F4F81393605D4936 +:105F60000B6F226BC2F30B0213430B6778E600F052 +:105F700039FB0746574B1B6F13F0020FE4D100F0BB +:105F800031FBC01B41F288339842F3D903208BE0E8 +:105F90005048826822F4F812504919400A4382603E +:105FA000DDE7012528E7236813F0010F13D0636BA9 +:105FB0008BB9484AD2F88430D2F88410606803F470 +:105FC000403343EA801301F070610B43A16843EA58 +:105FD0000173C2F88430236813F4002F03D0E26BFE +:105FE000B2F5801F06D013F4801F1ED0236CB3F5CA +:105FF000800F1AD1374AD2F88430D2F88410606802 +:1060000003F4403343EA8013E06843EA006301F09D +:10601000E0410B43C2F88430D2F88C3023F01F03E8 +:10602000616A01390B43C2F88C30236813F0807F1A +:1060300011D0284AD2F88400D2F884106668236907 +:106040001B0443EA861300F07060034301F0E04153 +:106050000B43C2F88430236813F0007F0DD06268D0 +:1060600023691B0443EA8213E26843EA0263A268DD +:1060700043EA0273174AC2F88430164A136843F0A1 +:106080008063136000F0AEFA0646124B1B6813F0F3 +:10609000006F06D100F0A6FA801B6428F5D9032012 +:1060A00002E0012D02D0002003B0F0BD094A1368C0 +:1060B00023F08053136000F095FA0546054B1B68EA +:1060C00013F0005F0CD000F08DFA401B6428F5D966 +:1060D0000320E9E70038024000700040FFFCFF0F9A +:1060E000236813F4002F01D0E26B22B113F4801F58 +:1060F0001DD0236CDBB9354AD2F88830D2F888102D +:10610000606903F4403343EA8013A06943EA006303 +:1061100001F0E0410B43C2F88830D2F88C3023F410 +:10612000F853A16A013943EA0123C2F88C3023688D +:1061300013F4001F03D0E36FB3F1006F31D0236875 +:1061400013F0080F19D0214AD2F88810D2F88830FD +:10615000606903F4403343EA801301F070610B433C +:10616000E16943EA0173C2F88830D2F88C3023F435 +:106170004033E16A0B43C2F88C30144A136843F091 +:106180008053136000F02EFA0446104B1B6813F086 +:10619000005F19D100F026FA001B6428F5D903200E +:1061A00082E70A4AD2F88800D2F888106569236A23 +:1061B0001B0443EA851300F07060034301F0E041E3 +:1061C0000B43C2F88830BAE700206DE70038024080 +:1061D00000230F2B00F2F48070B582B066E0856872 +:1061E0004FEA430E032404FA0EF425EA0405CC68B2 +:1061F00004FA0EF42C438460446824EA02044A68DA +:10620000C2F300129A40224342605DE0DC08083489 +:1062100050F8242003F00705AD004FF00F0E0EFAE2 +:1062200005FE22EA0E0E0A69AA4042EA0E0240F872 +:1062300024205DE0092200E0002202FA0EF22A4347 +:106240000234604D45F824205F4A94686FEA0C02DE +:1062500024EA0C054E6816F4801F01D04CEA0405B0 +:10626000594CA560E46802EA04054E6816F4001F64 +:1062700001D04CEA0405544CE560646802EA040568 +:106280004E6816F4003F01D04CEA04054E4C6560A0 +:10629000246822404D6815F4803F01D04CEA040286 +:1062A000494C226001330F2B00F2888001229A4072 +:1062B0000C6804EA020C32EA0404F3D14C6804F0DE +:1062C0000304013C012C8AD94A6802F00302032A24 +:1062D00009D0C4685D000322AA4024EA02048A6847 +:1062E000AA402243C2604A6802F00302022A8DD00B +:1062F00004684FEA430E032202FA0EF224EA020473 +:106300004A6802F0030202FA0EF2224302604A686F +:1063100012F4403FC6D02D4A546C44F48044546477 +:10632000526C02F480420192019A9C08A51C254AF5 +:1063300052F8255003F0030E4FEA8E0E0F2202FA98 +:106340000EF225EA0205224A90423FF475AF02F5AB +:106350008062904222D002F58062904220D002F505 +:10636000806290421ED002F5806290421CD002F5FD +:10637000806290421AD002F58062904218D002F5F5 +:106380008062904216D002F58062904214D002F5ED +:10639000806290423FF44EAF0A224EE701224CE762 +:1063A00002224AE7032248E7042246E7052244E79F +:1063B000062242E7072240E708223EE702B070BD0E +:1063C000704700BF00380140003C014000380240E7 +:1063D000000002400369194201D0012070470020EB +:1063E00070470AB181617047090481617047436950 +:1063F00001EA030221EA030141EA02418161704797 +:1064000010B582B01B4B1A6C42F080521A641B6CA0 +:1064100003F080530193019B174A136843F48033C0 +:10642000136000F0DFF80446134B5B6813F4803F01 +:1064300008D100F0D7F8001BB0F57A7FF4D903201B +:1064400002B010BD0C4A136843F40033136000F02F +:10645000C9F80446084B5B6813F4003F07D100F00D +:10646000C1F8001BB0F57A7FF4D90320E8E70020DB +:10647000E6E700BF0038024000700040002804DB5F +:106480000901C9B2044B1954704700F00F0009010B +:10649000C9B2024B1954704700E400E014ED00E06B +:1064A00000B500F00700C0F1070CBCF1040F28BFD5 +:1064B0004FF0040C031D062B0FD9C31E4FF0FF3EF7 +:1064C0000EFA0CF021EA000199400EFA03FE22EACE +:1064D0000E0241EA02005DF804FB0023EEE7000033 +:1064E0000649CB6823F4E0631B041B0C000200F494 +:1064F000E0600343024A1A43CA60704700ED00E0BF +:106500000000FA0510B50446054BD868C0F3022018 +:10651000FFF7C6FF01462046FFF7B0FF10BD00BFE2 +:1065200000ED00E0002807DB00F01F024009012316 +:106530009340024A42F82030704700BF00E100E07B +:106540000138B0F1807F0BD24FF0E0235861054A4B +:10655000F02182F823100020986107221A61704709 +:106560000120704700ED00E010B504460E4B1A788C +:106570004FF47A73B3FBF2F30C4A1068B0FBF3F0FC +:10658000FFF7DEFF68B90F2C01D901200AE00022D5 +:1065900021464FF0FF30FFF7B5FF054B1C60002090 +:1065A00000E0012010BD00BF510000205800002075 +:1065B0005400002008B50320FFF792FF0020FFF7EA +:1065C000D3FFFEF757FA002008BD0000034A116808 +:1065D000034B1B780B441360704700BF0806002074 +:1065E00051000020014B1868704700BF08060020CA +:1065F00038B50446FFF7F6FF0546B4F1FF3F02D079 +:10660000044B1B781C44FFF7EDFF401BA042FAD35C +:1066100038BD00BF51000020034B9B68C3F3031338 +:10662000024AD35CD84070470038024058B6000890 +:10663000034B9B68C3F38223024AD35CD840704764 +:106640000038024050B60008034B9B68C3F3423346 +:10665000024AD35CD84070470038024050B6000868 +:106660000D4B5B6803F480039BB90C480A4B5A68D6 +:1066700002F03F02B0FBF2F05A68C2F3881202FB4C +:1066800000F05B68C3F3014301335B00B0FBF3F040 +:1066900070470348EAE700BF003802400024F400D6 +:1066A00040787D0108B5074B9B6803F00C03042B71 +:1066B00004D0082B04D1FFF7D3FF08BD0248FCE744 +:1066C0000248FAE70038024040787D010024F400D7 +:1066D00008B5032808D00C282ED0B0F5406F53D051 +:1066E00030287AD0002008BD514BD3F890300340B9 +:1066F00043EA00434F4A934208D0B3F1031F0CD042 +:10670000013A934211D1FFF7CDFFECE7484B1868EF +:1067100010F00200E7D04848E5E7454B186F10F04D +:106720000200E0D04FF40040DDE7FFF7BBFFFFF7CA +:1067300073FFFFF789FFD6E73D4BD3F89030034056 +:1067400043EA00433D4A934208D0B3F10C1F0CD0FA +:10675000043A934211D1FFF7A5FFC4E7344B186800 +:1067600010F00200BFD03448BDE7314B186F10F075 +:106770000200B8D04FF40040B5E7FFF793FFFFF7F2 +:106780004BFFFFF755FFAEE7294BD3F8903003409E +:1067900043EA00432A4A934209D0B3F10C2F0DD0AB +:1067A000A2F58062934211D1FFF77CFF9BE7204B5B +:1067B000186810F0020096D01F4894E71C4B186F21 +:1067C00010F002008FD04FF400408CE7FFF76AFF13 +:1067D000FFF722FFFFF738FF85E7154BD3F890301E +:1067E000034043EA0043174A934208D0B3F1301FF5 +:1067F0000DD0103A934213D1FFF754FF73E70C4BBF +:10680000186810F002003FF46EAF0B486BE7084BBE +:10681000186F10F002003FF466AF4FF4004062E7DB +:10682000FFF740FFFFF7F8FEFFF702FF5BE700BF4F +:1068300000380240020003000024F40008000C00AD +:106840000008000C2000300008B5C0280AD0B0F5C0 +:10685000407F2FD0B0F5405F55D0B0F5404F7BD092 +:10686000002008BD524BD3F89030034043EA004368 +:10687000504A934208D0B3F1C01F0CD0403A934223 +:1068800011D1FFF70FFFECE7494B186810F0020039 +:10689000E7D04948E5E7464B186F10F00200E0D01A +:1068A0004FF40040DDE7FFF7FDFEFFF7B5FEFFF711 +:1068B000BFFED6E73E4BD3F89030034043EA004397 +:1068C0003E4A934209D0B3F1032F0DD0A2F5807256 +:1068D000934211D1FFF7E6FEC3E7354B186810F07D +:1068E0000200BED03448BCE7314B186F10F00200F4 +:1068F000B7D04FF40040B4E7FFF7D4FEFFF78CFEAB +:10690000FFF796FEADE72A4BD3F89030034043EAF9 +:1069100000432B4A934209D0B3F1302F0DD0A2F59A +:106920008052934211D1FFF7BDFE9AE7204B1868C1 +:1069300010F0020095D0204893E71D4B186F10F01F +:1069400002008ED04FF400408BE7FFF7ABFEFFF75D +:1069500063FEFFF76DFE84E7154BD3F890300340DC +:1069600043EA0043174A934209D0B3F1C02F0ED037 +:10697000A2F58042934213D1FFF794FE71E70C4BCE +:10698000186810F002003FF46CAF0B4869E7084B41 +:10699000186F10F002003FF464AF4FF4004060E75E +:1069A000FFF780FEFFF738FEFFF742FE59E700BF12 +:1069B000003802408000C0000024F4000002000300 +:1069C00000200030008000C000B5836891FAA1FC6F +:1069D000BCFA8CFC4FEA4C0C4FF0030E0EFA0CFC88 +:1069E00023EA0C0391FAA1F1B1FA81F149008A403E +:1069F000134383605DF804FB00B5C36891FAA1FC02 +:106A0000BCFA8CFC4FEA4C0C4FF0030E0EFA0CFC57 +:106A100023EA0C0391FAA1F1B1FA81F149008A400D +:106A20001343C3605DF804FB00B5036A91FAA1FC4F +:106A3000BCFA8CFC4FEA8C0C4FF00F0E0EFA0CFCDB +:106A400023EA0C0391FAA1F1B1FA81F189008A409D +:106A5000134303625DF804FB00B5436A090A91FA27 +:106A6000A1FCBCFA8CFC4FEA8C0C4FF00F0E0EFA16 +:106A70000CFC23EA0C0391FAA1F1B1FA81F189002F +:106A80008A40134343625DF804FB00B5036891FA42 +:106A9000A1FCBCFA8CFC4FEA4C0C4FF0030E0EFA32 +:106AA0000CFC23EA0C0391FAA1F1B1FA81F149003F +:106AB0008A40134303605DF804FBF8B507460E46B1 +:106AC0000D6895FAA5F5B5FA85F519E0B268214685 +:106AD0003846FFF779FF3268F1687B6823EA0203E2 +:106AE00001FB02F213437B6016E0726921463846CF +:106AF000FFF7B2FF726821463846FFF7C6FF01353F +:106B0000346834FA05F21BD00122AA401440F6D0B2 +:106B10007368013B012BD9D9326921463846FFF70A +:106B20006BFF7368022BE5D194FAA4F3B3FA83F3F5 +:106B3000072BDAD8726921463846FFF775FFD9E787 +:106B40000020F8BD0B4B1B680B4AA2FB03235B0A1A +:106B500041F2883202FB03F31A46013B3AB1426B21 +:106B600012F0800FF8D0C5238363002070474FF0E8 +:106B70000040704758000020D34D621084B00DF1E2 +:106B8000040C8CE80E000B461343039A1343049A3B +:106B90001343059A1343069A13434168034A0A4074 +:106BA00013434360002004B0704700BF0081FFFF23 +:106BB000D0F8800070470B68C0F880300020704724 +:106BC0000323036000207047006800F00300704753 +:106BD0000B6883604B688A681343CA6813430A6969 +:106BE0001343C2686FF30B021343C3600020704766 +:106BF0000069C0B270471430405870470B68436258 +:106C00004B6883628B68CA6813430A6913434A69F5 +:106C10001343C26A22F0F7021343C3620020704795 +:106C200010B586B0044600230193029303930493A6 +:106C30004FF48063059301A9FFF7CAFF2046FFF7D1 +:106C400081FF06B010BD000038B504460D46504B1C +:106C50001B685049A1FB03135B0A03FB02F21346B6 +:106C6000013A002B5DD0636B13F0450FF7D013F49E +:106C7000006FF4D1636B13F0040F06D1636B13F054 +:106C8000010F05D00120A0634DE00420A0634AE07D +:106C9000C523A3632046FFF7ABFFA84201D0012024 +:106CA00041E000212046FFF7A6FF03463A4818407E +:106CB000C8B3002B38DB13F0804F38D113F0005FDE +:106CC00037D113F0805F36D113F0006F36D113F057 +:106CD000806F36D113F0807F36D113F4000F36D198 +:106CE00013F4800F36D113F4001F36D113F4801F34 +:106CF00036D113F4802F36D113F4003F36D113F47C +:106D0000803F36D113F4004F36D113F4804F36D183 +:106D100013F4005F36D113F0080F36D04FF40000A3 +:106D200001E04FF0004038BD4FF00070FBE740201D +:106D3000F9E78020F7E74FF48070F4E74FF4007034 +:106D4000F1E74FF48060EEE74FF40060EBE74FF4BB +:106D50008050E8E74FF40050E5E74FF48040E2E769 +:106D60004FF40040DFE74FF40030DCE74FF48020C1 +:106D7000D9E74FF40020D6E74FF48010D3E74FF463 +:106D80000010D0E74FF48000CDE74FF48030CAE721 +:106D900058000020D34D621008E0FFFD30B587B0E9 +:106DA0000446019110250295402303930023049388 +:106DB0004FF48063059301A9FFF70AFF41F288327F +:106DC00029462046FFF740FF07B030BD30B587B0F9 +:106DD0000446019111250295402303930023049357 +:106DE0004FF48063059301A9FFF7F2FE41F2883268 +:106DF00029462046FFF728FF07B030BD30B587B0E1 +:106E00000446019112250295402303930023049325 +:106E10004FF48063059301A9FFF7DAFE41F288324F +:106E200029462046FFF710FF07B030BD30B587B0C8 +:106E300004460191182502954023039300230493EF +:106E40004FF48063059301A9FFF7C2FE41F2883237 +:106E500029462046FFF7F8FE07B030BD30B587B0B1 +:106E600004460191192502954023039300230493BE +:106E70004FF48063059301A9FFF7AAFE41F288321F +:106E800029462046FFF7E0FE07B030BD30B587B099 +:106E90000446002301930C2502954022039204939B +:106EA0004FF48063059301A9FFF792FE034A294638 +:106EB0002046FFF7C9FE07B030BD00BF00E1F50571 +:106EC00030B587B00446019207250295402303930D +:106ED000002304934FF48063059301A9FFF778FE24 +:106EE00041F2883229462046FFF7AEFE07B030BD9A +:106EF00030B587B0044601913725029540230393AE +:106F0000002304934FF48063059301A9FFF760FE0B +:106F100041F2883229462046FFF796FE07B030BD81 +:106F200030B587B0044601910625029540230393AE +:106F3000002304934FF48063059301A9FFF748FEF3 +:106F400041F2883229462046FFF77EFE07B030BD69 +:106F500030B587B0044600230193332502954022C3 +:106F6000039204934FF48063059301A9FFF730FE69 +:106F700041F2883229462046FFF766FE07B030BD51 +:106F800030B587B0044601910D2502954023039347 +:106F9000002304934FF48063059301A9FFF718FEC3 +:106FA00041F2883229462046FFF74EFE07B030BD39 +:106FB0000146144B1B68144AA2FB03235B0A41F2EF +:106FC000883202FB03F31A46013BBAB14A6B12F056 +:106FD000450FF8D012F4006FF5D14B6B13F0040F8E +:106FE00006D1486B10F0010005D1C5238B637047B3 +:106FF0000420886370470120886370474FF0004089 +:10700000704700BF58000020D34D621010B586B005 +:1070100004460023019302220292C02203920493A9 +:107020004FF48063059301A9FFF7D2FD2046FFF7D7 +:10703000BFFF06B010BD10B586B00446019109230C +:107040000293C0230393002304934FF480630593BA +:1070500001A9FFF7BDFD2046FFF7AAFF06B010BD4E +:107060000146104B1B68104AA2FB03235B0A41F246 +:10707000883202FB03F31A46013B82B14A6B12F0DD +:10708000450FF8D012F4006FF5D1486B10F00400F2 +:1070900002D1C5238B6370470420886370474FF08B +:1070A0000040704758000020D34D621010B586B0E4 +:1070B00004460A4B0B430193292302934023039375 +:1070C000002304934FF48063059301A9FFF780FD2B +:1070D0002046FFF7C5FF06B010BD00BF00001080BE +:1070E000F8B505460E461746234B1B68234AA2FBFC +:1070F00003235B0A41F2883202FB03F31A46013B89 +:107100008AB36C6B14F0450FF8D014F4006FF5D10E +:107110006B6B13F0040F06D16B6B13F0010F05D0EE +:107120000120A86321E00420A8631EE02846FFF7A1 +:107130005FFDB04201D0012017E0C523AB63002101 +:107140002846FFF758FD034610F4604008D013F4BA +:10715000804F0BD113F4004F0BD04FF4805004E05C +:107160001B0C3B8001E04FF00040F8BD4FF4005095 +:10717000FBE74FF48030F8E758000020D34D621051 +:1071800070B586B004460D4600230193032602968F +:107190004022039204934FF48063059301A9FFF703 +:1071A00017FD2A4631462046FFF79AFF06B070BD0C +:1071B0000146164B1B68164AA2FB03235B0A41F2E9 +:1071C000883202FB03F31A46013BE2B14A6B12F02C +:1071D000450FF8D012F4006FF5D14B6B13F0040F8C +:1071E0000BD14B6B13F001030AD1486B10F0400038 +:1071F0000BD040228A63184670470420886370478A +:107200000120886370474FF000407047580000200D +:10721000D34D621010B586B004464FF4D573019378 +:107220000823029340230393002304934FF48063C5 +:10723000059301A9FFF7CCFC2046FFF7B9FF06B084 +:1072400010BD000070B582B00446002301930068B1 +:10725000FFF7E6FC054610B1284602B070BD206875 +:10726000FFF7D8FF38B90123A364A36C012B0BD01F +:107270002E46284614E00023A3642068FFF7D0FCC4 +:107280000028F2D00546E7E700212068FFF730FE2E +:107290000028EDD04FF08055DEE7019B01330193CC +:1072A000019A4FF6FE739A4213D896B900212068CE +:1072B000FFF71EFEE0B912492068FFF7F7FE064609 +:1072C000C0B900212068FFF796FCC30FE5D01E4629 +:1072D000E3E7019A4FF6FE739A420ED810F080430E +:1072E00002D001236364B7E7002262641D46B3E75E +:1072F0000546B1E74FF08055AEE74FF08075ABE73C +:10730000000010C1F0B589B004460F46FFF76AF9D6 +:10731000064600230093019308212068FFF73EFDF5 +:10732000054610B1284609B0F0BD216D090420685A +:10733000FFF7DEFD05460028F4D14FF0FF3302933E +:107340000823039330230493022305930023069319 +:107350000123079302A92068FFF750FC2068FFF77C +:10736000F7FD054658B1DDE7FFF722FC4DF8250093 +:107370000135FFF737F9831BB3F1FF3F3FD020689A +:10738000436B13F02A0F07D1436B13F4001FEBD1AB +:10739000436B13F4005FECD1436B13F0080F25D15E +:1073A000436B13F0020F24D1456B15F0200523D158 +:1073B00040F23A538363019A130203F47F0343EAD2 +:1073C0000263110A01F47F410B4343EA12633B60FD +:1073D000009A130203F47F0343EA0263110A01F4E3 +:1073E0007F410B4343EA12637B609BE7082585637B +:1073F00098E70225856395E72025856392E74FF09E +:1074000000458FE710B582B004460021009101913C +:107410000068FFF7F0FB10F0007F13D169462046AB +:10742000FFF770FF80B9019B13F4802F0ED0216D00 +:1074300009042068FFF75CFD30B902212068FFF7DE +:107440006FFD01E04FF4006002B010BD4FF08060AE +:10745000FAE710B582B0044600210091019100685E +:10746000FFF7C9FB10F0007F13D169462046FFF7F4 +:1074700049FF80B9019B13F4803F0ED0216D0904B0 +:107480002068FFF735FD30B900212068FFF748FD7F +:1074900001E04FF4006002B010BD4FF08060FAE7E9 +:1074A00070B581B104460E46016D09040068FFF70E +:1074B00067FD054608B1284670BD00212068FFF72A +:1074C0009AFB3060F7E74FF00065F4E72DE9F04FE5 +:1074D00087B005460C4616469B46DDF840A0FFF7F0 +:1074E00081F8002C36D0814695F83470FFB2012F18 +:1074F00040F004810023AB6306EB0B03EA6D93427B +:107500002ED8032385F834302B680022DA626B6CA6 +:10751000012B00D076024FF0FF3300934FEA4B234C +:1075200001939023029302230393002304930123E6 +:10753000059369462868FFF761FBBBF1010F14D979 +:1075400002232B6331462868FFF758FCA0B9DDF809 +:10755000048038E0AB6B43F00063AB630127D2E0FB +:10756000AB6B43F00073AB63CDE001232B6331467B +:107570002868FFF72BFCE9E72B68654A9A63AB6B39 +:107580000343AB63012385F8343000232B63BAE057 +:107590002868FFF70DFB2070C0F307236370C0F36A +:1075A0000743A370000EE0700434A8F1040801360C +:1075B000072EEDD9FFF716F8A0EB090050450FD2C2 +:1075C000BAF1000F0CD02868466B16F4957615D1E9 +:1075D000436B13F4004FEDD0B8F1000FEAD0E7E7AA +:1075E0002B684B4A9A63AB6B43F00043AB630123B8 +:1075F00085F8343000232B63032784E0436B13F4B6 +:10760000807F05D0BBF1010F02D96B6C032B38D101 +:107610002B685A6B12F0080F44D15A6B12F0020F0C +:107620004CD15A6B12F0200F54D12868436B13F4DD +:10763000001F5BD0B8F1000F58D0FFF7B9FA2070E7 +:10764000C0F307236370C0F30743A370000EE0701C +:107650000434A8F10408FEF7C5FFA0EB090050456B +:1076600002D2BAF1000FE0D12B68294A9A63AB6BC2 +:1076700043F00043AB63012385F8343000232B63D0 +:1076800041E0FFF703FC03460028C1D02A682049E7 +:107690009163AA6B1343AB63012385F83430002355 +:1076A0002B6330E01A4A9A63AB6B43F00803AB6379 +:1076B000012385F8343000232B6324E0144A9A63B5 +:1076C000AB6B43F00203AB63012385F83430002336 +:1076D0002B6318E00E4A9A63AB6B43F02003AB6355 +:1076E000012385F8343000232B630CE040F23A5339 +:1076F0008363012385F83430002704E0AB6B43F04B +:107700000053AB630127384607B0BDE8F08F00BFD8 +:10771000FF0540002DE9F04F8BB005460C4616469C +:107720009B46DDF850A0FEF75DFF002C37D0804669 +:1077300095F83470FFB2012F40F0E1800023AB6375 +:1077400006EB0B03EA6D93422FD8032385F8343000 +:107750002B680022DA626B6C012B00D076024FF0AE +:10776000FF3304934FEA4B230593902306930023A2 +:10777000079308930123099304A92868FFF73EFAA9 +:10778000BBF1010F16D920232B6331462868FFF780 +:1077900065FB0190019BABB9DDF8149040E0AB6B49 +:1077A00043F00063AB630127AEE0AB6B43F00073C3 +:1077B000AB63A9E010232B6331462868FFF736FB43 +:1077C0000190E7E72B68524A9A63AB6B019A134327 +:1077D000AB63012385F8343000232B6394E02378D6 +:1077E0000393627843EA02230393A27843EA0243B5 +:1077F0000393E27843EA026303930434A9F1040992 +:1078000003A92868FFF7D7F90136072EE7D9FEF755 +:10781000E9FEA0EB080050450FD2BAF1000F0CD0E2 +:107820002868466B16F48D7615D1436B13F4804FA0 +:10783000EDD0B9F1000FEAD0E7E72B68344A9A633C +:10784000AB6B019A1343AB63012385F834300023FB +:107850002B63032758E0436B13F4807F05D0BBF103 +:10786000010F02D96B6C032B18D12B685A6B12F0E5 +:10787000080F24D15A6B12F0020F2CD15A6B12F060 +:10788000100F34D0224A9A63AB6B43F01003AB6302 +:10789000012385F8343000232B6335E0FFF7F6FA37 +:1078A00003460028E1D02A6819499163AA6B134363 +:1078B000AB63012385F8343000232B6324E0144AA2 +:1078C0009A63AB6B43F00803AB63012385F8343054 +:1078D00000232B6318E00E4A9A63AB6B43F002035C +:1078E000AB63012385F8343000232B630CE040F2B6 +:1078F0003A529A63012385F83430002704E0AB6BD9 +:1079000043F00053AB63012738460BB0BDE8F08F5E +:10791000FF0540000346426E920F0A70426EC2F3AA +:1079200083624A7090F8672002F003028A7090F830 +:107930006620CA7090F865200A7190F864204A7138 +:10794000826E120DCA80B0F86A2002F00F020A722D +:10795000826EC2F3C0324A72826EC2F380328A7281 +:10796000826EC2F34032CA72826EC2F300320A7370 +:1079700000224A73426C002A40F08680806E40F6F6 +:10798000FC7202EA8002D86E42EA90720A61DA6EF4 +:10799000C2F3C2620A7593F86F2002F007024A75BB +:1079A000DA6EC2F342528A75DA6EC2F38242CA7547 +:1079B000DA6EC2F3C2320A760A6901325A65087E6B +:1079C00000F00700023082405A6591F808C00CF0C0 +:1079D0000F0C012000FA0CF09865400A00FB02F23F +:1079E000DA654FF400721A66DA6EC2F380324A76B4 +:1079F000DA6EC2F3C6128A76DA6E02F07F02CA76B7 +:107A00001A6FD20F0A771A6FC2F341724A771A6F50 +:107A1000C2F382628A771A6FC2F38352CA771A6FEF +:107A2000C2F3405281F82020002081F82100B3F8F1 +:107A3000722002F0010281F822201A6FC2F3C032D4 +:107A400081F823201A6FC2F3803281F824201A6F44 +:107A5000C2F3403281F825201A6FC2F3003281F858 +:107A600026201A6FC2F3812281F827201A6FC2F3F1 +:107A7000012281F828201B6FC3F3460381F82930C7 +:107A8000012381F82A307047012A11D1826E120435 +:107A900002F47C12B0F86E0002430A610A690132F6 +:107AA00092025A65DA654FF400729A651A669BE78E +:107AB000026805499163826B42F080528263012023 +:107AC00083F83400704700BFFF05400070B590B0E8 +:107AD00004460123ADF812300068FFF775F800285E +:107AE0006CD0636C032B45D1636C032B5DD1636C4D +:107AF000032B1DD0BDF81210216509042068FFF783 +:107B00009AFA054600285BD100212068FFF773F838 +:107B1000606604212068FFF76EF8A06608212068DF +:107B2000FFF769F8E0660C212068FFF764F820672A +:107B300004212068FFF75FF8000DE06405A92046E6 +:107B4000FFF7E8FE00283ED1226D120400232068D2 +:107B5000FFF7B6F9054698BB234653F8106B93E838 +:107B600007008DE80700043494E80E003046FFF764 +:107B700005F825E02068FFF749FA054600BB00211B +:107B80002068FFF738F8606704212068FFF733F8B2 +:107B9000A06708212068FFF72EF8E0670C21206815 +:107BA000FFF729F8C4F880009EE70DF11201206864 +:107BB000FFF7E6FA0546002899D001E04FF080650E +:107BC000284610B070BD4FF08055F9E730B58BB046 +:107BD00004460023049305930693079308937623A2 +:107BE00009930AAB13E907008DE8070004AB0ECB3D +:107BF0002068FEF7C3FF18B1012528460BB030BD41 +:107C000005462268536823F4807353602068FEF7AA +:107C1000D7FF2268536843F4807353600220FEF755 +:107C2000E7FC2046FFF70EFB30B1012584F8345005 +:107C3000A36B0343A363E0E72046FFF747FF30B1A0 +:107C4000012584F83450A36B0343A363D5E74FF4B5 +:107C500000712068FFF7A2F80028CED023680449FD +:107C60009963A36B0343A363012584F83450C4E7ED +:107C7000FF054000A8B110B5044690F8343063B158 +:107C8000032384F834302046FFF7A0FF58B9A063DF +:107C90002063012384F8343010BD0377FCF78AFF9A +:107CA000EEE7012070470120F6E7436C0B60836C20 +:107CB0004B60C36C8B60036DCB60436D0B61836D58 +:107CC0004B61C36D8B61036ECB6100207047000078 +:107CD00030B58BB004460D46032380F83430436C36 +:107CE000032B1CD0B1F5805F08D0B1F5006F0AD02E +:107CF00079B1836B43F00063836314E0836B43F0DB +:107D0000805383630FE0FFF77DFBA36B0343A36303 +:107D100009E0FFF79EFBA36B0343A36303E0836BC0 +:107D200043F080538363A36BC3B12368174A9A63FC +:107D3000012584F834504FF400712068FFF72EF8C5 +:107D400030B1236811499963A36B0343A3630125F1 +:107D5000012384F8343028460BB030BD63680493A7 +:107D6000A3680593E3680693079563690893A3697D +:107D700009930AAB13E907008DE8070004AB0ECBAB +:107D80002068FEF7FBFE0025D5E700BFFF05400099 +:107D900010B582B004460023019301A9FFF780FBD0 +:107DA00010B1A36B0343A3630198C0F3432002B057 +:107DB00010BD00000346026812F0400F36D110B427 +:107DC00002681D4810400A684C682243CC68224370 +:107DD0000C6922434C6922438C692243CC692243BB +:107DE0000C6A2243104318605868144A024088689D +:107DF000B1F816C040EA0C0002435A608A68B2F536 +:107E0000006F03D25A6842F480525A600A6AB2F58F +:107E1000005F07D00020DA6922F40062DA615DF8C1 +:107E2000044B70478A8C1A610020F4E70120DA695C +:107E300022F40062DA6170474000FFFFFBF0FFFFB1 +:107E400070B4046A036A23F001030362426885691F +:107E5000124B2B400D681D4324F002048B68234312 +:107E60000F4C104EB04218BFA0420CBF012400249A +:107E700005D123F00803CE681E4326F004032CB17D +:107E800022F440724C6914438A692243426085613E +:107E90004A684263036270BC704700BF8CFFFEFFFC +:107EA000000001400004014070B4036A026A22F439 +:107EB000807202624268C569144C2C400E682643E9 +:107EC00023F400738C6843EA0423114C114DA8423B +:107ED00018BFA0420CBF0124002406D123F4006384 +:107EE000CD6843EA052323F480633CB122F4405279 +:107EF0004C6942EA04128C6942EA04124260C6618B +:107F00004A68C263036270BC704700BF8CFFFEFF0B +:107F1000000001400004014070B4036A026A22F4C8 +:107F2000805202624468C5690D4A2A400D6842EADF +:107F3000052223F400538D6843EA0533094E0A4DA8 +:107F4000A84218BFB04204D124F480444D6944EAE9 +:107F500085144460C2614A680264036270BC704761 +:107F6000FF8CFFFE000001400004014070B4036A72 +:107F7000026A22F4803202624468426D0D4D15405F +:107F80000A682A4323F400338D6843EA05430A4E06 +:107F90000A4DA84218BFB04204D124F480344D6980 +:107FA00044EA0524446042654A688265036270BC05 +:107FB000704700BF8FFFFEFF00000140000401403A +:107FC00070B4036A026A22F4801202624468456D4A +:107FD0000D4A2A400D6842EA052223F400138D68F9 +:107FE00043EA0553094E0A4DA84218BFB04204D1D6 +:107FF00024F480244D6944EA8524446042654A683B +:10800000C265036270BC7047FF8FFFFE0000014035 +:108010000004014010B4036A046A24F001040462FD +:10802000846924F0F00C4CEA021223F00A030B439B +:10803000826103625DF8044B704710B4036A046AFE +:1080400024F010040462846924F4704C4CEA023277 +:1080500023F0A00343EA0113826103625DF8044B3D +:108060007047836823F070030B4343F0070383607A +:1080700070470368196A41F21112114208D1196A56 +:1080800040F24442114203D11A6822F001021A6000 +:10809000012380F83D3000207047000090F83D300B +:1080A000DBB2012B3AD1022380F83D300268D3685D +:1080B00043F00103D36003681A4AB3F1804F18BF3D +:1080C00093421DD0A2F57C42934219D002F5806202 +:1080D000934215D002F58062934211D002F57842A6 +:1080E00093420DD002F57052934209D0A2F594321A +:1080F000934205D01A6842F001021A6000207047CE +:108100009968094A0A40062A18BFB2F5803F07D08D +:108110001A6842F001021A6000207047012070477F +:108120000020704700000140070001000268D3688A +:1081300023F00103D3600368196A41F2111211425E +:1081400008D1196A40F24442114203D11A6822F060 +:1081500001021A60012380F83D300020704770470B +:108160007047704770477047704770B504460368A2 +:10817000DE681D6915F0020F10D016F0020F0DD049 +:108180006FF002021A610123037703689B6913F001 +:10819000030F64D0FFF7E6FF0023237715F0040FE9 +:1081A00012D016F0040F0FD023686FF004021A618A +:1081B0000223237723689B6913F4407F55D0204620 +:1081C000FFF7D0FF0023237715F0080F12D016F029 +:1081D000080F0FD023686FF008021A610423237779 +:1081E0002368DB6913F0030F46D02046FFF7BAFF80 +:1081F0000023237715F0100F12D016F0100F0FD0B8 +:1082000023686FF010021A61082323772368DB6963 +:1082100013F4407F37D02046FFF7A4FF00232377D5 +:1082200015F0010F02D016F0010F33D115F4025FE3 +:1082300002D016F0800F35D115F4807F02D016F0F1 +:10824000800F37D115F0400F02D016F0400F39D112 +:1082500015F0200F02D016F0200F3BD170BDFFF7B4 +:1082600080FF2046FFF77FFF96E72046FFF779FF64 +:108270002046FFF778FFA5E72046FFF772FF20466C +:10828000FFF771FFB4E72046FFF76BFF2046FFF7CB +:108290006AFFC3E723686FF001021A612046FFF707 +:1082A0005FFFC3E723686FF402521A61204600F0B3 +:1082B000CEFBC1E723686FF480721A61204600F09C +:1082C000C7FBBFE723686FF040021A612046FFF743 +:1082D0004BFFBDE723686FF020021A61204600F0D3 +:1082E000B5FBBBE730B503683F4A904214BF4FF07F +:1082F000000E4FF0010EB0F1804F14BF72464EF0E9 +:108300000102AAB9394CA04214BF00240124384DFF +:10831000A8420DD064B904F1804404F58234A0422F +:1083200014BF0024012405F50065A84200D01CB14B +:1083300023F070034C682343002A33D12B4A904228 +:1083400014BF002201222A4CA0422BD052BB02F1C2 +:10835000804202F58232904214BF0022012204F5CD +:108360000064A0421ED0EAB9224A904214BF002203 +:10837000012204F59A34A04214D09AB91E4A9042C0 +:1083800014BF0022012204F50064A0420AD04AB9B9 +:108390001A4A904214BF00220122A4F59634A0424A +:1083A00000D022B123F4407CCB6843EA0C0323F0D5 +:1083B00080034A69134303608A68C2620A68826262 +:1083C0000F4A904214BF73464EF001030BB10B6984 +:1083D000036301234361036913F0010F03D00369B1 +:1083E00023F00103036130BD00000140000800409C +:1083F00000040040004401400018004000200040FC +:108400000004014060B310B5044690F83D3013B34A +:10841000022384F83D30214651F8040BFFF762FF38 +:10842000012384F8483084F83E3084F83F3084F8E3 +:10843000403084F8413084F8423084F8433084F886 +:10844000443084F8453084F8463084F8473084F866 +:108450003D30002010BD80F83C30FCF707FCD7E72A +:108460000120704760B310B5044690F83D3013B357 +:10847000022384F83D30214651F8040BFFF732FF08 +:10848000012384F8483084F83E3084F83F3084F883 +:10849000403084F8413084F8423084F8433084F826 +:1084A000443084F8453084F8463084F8473084F806 +:1084B0003D30002010BD80F83C30FFF750FED7E77C +:1084C0000120704770B4036A026A22F0100202624F +:1084D00042688569144C2C400D6844EA052523F058 +:1084E00020038C6843EA0413104C114EB04218BFAD +:1084F000A0420CBF0124002406D123F08003CE68E3 +:1085000043EA061323F040033CB122F440624C6975 +:1085100042EA84028C6942EA8402426085614A68C8 +:108520008263036270BC7047FF8CFFFE0000014055 +:108530000004014038B590F83C30012B00F09580E4 +:1085400004460D46012380F83C30142A00F288804E +:10855000DFE802F00B8686861F868686348686864E +:10856000488686865D86868671000068FFF768FC0F +:108570002268936943F0080393612268936923F0AA +:10858000040393612268936929690B439361002076 +:1085900067E00068FFF796FF2268936943F4006381 +:1085A00093612268936923F48063936122689369DD +:1085B000296943EA01239361002052E00068FFF734 +:1085C00073FC2268D36943F00803D3612268D3693E +:1085D00023F00403D3612268D36929690B43D36173 +:1085E00000203EE00068FFF797FC2268D36943F45F +:1085F0000063D3612268D36923F48063D361226866 +:10860000D369296943EA0123D361002029E0006886 +:10861000FFF7ACFC2268536D43F0080353652268F2 +:10862000536D23F0040353652268536D29690B438E +:108630005365002015E00068FFF7C2FC2268536D07 +:1086400043F4006353652268536D23F480635365DC +:108650002268536D296943EA01235365002000E035 +:108660000120002384F83C3038BD0220FCE710B420 +:10867000846824F47F4C42EA03220A4342EA0C0253 +:1086800082605DF8044B704790F83C30012B76D047 +:1086900010B50446012380F83C30022380F83D30B9 +:1086A00002689068374B034093600B68602B4CD096 +:1086B00023D8402B54D011D8202B03D00AD80BB18B +:1086C000102B05D119462068FFF7CBFC002028E0CD +:1086D000012026E0302BF5D0012022E0502B0AD1DA +:1086E000CA6849682068FFF795FC50212068FFF7A9 +:1086F000B8FC002015E0012013E0B3F5805F3AD00C +:10870000B3F5005F14D0702B37D1CB684A68896805 +:108710002068FFF7ACFF2268936843F0770393600B +:108720000020012384F83D30002384F83C3010BD44 +:10873000CB684A6889682068FFF799FF22689368C8 +:1087400043F4804393600020EBE7CA6849682068DF +:10875000FFF773FC60212068FFF783FC0020E0E74F +:10876000CA6849682068FFF755FC40212068FFF778 +:1087700078FC0020D5E70020D3E70120D1E70220D4 +:10878000704700BF8800FEFF01F01F014FF0010C91 +:108790000CFA01FC036A23EA0C030362036A8A40B1 +:1087A000134303627047000010B5044610293CD8FB +:1087B000DFE801F0093B3B3B1F3B3B3B263B3B3BA0 +:1087C0002D3B3B3B340090F83E30DBB2013B18BF01 +:1087D0000123002B40F08980102974D8DFE801F0D4 +:1087E0002C73737363737373677373736B737373C4 +:1087F0006F0090F83F30DBB2013B18BF0123E8E780 +:1088000090F84030DBB2013B18BF0123E1E790F85C +:108810004130DBB2013B18BF0123DAE790F8423068 +:10882000DBB2013B18BF0123D3E790F84330DBB242 +:10883000013B18BF0123CCE7022384F83E3001221C +:108840002068FFF7A1FF23682A492B4A934218BFEB +:108850008B4203D15A6C42F400425A642368254A81 +:10886000B3F1804F18BF934231D0A2F57C429342BE +:108870002DD002F58062934229D002F580629342A6 +:1088800025D002F57842934221D002F570529342EE +:108890001DD0A2F59432934219D01A6842F0010219 +:1088A0001A60002022E0022384F83F30C7E7022349 +:1088B00084F84030C3E7022384F84130BFE7022345 +:1088C00084F84230BBE7022384F84330B7E7996865 +:1088D0000A4A0A40062A18BFB2F5803F07D01A6834 +:1088E00042F001021A60002000E0012010BD0020CB +:1088F000FCE700BF00000140000401400700010048 +:1089000038B504460D4600220068FFF73DFF236896 +:108910002449254A934218BF8B420DD1196A41F26E +:108920001112114208D1196A40F24442114203D196 +:108930005A6C22F400425A642368196A41F21112F7 +:10894000114208D1196A40F24442114203D11A6817 +:1089500022F001021A60102D1FD8DFE805F0091E71 +:108960001E1E0E1E1E1E121E1E1E161E1E1E1A006D +:10897000012384F83E30002038BD012384F83F30C5 +:10898000F9E7012384F84030F5E7012384F841300A +:10899000F1E7012384F84230EDE7012384F8433006 +:1089A000E9E700BF000001400004014090F83C20CE +:1089B000012A45D070B40346012280F83C200222EF +:1089C00080F83D200268506894681E4E1E4DAA42F1 +:1089D00018BFB24203D120F470004D68284320F044 +:1089E00070000D68284350601A681648B2F1804F35 +:1089F00018BF824217D0A0F57C40824213D000F508 +:108A0000806082420FD000F5806082420BD000F57A +:108A10007840824207D000F57050824203D0A0F522 +:108A20009430824204D124F080048968214391600B +:108A3000012283F83D20002083F83C0070BC704781 +:108A40000220704700000140000401407047704759 +:108A50007047000030B503683B4A904214BF4FF0A6 +:108A6000000E4FF0010EB0F1804F14BF72464EF071 +:108A70000102AAB9354CA04214BF00240124344D90 +:108A8000A8420DD064B904F1804404F58234A042B8 +:108A900014BF0024012405F50065A84200D01CB1D4 +:108AA00023F070034C682343002A33D1274A9042B5 +:108AB00014BF00220122264CA0422BD052BB02F14F +:108AC000804202F58232904214BF0022012204F556 +:108AD0000064A0421ED0EAB91E4A904214BF002290 +:108AE000012204F59A34A04214D09AB91A4A90424D +:108AF00014BF0022012204F50064A0420AD04AB942 +:108B0000164A904214BF00220122A4F59634A042D6 +:108B100000D022B123F4407CCB684CEA030303600D +:108B20008A68C2620A8882620D4A904214BF734604 +:108B30004EF001030BB10B690363436943F001037A +:108B40004361002030BD00BF00000140000800402C +:108B50000004004000440140001800400020004094 +:108B600000040140B2F5004F06D001EB5301B1FB08 +:108B7000F3F189B2C16070475A0802EB4102B2FBBF +:108B8000F3F34FF6F0721A40C3F342031343C3608A +:108B90007047000038B5036813F0010F62D1044636 +:108BA0000D460368314A1A404B68C9680B4329696E +:108BB0000B43A9690B431A430260AB68426822F475 +:108BC0004052134343606B69826822F4407213433E +:108BD0008360274B984216D0264B98421BD0264BD9 +:108BE00098421CD0254B98421DD0254B98421ED050 +:108BF000244B984220D0244B984222D0234B9842B9 +:108C000024D001202FE00320FDF762FD60B32B6824 +:108C10000BBB012027E00C20FDF75AFDF6E73020C2 +:108C2000FDF756FDF2E7C020FDF70EFEEEE74FF42C +:108C30004070FDF709FEE9E74FF44060FDF748FD9D +:108C4000E4E74FF44050FDF7FFFDDFE74FF440400D +:108C5000FDF7FAFDDAE7AA6901462046FFF782FF31 +:108C6000002000E0012038BD0120FCE7F369FFEFA0 +:108C7000001001400044004000480040004C00400B +:108C8000005000400014014000780040007C00408B +:108C9000034AD2F8883043F47003C2F88830704732 +:108CA00000ED00E008B501460122054801F01EFA7A +:108CB000044B187008B1012008BD0020FCE700BF7C +:108CC0005C1600208C02002008B50146012200201D +:108CD00001F00CFA034B187008B1012008BD002008 +:108CE000FCE700BF8C020020F8B504460D4616468E +:108CF000104901F0ECFE104B187008B1C0B2F8BD7D +:108D0000022221460D4801F021FA0B4B187008B1E0 +:108D1000C0B2F4E7094F0A4B32462946384601F003 +:108D20001AFC054C2070384601F069FD2070C0B275 +:108D3000E5E700BF140600208C0200202C0600206E +:108D40000C0600202DE9F04104460F4690461D46D2 +:108D5000434901F0BCFE434B1870E8B9012221469B +:108D6000414801F0F3F906463E4B187018BB2946FE +:108D70003D4801F059FD3B4B187058B36420F7F79C +:108D8000B1FF054622463949F7F79CFA2846F7F71E +:108D9000B1FF344B18780CE06420F7F7A3FF0546C9 +:108DA00022463349F7F78EFA2846F7F7A3FF2D4BF3 +:108DB0001878BDE8F0816420F7F794FF0546234654 +:108DC00032462C49F7F77EFA2846F7F793FF254BF2 +:108DD0001878EEE7284B42463946234801F0CFFA8F +:108DE0000646204B187008BB55B91F4BDA68234B59 +:108DF0001A603A705A787A709A78BA70DB78FB7099 +:108E0000194801F0FCFC0546164B1870D8B16420D7 +:108E1000F7F768FF064623462A461949F7F752FA3C +:108E20003046F7F767FF0F4B1878C2E76420F7F773 +:108E300059FF0546234632461249F7F743FA2846BA +:108E4000F7F758FFEFE76420F7F74CFF0546224697 +:108E50000D49F7F737FA2846F7F74CFFE3E700BF6D +:108E6000140600208C0200202C060020D8B3000835 +:108E70001CB3000840B30008100600208002002048 +:108E800090B3000868B30008B8B3000810B50446F2 +:108E90000C4901F01CFE0C4B187008B9C0B210BD93 +:108EA0000B222146094801F051F9074B187008B10F +:108EB000C0B2F4E7054801F0A2FC034B1870C0B241 +:108EC000EDE700BF140600208C0200202C060020D5 +:108ED00070B504461A4901F0FAFD1A4B1870A0B992 +:108EE000204601F016FE0546164B1870D8B96420CE +:108EF000F7F7F8FE054622461349F7F7E3F9284647 +:108F0000F7F7F8FE0F4B187870BD6420F7F7EAFE0C +:108F1000054622460D49F7F7D5F92846F7F7EAFE48 +:108F2000084B1878F0E76420F7F7DCFE0646234686 +:108F30002A460749F7F7C6F93046F7F7DBFEE1E7BF +:108F4000140600208C02002020B4000800B40008A1 +:108F500044B40008F8B504460D461646104901F021 +:108F6000B6FD104B187008B1C0B2F8BD32222146D0 +:108F70000D4801F0EBF80B4B187008B1C0B2F4E7E4 +:108F8000094F0A4B32462946384601F0E4FA054CAF +:108F90002070384601F033FC2070C0B2E5E700BF16 +:108FA000140600208C0200202C0600200C06002055 +:108FB00008B5044B03EB8002526852680344187AE8 +:108FC000904708BDB826002008B5084B1B5C53B974 +:108FD000064B01221A5403EB8002526812680344C4 +:108FE000187A904708BD0020FCE700BFB826002093 +:108FF00038B5044C04EB80056D68AD680444207AF4 +:10900000A84738BDB826002038B5044C04EB8005CD +:109010006D68ED680444207AA84738BDB826002062 +:1090200010B5044B03EB8004646824690344187A88 +:10903000A04710BDB82600204278007840EA022000 +:109040007047C378827842EA0322437843EA0223D6 +:10905000007840EA032070470170090A41707047A8 +:109060000170C1F307234370C1F307438370090EF6 +:10907000C1707047944632B10A78013102700130F4 +:10908000BCF1010CF8D1704701700130013AFBD1FD +:10909000704784469CF800000CF1010C0B780131FC +:1090A000C01A013A01D00028F4D07047034600E00E +:1090B0000133187808B18842FAD1704710B44FF0E4 +:1090C000000C634602E04FF0010C0133012B15D870 +:1090D0001A01184CA258002AF5D00468A242F4D113 +:1090E000144A02EB0312546882689442EDD1114A8B +:1090F00002EB0312946842699442E6D1022B0BD032 +:10910000B1B90C4A02EB03139B89B3F5807F0DD0F4 +:1091100000205DF8044B7047022914BF63464CF0F1 +:1091200001030BB10020F4E71220F2E71020F0E772 +:109130001020EEE790260020002000E001300128FA +:1091400004D80301034AD358002BF7D1023818BFC3 +:10915000012070479026002070B4002300E0013306 +:10916000012B13D81A01234CA45802689442F6D15B +:10917000204A02EB0312546882689442EFD11D4AE0 +:1091800002EB0312946842699442E8D1022B08D0A2 +:10919000F9B1184A02EB031292894ABB4FF480726C +:1091A0001DE00023012B05D81A01124CA2580AB168 +:1091B0000133F7E7022B19D00E4D1C0105EB03120A +:1091C00006682E5184685460406990600020908148 +:1091D000DEE7084A02EB03129289013292B2054996 +:1091E00001EB03118A81581C70BC70470020FBE71B +:1091F0000020F9E7902600200138012815D80D4BF2 +:1092000003EB00139B89B3F5807F03D043B1013B8F +:109210009BB200E00023074A02EB0012938133B9AE +:1092200003010020034AD0507047022070470020FD +:10923000704700BF90260020002303E05DF8044B38 +:1092400070470133012B11D81A0109498A5882420B +:10925000F7D110B41A0100248C500133012BEDD842 +:109260001A0103498A588242F7D1F3E7704700BFD9 +:109270009026002002398369023B8B4204D943893E +:10928000C06A01FB03007047002070470268C36A90 +:1092900004339089B1FBF0F15289B1FBF2F101E0A6 +:1092A000091A0833186818B18142F9D2586808447D +:1092B000704770B506460D4601F11A00FFF7BCFE77 +:1092C0003378032B00D070BD044605F11400FFF77E +:1092D000B3FE44EA0040F6E770B506460C46154674 +:1092E00091B204F11A00FFF7B7FE3378032B00D0D8 +:1092F00070BD290C04F11400FFF7AEFEF8E738B595 +:1093000000234B72C36973B305460C460022134613 +:1093100006E0BCF1090F0FD0A1184B720132634671 +:109320000A2B0ED803F1010C296ACB5C202BF6D056 +:10933000052BEED1E523ECE7A1182E20487201326F +:10934000EAE72244002353722B6ADB7A2372286AED +:109350001C30FFF776FE2060286A1630FFF771FE9A +:10936000E080000CA08038BD2DE9F84F81468A4688 +:10937000D1F8008000F1240B0B2220215846FFF782 +:1093800083FE00252B46082729E0013618F8063011 +:109390002F2BFAD05C2BF8D04644CAF80060002D81 +:1093A00044D099F82430E52B35D0202C37D804232D +:1093B00089F82F30002035E014F0800F27D12146A6 +:1093C0001B48FFF773FE78BBA4F16103DBB2192BD6 +:1093D00001D8203CE4B20BF80540013533465E1C51 +:1093E00018F80340202CD7D95C2C18BF2F2CCDD0D7 +:1093F0002E2C18BFAF42DFD82E3C18BF01240B2FF4 +:1094000008BF44F0010464B908250B27E6E7803C57 +:10941000084B1C5DD3E7052389F82430C5E70023FA +:10942000C6E70620BDE8F88F0620FBE70620F9E72F +:1094300064B4000868B600080146006808B1024636 +:1094400003E04FF0FF30704701321378202B01D931 +:109450003A2BF9D13A2B01D000207047034613F87C +:10946000010B3038092898BF9A4203D128B901323C +:109470000A6070474FF0FF3070474FF0FF30704781 +:1094800038B50D46044698B103689BB11A78A2B16D +:109490008188DA88914203D0092000242C6038BDED +:1094A0005878FFF785FD10F0010009D12468F5E731 +:1094B0000920F3E71C460920F0E709200024EDE726 +:1094C00009200024EAE72DE9F041C57815B92846BE +:1094D000BDE8F0810446076B00F1340801233A46E9 +:1094E00041464078FFF790FD0546A0B90023E370A0 +:1094F000636AFB1AE2699342E9D2A67808E0E3695D +:109500001F4401233A4641466078FFF77DFD013E46 +:10951000012EF4D8DBE70125D9E770B5036B8B4248 +:1095200002D10026304670BD04460D46FFF7CBFF42 +:1095300006460028F6D101232A4604F1340160785A +:10954000FFF756FD10B101264FF0FF352563E9E71F +:1095500038B504460023C3704FF0FF330363FFF7B1 +:10956000DCFF30BB054604F23220FFF765FD4AF60A +:10957000552398421FD194F83430E92B07D0636B00 +:1095800003F0FF130D4A934201D0022514E004F1C9 +:109590006A00FFF756FD20F07F40094B98420BD040 +:1095A00004F18600FFF74DFD064B984204D00225DA +:1095B00002E0042500E00325284638BDEB009000BA +:1095C00046415400464154332DE9F04F87B00D46D3 +:1095D000164600230B60FFF72FFF071EC0F26781BE +:1095E000BE4B53F82740002C00F066812C6006F03B +:1095F000FE06237873B16078FFF7DAFC10F00105FE +:1096000008D1002E00F0548110F0040F00F05081BA +:109610000A254DE100232370F8B26070FFF7D4FCF7 +:1096200010F0010F40F04A811EB110F0040F40F01D +:10963000478104F10C0202216078FFF7F1FC054636 +:10964000002840F03F81A289A2F500739BB2B3F5D8 +:10965000606F00F23981531E1A4201D0012527E1C3 +:1096600000212046FFF774FF022800F088800026C2 +:10967000042800F02B81012800F22A8104F13F0028 +:10968000FFF7DAFCB4F80C80404540F0238104F188 +:109690004A00FFF7D1FC074620B904F15800FFF754 +:1096A000D0FC0746E76194F84420A270531EDBB259 +:1096B000012B00F2118107FB02F3009394F8419013 +:1096C000A4F80A90B9F1000F00F0108109F1FF33FE +:1096D00019EA030F40F00C8104F14500FFF7ACFCE0 +:1096E000824620814FEA581BB0FBFBF30BFB1303B0 +:1096F0009BB2002B40F0FE8004F14700FFF79CFC7A +:10970000019020B904F15400FFF79BFC019004F193 +:109710004200FFF791FC0146002800F0ED80009B1D +:10972000C318BAFBFBFB5B44019A9A42C0F0E68087 +:10973000D21AB2FBF9F04A45C0F0E2804FF6F5725A +:10974000904234D840F6F57290426AD94FF0020B3D +:109750002FE0002006AB03EB860343F8100C013624 +:10976000032E0ED804F13400330103F5DF731844DF +:109770000379002BEDD00830FFF763FCEAE7002601 +:10978000EEE700270AE031462046FFF7E1FE012818 +:109790007FF66EAF0137032F3FF66AAF06AB03EBE0 +:1097A000870353F8106C002EEDD10320F2E74FF041 +:1097B000030B00F10209C4F8189026628A1962624C +:1097C0003344E362BBF1030F2ED0BAF1000F00F077 +:1097D0009D80009B1A44A262BBF1020F35D009EBB9 +:1097E000490209F0010303EB52034344013BB3FB7D +:1097F000F8F3BB4200F28C804FF0FF3363612361CA +:1098000080232371BBF1030F22D084F800B0344AC7 +:10981000138801339BB21380E3802046FFF70CFDD1 +:1098200046E04FF0010BC4E704F15E00FFF704FCD3 +:10983000002867D1BAF1000F66D104F16000FFF78C +:1098400000FCA0624FEA8903CFE74FEA4903CCE767 +:1098500004F16400FFF7F0FB0128D6D1711C20460B +:10986000FFF75BFE0028D0D10023237104F23220E1 +:10987000FFF7E2FB4AF655239842C6D104F13400C3 +:10988000FFF7DFFB174B9842BFD104F50670FFF7D7 +:10989000D8FB154B9842B8D104F50770FFF7D1FB00 +:1098A000606104F50870FFF7CCFB2061ADE70B2584 +:1098B000284607B0BDE8F08F0C25F9E70325F7E748 +:1098C0000A25F5E70125F3E70125F1E70125EFE793 +:1098D0000D25EDE70D25EBE70D25E9E7B426002082 +:1098E000B026002052526141727241610D25DFE7BE +:1098F0000D25DDE70D25DBE70D25D9E70D25D7E79C +:109900000D25D5E70D25D3E70D25D1E70D25CFE7AB +:109910000D25CDE72DE9F047012940F28E80044660 +:109920000D46174683698B4240F28B800378022BE9 +:1099300049D0032B60D0012B40F0858001EB51080A +:10994000416A8389B8FBF3F31944FFF7E6FD064645 +:10995000002873D104F1340A08F10109A389B8FB86 +:10996000F3F203FB128815F0010522D01AF8083033 +:1099700003F00F0343EA0713DBB20AF808300123B0 +:10998000E370616AA389B9FBF3F319442046FFF73A +:10999000C4FD0646002851D1A389B9FBF3F203FBAD +:1099A000129945B1C7F307130AF809300123E37090 +:1099B00044E0FBB2E1E71AF80930C7F3032223F0D1 +:1099C0000F031343F0E7416A83895B08B5FBF3F3A8 +:1099D0001944FFF7A2FD064680BB04F134006D0078 +:1099E000A389B5FBF3F203FB1255B9B22844FFF784 +:1099F00033FB0123E37021E0416A83899B08B5FBB7 +:109A0000F3F31944FFF789FD0646B8B927F070470C +:109A100004F13403AD00A289B5FBF2F102FB11554C +:109A20001D442846FFF70DFB00F0704139432846DE +:109A3000FFF716FB0123E37000E002263046BDE885 +:109A4000F0870226FAE70226F8E7F8B5056801294B +:109A50006AD90C46AB698B4268D92B78022B35D07A +:109A6000032B49D0012B63D101EB5106696AAB8905 +:109A7000B6FBF3F319442846FFF74FFD10B14FF042 +:109A8000FF3052E0771CAB89B6FBF3F203FB1266A2 +:109A90002E4496F83460696AB7FBF3F319442846FC +:109AA000FFF73BFD002845D1AB89B7FBF3F203FB81 +:109AB00012772F4497F8343046EA032014F0010F50 +:109AC00001D0000931E0C0F30B002EE0696AAB89D8 +:109AD0005B08B4FBF3F319442846FFF71EFD60BB97 +:109AE00005F134006400AB89B4FBF3F203FB1244CC +:109AF0002044FFF7A1FA18E0696AAB899B08B4FB20 +:109B0000F3F319442846FFF708FDC8B905F13400FE +:109B1000A400AB89B4FBF3F203FB12442044FFF72B +:109B200090FA20F0704000E00120F8BD0120FCE731 +:109B30000120FAE74FF0FF30F7E74FF0FF30F4E78E +:109B40004FF0FF30F1E72DE9F041D0F80080B1F59A +:109B5000001F49D207460E4611F01F0F47D1416141 +:109B600084681CBB98F80030022B01D9D8F8284033 +:109B7000E4B9B8F80830B3EB561F3AD9D8F8283012 +:109B8000FB61BC61FB69E3B3B8F80C20B6FBF2F2F1 +:109B90001344FB6108F13403B8F80C20B6FBF2F172 +:109BA00002FB11610B443B6200201EE0B8F80A5032 +:109BB000B8F80C3003FB05F5AE420FD3214638460A +:109BC000FFF743FF0446B0F1FF3F14D0012814D93A +:109BD000D8F81830834212D9761BEDE7214640466B +:109BE000FFF748FBF861CCE70220BDE8F0810220D6 +:109BF000FBE70220F9E70120F7E70220F5E7022062 +:109C0000F3E70220F1E72DE9F041054606680F462B +:109C100051B9D6F81080B8F1000F12D0B36943459E +:109C200011D84FF001080EE0FFF70FFF034601289F +:109C30004CD9B0F1FF3F4ED0B26982424BD8B84602 +:109C400001E04FF0010844460CE021462846FFF7AA +:109C5000FCFE034678B1B0F1FF3F18BF01283AD0AF +:109C6000444537D00134B369A342EED8B8F1010FAF +:109C70002ED90224E9E74FF0FF3221463046FFF7A4 +:109C800049FE0246B0FA80F04009002F08BF0020CC +:109C900070B9A2B934617269B369023B9A4201D8C2 +:109CA000013A7261337943F001033371234612E0C4 +:109CB000224639463046FFF72DFE0246E9E7012AE3 +:109CC00001D0012307E04FF0FF3304E0012302E05D +:109CD000002300E000231846BDE8F081F8B50C46EB +:109CE000056801292ED906461146AB69A3422BD936 +:109CF0004AB14FF0FF322846FFF70CFE074610B17D +:109D000023E0A24221D9274621463046FFF79DFE97 +:109D10000446E0B101281CD0B0F1FF3F1BD0002267 +:109D200039462846FFF7F6FD074670B96B69AA6900 +:109D3000911E8B42E5D201336B612B7943F0010315 +:109D40002B71DEE7022700E002273846F8BD002726 +:109D5000FBE70227F9E70127F7E738B5044605686E +:109D6000C1692846FFF7D9FB20B9236AE5221A709A +:109D70000123EB7038BD2DE9F84306684469C369D7 +:109D8000002B74D005460F462034B4F5001F70D266 +:109D9000B189B4FBF1F201FB12423AB90133C3615C +:109DA0008169A1B93389B3EB541F0CD96C6106F1F9 +:109DB0003403B289B4FBF2F102FB114423442B6259 +:109DC0000020BDE8F8830023C3610420F9E7B289CD +:109DD000B4FBF2F27389013B12EA0308E6D1FFF704 +:109DE00034FE8146012846D9B0F1FF3F45D0B36922 +:109DF000834234D88FB1A9692846FFF704FF814612 +:109E000000283CD001283CD0B0F1FF3F3BD0304689 +:109E1000FFF759FB28B10120D3E70023EB610420B1 +:109E2000CFE7B289002106F13400FFF72DF949464A +:109E30003046FFF71FFA3063738998450BD2012330 +:109E4000F3703046FFF73FFBF8B908F10108336BB8 +:109E500001333363F0E7336BA3EB08033363C5F8D7 +:109E6000189049463046FFF705FAE8619EE704205E +:109E7000A7E70420A5E70220A3E70120A1E7072028 +:109E80009FE702209DE701209BE7012099E770B53D +:109E9000044606680021FFF756FE054640B12846F5 +:109EA00070BD00212046FFF766FF05460028F6D169 +:109EB000E1693046FFF731FB05460028EFD1206A03 +:109EC00003787BB1C37A03F03F03A371C37A13F025 +:109ED000080FE6D10B2204F12401FFF7DAF800287D +:109EE000DFD1DCE70425DAE730B583B00446019121 +:109EF000056801E001330193019B1A782F2AF9D0FC +:109F00005C2AF7D00022A2601B781F2B21D901A95F +:109F10002046FFF729FA034618BB2046FFF7B7FF94 +:109F200094F82F200346F8B912F0040F19D1A37941 +:109F300013F0100F1FD005F134016369AA89B3FB38 +:109F4000F2F002FB103319442846FFF7B2F9A06083 +:109F5000DDE7802384F82F3011462046FFF7F3FD1C +:109F60000346184603B030BD0428FAD112F0040F9E +:109F7000F7D10523F5E70523F3E7F8B504460E46C8 +:109F800007680021FFF7DFFD0246B8B9002506E0AB +:109F9000002501212046FFF7EEFE024670B9E16977 +:109FA0003846FFF7BAFA024640B9236A1B78002BFD +:109FB00018BFE52BECD10135B542EAD1042A01D016 +:109FC0001046F8BD0722FBE770B50446066801217C +:109FD000FFF7D3FF054608B1284670BDE16930465A +:109FE000FFF79BFA05460028F6D120220021206ABF +:109FF000FFF74AF80B2204F12401206AFFF73AF830 +:10A000000123F370E8E7F8B504460E460568042717 +:10A0100005E000212046FFF7AEFE0746E8B9E169FA +:10A02000D9B12846FFF779FA0746B0B9236A1A78FA +:10A0300092B1DB7A03F03F03A371E52A18BF2E2A01 +:10A04000E7D00F2BE5D023F02003082B14BF00230B +:10A050000123B342DDD100E004270FB10023E36107 +:10A060003846F8BD70B50446FFF72DFA054648B9E5 +:10A070002378032B08D0002211466078FEF7D0FF2A +:10A0800000B10125284670BD2379012BF3D104F1DD +:10A090003406A28900213046FEF7F6FF4AF6552124 +:10A0A00004F23220FEF7D8FF0E493046FEF7D8FF03 +:10A0B0000D4904F50670FEF7D3FF616904F50770DA +:10A0C000FEF7CEFF216904F50870FEF7C9FF226A8A +:10A0D00001322263012331466078FEF795FF0023A9 +:10A0E0002371C8E7525261417272416170B584B008 +:10A0F000019000911646039103A8FFF79DF9041EF5 +:10A1000020DB114B53F8245025B12846FFF794F873 +:10A1100000232B70019B0BB100221A70019B0A4A8D +:10A1200042F82430721E18BF0122002B08BF42F0F3 +:10A13000010212B1002004B070BD01A96846FFF70A +:10A1400043FAF8E70B20F6E7B42600202DE9F043A8 +:10A1500091B00191002800F010811446064602F0EB +:10A160003F073A4603A901A8FFF72EFA054628B192 +:10A1700000233360284611B0BDE8F083039B0493AD +:10A18000019904A8FFF7B0FE054660B99DF93F307C +:10A19000002B52DB14F03E0F14BF0121002104A854 +:10A1A000FEF78CFF054614F01C0F5CD0002D50D03C +:10A1B000042D44D047F00807002DD9D117F0080F1F +:10A1C00061D0FAF789F9044601460C980E30FEF783 +:10A1D00047FF21460C981630FEF742FF0C9B2022C9 +:10A1E000DA72DDF80C80DDF8309049464046FFF722 +:10A1F00060F80446002249464046FFF76DF800210A +:10A200000C981C30FEF72CFF039B0122DA70002C07 +:10A2100039D0039BD3F830800022214604A8FFF7F1 +:10A220005DFD05460028A3D141460398FFF775F967 +:10A230000546013C039B1C6125E00625B3E7FEF7BC +:10A240007BFF08B91225B5E704A8FFF7BDFE054658 +:10A25000B0E79DF8163013F0110F13D114F0040F6E +:10A26000AAD0082584E7002D82D19DF8163013F07E +:10A27000100F7ED114F0020F05D013F0010F02D0A1 +:10A28000072575E70725002D7FF472AF17F0080F3B +:10A2900001D047F04007039B1B6B73620C9BB362BA +:10A2A000012F94BF0021012104A8FEF755FF306162 +:10A2B00008B902255CE7039CDDF830804146204662 +:10A2C000FEF7F7FFB06008F11C00FEF7BAFEF06081 +:10A2D0000021F1623460E388B380377571753162B3 +:10A2E000B16106F130084FF480524046FEF7CCFED3 +:10A2F00017F0200F39D0F468002C36D0B461039BDE +:10A300005F899B8903FB07F7B16801E00225E41B25 +:10A31000BC4294BF002301235DB953B13046FFF71F +:10A3200094FB01460128F1D9B0F1FF3FEFD101259F +:10A33000EDE7F161002D7FF41BAF039FB7F80C90A0 +:10A34000B4FBF9F309FB13437BB13846FEF792FFE8 +:10A3500008B902250CE7B4FBF9F20244326201238A +:10A3600041467878FEF744FE28B9002D3FF402AF4D +:10A37000FEE60425FCE60125FAE60925FAE62DE9C4 +:10A38000F04F85B004460F46154698460023C8F89E +:10A39000003003A9FFF774F80190002840F0B9805D +:10A3A000637D0193002B40F0B480237D13F0010FF7 +:10A3B00000F0CE80E668A369F61AAE4267D32E4657 +:10A3C00065E0E36A1BB12046FEF760FF73E0E169D8 +:10A3D0002046FFF73AFB6EE04FF0020A84F815A022 +:10A3E000CDF804A095E04FF0010A84F815A0CDF84F +:10A3F00004A08EE04FF0020A84F815A0CDF804A066 +:10A4000087E094F91430002B04DB039B9D890AFB41 +:10A4100005F532E0236AA3EB09035345F5D2039A0D +:10A42000928904F1300102FB0370FEF723FEECE792 +:10A43000226A4A450DD094F91430002B6DDB0123BC +:10A440004A4604F1300103984078FEF7D1FD002818 +:10A4500077D1C4F82090039B9D89A369B3FBF5F2E3 +:10A4600005FB1233ED1AAE4200D2354604F130013D +:10A470002A4619443846FEF7FDFD2F44A3692B44B4 +:10A48000A361D8F800302B44C8F80030761B002EAA +:10A490003FD0A169039A9589B1FBF5F305FB13132E +:10A4A000002BD8D1B1FBF5F55389013B1D4008D1F4 +:10A4B000002986D1A06801288ED9B0F1FF3F92D043 +:10A4C000E061DDF80CB0E1695846FEF7D3FE814645 +:10A4D00000288FD0A944BBF80C30B6FBF3FAB34286 +:10A4E000A6D805EB0A03BBF80A20934201D9A2EBD8 +:10A4F000050A53464A4639469BF80100FEF778FDA7 +:10A5000000283FF47EAF4FF0010A84F815A0CDF883 +:10A5100004A0019805B0BDE8F08F012304F13001DB +:10A520009BF80100FEF770FD20B9237D03F07F0347 +:10A53000237584E74FF0010A84F815A0CDF804A034 +:10A54000E7E74FF0010A84F815A0CDF804A0E0E792 +:10A5500007230193DDE72DE9F04F85B004460F4650 +:10A56000154698460023C8F8003003A9FEF788FF77 +:10A57000019000284AD1637D0193002B46D1237DB1 +:10A5800013F0020F00F0EC80A369EB42C0F0B6803C +:10A59000DD43B3E0E36A002B3CD02046FEF776FEB5 +:10A5A000002800F0D880012839D0B0F1FF3F3DD01D +:10A5B000E061A36803B9A06094F91430002B3CDB80 +:10A5C000DDF80CB0E1695846FEF754FE81460028DC +:10A5D00048D0B144BBF80C30B5FBF3FAAB425FD8BE +:10A5E00006EB0A03BBF80A20934201D9A2EB060A44 +:10A5F00053464A4639469BF80100FEF705FDC0B3B5 +:10A600004FF0010A84F815A0CDF804A0019805B018 +:10A61000BDE8F08FE1692046FFF7F5FAC0E74FF09B +:10A62000020A84F815A0CDF804A0EFE74FF0010A64 +:10A6300084F815A0CDF804A0E8E70123226A04F10C +:10A64000300103984078FEF7DFFC20B9237D03F04A +:10A650007F032375B4E74FF0010A84F815A0CDF805 +:10A6600004A0D3E74FF0020A84F815A0CDF804A0A7 +:10A67000CCE7236AA3EB0903534504D3039B9E89CC +:10A680000AFB06F62BE0039A928902FB037104F1A0 +:10A690003000FEF7EFFC237D03F07F032375EDE729 +:10A6A000236A4B4503D0A269E3689A4242D3C4F8B7 +:10A6B0002090039B9E89A369B3FBF6F206FB12333D +:10A6C000F61AB54200D22E4604F130003246394621 +:10A6D0001844FEF7CFFC237D63F07F0323753744D6 +:10A6E000A3693344A361E268934238BF1346E36031 +:10A6F000D8F800303344C8F80030AD1B5DB3A16911 +:10A70000039A9689B1FBF6F306FB1313002BD0D105 +:10A71000B1FBF6F65389013B1E407FF44DAF002993 +:10A720007FF438AFA06800287FF43DAF2046FFF7E4 +:10A730006AFA35E701234A4604F130019BF801002B +:10A74000FEF756FC0028B2D04FF0010A84F815A09D +:10A75000CDF804A05AE7237D43F04003237555E765 +:10A760000723019352E770B582B0044601A9FEF7B2 +:10A7700087FE70B9237D13F0400F0AD013F0800FCD +:10A7800009D1F9F7A9FE0546616A0198FEF7C5FEF1 +:10A7900078B102B070BD0123226A04F13001019842 +:10A7A0004078FEF731FC40BB237D03F07F03237527 +:10A7B000E7E7A66AF37A43F02003F372A268314612 +:10A7C0002068FEF789FDE16806F11C00FEF748FCF1 +:10A7D000294606F11600FEF743FC002106F112009F +:10A7E000FEF73AFC019B0122DA700198FFF73AFC70 +:10A7F000237D23F040032375CBE70120C9E710B583 +:10A8000082B00446FFF7AFFF08B102B010BD01A946 +:10A810002046FEF735FE0028F7D12069FEF7ECFC54 +:10A820000028F2D12060F0E72DE9F04F83B0044614 +:10A830000D4601A9FEF724FE064678B9667D6EB97D +:10A84000E36A002B00F08E80B5F1FF3F0AD0E76885 +:10A85000AF4200D32F46A761002F3FD1304603B04F +:10A86000BDE8F08F984658F804BBD4F808A0BAF1B8 +:10A87000000F27D04FF0020909F1020951460027C5 +:10A8800001370D462046FFF7E0F80146012813D9AD +:10A89000B0F1FF3F13D001358542F1D0CB4505D350 +:10A8A000434643F8087BC8F804A09846019B9B697F +:10A8B0008B4209D98A46DFE702266675CEE7012674 +:10A8C0006675CBE74FF00209E36AC3F80090D945FB +:10A8D00000F2FB800023C8F80030BFE77D1E294648 +:10A8E0002046FEF7D3FC0146E061DDF804804046D7 +:10A8F000FEF7C0FC00B3B8F80C30B5FBF3F5B8F8C0 +:10A900000A20013A15400544B7FBF3F203FB127726 +:10A91000002FA3D0226AAA42A0D094F91430002BB1 +:10A920000DDB01232A4604F1300101984078FEF73F +:10A930005FFBA0B9256291E7022666758EE70123C9 +:10A9400004F1300198F80100FEF75EFB20B9237D89 +:10A9500003F07F032375E4E7012666757EE7012691 +:10A9600066757BE7E368AB4204D2227D12F0020FEA +:10A9700000D11D46A3690022A261E5B1019AB2F897 +:10A980000A80928902FB08F873B16A1EB2FBF8F2E2 +:10A99000013BB3FBF8F18A4206D3C8F10002134031 +:10A9A000A361EF1AE56904E0A06850B3E0612F46A7 +:10A9B0000546002D45D1A369E268934204D9E360BE +:10A9C000227D42F04002227501988289B3FBF2F1A8 +:10A9D00002FB1133002B3FF441AF226AAA423FF43D +:10A9E0003DAF94F91430002B5DDB01232A4604F1BE +:10A9F000300101984078FEF7FBFA002862D1256209 +:10AA00002CE700212046FFF7FEF8012804D0B0F122 +:10AA1000FF3F04D0A060C9E7022666751EE7012645 +:10AA200066751BE729462046FFF70FF80546B5F186 +:10AA3000FF3F2DD0012D2ED9019B9B69AB422AD916 +:10AA4000E561474510D9A7EB0807A3694344A36113 +:10AA5000237D13F0020FE5D029462046FFF7D3F8F7 +:10AA600005460028E3D10746A3693B44A36101984A +:10AA7000B0F80C80B7FBF8F308FB13738BB12946D1 +:10AA8000FEF7F8FB054648B1B7FBF8F73D4492E7FF +:10AA900001266675E2E602266675DFE60226667521 +:10AAA000DCE61D4687E7012304F130014078FEF71C +:10AAB000ABFA20B9237D03F07F03237595E70126C8 +:10AAC0006675CBE601266675C8E61126C6E630B582 +:10AAD0008FB001900C46002202A901A8FEF774FD78 +:10AAE000054610B128460FB030BD019902A8FFF706 +:10AAF000FBF905460028F5D19DF93730002B06DB20 +:10AB0000002CEFD0214602A8FEF7F9FBEAE7062564 +:10AB1000E8E7F0B59DB00190022203A901A8FEF775 +:10AB200053FD039B1093044610B120461DB0F0BDA9 +:10AB3000019910A8FFF7D8F904460028F5D10221A1 +:10AB400010A8FEF7BBFA04460028EED19DF96F303D +:10AB5000002B3CDB9DF8465015F0010F39D1039FC7 +:10AB600018993846FEF7A5FB064615F0100F13D1CD +:10AB7000002CDAD110A8FFF7F0F80446B0FA80F004 +:10AB80004009002E08BF0020D0B9002CCDD1039879 +:10AB9000FFF768FA0446C8E704970690002104A866 +:10ABA000FEF7D1FF04460028BFD1002104A8FFF71B +:10ABB0002AFA044610B10428DAD1DBE70724D7E7E4 +:10ABC0000022314610A8FFF789F80446DDE7062485 +:10ABD000ABE70724A9E70000134B5B7A13BB10B562 +:10ABE000044603F0FF00104B93F809C05FFA8CFC99 +:10ABF0004FF0000E03F80CE093F809C003EB8C0C47 +:10AC0000CCF804405C7A1C4422725A7A541CE4B298 +:10AC10005C7230320A703A234B702F238B7081F8AC +:10AC200003E010BD01207047B826002008B50022BF +:10AC3000FFF7D2FF08BD000010B503460C4A0D49CE +:10AC40000D48006840B10C4800680344521A934212 +:10AC500006D8094A136010BD0748084C0460F2E7A3 +:10AC6000F5F7CCFD0C2303604FF0FF30F3E700BF96 +:10AC70000000082000400000C4260020C826002054 +:10AC8000026852E8003F23F4907342E80031002943 +:10AC9000F6D1026802F1080353E8003F23F00103F4 +:10ACA000083242E800310029F3D1036E012B06D0AF +:10ACB0002023C0F880300023036683667047026853 +:10ACC00052E8003F23F0100342E800310029F6D19A +:10ACD000EEE7000010B50446836802691343426939 +:10ACE0001343C269134301680868914A02401A433A +:10ACF0000A602268536823F44053E1680B435360B1 +:10AD0000A269236A1A4321688B6823F430631343D2 +:10AD10008B602368874A934218D0874A93423AD07F +:10AD2000864A93424FD0864A93425ED0854A9342E8 +:10AD30006DD0854A93427FD0844A934200F091803F +:10AD4000834A934200F0A28010230BE0814BD3F89A +:10AD5000903003F00303032B1BD8DFE803F0021647 +:10AD6000AB180123E069B0F5004F00F0D780082B45 +:10AD700000F23881DFE813F01401270112013601D7 +:10AD80002A013601360136012D010423EAE70823A2 +:10AD9000E8E71023E6E76F4BD3F8903003F00C039D +:10ADA0000C2B0ED8DFE803F0070D0D0D090D0D0D6E +:10ADB000880D0D0D0B000023D4E70423D2E70823F0 +:10ADC000D0E71023CEE7634BD3F8903003F0300385 +:10ADD000202B73D005D8002B72D0102B72D10423F6 +:10ADE000C0E7302B70D10823BCE75A4BD3F8903022 +:10ADF00003F0C003802B69D005D8002B68D0402B0E +:10AE000068D10423AEE7C02B66D10823AAE7514BD3 +:10AE1000D3F8903003F44073B3F5007F5ED006D8CA +:10AE2000002B5DD0B3F5807F5CD104239AE7B3F5A6 +:10AE3000407F59D1082395E7464BD3F8903003F46F +:10AE40004063B3F5006F51D006D8002B50D0B3F556 +:10AE5000806F4FD1042385E7B3F5406F4CD10823B1 +:10AE600080E73C4BD3F8903003F44053B3F5005FD8 +:10AE700044D006D8002B43D0B3F5805F42D10423E1 +:10AE800070E7B3F5405F3FD108236BE7314BD3F850 +:10AE9000903003F44043B3F5004F37D005D8BBB32F +:10AEA000B3F5804F36D104235CE7B3F5404F33D17F +:10AEB000082357E7022355E7022353E7022351E70C +:10AEC00000234FE710234DE710234BE7022349E708 +:10AED000002347E7102345E7102343E7022341E718 +:10AEE00000233FE710233DE710233BE7022339E728 +:10AEF000012337E7102335E7102333E7022331E737 +:10AF000000232FE710232DE710232BE7022329E747 +:10AF1000002327E7102325E7102323E7082B5BD81E +:10AF2000DFE803F01A343A5A375A5A5A1E0000BF63 +:10AF3000F369FFEF0010014000440040004800406A +:10AF4000004C0040005000400014014000780040D8 +:10AF5000007C004000380240FAF71AFE00283DD07D +:10AF60006268530803EB4003B3FBF2F3A3F1100153 +:10AF70004FF6EF72914233D89AB222F00F02C3F328 +:10AF8000420313432268D360002030E0FAF710FE3A +:10AF9000E4E7FAF7EDFCE1E71748E1E7164802E0DD +:10AFA000FAF7F6FD00B3636800EB5300B0FBF3F073 +:10AFB000A0F110024FF6EF739A4217D8236880B2BF +:10AFC000D860002013E0FAF7F3FDEBE7FAF7D0FCC6 +:10AFD000E8E74FF40040E6E7012008E0002006E043 +:10AFE000012004E0012002E0002000E00120002315 +:10AFF000A366E36610BD00BF0024F400436A13F0AB +:10B00000080F06D00268536823F40043416B0B43DA +:10B010005360436A13F0010F06D00268536823F4AB +:10B020000033816A0B435360436A13F0020F06D06A +:10B030000268536823F48033C16A0B435360436A48 +:10B0400013F0040F06D00268536823F48023016BC9 +:10B050000B435360436A13F0100F06D002689368E5 +:10B0600023F48053816B0B439360436A13F0200FEA +:10B0700006D00268936823F40053C16B0B439360BE +:10B08000436A13F0400F0AD00268536823F4801318 +:10B09000016C0B435360036CB3F5801F0BD0436A04 +:10B0A00013F0800F06D00268536823F40023816CEC +:10B0B0000B43536070470268536823F4C003416C2C +:10B0C0000B435360EBE72DE9F84305460E46174660 +:10B0D0009946DDF820802B68DC6936EA04040CBF51 +:10B0E00001240024BC423AD1B8F1FF3FF3D0FBF772 +:10B0F00079FAA0EB0900404534D8B8F1000F33D0FD +:10B100002B681A6812F0040FE5D0B6F1400218BFA0 +:10B110000122802EDFD0002ADDD0DA6912F0080F7C +:10B1200011D1DA6912F4006FD5D04FF400621A62BF +:10B130002846FFF7A5FD2023C5F88430002385F8B5 +:10B14000783003200CE008241C622846FFF798FDA5 +:10B15000C5F88440002385F87830012000E0002005 +:10B16000BDE8F8830320FBE70320F9E730B583B09F +:10B1700004460023C0F88430FBF734FA0546226801 +:10B18000126812F0080F0FD123681B6813F0040F28 +:10B1900026D12023E367C4F8803000202066606653 +:10B1A00084F8780003B030BD6FF07E43009303460F +:10B1B00000224FF400112046FFF785FF0028E3D05E +:10B1C000226852E8003F23F0800342E80031002962 +:10B1D000F6D12023E367002384F878300320E1E7E9 +:10B1E0006FF07E4300932B4600224FF480012046EF +:10B1F000FFF769FF0028CCD0226852E8003F23F413 +:10B20000907342E800310029F6D1226802F1080368 +:10B2100053E8003F23F00103083242E800310029DF +:10B22000F3D12023C4F88030002384F87830032041 +:10B23000B8E768B310B50446C36F03B32423E367CC +:10B240002268136823F001031360636AE3B92046A0 +:10B25000FFF740FD012811D02268536823F4904382 +:10B2600053602268936823F02A039360226813686E +:10B2700043F0010313602046FFF778FF10BD80F80C +:10B280007830F9F799FDD9E72046FFF7B7FEDEE7FA +:10B2900001207047DFF834D0FDF7FAFC0C480D4967 +:10B2A0000D4A002302E0D458C4500433C4188C4221 +:10B2B000F9D30A4A0A4C002301E013600432A24287 +:10B2C000FBD3F5F721FAF8F79DFA70470000082044 +:10B2D000000000205C000020F8B600085C000020A0 +:10B2E000C8260020FEE70000F8B500BFF8BC08BC87 +:10B2F0009E467047F8B500BFF8BC08BC9E46704734 +:10B300002F000000434F4D4D414E442E54585400E1 +:10B3100046494C45312E5458540000004552525273 +:10B320004F52212121202A25732A20646F65732022 +:10B330006E6F74206578697374730A0A00000000E8 +:10B340004552524F52212121204E6F2E202564203C +:10B35000696E206F70656E696E672066696C652026 +:10B360002A25732A0A0A00004552524F52212121F0 +:10B37000204E6F2E20256420696E207265616469FD +:10B380006E672066696C65202A25732A0A0A000008 +:10B390004552524F52212121204E6F2E20256420EC +:10B3A000696E20636C6F73696E672066696C6520D7 +:10B3B0002A25732A0A0A000046696C65202A25732B +:10B3C0002A20434C4F534544207375636365737360 +:10B3D00066756C6C790A00004552524F522121214A +:10B3E0002043616E2774207365656B207468652047 +:10B3F00066696C653A2020202A25732A0A0A000013 +:10B400004552524F52212121202A25732A20646F50 +:10B410006573206E6F74206578697374730A0A000F +:10B420002A25732A20686173206265656E20726523 +:10B430006D6F766564207375636365737366756C91 +:10B440006C790A004552524F52204E6F2E202564CF +:10B4500020696E2072656D6F76696E67202A25738C +:10B460002A0A0A00222A2B2C3A3B3C3D3E3F5B5DD8 +:10B470007C7F0000232D302B20000000686C4C00E6 +:10B48000656667454647000030313233343536371C +:10B4900038394142434445460000000030313233E0 +:10B4A0003435363738396162636465660000000000 +:10B4B0000000000E0000000000000000000000403E +:10B4C0000000000000000000001F0000000000005D +:10B4D0000E000000000000000000000030301101EC +:10B4E000FFFF000001010300000000000000000059 +:10B4F000000000000000000000400000000200000A +:10B50000000000000000000000000000000000003B +:10B51000000000000000000000000000000000002B +:10B520000000000000000000A00F0000F03F00013C +:10B530000100010000000000000000000000000009 +:10B54000000000400000000000000000001F00009C +:10B55000000000000E0000000000000000000000DD +:10B5600012322101FFFF0000010103000000000072 +:10B57000000000000000000000000000004000008B +:10B5800006069919009A0000000000000000000063 +:10B5900000000000A00F00000000000000000000FC +:10B5A000000000000000000000000000000000009B +:10B5B0000000FF160100010000000100020003006E +:10B5C0000400050006000700080009000A000B003F +:10B5D0000C000D000E001F0020002200230024009C +:10B5E000250026002700280029002A002B002C0017 +:10B5F0002D002E002F0030003100320033003400C7 +:10B600003500360037003E003F0040004100420058 +:10B6100043004400450047005000510052005300D1 +:10B620005400550056005700580059005A005B005E +:10B630005C005D005E005F001E001D00ED43000821 +:10B64000154400081D4400084144000865440008F2 +:10B6500000000000010203040000000000000000E0 +:10B66000010203040607080943554541414141438E +:10B6700045454549494941414592924F4F4F55559E +:10B68000594F554F9C4F9E9F41494F55A5A5A6A781 +:10B69000A8A9AAABACADAEAFB0B1B2B3B441414111 +:10B6A000B8B9BABBBCBDBEBFC0C1C2C3C4C54141AD +:10B6B000C8C9CACBCCCDCECFD1D1454545494949E2 +:10B6C00049D9DADBDCDD49DF4FE14F4F4F4FE6E888 +:10B6D000E85555555959EEEFF0F1F2F3F4F5F6F758 +:08B6E000F8F9FAFBFCFDFEFF86 +:08B6E8002854FF7F010000005F +:04B6F00069020008E3 +:04B6F4004102000807 +:10B6F800040000200000000080000020E800002076 +:10B7080050010020000000000000000000000000C0 +:10B718000000000000000000000000000000000021 +:10B728000000000000000000000000000000000011 +:10B738000000000000000000000000000000000001 +:0CB7480001010000100000000024F400CB +:040000050800B295A8 :00000001FF diff --git a/build/For_stm32.map b/build/For_stm32.map index 7f6b983..b5237bb 100644 --- a/build/For_stm32.map +++ b/build/For_stm32.map @@ -2080,7 +2080,7 @@ LOAD /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtn.o 0x08000000 g_pfnVectors 0x080001f8 . = ALIGN (0x4) -.text 0x08000200 0xadac +.text 0x08000200 0xb100 0x08000200 . = ALIGN (0x4) *(.text) .text 0x08000200 0x88 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtbegin.o @@ -2149,949 +2149,958 @@ LOAD /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtn.o 0x08001734 0xb0 build/main.o .text.AD9102_WriteRegTable 0x080017e4 0x28 build/main.o + .text.AD9102_LoadSramRamp + 0x0800180c 0xc4 build/main.o .text.AD9102_Init - 0x0800180c 0x74 build/main.o + 0x080018d0 0x74 build/main.o .text.AD9102_ReadReg - 0x08001880 0xb0 build/main.o + 0x08001944 0xb0 build/main.o + .text.AD9102_CheckFlagsSram + 0x080019f4 0x112 build/main.o .text.AD9102_CheckFlags - 0x08001930 0xd8 build/main.o + 0x08001b06 0xd8 build/main.o + *fill* 0x08001bde 0x2 + .text.AD9102_ApplySram + 0x08001be0 0x134 build/main.o .text.AD9102_Apply - 0x08001a08 0xb8 build/main.o + 0x08001d14 0xb8 build/main.o .text.OUT_trigger - 0x08001ac0 0x124 build/main.o - .text.MPhD_T 0x08001be4 0x220 build/main.o + 0x08001dcc 0x124 build/main.o + .text.MPhD_T 0x08001ef0 0x220 build/main.o .text.Stop_TIM10 - 0x08001e04 0x20 build/main.o + 0x08002110 0x20 build/main.o .text.MX_GPIO_Init - 0x08001e24 0x25c build/main.o + 0x08002130 0x25c build/main.o .text.MX_SPI4_Init - 0x08002080 0xd4 build/main.o + 0x0800238c 0xd4 build/main.o .text.MX_SPI2_Init - 0x08002154 0xe8 build/main.o + 0x08002460 0xe8 build/main.o .text.MX_SPI5_Init - 0x0800223c 0xd0 build/main.o + 0x08002548 0xd0 build/main.o .text.MX_SPI6_Init - 0x0800230c 0xd0 build/main.o + 0x08002618 0xd0 build/main.o .text.MX_TIM2_Init - 0x080023dc 0x9c build/main.o + 0x080026e8 0x9c build/main.o .text.MX_TIM5_Init - 0x08002478 0x98 build/main.o + 0x08002784 0x98 build/main.o .text.MX_TIM7_Init - 0x08002510 0x8c build/main.o + 0x0800281c 0x8c build/main.o .text.MX_TIM6_Init - 0x0800259c 0x8c build/main.o + 0x080028a8 0x8c build/main.o .text.Init_params - 0x08002628 0x310 build/main.o - .text.Get_ADC 0x08002938 0x70 build/main.o + 0x08002934 0x310 build/main.o + .text.Get_ADC 0x08002c44 0x70 build/main.o .text.Set_LTEC - 0x080029a8 0x164 build/main.o - 0x080029a8 Set_LTEC + 0x08002cb4 0x164 build/main.o + 0x08002cb4 Set_LTEC .text.Decode_uart - 0x08002b0c 0x2f8 build/main.o + 0x08002e18 0x2f8 build/main.o .text.CalculateChecksum - 0x08002e04 0x18 build/main.o - 0x08002e04 CalculateChecksum + 0x08003110 0x18 build/main.o + 0x08003110 CalculateChecksum .text.CheckChecksum - 0x08002e1c 0x48 build/main.o - 0x08002e1c CheckChecksum - .text.SD_SAVE 0x08002e64 0x3c build/main.o - 0x08002e64 SD_SAVE - .text.SD_READ 0x08002ea0 0x4c build/main.o - 0x08002ea0 SD_READ + 0x08003128 0x48 build/main.o + 0x08003128 CheckChecksum + .text.SD_SAVE 0x08003170 0x3c build/main.o + 0x08003170 SD_SAVE + .text.SD_READ 0x080031ac 0x4c build/main.o + 0x080031ac SD_READ .text.SD_REMOVE - 0x08002eec 0x40 build/main.o - 0x08002eec SD_REMOVE + 0x080031f8 0x40 build/main.o + 0x080031f8 SD_REMOVE .text.USART_TX - 0x08002f2c 0x2c build/main.o - 0x08002f2c USART_TX + 0x08003238 0x2c build/main.o + 0x08003238 USART_TX .text.USART_TX_DMA - 0x08002f58 0x40 build/main.o - 0x08002f58 USART_TX_DMA + 0x08003264 0x40 build/main.o + 0x08003264 USART_TX_DMA .text.Error_Handler - 0x08002f98 0x4 build/main.o - 0x08002f98 Error_Handler + 0x080032a4 0x4 build/main.o + 0x080032a4 Error_Handler .text.MX_ADC1_Init - 0x08002f9c 0xc8 build/main.o + 0x080032a8 0xc8 build/main.o .text.MX_ADC3_Init - 0x08003064 0x6c build/main.o + 0x08003370 0x6c build/main.o .text.MX_USART1_UART_Init - 0x080030d0 0x190 build/main.o + 0x080033dc 0x190 build/main.o .text.MX_TIM10_Init - 0x08003260 0x2c build/main.o + 0x0800356c 0x2c build/main.o .text.MX_UART8_Init - 0x0800328c 0x38 build/main.o + 0x08003598 0x38 build/main.o .text.MX_TIM8_Init - 0x080032c4 0x6c build/main.o + 0x080035d0 0x6c build/main.o .text.MX_TIM11_Init - 0x08003330 0x70 build/main.o + 0x0800363c 0x70 build/main.o .text.MX_TIM4_Init - 0x080033a0 0xa4 build/main.o + 0x080036ac 0xa4 build/main.o .text.SystemClock_Config - 0x08003444 0xb4 build/main.o - 0x08003444 SystemClock_Config - .text.main 0x080034f8 0xac4 build/main.o - 0x080034f8 main + 0x08003750 0xb4 build/main.o + 0x08003750 SystemClock_Config + .text.main 0x08003804 0xb0c build/main.o + 0x08003804 main .text.BSP_SD_ReadBlocks - 0x08003fbc 0x20 build/bsp_driver_sd.o - 0x08003fbc BSP_SD_ReadBlocks + 0x08004310 0x20 build/bsp_driver_sd.o + 0x08004310 BSP_SD_ReadBlocks .text.BSP_SD_WriteBlocks - 0x08003fdc 0x20 build/bsp_driver_sd.o - 0x08003fdc BSP_SD_WriteBlocks + 0x08004330 0x20 build/bsp_driver_sd.o + 0x08004330 BSP_SD_WriteBlocks .text.BSP_SD_GetCardState - 0x08003ffc 0x14 build/bsp_driver_sd.o - 0x08003ffc BSP_SD_GetCardState + 0x08004350 0x14 build/bsp_driver_sd.o + 0x08004350 BSP_SD_GetCardState .text.BSP_SD_GetCardInfo - 0x08004010 0x10 build/bsp_driver_sd.o - 0x08004010 BSP_SD_GetCardInfo + 0x08004364 0x10 build/bsp_driver_sd.o + 0x08004364 BSP_SD_GetCardInfo .text.BSP_SD_IsDetected - 0x08004020 0x20 build/bsp_driver_sd.o - 0x08004020 BSP_SD_IsDetected + 0x08004374 0x20 build/bsp_driver_sd.o + 0x08004374 BSP_SD_IsDetected .text.BSP_SD_Init - 0x08004040 0x34 build/bsp_driver_sd.o - 0x08004040 BSP_SD_Init + 0x08004394 0x34 build/bsp_driver_sd.o + 0x08004394 BSP_SD_Init .text.SD_CheckStatus - 0x08004074 0x24 build/sd_diskio.o + 0x080043c8 0x24 build/sd_diskio.o .text.SD_initialize - 0x08004098 0x28 build/sd_diskio.o - 0x08004098 SD_initialize + 0x080043ec 0x28 build/sd_diskio.o + 0x080043ec SD_initialize .text.SD_status - 0x080040c0 0x8 build/sd_diskio.o - 0x080040c0 SD_status - .text.SD_read 0x080040c8 0x24 build/sd_diskio.o - 0x080040c8 SD_read + 0x08004414 0x8 build/sd_diskio.o + 0x08004414 SD_status + .text.SD_read 0x0800441c 0x24 build/sd_diskio.o + 0x0800441c SD_read .text.SD_write - 0x080040ec 0x24 build/sd_diskio.o - 0x080040ec SD_write + 0x08004440 0x24 build/sd_diskio.o + 0x08004440 SD_write .text.SD_ioctl - 0x08004110 0x58 build/sd_diskio.o - 0x08004110 SD_ioctl + 0x08004464 0x58 build/sd_diskio.o + 0x08004464 SD_ioctl .text.MX_FATFS_Init - 0x08004168 0x1c build/fatfs.o - 0x08004168 MX_FATFS_Init + 0x080044bc 0x1c build/fatfs.o + 0x080044bc MX_FATFS_Init .text.get_fattime - 0x08004184 0x4 build/fatfs.o - 0x08004184 get_fattime + 0x080044d8 0x4 build/fatfs.o + 0x080044d8 get_fattime .text.BSP_PlatformIsDetected - 0x08004188 0x18 build/fatfs_platform.o - 0x08004188 BSP_PlatformIsDetected + 0x080044dc 0x18 build/fatfs_platform.o + 0x080044dc BSP_PlatformIsDetected .text.NMI_Handler - 0x080041a0 0x2 build/stm32f7xx_it.o - 0x080041a0 NMI_Handler + 0x080044f4 0x2 build/stm32f7xx_it.o + 0x080044f4 NMI_Handler .text.HardFault_Handler - 0x080041a2 0x2 build/stm32f7xx_it.o - 0x080041a2 HardFault_Handler + 0x080044f6 0x2 build/stm32f7xx_it.o + 0x080044f6 HardFault_Handler .text.MemManage_Handler - 0x080041a4 0x2 build/stm32f7xx_it.o - 0x080041a4 MemManage_Handler + 0x080044f8 0x2 build/stm32f7xx_it.o + 0x080044f8 MemManage_Handler .text.BusFault_Handler - 0x080041a6 0x2 build/stm32f7xx_it.o - 0x080041a6 BusFault_Handler + 0x080044fa 0x2 build/stm32f7xx_it.o + 0x080044fa BusFault_Handler .text.UsageFault_Handler - 0x080041a8 0x2 build/stm32f7xx_it.o - 0x080041a8 UsageFault_Handler + 0x080044fc 0x2 build/stm32f7xx_it.o + 0x080044fc UsageFault_Handler .text.SVC_Handler - 0x080041aa 0x2 build/stm32f7xx_it.o - 0x080041aa SVC_Handler + 0x080044fe 0x2 build/stm32f7xx_it.o + 0x080044fe SVC_Handler .text.DebugMon_Handler - 0x080041ac 0x2 build/stm32f7xx_it.o - 0x080041ac DebugMon_Handler + 0x08004500 0x2 build/stm32f7xx_it.o + 0x08004500 DebugMon_Handler .text.PendSV_Handler - 0x080041ae 0x2 build/stm32f7xx_it.o - 0x080041ae PendSV_Handler + 0x08004502 0x2 build/stm32f7xx_it.o + 0x08004502 PendSV_Handler .text.SysTick_Handler - 0x080041b0 0x8 build/stm32f7xx_it.o - 0x080041b0 SysTick_Handler + 0x08004504 0x8 build/stm32f7xx_it.o + 0x08004504 SysTick_Handler .text.ADC_IRQHandler - 0x080041b8 0x18 build/stm32f7xx_it.o - 0x080041b8 ADC_IRQHandler + 0x0800450c 0x18 build/stm32f7xx_it.o + 0x0800450c ADC_IRQHandler .text.TIM1_UP_TIM10_IRQHandler - 0x080041d0 0x34 build/stm32f7xx_it.o - 0x080041d0 TIM1_UP_TIM10_IRQHandler + 0x08004524 0x34 build/stm32f7xx_it.o + 0x08004524 TIM1_UP_TIM10_IRQHandler .text.TIM1_TRG_COM_TIM11_IRQHandler - 0x08004204 0x34 build/stm32f7xx_it.o - 0x08004204 TIM1_TRG_COM_TIM11_IRQHandler + 0x08004558 0x34 build/stm32f7xx_it.o + 0x08004558 TIM1_TRG_COM_TIM11_IRQHandler .text.TIM2_IRQHandler - 0x08004238 0x2 build/stm32f7xx_it.o - 0x08004238 TIM2_IRQHandler - *fill* 0x0800423a 0x2 + 0x0800458c 0x2 build/stm32f7xx_it.o + 0x0800458c TIM2_IRQHandler + *fill* 0x0800458e 0x2 .text.TIM8_UP_TIM13_IRQHandler - 0x0800423c 0x50 build/stm32f7xx_it.o - 0x0800423c TIM8_UP_TIM13_IRQHandler + 0x08004590 0x50 build/stm32f7xx_it.o + 0x08004590 TIM8_UP_TIM13_IRQHandler .text.TIM5_IRQHandler - 0x0800428c 0x2 build/stm32f7xx_it.o - 0x0800428c TIM5_IRQHandler - *fill* 0x0800428e 0x2 + 0x080045e0 0x2 build/stm32f7xx_it.o + 0x080045e0 TIM5_IRQHandler + *fill* 0x080045e2 0x2 .text.TIM6_DAC_IRQHandler - 0x08004290 0x34 build/stm32f7xx_it.o - 0x08004290 TIM6_DAC_IRQHandler + 0x080045e4 0x34 build/stm32f7xx_it.o + 0x080045e4 TIM6_DAC_IRQHandler .text.TIM7_IRQHandler - 0x080042c4 0x24 build/stm32f7xx_it.o - 0x080042c4 TIM7_IRQHandler + 0x08004618 0x24 build/stm32f7xx_it.o + 0x08004618 TIM7_IRQHandler .text.UART_RxCpltCallback - 0x080042e8 0x324 build/stm32f7xx_it.o - 0x080042e8 UART_RxCpltCallback + 0x0800463c 0x324 build/stm32f7xx_it.o + 0x0800463c UART_RxCpltCallback .text.USART1_IRQHandler - 0x0800460c 0xd0 build/stm32f7xx_it.o - 0x0800460c USART1_IRQHandler + 0x08004960 0xd0 build/stm32f7xx_it.o + 0x08004960 USART1_IRQHandler .text.DMA2_Stream7_TransferComplete - 0x080046dc 0x10 build/stm32f7xx_it.o - 0x080046dc DMA2_Stream7_TransferComplete + 0x08004a30 0x10 build/stm32f7xx_it.o + 0x08004a30 DMA2_Stream7_TransferComplete .text.DMA2_Stream7_IRQHandler - 0x080046ec 0x34 build/stm32f7xx_it.o - 0x080046ec DMA2_Stream7_IRQHandler + 0x08004a40 0x34 build/stm32f7xx_it.o + 0x08004a40 DMA2_Stream7_IRQHandler .text.HAL_MspInit - 0x08004720 0x30 build/stm32f7xx_hal_msp.o - 0x08004720 HAL_MspInit + 0x08004a74 0x30 build/stm32f7xx_hal_msp.o + 0x08004a74 HAL_MspInit .text.HAL_ADC_MspInit - 0x08004750 0x110 build/stm32f7xx_hal_msp.o - 0x08004750 HAL_ADC_MspInit + 0x08004aa4 0x110 build/stm32f7xx_hal_msp.o + 0x08004aa4 HAL_ADC_MspInit .text.HAL_SD_MspInit - 0x08004860 0xb8 build/stm32f7xx_hal_msp.o - 0x08004860 HAL_SD_MspInit + 0x08004bb4 0xb8 build/stm32f7xx_hal_msp.o + 0x08004bb4 HAL_SD_MspInit .text.HAL_TIM_Base_MspInit - 0x08004918 0xc0 build/stm32f7xx_hal_msp.o - 0x08004918 HAL_TIM_Base_MspInit + 0x08004c6c 0xc0 build/stm32f7xx_hal_msp.o + 0x08004c6c HAL_TIM_Base_MspInit .text.HAL_TIM_MspPostInit - 0x080049d8 0x8c build/stm32f7xx_hal_msp.o - 0x080049d8 HAL_TIM_MspPostInit + 0x08004d2c 0x8c build/stm32f7xx_hal_msp.o + 0x08004d2c HAL_TIM_MspPostInit .text.HAL_UART_MspInit - 0x08004a64 0x88 build/stm32f7xx_hal_msp.o - 0x08004a64 HAL_UART_MspInit + 0x08004db8 0x88 build/stm32f7xx_hal_msp.o + 0x08004db8 HAL_UART_MspInit .text.ADC_Init - 0x08004aec 0x134 build/stm32f7xx_hal_adc.o + 0x08004e40 0x134 build/stm32f7xx_hal_adc.o .text.HAL_ADC_Init - 0x08004c20 0x58 build/stm32f7xx_hal_adc.o - 0x08004c20 HAL_ADC_Init + 0x08004f74 0x58 build/stm32f7xx_hal_adc.o + 0x08004f74 HAL_ADC_Init .text.HAL_ADC_Start - 0x08004c78 0x134 build/stm32f7xx_hal_adc.o - 0x08004c78 HAL_ADC_Start + 0x08004fcc 0x134 build/stm32f7xx_hal_adc.o + 0x08004fcc HAL_ADC_Start .text.HAL_ADC_Stop - 0x08004dac 0x40 build/stm32f7xx_hal_adc.o - 0x08004dac HAL_ADC_Stop + 0x08005100 0x40 build/stm32f7xx_hal_adc.o + 0x08005100 HAL_ADC_Stop .text.HAL_ADC_PollForConversion - 0x08004dec 0xc2 build/stm32f7xx_hal_adc.o - 0x08004dec HAL_ADC_PollForConversion + 0x08005140 0xc2 build/stm32f7xx_hal_adc.o + 0x08005140 HAL_ADC_PollForConversion .text.HAL_ADC_GetValue - 0x08004eae 0x6 build/stm32f7xx_hal_adc.o - 0x08004eae HAL_ADC_GetValue + 0x08005202 0x6 build/stm32f7xx_hal_adc.o + 0x08005202 HAL_ADC_GetValue .text.HAL_ADC_ConvCpltCallback - 0x08004eb4 0x2 build/stm32f7xx_hal_adc.o - 0x08004eb4 HAL_ADC_ConvCpltCallback + 0x08005208 0x2 build/stm32f7xx_hal_adc.o + 0x08005208 HAL_ADC_ConvCpltCallback .text.HAL_ADC_LevelOutOfWindowCallback - 0x08004eb6 0x2 build/stm32f7xx_hal_adc.o - 0x08004eb6 HAL_ADC_LevelOutOfWindowCallback + 0x0800520a 0x2 build/stm32f7xx_hal_adc.o + 0x0800520a HAL_ADC_LevelOutOfWindowCallback .text.HAL_ADC_ErrorCallback - 0x08004eb8 0x2 build/stm32f7xx_hal_adc.o - 0x08004eb8 HAL_ADC_ErrorCallback + 0x0800520c 0x2 build/stm32f7xx_hal_adc.o + 0x0800520c HAL_ADC_ErrorCallback .text.HAL_ADC_IRQHandler - 0x08004eba 0x136 build/stm32f7xx_hal_adc.o - 0x08004eba HAL_ADC_IRQHandler + 0x0800520e 0x136 build/stm32f7xx_hal_adc.o + 0x0800520e HAL_ADC_IRQHandler .text.HAL_ADC_ConfigChannel - 0x08004ff0 0x1e4 build/stm32f7xx_hal_adc.o - 0x08004ff0 HAL_ADC_ConfigChannel + 0x08005344 0x1e4 build/stm32f7xx_hal_adc.o + 0x08005344 HAL_ADC_ConfigChannel .text.HAL_ADCEx_InjectedConvCpltCallback - 0x080051d4 0x2 build/stm32f7xx_hal_adc_ex.o - 0x080051d4 HAL_ADCEx_InjectedConvCpltCallback - *fill* 0x080051d6 0x2 + 0x08005528 0x2 build/stm32f7xx_hal_adc_ex.o + 0x08005528 HAL_ADCEx_InjectedConvCpltCallback + *fill* 0x0800552a 0x2 .text.HAL_RCC_OscConfig - 0x080051d8 0x444 build/stm32f7xx_hal_rcc.o - 0x080051d8 HAL_RCC_OscConfig + 0x0800552c 0x444 build/stm32f7xx_hal_rcc.o + 0x0800552c HAL_RCC_OscConfig .text.HAL_RCC_GetSysClockFreq - 0x0800561c 0xa8 build/stm32f7xx_hal_rcc.o - 0x0800561c HAL_RCC_GetSysClockFreq + 0x08005970 0xa8 build/stm32f7xx_hal_rcc.o + 0x08005970 HAL_RCC_GetSysClockFreq .text.HAL_RCC_ClockConfig - 0x080056c4 0x16c build/stm32f7xx_hal_rcc.o - 0x080056c4 HAL_RCC_ClockConfig + 0x08005a18 0x16c build/stm32f7xx_hal_rcc.o + 0x08005a18 HAL_RCC_ClockConfig .text.HAL_RCC_GetHCLKFreq - 0x08005830 0xc build/stm32f7xx_hal_rcc.o - 0x08005830 HAL_RCC_GetHCLKFreq + 0x08005b84 0xc build/stm32f7xx_hal_rcc.o + 0x08005b84 HAL_RCC_GetHCLKFreq .text.HAL_RCC_GetPCLK1Freq - 0x0800583c 0x20 build/stm32f7xx_hal_rcc.o - 0x0800583c HAL_RCC_GetPCLK1Freq + 0x08005b90 0x20 build/stm32f7xx_hal_rcc.o + 0x08005b90 HAL_RCC_GetPCLK1Freq .text.HAL_RCC_GetPCLK2Freq - 0x0800585c 0x20 build/stm32f7xx_hal_rcc.o - 0x0800585c HAL_RCC_GetPCLK2Freq + 0x08005bb0 0x20 build/stm32f7xx_hal_rcc.o + 0x08005bb0 HAL_RCC_GetPCLK2Freq .text.HAL_RCCEx_PeriphCLKConfig - 0x0800587c 0x600 build/stm32f7xx_hal_rcc_ex.o - 0x0800587c HAL_RCCEx_PeriphCLKConfig + 0x08005bd0 0x600 build/stm32f7xx_hal_rcc_ex.o + 0x08005bd0 HAL_RCCEx_PeriphCLKConfig .text.HAL_GPIO_Init - 0x08005e7c 0x204 build/stm32f7xx_hal_gpio.o - 0x08005e7c HAL_GPIO_Init + 0x080061d0 0x204 build/stm32f7xx_hal_gpio.o + 0x080061d0 HAL_GPIO_Init .text.HAL_GPIO_ReadPin - 0x08006080 0xe build/stm32f7xx_hal_gpio.o - 0x08006080 HAL_GPIO_ReadPin + 0x080063d4 0xe build/stm32f7xx_hal_gpio.o + 0x080063d4 HAL_GPIO_ReadPin .text.HAL_GPIO_WritePin - 0x0800608e 0xc build/stm32f7xx_hal_gpio.o - 0x0800608e HAL_GPIO_WritePin + 0x080063e2 0xc build/stm32f7xx_hal_gpio.o + 0x080063e2 HAL_GPIO_WritePin .text.HAL_GPIO_TogglePin - 0x0800609a 0x12 build/stm32f7xx_hal_gpio.o - 0x0800609a HAL_GPIO_TogglePin + 0x080063ee 0x12 build/stm32f7xx_hal_gpio.o + 0x080063ee HAL_GPIO_TogglePin .text.HAL_PWREx_EnableOverDrive - 0x080060ac 0x7c build/stm32f7xx_hal_pwr_ex.o - 0x080060ac HAL_PWREx_EnableOverDrive + 0x08006400 0x7c build/stm32f7xx_hal_pwr_ex.o + 0x08006400 HAL_PWREx_EnableOverDrive .text.__NVIC_SetPriority - 0x08006128 0x24 build/stm32f7xx_hal_cortex.o + 0x0800647c 0x24 build/stm32f7xx_hal_cortex.o .text.NVIC_EncodePriority - 0x0800614c 0x3e build/stm32f7xx_hal_cortex.o - *fill* 0x0800618a 0x2 + 0x080064a0 0x3e build/stm32f7xx_hal_cortex.o + *fill* 0x080064de 0x2 .text.HAL_NVIC_SetPriorityGrouping - 0x0800618c 0x24 build/stm32f7xx_hal_cortex.o - 0x0800618c HAL_NVIC_SetPriorityGrouping + 0x080064e0 0x24 build/stm32f7xx_hal_cortex.o + 0x080064e0 HAL_NVIC_SetPriorityGrouping .text.HAL_NVIC_SetPriority - 0x080061b0 0x20 build/stm32f7xx_hal_cortex.o - 0x080061b0 HAL_NVIC_SetPriority + 0x08006504 0x20 build/stm32f7xx_hal_cortex.o + 0x08006504 HAL_NVIC_SetPriority .text.HAL_NVIC_EnableIRQ - 0x080061d0 0x1c build/stm32f7xx_hal_cortex.o - 0x080061d0 HAL_NVIC_EnableIRQ + 0x08006524 0x1c build/stm32f7xx_hal_cortex.o + 0x08006524 HAL_NVIC_EnableIRQ .text.HAL_SYSTICK_Config - 0x080061ec 0x28 build/stm32f7xx_hal_cortex.o - 0x080061ec HAL_SYSTICK_Config + 0x08006540 0x28 build/stm32f7xx_hal_cortex.o + 0x08006540 HAL_SYSTICK_Config .text.HAL_InitTick - 0x08006214 0x4c build/stm32f7xx_hal.o - 0x08006214 HAL_InitTick + 0x08006568 0x4c build/stm32f7xx_hal.o + 0x08006568 HAL_InitTick .text.HAL_Init - 0x08006260 0x16 build/stm32f7xx_hal.o - 0x08006260 HAL_Init - *fill* 0x08006276 0x2 + 0x080065b4 0x16 build/stm32f7xx_hal.o + 0x080065b4 HAL_Init + *fill* 0x080065ca 0x2 .text.HAL_IncTick - 0x08006278 0x18 build/stm32f7xx_hal.o - 0x08006278 HAL_IncTick + 0x080065cc 0x18 build/stm32f7xx_hal.o + 0x080065cc HAL_IncTick .text.HAL_GetTick - 0x08006290 0xc build/stm32f7xx_hal.o - 0x08006290 HAL_GetTick + 0x080065e4 0xc build/stm32f7xx_hal.o + 0x080065e4 HAL_GetTick .text.HAL_Delay - 0x0800629c 0x28 build/stm32f7xx_hal.o - 0x0800629c HAL_Delay + 0x080065f0 0x28 build/stm32f7xx_hal.o + 0x080065f0 HAL_Delay .text.RCC_GetHCLKClockFreq - 0x080062c4 0x18 build/stm32f7xx_ll_rcc.o - 0x080062c4 RCC_GetHCLKClockFreq + 0x08006618 0x18 build/stm32f7xx_ll_rcc.o + 0x08006618 RCC_GetHCLKClockFreq .text.RCC_GetPCLK1ClockFreq - 0x080062dc 0x18 build/stm32f7xx_ll_rcc.o - 0x080062dc RCC_GetPCLK1ClockFreq + 0x08006630 0x18 build/stm32f7xx_ll_rcc.o + 0x08006630 RCC_GetPCLK1ClockFreq .text.RCC_GetPCLK2ClockFreq - 0x080062f4 0x18 build/stm32f7xx_ll_rcc.o - 0x080062f4 RCC_GetPCLK2ClockFreq + 0x08006648 0x18 build/stm32f7xx_ll_rcc.o + 0x08006648 RCC_GetPCLK2ClockFreq .text.RCC_PLL_GetFreqDomain_SYS - 0x0800630c 0x44 build/stm32f7xx_ll_rcc.o - 0x0800630c RCC_PLL_GetFreqDomain_SYS + 0x08006660 0x44 build/stm32f7xx_ll_rcc.o + 0x08006660 RCC_PLL_GetFreqDomain_SYS .text.RCC_GetSystemClockFreq - 0x08006350 0x2c build/stm32f7xx_ll_rcc.o - 0x08006350 RCC_GetSystemClockFreq + 0x080066a4 0x2c build/stm32f7xx_ll_rcc.o + 0x080066a4 RCC_GetSystemClockFreq .text.LL_RCC_GetUSARTClockFreq - 0x0800637c 0x178 build/stm32f7xx_ll_rcc.o - 0x0800637c LL_RCC_GetUSARTClockFreq + 0x080066d0 0x178 build/stm32f7xx_ll_rcc.o + 0x080066d0 LL_RCC_GetUSARTClockFreq .text.LL_RCC_GetUARTClockFreq - 0x080064f4 0x180 build/stm32f7xx_ll_rcc.o - 0x080064f4 LL_RCC_GetUARTClockFreq + 0x08006848 0x180 build/stm32f7xx_ll_rcc.o + 0x08006848 LL_RCC_GetUARTClockFreq .text.LL_GPIO_SetPinSpeed - 0x08006674 0x30 build/stm32f7xx_ll_gpio.o + 0x080069c8 0x30 build/stm32f7xx_ll_gpio.o .text.LL_GPIO_SetPinPull - 0x080066a4 0x30 build/stm32f7xx_ll_gpio.o + 0x080069f8 0x30 build/stm32f7xx_ll_gpio.o .text.LL_GPIO_SetAFPin_0_7 - 0x080066d4 0x30 build/stm32f7xx_ll_gpio.o + 0x08006a28 0x30 build/stm32f7xx_ll_gpio.o .text.LL_GPIO_SetAFPin_8_15 - 0x08006704 0x32 build/stm32f7xx_ll_gpio.o + 0x08006a58 0x32 build/stm32f7xx_ll_gpio.o .text.LL_GPIO_SetPinMode - 0x08006736 0x30 build/stm32f7xx_ll_gpio.o + 0x08006a8a 0x30 build/stm32f7xx_ll_gpio.o .text.LL_GPIO_Init - 0x08006766 0x8a build/stm32f7xx_ll_gpio.o - 0x08006766 LL_GPIO_Init + 0x08006aba 0x8a build/stm32f7xx_ll_gpio.o + 0x08006aba LL_GPIO_Init .text.SDMMC_GetCmdError - 0x080067f0 0x38 build/stm32f7xx_ll_sdmmc.o + 0x08006b44 0x38 build/stm32f7xx_ll_sdmmc.o .text.SDMMC_Init - 0x08006828 0x34 build/stm32f7xx_ll_sdmmc.o - 0x08006828 SDMMC_Init + 0x08006b7c 0x34 build/stm32f7xx_ll_sdmmc.o + 0x08006b7c SDMMC_Init .text.SDMMC_ReadFIFO - 0x0800685c 0x6 build/stm32f7xx_ll_sdmmc.o - 0x0800685c SDMMC_ReadFIFO + 0x08006bb0 0x6 build/stm32f7xx_ll_sdmmc.o + 0x08006bb0 SDMMC_ReadFIFO .text.SDMMC_WriteFIFO - 0x08006862 0xa build/stm32f7xx_ll_sdmmc.o - 0x08006862 SDMMC_WriteFIFO + 0x08006bb6 0xa build/stm32f7xx_ll_sdmmc.o + 0x08006bb6 SDMMC_WriteFIFO .text.SDMMC_PowerState_ON - 0x0800686c 0x8 build/stm32f7xx_ll_sdmmc.o - 0x0800686c SDMMC_PowerState_ON + 0x08006bc0 0x8 build/stm32f7xx_ll_sdmmc.o + 0x08006bc0 SDMMC_PowerState_ON .text.SDMMC_GetPowerState - 0x08006874 0x8 build/stm32f7xx_ll_sdmmc.o - 0x08006874 SDMMC_GetPowerState + 0x08006bc8 0x8 build/stm32f7xx_ll_sdmmc.o + 0x08006bc8 SDMMC_GetPowerState .text.SDMMC_SendCommand - 0x0800687c 0x20 build/stm32f7xx_ll_sdmmc.o - 0x0800687c SDMMC_SendCommand + 0x08006bd0 0x20 build/stm32f7xx_ll_sdmmc.o + 0x08006bd0 SDMMC_SendCommand .text.SDMMC_GetCommandResponse - 0x0800689c 0x6 build/stm32f7xx_ll_sdmmc.o - 0x0800689c SDMMC_GetCommandResponse + 0x08006bf0 0x6 build/stm32f7xx_ll_sdmmc.o + 0x08006bf0 SDMMC_GetCommandResponse .text.SDMMC_GetResponse - 0x080068a2 0x6 build/stm32f7xx_ll_sdmmc.o - 0x080068a2 SDMMC_GetResponse + 0x08006bf6 0x6 build/stm32f7xx_ll_sdmmc.o + 0x08006bf6 SDMMC_GetResponse .text.SDMMC_ConfigData - 0x080068a8 0x24 build/stm32f7xx_ll_sdmmc.o - 0x080068a8 SDMMC_ConfigData + 0x08006bfc 0x24 build/stm32f7xx_ll_sdmmc.o + 0x08006bfc SDMMC_ConfigData .text.SDMMC_CmdGoIdleState - 0x080068cc 0x26 build/stm32f7xx_ll_sdmmc.o - 0x080068cc SDMMC_CmdGoIdleState - *fill* 0x080068f2 0x2 + 0x08006c20 0x26 build/stm32f7xx_ll_sdmmc.o + 0x08006c20 SDMMC_CmdGoIdleState + *fill* 0x08006c46 0x2 .text.SDMMC_GetCmdResp1 - 0x080068f4 0x154 build/stm32f7xx_ll_sdmmc.o - 0x080068f4 SDMMC_GetCmdResp1 + 0x08006c48 0x154 build/stm32f7xx_ll_sdmmc.o + 0x08006c48 SDMMC_GetCmdResp1 .text.SDMMC_CmdBlockLength - 0x08006a48 0x30 build/stm32f7xx_ll_sdmmc.o - 0x08006a48 SDMMC_CmdBlockLength + 0x08006d9c 0x30 build/stm32f7xx_ll_sdmmc.o + 0x08006d9c SDMMC_CmdBlockLength .text.SDMMC_CmdReadSingleBlock - 0x08006a78 0x30 build/stm32f7xx_ll_sdmmc.o - 0x08006a78 SDMMC_CmdReadSingleBlock + 0x08006dcc 0x30 build/stm32f7xx_ll_sdmmc.o + 0x08006dcc SDMMC_CmdReadSingleBlock .text.SDMMC_CmdReadMultiBlock - 0x08006aa8 0x30 build/stm32f7xx_ll_sdmmc.o - 0x08006aa8 SDMMC_CmdReadMultiBlock + 0x08006dfc 0x30 build/stm32f7xx_ll_sdmmc.o + 0x08006dfc SDMMC_CmdReadMultiBlock .text.SDMMC_CmdWriteSingleBlock - 0x08006ad8 0x30 build/stm32f7xx_ll_sdmmc.o - 0x08006ad8 SDMMC_CmdWriteSingleBlock - .text.SDMMC_CmdWriteMultiBlock - 0x08006b08 0x30 build/stm32f7xx_ll_sdmmc.o - 0x08006b08 SDMMC_CmdWriteMultiBlock - .text.SDMMC_CmdStopTransfer - 0x08006b38 0x34 build/stm32f7xx_ll_sdmmc.o - 0x08006b38 SDMMC_CmdStopTransfer - .text.SDMMC_CmdSelDesel - 0x08006b6c 0x30 build/stm32f7xx_ll_sdmmc.o - 0x08006b6c SDMMC_CmdSelDesel - .text.SDMMC_CmdAppCommand - 0x08006b9c 0x30 build/stm32f7xx_ll_sdmmc.o - 0x08006b9c SDMMC_CmdAppCommand - .text.SDMMC_CmdBusWidth - 0x08006bcc 0x30 build/stm32f7xx_ll_sdmmc.o - 0x08006bcc SDMMC_CmdBusWidth - .text.SDMMC_CmdSendSCR - 0x08006bfc 0x30 build/stm32f7xx_ll_sdmmc.o - 0x08006bfc SDMMC_CmdSendSCR - .text.SDMMC_CmdSendStatus - 0x08006c2c 0x30 build/stm32f7xx_ll_sdmmc.o - 0x08006c2c SDMMC_CmdSendStatus - .text.SDMMC_GetCmdResp2 - 0x08006c5c 0x5c build/stm32f7xx_ll_sdmmc.o - 0x08006c5c SDMMC_GetCmdResp2 - .text.SDMMC_CmdSendCID - 0x08006cb8 0x2a build/stm32f7xx_ll_sdmmc.o - 0x08006cb8 SDMMC_CmdSendCID - .text.SDMMC_CmdSendCSD - 0x08006ce2 0x2a build/stm32f7xx_ll_sdmmc.o - 0x08006ce2 SDMMC_CmdSendCSD - .text.SDMMC_GetCmdResp3 - 0x08006d0c 0x4c build/stm32f7xx_ll_sdmmc.o - 0x08006d0c SDMMC_GetCmdResp3 - .text.SDMMC_CmdAppOperCommand - 0x08006d58 0x34 build/stm32f7xx_ll_sdmmc.o - 0x08006d58 SDMMC_CmdAppOperCommand - .text.SDMMC_GetCmdResp6 - 0x08006d8c 0xa0 build/stm32f7xx_ll_sdmmc.o - 0x08006d8c SDMMC_GetCmdResp6 - .text.SDMMC_CmdSetRelAdd 0x08006e2c 0x30 build/stm32f7xx_ll_sdmmc.o - 0x08006e2c SDMMC_CmdSetRelAdd + 0x08006e2c SDMMC_CmdWriteSingleBlock + .text.SDMMC_CmdWriteMultiBlock + 0x08006e5c 0x30 build/stm32f7xx_ll_sdmmc.o + 0x08006e5c SDMMC_CmdWriteMultiBlock + .text.SDMMC_CmdStopTransfer + 0x08006e8c 0x34 build/stm32f7xx_ll_sdmmc.o + 0x08006e8c SDMMC_CmdStopTransfer + .text.SDMMC_CmdSelDesel + 0x08006ec0 0x30 build/stm32f7xx_ll_sdmmc.o + 0x08006ec0 SDMMC_CmdSelDesel + .text.SDMMC_CmdAppCommand + 0x08006ef0 0x30 build/stm32f7xx_ll_sdmmc.o + 0x08006ef0 SDMMC_CmdAppCommand + .text.SDMMC_CmdBusWidth + 0x08006f20 0x30 build/stm32f7xx_ll_sdmmc.o + 0x08006f20 SDMMC_CmdBusWidth + .text.SDMMC_CmdSendSCR + 0x08006f50 0x30 build/stm32f7xx_ll_sdmmc.o + 0x08006f50 SDMMC_CmdSendSCR + .text.SDMMC_CmdSendStatus + 0x08006f80 0x30 build/stm32f7xx_ll_sdmmc.o + 0x08006f80 SDMMC_CmdSendStatus + .text.SDMMC_GetCmdResp2 + 0x08006fb0 0x5c build/stm32f7xx_ll_sdmmc.o + 0x08006fb0 SDMMC_GetCmdResp2 + .text.SDMMC_CmdSendCID + 0x0800700c 0x2a build/stm32f7xx_ll_sdmmc.o + 0x0800700c SDMMC_CmdSendCID + .text.SDMMC_CmdSendCSD + 0x08007036 0x2a build/stm32f7xx_ll_sdmmc.o + 0x08007036 SDMMC_CmdSendCSD + .text.SDMMC_GetCmdResp3 + 0x08007060 0x4c build/stm32f7xx_ll_sdmmc.o + 0x08007060 SDMMC_GetCmdResp3 + .text.SDMMC_CmdAppOperCommand + 0x080070ac 0x34 build/stm32f7xx_ll_sdmmc.o + 0x080070ac SDMMC_CmdAppOperCommand + .text.SDMMC_GetCmdResp6 + 0x080070e0 0xa0 build/stm32f7xx_ll_sdmmc.o + 0x080070e0 SDMMC_GetCmdResp6 + .text.SDMMC_CmdSetRelAdd + 0x08007180 0x30 build/stm32f7xx_ll_sdmmc.o + 0x08007180 SDMMC_CmdSetRelAdd .text.SDMMC_GetCmdResp7 - 0x08006e5c 0x64 build/stm32f7xx_ll_sdmmc.o - 0x08006e5c SDMMC_GetCmdResp7 + 0x080071b0 0x64 build/stm32f7xx_ll_sdmmc.o + 0x080071b0 SDMMC_GetCmdResp7 .text.SDMMC_CmdOperCond - 0x08006ec0 0x2e build/stm32f7xx_ll_sdmmc.o - 0x08006ec0 SDMMC_CmdOperCond - *fill* 0x08006eee 0x2 + 0x08007214 0x2e build/stm32f7xx_ll_sdmmc.o + 0x08007214 SDMMC_CmdOperCond + *fill* 0x08007242 0x2 .text.SD_PowerON - 0x08006ef0 0xc0 build/stm32f7xx_hal_sd.o + 0x08007244 0xc0 build/stm32f7xx_hal_sd.o .text.SD_FindSCR - 0x08006fb0 0x100 build/stm32f7xx_hal_sd.o + 0x08007304 0x100 build/stm32f7xx_hal_sd.o .text.SD_WideBus_Enable - 0x080070b0 0x4e build/stm32f7xx_hal_sd.o + 0x08007404 0x4e build/stm32f7xx_hal_sd.o .text.SD_WideBus_Disable - 0x080070fe 0x4e build/stm32f7xx_hal_sd.o + 0x08007452 0x4e build/stm32f7xx_hal_sd.o .text.SD_SendStatus - 0x0800714c 0x2c build/stm32f7xx_hal_sd.o + 0x080074a0 0x2c build/stm32f7xx_hal_sd.o .text.HAL_SD_ReadBlocks - 0x08007178 0x248 build/stm32f7xx_hal_sd.o - 0x08007178 HAL_SD_ReadBlocks + 0x080074cc 0x248 build/stm32f7xx_hal_sd.o + 0x080074cc HAL_SD_ReadBlocks .text.HAL_SD_WriteBlocks - 0x080073c0 0x200 build/stm32f7xx_hal_sd.o - 0x080073c0 HAL_SD_WriteBlocks + 0x08007714 0x200 build/stm32f7xx_hal_sd.o + 0x08007714 HAL_SD_WriteBlocks .text.HAL_SD_GetCardCSD - 0x080075c0 0x1b8 build/stm32f7xx_hal_sd.o - 0x080075c0 HAL_SD_GetCardCSD + 0x08007914 0x1b8 build/stm32f7xx_hal_sd.o + 0x08007914 HAL_SD_GetCardCSD .text.SD_InitCard - 0x08007778 0x100 build/stm32f7xx_hal_sd.o + 0x08007acc 0x100 build/stm32f7xx_hal_sd.o .text.HAL_SD_InitCard - 0x08007878 0xa8 build/stm32f7xx_hal_sd.o - 0x08007878 HAL_SD_InitCard + 0x08007bcc 0xa8 build/stm32f7xx_hal_sd.o + 0x08007bcc HAL_SD_InitCard .text.HAL_SD_Init - 0x08007920 0x36 build/stm32f7xx_hal_sd.o - 0x08007920 HAL_SD_Init + 0x08007c74 0x36 build/stm32f7xx_hal_sd.o + 0x08007c74 HAL_SD_Init .text.HAL_SD_GetCardInfo - 0x08007956 0x24 build/stm32f7xx_hal_sd.o - 0x08007956 HAL_SD_GetCardInfo - *fill* 0x0800797a 0x2 + 0x08007caa 0x24 build/stm32f7xx_hal_sd.o + 0x08007caa HAL_SD_GetCardInfo + *fill* 0x08007cce 0x2 .text.HAL_SD_ConfigWideBusOperation - 0x0800797c 0xc0 build/stm32f7xx_hal_sd.o - 0x0800797c HAL_SD_ConfigWideBusOperation + 0x08007cd0 0xc0 build/stm32f7xx_hal_sd.o + 0x08007cd0 HAL_SD_ConfigWideBusOperation .text.HAL_SD_GetCardState - 0x08007a3c 0x22 build/stm32f7xx_hal_sd.o - 0x08007a3c HAL_SD_GetCardState - *fill* 0x08007a5e 0x2 + 0x08007d90 0x22 build/stm32f7xx_hal_sd.o + 0x08007d90 HAL_SD_GetCardState + *fill* 0x08007db2 0x2 .text.LL_SPI_Init - 0x08007a60 0x8c build/stm32f7xx_ll_spi.o - 0x08007a60 LL_SPI_Init + 0x08007db4 0x8c build/stm32f7xx_ll_spi.o + 0x08007db4 LL_SPI_Init .text.TIM_OC1_SetConfig - 0x08007aec 0x68 build/stm32f7xx_hal_tim.o + 0x08007e40 0x68 build/stm32f7xx_hal_tim.o .text.TIM_OC3_SetConfig - 0x08007b54 0x70 build/stm32f7xx_hal_tim.o + 0x08007ea8 0x70 build/stm32f7xx_hal_tim.o .text.TIM_OC4_SetConfig - 0x08007bc4 0x54 build/stm32f7xx_hal_tim.o + 0x08007f18 0x54 build/stm32f7xx_hal_tim.o .text.TIM_OC5_SetConfig - 0x08007c18 0x54 build/stm32f7xx_hal_tim.o + 0x08007f6c 0x54 build/stm32f7xx_hal_tim.o .text.TIM_OC6_SetConfig - 0x08007c6c 0x54 build/stm32f7xx_hal_tim.o + 0x08007fc0 0x54 build/stm32f7xx_hal_tim.o .text.TIM_TI1_ConfigInputStage - 0x08007cc0 0x26 build/stm32f7xx_hal_tim.o + 0x08008014 0x26 build/stm32f7xx_hal_tim.o .text.TIM_TI2_ConfigInputStage - 0x08007ce6 0x28 build/stm32f7xx_hal_tim.o + 0x0800803a 0x28 build/stm32f7xx_hal_tim.o .text.TIM_ITRx_SetConfig - 0x08007d0e 0x10 build/stm32f7xx_hal_tim.o + 0x08008062 0x10 build/stm32f7xx_hal_tim.o .text.HAL_TIM_Base_Stop - 0x08007d1e 0x28 build/stm32f7xx_hal_tim.o - 0x08007d1e HAL_TIM_Base_Stop - *fill* 0x08007d46 0x2 + 0x08008072 0x28 build/stm32f7xx_hal_tim.o + 0x08008072 HAL_TIM_Base_Stop + *fill* 0x0800809a 0x2 .text.HAL_TIM_Base_Start_IT - 0x08007d48 0x90 build/stm32f7xx_hal_tim.o - 0x08007d48 HAL_TIM_Base_Start_IT + 0x0800809c 0x90 build/stm32f7xx_hal_tim.o + 0x0800809c HAL_TIM_Base_Start_IT .text.HAL_TIM_Base_Stop_IT - 0x08007dd8 0x32 build/stm32f7xx_hal_tim.o - 0x08007dd8 HAL_TIM_Base_Stop_IT + 0x0800812c 0x32 build/stm32f7xx_hal_tim.o + 0x0800812c HAL_TIM_Base_Stop_IT .text.HAL_TIM_PWM_MspInit - 0x08007e0a 0x2 build/stm32f7xx_hal_tim.o - 0x08007e0a HAL_TIM_PWM_MspInit + 0x0800815e 0x2 build/stm32f7xx_hal_tim.o + 0x0800815e HAL_TIM_PWM_MspInit .text.HAL_TIM_PeriodElapsedCallback - 0x08007e0c 0x2 build/stm32f7xx_hal_tim.o - 0x08007e0c HAL_TIM_PeriodElapsedCallback + 0x08008160 0x2 build/stm32f7xx_hal_tim.o + 0x08008160 HAL_TIM_PeriodElapsedCallback .text.HAL_TIM_OC_DelayElapsedCallback - 0x08007e0e 0x2 build/stm32f7xx_hal_tim.o - 0x08007e0e HAL_TIM_OC_DelayElapsedCallback + 0x08008162 0x2 build/stm32f7xx_hal_tim.o + 0x08008162 HAL_TIM_OC_DelayElapsedCallback .text.HAL_TIM_IC_CaptureCallback - 0x08007e10 0x2 build/stm32f7xx_hal_tim.o - 0x08007e10 HAL_TIM_IC_CaptureCallback + 0x08008164 0x2 build/stm32f7xx_hal_tim.o + 0x08008164 HAL_TIM_IC_CaptureCallback .text.HAL_TIM_PWM_PulseFinishedCallback - 0x08007e12 0x2 build/stm32f7xx_hal_tim.o - 0x08007e12 HAL_TIM_PWM_PulseFinishedCallback + 0x08008166 0x2 build/stm32f7xx_hal_tim.o + 0x08008166 HAL_TIM_PWM_PulseFinishedCallback .text.HAL_TIM_TriggerCallback - 0x08007e14 0x2 build/stm32f7xx_hal_tim.o - 0x08007e14 HAL_TIM_TriggerCallback + 0x08008168 0x2 build/stm32f7xx_hal_tim.o + 0x08008168 HAL_TIM_TriggerCallback .text.HAL_TIM_IRQHandler - 0x08007e16 0x17a build/stm32f7xx_hal_tim.o - 0x08007e16 HAL_TIM_IRQHandler + 0x0800816a 0x17a build/stm32f7xx_hal_tim.o + 0x0800816a HAL_TIM_IRQHandler .text.TIM_Base_SetConfig - 0x08007f90 0x120 build/stm32f7xx_hal_tim.o - 0x08007f90 TIM_Base_SetConfig + 0x080082e4 0x120 build/stm32f7xx_hal_tim.o + 0x080082e4 TIM_Base_SetConfig .text.HAL_TIM_Base_Init - 0x080080b0 0x60 build/stm32f7xx_hal_tim.o - 0x080080b0 HAL_TIM_Base_Init + 0x08008404 0x60 build/stm32f7xx_hal_tim.o + 0x08008404 HAL_TIM_Base_Init .text.HAL_TIM_PWM_Init - 0x08008110 0x60 build/stm32f7xx_hal_tim.o - 0x08008110 HAL_TIM_PWM_Init + 0x08008464 0x60 build/stm32f7xx_hal_tim.o + 0x08008464 HAL_TIM_PWM_Init .text.TIM_OC2_SetConfig - 0x08008170 0x70 build/stm32f7xx_hal_tim.o - 0x08008170 TIM_OC2_SetConfig + 0x080084c4 0x70 build/stm32f7xx_hal_tim.o + 0x080084c4 TIM_OC2_SetConfig .text.HAL_TIM_PWM_ConfigChannel - 0x080081e0 0x13a build/stm32f7xx_hal_tim.o - 0x080081e0 HAL_TIM_PWM_ConfigChannel + 0x08008534 0x13a build/stm32f7xx_hal_tim.o + 0x08008534 HAL_TIM_PWM_ConfigChannel .text.TIM_ETR_SetConfig - 0x0800831a 0x1a build/stm32f7xx_hal_tim.o - 0x0800831a TIM_ETR_SetConfig + 0x0800866e 0x1a build/stm32f7xx_hal_tim.o + 0x0800866e TIM_ETR_SetConfig .text.HAL_TIM_ConfigClockSource - 0x08008334 0x100 build/stm32f7xx_hal_tim.o - 0x08008334 HAL_TIM_ConfigClockSource + 0x08008688 0x100 build/stm32f7xx_hal_tim.o + 0x08008688 HAL_TIM_ConfigClockSource .text.TIM_CCxChannelCmd - 0x08008434 0x1e build/stm32f7xx_hal_tim.o - 0x08008434 TIM_CCxChannelCmd - *fill* 0x08008452 0x2 + 0x08008788 0x1e build/stm32f7xx_hal_tim.o + 0x08008788 TIM_CCxChannelCmd + *fill* 0x080087a6 0x2 .text.HAL_TIM_PWM_Start - 0x08008454 0x158 build/stm32f7xx_hal_tim.o - 0x08008454 HAL_TIM_PWM_Start + 0x080087a8 0x158 build/stm32f7xx_hal_tim.o + 0x080087a8 HAL_TIM_PWM_Start .text.HAL_TIM_PWM_Stop - 0x080085ac 0xac build/stm32f7xx_hal_tim.o - 0x080085ac HAL_TIM_PWM_Stop + 0x08008900 0xac build/stm32f7xx_hal_tim.o + 0x08008900 HAL_TIM_PWM_Stop .text.HAL_TIMEx_MasterConfigSynchronization - 0x08008658 0xa0 build/stm32f7xx_hal_tim_ex.o - 0x08008658 HAL_TIMEx_MasterConfigSynchronization + 0x080089ac 0xa0 build/stm32f7xx_hal_tim_ex.o + 0x080089ac HAL_TIMEx_MasterConfigSynchronization .text.HAL_TIMEx_CommutCallback - 0x080086f8 0x2 build/stm32f7xx_hal_tim_ex.o - 0x080086f8 HAL_TIMEx_CommutCallback + 0x08008a4c 0x2 build/stm32f7xx_hal_tim_ex.o + 0x08008a4c HAL_TIMEx_CommutCallback .text.HAL_TIMEx_BreakCallback - 0x080086fa 0x2 build/stm32f7xx_hal_tim_ex.o - 0x080086fa HAL_TIMEx_BreakCallback + 0x08008a4e 0x2 build/stm32f7xx_hal_tim_ex.o + 0x08008a4e HAL_TIMEx_BreakCallback .text.HAL_TIMEx_Break2Callback - 0x080086fc 0x2 build/stm32f7xx_hal_tim_ex.o - 0x080086fc HAL_TIMEx_Break2Callback - *fill* 0x080086fe 0x2 + 0x08008a50 0x2 build/stm32f7xx_hal_tim_ex.o + 0x08008a50 HAL_TIMEx_Break2Callback + *fill* 0x08008a52 0x2 .text.LL_TIM_Init - 0x08008700 0x110 build/stm32f7xx_ll_tim.o - 0x08008700 LL_TIM_Init + 0x08008a54 0x110 build/stm32f7xx_ll_tim.o + 0x08008a54 LL_TIM_Init .text.LL_USART_SetBaudRate - 0x08008810 0x2e build/stm32f7xx_ll_usart.o - *fill* 0x0800883e 0x2 + 0x08008b64 0x2e build/stm32f7xx_ll_usart.o + *fill* 0x08008b92 0x2 .text.LL_USART_Init - 0x08008840 0xfc build/stm32f7xx_ll_usart.o - 0x08008840 LL_USART_Init + 0x08008b94 0xfc build/stm32f7xx_ll_usart.o + 0x08008b94 LL_USART_Init .text.SystemInit - 0x0800893c 0x14 build/system_stm32f7xx.o - 0x0800893c SystemInit + 0x08008c90 0x14 build/system_stm32f7xx.o + 0x08008c90 SystemInit .text.Mount_SD - 0x08008950 0x24 build/File_Handling.o - 0x08008950 Mount_SD + 0x08008ca4 0x24 build/File_Handling.o + 0x08008ca4 Mount_SD .text.Unmount_SD - 0x08008974 0x20 build/File_Handling.o - 0x08008974 Unmount_SD + 0x08008cc8 0x20 build/File_Handling.o + 0x08008cc8 Unmount_SD .text.Write_File_byte - 0x08008994 0x5c build/File_Handling.o - 0x08008994 Write_File_byte + 0x08008ce8 0x5c build/File_Handling.o + 0x08008ce8 Write_File_byte .text.Seek_Read_File - 0x080089f0 0x148 build/File_Handling.o - 0x080089f0 Seek_Read_File + 0x08008d44 0x148 build/File_Handling.o + 0x08008d44 Seek_Read_File .text.Create_File - 0x08008b38 0x44 build/File_Handling.o - 0x08008b38 Create_File + 0x08008e8c 0x44 build/File_Handling.o + 0x08008e8c Create_File .text.Remove_File - 0x08008b7c 0x84 build/File_Handling.o - 0x08008b7c Remove_File + 0x08008ed0 0x84 build/File_Handling.o + 0x08008ed0 Remove_File .text.Update_File_byte - 0x08008c00 0x5c build/File_Handling.o - 0x08008c00 Update_File_byte + 0x08008f54 0x5c build/File_Handling.o + 0x08008f54 Update_File_byte .text.disk_status - 0x08008c5c 0x18 build/diskio.o - 0x08008c5c disk_status + 0x08008fb0 0x18 build/diskio.o + 0x08008fb0 disk_status .text.disk_initialize - 0x08008c74 0x28 build/diskio.o - 0x08008c74 disk_initialize + 0x08008fc8 0x28 build/diskio.o + 0x08008fc8 disk_initialize .text.disk_read - 0x08008c9c 0x18 build/diskio.o - 0x08008c9c disk_read + 0x08008ff0 0x18 build/diskio.o + 0x08008ff0 disk_read .text.disk_write - 0x08008cb4 0x18 build/diskio.o - 0x08008cb4 disk_write + 0x08009008 0x18 build/diskio.o + 0x08009008 disk_write .text.disk_ioctl - 0x08008ccc 0x18 build/diskio.o - 0x08008ccc disk_ioctl - .text.ld_word 0x08008ce4 0xa build/ff.o + 0x08009020 0x18 build/diskio.o + 0x08009020 disk_ioctl + .text.ld_word 0x08009038 0xa build/ff.o .text.ld_dword - 0x08008cee 0x16 build/ff.o - .text.st_word 0x08008d04 0x8 build/ff.o + 0x08009042 0x16 build/ff.o + .text.st_word 0x08009058 0x8 build/ff.o .text.st_dword - 0x08008d0c 0x14 build/ff.o - .text.mem_cpy 0x08008d20 0x14 build/ff.o - .text.mem_set 0x08008d34 0xa build/ff.o - .text.mem_cmp 0x08008d3e 0x1a build/ff.o - .text.chk_chr 0x08008d58 0x10 build/ff.o + 0x08009060 0x14 build/ff.o + .text.mem_cpy 0x08009074 0x14 build/ff.o + .text.mem_set 0x08009088 0xa build/ff.o + .text.mem_cmp 0x08009092 0x1a build/ff.o + .text.chk_chr 0x080090ac 0x10 build/ff.o .text.chk_lock - 0x08008d68 0x7c build/ff.o + 0x080090bc 0x7c build/ff.o .text.enq_lock - 0x08008de4 0x20 build/ff.o + 0x08009138 0x20 build/ff.o .text.inc_lock - 0x08008e04 0xa0 build/ff.o + 0x08009158 0xa0 build/ff.o .text.dec_lock - 0x08008ea4 0x40 build/ff.o + 0x080091f8 0x40 build/ff.o .text.clear_lock - 0x08008ee4 0x3c build/ff.o + 0x08009238 0x3c build/ff.o .text.clust2sect - 0x08008f20 0x18 build/ff.o + 0x08009274 0x18 build/ff.o .text.clmt_clust - 0x08008f38 0x26 build/ff.o + 0x0800928c 0x26 build/ff.o .text.ld_clust - 0x08008f5e 0x26 build/ff.o + 0x080092b2 0x26 build/ff.o .text.st_clust - 0x08008f84 0x26 build/ff.o + 0x080092d8 0x26 build/ff.o .text.get_fileinfo - 0x08008faa 0x6a build/ff.o + 0x080092fe 0x6a build/ff.o .text.create_name - 0x08009014 0xd0 build/ff.o + 0x08009368 0xd0 build/ff.o .text.get_ldnumber - 0x080090e4 0x48 build/ff.o + 0x08009438 0x48 build/ff.o .text.validate - 0x0800912c 0x46 build/ff.o + 0x08009480 0x46 build/ff.o .text.sync_window - 0x08009172 0x54 build/ff.o + 0x080094c6 0x54 build/ff.o .text.move_window - 0x080091c6 0x36 build/ff.o + 0x0800951a 0x36 build/ff.o .text.check_fs - 0x080091fc 0x78 build/ff.o + 0x08009550 0x78 build/ff.o .text.find_volume - 0x08009274 0x34c build/ff.o - .text.put_fat 0x080095c0 0x136 build/ff.o - .text.get_fat 0x080096f6 0xfc build/ff.o - .text.dir_sdi 0x080097f2 0xc0 build/ff.o + 0x080095c8 0x34c build/ff.o + .text.put_fat 0x08009914 0x136 build/ff.o + .text.get_fat 0x08009a4a 0xfc build/ff.o + .text.dir_sdi 0x08009b46 0xc0 build/ff.o .text.create_chain - 0x080098b2 0xd6 build/ff.o + 0x08009c06 0xd6 build/ff.o .text.remove_chain - 0x08009988 0x7e build/ff.o + 0x08009cdc 0x7e build/ff.o .text.dir_remove - 0x08009a06 0x1c build/ff.o + 0x08009d5a 0x1c build/ff.o .text.dir_next - 0x08009a22 0x118 build/ff.o + 0x08009d76 0x118 build/ff.o .text.dir_find - 0x08009b3a 0x5a build/ff.o + 0x08009e8e 0x5a build/ff.o .text.follow_path - 0x08009b94 0x92 build/ff.o + 0x08009ee8 0x92 build/ff.o .text.dir_alloc - 0x08009c26 0x4e build/ff.o + 0x08009f7a 0x4e build/ff.o .text.dir_register - 0x08009c74 0x3e build/ff.o + 0x08009fc8 0x3e build/ff.o .text.dir_read - 0x08009cb2 0x5e build/ff.o - .text.sync_fs 0x08009d10 0x88 build/ff.o - .text.f_mount 0x08009d98 0x60 build/ff.o - 0x08009d98 f_mount - .text.f_open 0x08009df8 0x232 build/ff.o - 0x08009df8 f_open - .text.f_read 0x0800a02a 0x1d8 build/ff.o - 0x0800a02a f_read - .text.f_write 0x0800a202 0x210 build/ff.o - 0x0800a202 f_write - .text.f_sync 0x0800a412 0x98 build/ff.o - 0x0800a412 f_sync - .text.f_close 0x0800a4aa 0x2a build/ff.o - 0x0800a4aa f_close - .text.f_lseek 0x0800a4d4 0x2a6 build/ff.o - 0x0800a4d4 f_lseek - .text.f_stat 0x0800a77a 0x44 build/ff.o - 0x0800a77a f_stat + 0x0800a006 0x5e build/ff.o + .text.sync_fs 0x0800a064 0x88 build/ff.o + .text.f_mount 0x0800a0ec 0x60 build/ff.o + 0x0800a0ec f_mount + .text.f_open 0x0800a14c 0x232 build/ff.o + 0x0800a14c f_open + .text.f_read 0x0800a37e 0x1d8 build/ff.o + 0x0800a37e f_read + .text.f_write 0x0800a556 0x210 build/ff.o + 0x0800a556 f_write + .text.f_sync 0x0800a766 0x98 build/ff.o + 0x0800a766 f_sync + .text.f_close 0x0800a7fe 0x2a build/ff.o + 0x0800a7fe f_close + .text.f_lseek 0x0800a828 0x2a6 build/ff.o + 0x0800a828 f_lseek + .text.f_stat 0x0800aace 0x44 build/ff.o + 0x0800aace f_stat .text.f_unlink - 0x0800a7be 0xc4 build/ff.o - 0x0800a7be f_unlink - *fill* 0x0800a882 0x2 + 0x0800ab12 0xc4 build/ff.o + 0x0800ab12 f_unlink + *fill* 0x0800abd6 0x2 .text.FATFS_LinkDriverEx - 0x0800a884 0x54 build/ff_gen_drv.o - 0x0800a884 FATFS_LinkDriverEx + 0x0800abd8 0x54 build/ff_gen_drv.o + 0x0800abd8 FATFS_LinkDriverEx .text.FATFS_LinkDriver - 0x0800a8d8 0xa build/ff_gen_drv.o - 0x0800a8d8 FATFS_LinkDriver - *fill* 0x0800a8e2 0x2 - .text._sbrk 0x0800a8e4 0x48 build/sysmem.o - 0x0800a8e4 _sbrk + 0x0800ac2c 0xa build/ff_gen_drv.o + 0x0800ac2c FATFS_LinkDriver + *fill* 0x0800ac36 0x2 + .text._sbrk 0x0800ac38 0x48 build/sysmem.o + 0x0800ac38 _sbrk .text.UART_EndRxTransfer - 0x0800a92c 0x52 build/stm32f7xx_hal_uart.o - *fill* 0x0800a97e 0x2 + 0x0800ac80 0x52 build/stm32f7xx_hal_uart.o + *fill* 0x0800acd2 0x2 .text.UART_SetConfig - 0x0800a980 0x328 build/stm32f7xx_hal_uart.o - 0x0800a980 UART_SetConfig + 0x0800acd4 0x328 build/stm32f7xx_hal_uart.o + 0x0800acd4 UART_SetConfig .text.UART_AdvFeatureConfig - 0x0800aca8 0xca build/stm32f7xx_hal_uart.o - 0x0800aca8 UART_AdvFeatureConfig + 0x0800affc 0xca build/stm32f7xx_hal_uart.o + 0x0800affc UART_AdvFeatureConfig .text.UART_WaitOnFlagUntilTimeout - 0x0800ad72 0xa6 build/stm32f7xx_hal_uart.o - 0x0800ad72 UART_WaitOnFlagUntilTimeout + 0x0800b0c6 0xa6 build/stm32f7xx_hal_uart.o + 0x0800b0c6 UART_WaitOnFlagUntilTimeout .text.UART_CheckIdleState - 0x0800ae18 0xc6 build/stm32f7xx_hal_uart.o - 0x0800ae18 UART_CheckIdleState + 0x0800b16c 0xc6 build/stm32f7xx_hal_uart.o + 0x0800b16c UART_CheckIdleState .text.HAL_UART_Init - 0x0800aede 0x62 build/stm32f7xx_hal_uart.o - 0x0800aede HAL_UART_Init + 0x0800b232 0x62 build/stm32f7xx_hal_uart.o + 0x0800b232 HAL_UART_Init .text.Reset_Handler - 0x0800af40 0x50 build/startup_stm32f767xx.o - 0x0800af40 Reset_Handler + 0x0800b294 0x50 build/startup_stm32f767xx.o + 0x0800b294 Reset_Handler .text.Default_Handler - 0x0800af90 0x2 build/startup_stm32f767xx.o - 0x0800af90 RTC_Alarm_IRQHandler - 0x0800af90 EXTI2_IRQHandler - 0x0800af90 TIM8_CC_IRQHandler - 0x0800af90 UART8_IRQHandler - 0x0800af90 SPI4_IRQHandler - 0x0800af90 TIM1_CC_IRQHandler - 0x0800af90 DMA2_Stream5_IRQHandler - 0x0800af90 JPEG_IRQHandler - 0x0800af90 DMA1_Stream5_IRQHandler - 0x0800af90 CAN3_RX1_IRQHandler - 0x0800af90 PVD_IRQHandler - 0x0800af90 TAMP_STAMP_IRQHandler - 0x0800af90 CAN2_RX1_IRQHandler - 0x0800af90 EXTI3_IRQHandler - 0x0800af90 TIM8_TRG_COM_TIM14_IRQHandler - 0x0800af90 DFSDM1_FLT1_IRQHandler - 0x0800af90 I2C3_ER_IRQHandler - 0x0800af90 DFSDM1_FLT2_IRQHandler - 0x0800af90 EXTI0_IRQHandler - 0x0800af90 I2C2_EV_IRQHandler - 0x0800af90 DMA1_Stream2_IRQHandler - 0x0800af90 CAN1_RX0_IRQHandler - 0x0800af90 FPU_IRQHandler - 0x0800af90 OTG_HS_WKUP_IRQHandler - 0x0800af90 CAN3_SCE_IRQHandler - 0x0800af90 LTDC_ER_IRQHandler - 0x0800af90 CAN2_SCE_IRQHandler - 0x0800af90 DMA2_Stream2_IRQHandler - 0x0800af90 SPI1_IRQHandler - 0x0800af90 TIM1_BRK_TIM9_IRQHandler - 0x0800af90 DCMI_IRQHandler - 0x0800af90 CAN2_RX0_IRQHandler - 0x0800af90 DMA2_Stream3_IRQHandler - 0x0800af90 SAI2_IRQHandler - 0x0800af90 DFSDM1_FLT3_IRQHandler - 0x0800af90 USART6_IRQHandler - 0x0800af90 CAN3_RX0_IRQHandler - 0x0800af90 USART3_IRQHandler - 0x0800af90 CAN1_RX1_IRQHandler - 0x0800af90 UART5_IRQHandler - 0x0800af90 DMA2_Stream0_IRQHandler - 0x0800af90 TIM4_IRQHandler - 0x0800af90 QUADSPI_IRQHandler - 0x0800af90 I2C1_EV_IRQHandler - 0x0800af90 DMA1_Stream6_IRQHandler - 0x0800af90 DMA1_Stream1_IRQHandler - 0x0800af90 UART4_IRQHandler - 0x0800af90 TIM3_IRQHandler - 0x0800af90 RCC_IRQHandler - 0x0800af90 TIM8_BRK_TIM12_IRQHandler - 0x0800af90 Default_Handler - 0x0800af90 CEC_IRQHandler - 0x0800af90 EXTI15_10_IRQHandler - 0x0800af90 DMA1_Stream7_IRQHandler - 0x0800af90 SPI5_IRQHandler - 0x0800af90 SDMMC1_IRQHandler - 0x0800af90 CAN2_TX_IRQHandler - 0x0800af90 I2C3_EV_IRQHandler - 0x0800af90 EXTI9_5_IRQHandler - 0x0800af90 RTC_WKUP_IRQHandler - 0x0800af90 LTDC_IRQHandler - 0x0800af90 ETH_WKUP_IRQHandler - 0x0800af90 SPDIF_RX_IRQHandler - 0x0800af90 SPI2_IRQHandler - 0x0800af90 OTG_HS_EP1_IN_IRQHandler - 0x0800af90 DMA1_Stream0_IRQHandler - 0x0800af90 CAN1_TX_IRQHandler - 0x0800af90 EXTI4_IRQHandler - 0x0800af90 RNG_IRQHandler - 0x0800af90 ETH_IRQHandler - 0x0800af90 OTG_HS_EP1_OUT_IRQHandler - 0x0800af90 WWDG_IRQHandler - 0x0800af90 SPI6_IRQHandler - 0x0800af90 MDIOS_IRQHandler - 0x0800af90 I2C4_EV_IRQHandler - 0x0800af90 CAN3_TX_IRQHandler - 0x0800af90 OTG_FS_WKUP_IRQHandler - 0x0800af90 OTG_HS_IRQHandler - 0x0800af90 DMA2D_IRQHandler - 0x0800af90 EXTI1_IRQHandler - 0x0800af90 SDMMC2_IRQHandler - 0x0800af90 UART7_IRQHandler - 0x0800af90 USART2_IRQHandler - 0x0800af90 DFSDM1_FLT0_IRQHandler - 0x0800af90 I2C2_ER_IRQHandler - 0x0800af90 DMA2_Stream1_IRQHandler - 0x0800af90 CAN1_SCE_IRQHandler - 0x0800af90 FLASH_IRQHandler - 0x0800af90 DMA2_Stream4_IRQHandler - 0x0800af90 OTG_FS_IRQHandler - 0x0800af90 SPI3_IRQHandler - 0x0800af90 DMA1_Stream4_IRQHandler - 0x0800af90 I2C1_ER_IRQHandler - 0x0800af90 FMC_IRQHandler - 0x0800af90 LPTIM1_IRQHandler - 0x0800af90 I2C4_ER_IRQHandler - 0x0800af90 DMA2_Stream6_IRQHandler - 0x0800af90 SAI1_IRQHandler - 0x0800af90 DMA1_Stream3_IRQHandler + 0x0800b2e4 0x2 build/startup_stm32f767xx.o + 0x0800b2e4 RTC_Alarm_IRQHandler + 0x0800b2e4 EXTI2_IRQHandler + 0x0800b2e4 TIM8_CC_IRQHandler + 0x0800b2e4 UART8_IRQHandler + 0x0800b2e4 SPI4_IRQHandler + 0x0800b2e4 TIM1_CC_IRQHandler + 0x0800b2e4 DMA2_Stream5_IRQHandler + 0x0800b2e4 JPEG_IRQHandler + 0x0800b2e4 DMA1_Stream5_IRQHandler + 0x0800b2e4 CAN3_RX1_IRQHandler + 0x0800b2e4 PVD_IRQHandler + 0x0800b2e4 TAMP_STAMP_IRQHandler + 0x0800b2e4 CAN2_RX1_IRQHandler + 0x0800b2e4 EXTI3_IRQHandler + 0x0800b2e4 TIM8_TRG_COM_TIM14_IRQHandler + 0x0800b2e4 DFSDM1_FLT1_IRQHandler + 0x0800b2e4 I2C3_ER_IRQHandler + 0x0800b2e4 DFSDM1_FLT2_IRQHandler + 0x0800b2e4 EXTI0_IRQHandler + 0x0800b2e4 I2C2_EV_IRQHandler + 0x0800b2e4 DMA1_Stream2_IRQHandler + 0x0800b2e4 CAN1_RX0_IRQHandler + 0x0800b2e4 FPU_IRQHandler + 0x0800b2e4 OTG_HS_WKUP_IRQHandler + 0x0800b2e4 CAN3_SCE_IRQHandler + 0x0800b2e4 LTDC_ER_IRQHandler + 0x0800b2e4 CAN2_SCE_IRQHandler + 0x0800b2e4 DMA2_Stream2_IRQHandler + 0x0800b2e4 SPI1_IRQHandler + 0x0800b2e4 TIM1_BRK_TIM9_IRQHandler + 0x0800b2e4 DCMI_IRQHandler + 0x0800b2e4 CAN2_RX0_IRQHandler + 0x0800b2e4 DMA2_Stream3_IRQHandler + 0x0800b2e4 SAI2_IRQHandler + 0x0800b2e4 DFSDM1_FLT3_IRQHandler + 0x0800b2e4 USART6_IRQHandler + 0x0800b2e4 CAN3_RX0_IRQHandler + 0x0800b2e4 USART3_IRQHandler + 0x0800b2e4 CAN1_RX1_IRQHandler + 0x0800b2e4 UART5_IRQHandler + 0x0800b2e4 DMA2_Stream0_IRQHandler + 0x0800b2e4 TIM4_IRQHandler + 0x0800b2e4 QUADSPI_IRQHandler + 0x0800b2e4 I2C1_EV_IRQHandler + 0x0800b2e4 DMA1_Stream6_IRQHandler + 0x0800b2e4 DMA1_Stream1_IRQHandler + 0x0800b2e4 UART4_IRQHandler + 0x0800b2e4 TIM3_IRQHandler + 0x0800b2e4 RCC_IRQHandler + 0x0800b2e4 TIM8_BRK_TIM12_IRQHandler + 0x0800b2e4 Default_Handler + 0x0800b2e4 CEC_IRQHandler + 0x0800b2e4 EXTI15_10_IRQHandler + 0x0800b2e4 DMA1_Stream7_IRQHandler + 0x0800b2e4 SPI5_IRQHandler + 0x0800b2e4 SDMMC1_IRQHandler + 0x0800b2e4 CAN2_TX_IRQHandler + 0x0800b2e4 I2C3_EV_IRQHandler + 0x0800b2e4 EXTI9_5_IRQHandler + 0x0800b2e4 RTC_WKUP_IRQHandler + 0x0800b2e4 LTDC_IRQHandler + 0x0800b2e4 ETH_WKUP_IRQHandler + 0x0800b2e4 SPDIF_RX_IRQHandler + 0x0800b2e4 SPI2_IRQHandler + 0x0800b2e4 OTG_HS_EP1_IN_IRQHandler + 0x0800b2e4 DMA1_Stream0_IRQHandler + 0x0800b2e4 CAN1_TX_IRQHandler + 0x0800b2e4 EXTI4_IRQHandler + 0x0800b2e4 RNG_IRQHandler + 0x0800b2e4 ETH_IRQHandler + 0x0800b2e4 OTG_HS_EP1_OUT_IRQHandler + 0x0800b2e4 WWDG_IRQHandler + 0x0800b2e4 SPI6_IRQHandler + 0x0800b2e4 MDIOS_IRQHandler + 0x0800b2e4 I2C4_EV_IRQHandler + 0x0800b2e4 CAN3_TX_IRQHandler + 0x0800b2e4 OTG_FS_WKUP_IRQHandler + 0x0800b2e4 OTG_HS_IRQHandler + 0x0800b2e4 DMA2D_IRQHandler + 0x0800b2e4 EXTI1_IRQHandler + 0x0800b2e4 SDMMC2_IRQHandler + 0x0800b2e4 UART7_IRQHandler + 0x0800b2e4 USART2_IRQHandler + 0x0800b2e4 DFSDM1_FLT0_IRQHandler + 0x0800b2e4 I2C2_ER_IRQHandler + 0x0800b2e4 DMA2_Stream1_IRQHandler + 0x0800b2e4 CAN1_SCE_IRQHandler + 0x0800b2e4 FLASH_IRQHandler + 0x0800b2e4 DMA2_Stream4_IRQHandler + 0x0800b2e4 OTG_FS_IRQHandler + 0x0800b2e4 SPI3_IRQHandler + 0x0800b2e4 DMA1_Stream4_IRQHandler + 0x0800b2e4 I2C1_ER_IRQHandler + 0x0800b2e4 FMC_IRQHandler + 0x0800b2e4 LPTIM1_IRQHandler + 0x0800b2e4 I2C4_ER_IRQHandler + 0x0800b2e4 DMA2_Stream6_IRQHandler + 0x0800b2e4 SAI1_IRQHandler + 0x0800b2e4 DMA1_Stream3_IRQHandler *(.glue_7) - .glue_7 0x0800af92 0x0 linker stubs + .glue_7 0x0800b2e6 0x0 linker stubs *(.glue_7t) - .glue_7t 0x0800af92 0x0 linker stubs + .glue_7t 0x0800b2e6 0x0 linker stubs *(.eh_frame) - *fill* 0x0800af92 0x2 - .eh_frame 0x0800af94 0x0 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtbegin.o + *fill* 0x0800b2e6 0x2 + .eh_frame 0x0800b2e8 0x0 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtbegin.o *(.init) - .init 0x0800af94 0x4 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crti.o - 0x0800af94 _init - .init 0x0800af98 0x8 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtn.o + .init 0x0800b2e8 0x4 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crti.o + 0x0800b2e8 _init + .init 0x0800b2ec 0x8 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtn.o *(.fini) - .fini 0x0800afa0 0x4 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crti.o - 0x0800afa0 _fini - .fini 0x0800afa4 0x8 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtn.o - 0x0800afac . = ALIGN (0x4) - 0x0800afac _etext = . + .fini 0x0800b2f4 0x4 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crti.o + 0x0800b2f4 _fini + .fini 0x0800b2f8 0x8 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtn.o + 0x0800b300 . = ALIGN (0x4) + 0x0800b300 _etext = . -.vfp11_veneer 0x0800afac 0x0 - .vfp11_veneer 0x0800afac 0x0 linker stubs +.vfp11_veneer 0x0800b300 0x0 + .vfp11_veneer 0x0800b300 0x0 linker stubs -.v4_bx 0x0800afac 0x0 - .v4_bx 0x0800afac 0x0 linker stubs +.v4_bx 0x0800b300 0x0 + .v4_bx 0x0800b300 0x0 linker stubs -.iplt 0x0800afac 0x0 - .iplt 0x0800afac 0x0 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtbegin.o +.iplt 0x0800b300 0x0 + .iplt 0x0800b300 0x0 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtbegin.o -.rodata 0x0800afac 0x364 - 0x0800afac . = ALIGN (0x4) +.rodata 0x0800b300 0x3e8 + 0x0800b300 . = ALIGN (0x4) *(.rodata) *(.rodata*) .rodata.Init_params.str1.4 - 0x0800afac 0x1ad build/main.o + 0x0800b300 0x1ad build/main.o 0x10 (size before relaxing) .rodata.SD_SAVE.str1.4 - 0x0800b159 0xa build/main.o - *fill* 0x0800b159 0x3 + 0x0800b4ad 0xa build/main.o + *fill* 0x0800b4ad 0x3 + .rodata.ad9102_example2_regval + 0x0800b4b0 0x84 build/main.o .rodata.ad9102_example4_regval - 0x0800b15c 0x84 build/main.o + 0x0800b534 0x84 build/main.o .rodata.ad9102_reg_addr - 0x0800b1e0 0x84 build/main.o + 0x0800b5b8 0x84 build/main.o .rodata.SD_Driver - 0x0800b264 0x14 build/sd_diskio.o - 0x0800b264 SD_Driver + 0x0800b63c 0x14 build/sd_diskio.o + 0x0800b63c SD_Driver .rodata.APBPrescTable - 0x0800b278 0x8 build/system_stm32f7xx.o - 0x0800b278 APBPrescTable + 0x0800b650 0x8 build/system_stm32f7xx.o + 0x0800b650 APBPrescTable .rodata.AHBPrescTable - 0x0800b280 0x10 build/system_stm32f7xx.o - 0x0800b280 AHBPrescTable + 0x0800b658 0x10 build/system_stm32f7xx.o + 0x0800b658 AHBPrescTable .rodata.Read_File.str1.4 - 0x0800b290 0xbb build/File_Handling.o + 0x0800b668 0xbb build/File_Handling.o .rodata.Seek_Read_File.str1.4 - 0x0800b290 0x27 build/File_Handling.o + 0x0800b668 0x27 build/File_Handling.o .rodata.Remove_File.str1.4 - 0x0800b290 0x64 build/File_Handling.o + 0x0800b668 0x64 build/File_Handling.o .rodata.create_name.str1.4 - 0x0800b290 0xf build/ff.o - .rodata.ExCvt 0x0800b290 0x80 build/ff.o + 0x0800b668 0xf build/ff.o + .rodata.ExCvt 0x0800b668 0x80 build/ff.o .rodata.str1.4 - 0x0800b310 0x13 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-svfprintf.o) + 0x0800b6e8 0x13 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-svfprintf.o) .rodata.str1.4 - 0x0800b310 0x25 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - 0x0800b34c . = ALIGN (0x4) + 0x0800b6e8 0x25 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) + 0x0800b724 . = ALIGN (0x4) .ARM.extab *(.ARM.extab* .gnu.linkonce.armextab.*) -.ARM 0x0800b310 0x8 - 0x0800b310 __exidx_start = . +.ARM 0x0800b6e8 0x8 + 0x0800b6e8 __exidx_start = . *(.ARM.exidx*) - .ARM.exidx 0x0800b310 0x8 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .ARM.exidx 0x0800b318 0x0 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy.o) + .ARM.exidx 0x0800b6e8 0x8 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) + .ARM.exidx 0x0800b6f0 0x0 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy.o) 0x8 (size before relaxing) - .ARM.exidx 0x0800b318 0x0 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + .ARM.exidx 0x0800b6f0 0x0 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) 0x8 (size before relaxing) - 0x0800b318 __exidx_end = . + 0x0800b6f0 __exidx_end = . -.rel.dyn 0x0800b318 0x0 - .rel.iplt 0x0800b318 0x0 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtbegin.o +.rel.dyn 0x0800b6f0 0x0 + .rel.iplt 0x0800b6f0 0x0 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtbegin.o -.preinit_array 0x0800b318 0x0 - 0x0800b318 PROVIDE (__preinit_array_start = .) +.preinit_array 0x0800b6f0 0x0 + 0x0800b6f0 PROVIDE (__preinit_array_start = .) *(.preinit_array*) - 0x0800b318 PROVIDE (__preinit_array_end = .) + 0x0800b6f0 PROVIDE (__preinit_array_end = .) -.init_array 0x0800b318 0x4 - 0x0800b318 PROVIDE (__init_array_start = .) +.init_array 0x0800b6f0 0x4 + 0x0800b6f0 PROVIDE (__init_array_start = .) *(SORT_BY_NAME(.init_array.*)) *(.init_array*) - .init_array 0x0800b318 0x4 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtbegin.o - 0x0800b31c PROVIDE (__init_array_end = .) + .init_array 0x0800b6f0 0x4 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtbegin.o + 0x0800b6f4 PROVIDE (__init_array_end = .) -.fini_array 0x0800b31c 0x4 - 0x0800b31c PROVIDE (__fini_array_start = .) +.fini_array 0x0800b6f4 0x4 + 0x0800b6f4 PROVIDE (__fini_array_start = .) *(SORT_BY_NAME(.fini_array.*)) *(.fini_array*) - .fini_array 0x0800b31c 0x4 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtbegin.o - 0x0800b320 PROVIDE (__fini_array_end = .) - 0x0800b320 _sidata = LOADADDR (.data) + .fini_array 0x0800b6f4 0x4 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtbegin.o + 0x0800b6f8 PROVIDE (__fini_array_end = .) + 0x0800b6f8 _sidata = LOADADDR (.data) -.data 0x20000000 0x5c load address 0x0800b320 +.data 0x20000000 0x5c load address 0x0800b6f8 0x20000000 . = ALIGN (0x4) 0x20000000 _sdata = . *(.data) @@ -3114,17 +3123,17 @@ LOAD /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtn.o 0x2000005c _edata = . .tm_clone_table - 0x2000005c 0x0 load address 0x0800b37c + 0x2000005c 0x0 load address 0x0800b754 .tm_clone_table 0x2000005c 0x0 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtbegin.o .tm_clone_table 0x2000005c 0x0 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtend.o -.igot.plt 0x2000005c 0x0 load address 0x0800b37c +.igot.plt 0x2000005c 0x0 load address 0x0800b754 .igot.plt 0x2000005c 0x0 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtbegin.o 0x2000005c . = ALIGN (0x4) -.bss 0x2000005c 0x266c load address 0x0800b37c +.bss 0x2000005c 0x266c load address 0x0800b754 0x2000005c _sbss = . 0x2000005c __bss_start__ = _sbss *(.bss) @@ -3300,7 +3309,7 @@ LOAD /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtn.o 0x200026c8 __bss_end__ = _ebss ._user_heap_stack - 0x200026c8 0x6000 load address 0x0800b37c + 0x200026c8 0x6000 load address 0x0800b754 0x200026c8 . = ALIGN (0x8) [!provide] PROVIDE (end = .) 0x200026c8 PROVIDE (_end = .) @@ -3493,458 +3502,458 @@ LOAD /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a .comment 0x00000026 0x27 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) .comment 0x00000026 0x27 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/crtend.o -.debug_info 0x00000000 0x3b3c0 - .debug_info 0x00000000 0x8dbb build/main.o - .debug_info 0x00008dbb 0xe39 build/bsp_driver_sd.o - .debug_info 0x00009bf4 0x74a build/sd_diskio.o - .debug_info 0x0000a33e 0x65a build/fatfs.o - .debug_info 0x0000a998 0x1f0 build/fatfs_platform.o - .debug_info 0x0000ab88 0x1925 build/stm32f7xx_it.o - .debug_info 0x0000c4ad 0x23e6 build/stm32f7xx_hal_msp.o - .debug_info 0x0000e893 0xfb5 build/stm32f7xx_hal_adc.o - .debug_info 0x0000f848 0xd39 build/stm32f7xx_hal_adc_ex.o - .debug_info 0x00010581 0xd0b build/stm32f7xx_hal_rcc.o - .debug_info 0x0001128c 0x96b build/stm32f7xx_hal_rcc_ex.o - .debug_info 0x00011bf7 0x867 build/stm32f7xx_hal_gpio.o - .debug_info 0x0001245e 0xb00 build/stm32f7xx_hal_pwr_ex.o - .debug_info 0x00012f5e 0x145b build/stm32f7xx_hal_cortex.o - .debug_info 0x000143b9 0xc0b build/stm32f7xx_hal.o - .debug_info 0x00014fc4 0x1d6b build/stm32f7xx_ll_rcc.o - .debug_info 0x00016d2f 0xda5 build/stm32f7xx_ll_gpio.o - .debug_info 0x00017ad4 0x1ad6 build/stm32f7xx_ll_sdmmc.o - .debug_info 0x000195aa 0x2a28 build/stm32f7xx_hal_sd.o - .debug_info 0x0001bfd2 0xb14 build/stm32f7xx_ll_spi.o - .debug_info 0x0001cae6 0x42a3 build/stm32f7xx_hal_tim.o - .debug_info 0x00020d89 0x2009 build/stm32f7xx_hal_tim_ex.o - .debug_info 0x00022d92 0x19f0 build/stm32f7xx_ll_tim.o - .debug_info 0x00024782 0xc07 build/stm32f7xx_ll_usart.o - .debug_info 0x00025389 0x7ea build/system_stm32f7xx.o - .debug_info 0x00025b73 0x1ef6 build/File_Handling.o - .debug_info 0x00027a69 0x5f7 build/diskio.o - .debug_info 0x00028060 0x47f5 build/ff.o - .debug_info 0x0002c855 0x525 build/ff_gen_drv.o - .debug_info 0x0002cd7a 0x174 build/sysmem.o - .debug_info 0x0002ceee 0x54ac build/stm32f7xx_hal_uart.o - .debug_info 0x0003239a 0x30 build/startup_stm32f767xx.o - .debug_info 0x000323ca 0x87b /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sprintf.o) - .debug_info 0x00032c45 0x70b /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) - .debug_info 0x00033350 0x1092 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-svfprintf.o) - .debug_info 0x000343e2 0x10b /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - .debug_info 0x000344ed 0x135 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - .debug_info 0x00034622 0x6f1 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) - .debug_info 0x00034d13 0x9b6 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .debug_info 0x000356c9 0x87f /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - .debug_info 0x00035f48 0x148 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .debug_info 0x00036090 0x25 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .debug_info 0x000360b5 0x33 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy.o) - .debug_info 0x000360e8 0x796 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-malloc.o) - .debug_info 0x0003687e 0x8cd /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - .debug_info 0x0003714b 0xdd7 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .debug_info 0x00037f22 0x71c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .debug_info 0x0003863e 0x778 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .debug_info 0x00038db6 0x78a /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .debug_info 0x00039540 0xe8c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .debug_info 0x0003a3cc 0x89f /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - .debug_info 0x0003ac6b 0x24 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) - .debug_info 0x0003ac8f 0x6f5 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) - .debug_info 0x0003b384 0x3c /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) +.debug_info 0x00000000 0x3bab6 + .debug_info 0x00000000 0x94b1 build/main.o + .debug_info 0x000094b1 0xe39 build/bsp_driver_sd.o + .debug_info 0x0000a2ea 0x74a build/sd_diskio.o + .debug_info 0x0000aa34 0x65a build/fatfs.o + .debug_info 0x0000b08e 0x1f0 build/fatfs_platform.o + .debug_info 0x0000b27e 0x1925 build/stm32f7xx_it.o + .debug_info 0x0000cba3 0x23e6 build/stm32f7xx_hal_msp.o + .debug_info 0x0000ef89 0xfb5 build/stm32f7xx_hal_adc.o + .debug_info 0x0000ff3e 0xd39 build/stm32f7xx_hal_adc_ex.o + .debug_info 0x00010c77 0xd0b build/stm32f7xx_hal_rcc.o + .debug_info 0x00011982 0x96b build/stm32f7xx_hal_rcc_ex.o + .debug_info 0x000122ed 0x867 build/stm32f7xx_hal_gpio.o + .debug_info 0x00012b54 0xb00 build/stm32f7xx_hal_pwr_ex.o + .debug_info 0x00013654 0x145b build/stm32f7xx_hal_cortex.o + .debug_info 0x00014aaf 0xc0b build/stm32f7xx_hal.o + .debug_info 0x000156ba 0x1d6b build/stm32f7xx_ll_rcc.o + .debug_info 0x00017425 0xda5 build/stm32f7xx_ll_gpio.o + .debug_info 0x000181ca 0x1ad6 build/stm32f7xx_ll_sdmmc.o + .debug_info 0x00019ca0 0x2a28 build/stm32f7xx_hal_sd.o + .debug_info 0x0001c6c8 0xb14 build/stm32f7xx_ll_spi.o + .debug_info 0x0001d1dc 0x42a3 build/stm32f7xx_hal_tim.o + .debug_info 0x0002147f 0x2009 build/stm32f7xx_hal_tim_ex.o + .debug_info 0x00023488 0x19f0 build/stm32f7xx_ll_tim.o + .debug_info 0x00024e78 0xc07 build/stm32f7xx_ll_usart.o + .debug_info 0x00025a7f 0x7ea build/system_stm32f7xx.o + .debug_info 0x00026269 0x1ef6 build/File_Handling.o + .debug_info 0x0002815f 0x5f7 build/diskio.o + .debug_info 0x00028756 0x47f5 build/ff.o + .debug_info 0x0002cf4b 0x525 build/ff_gen_drv.o + .debug_info 0x0002d470 0x174 build/sysmem.o + .debug_info 0x0002d5e4 0x54ac build/stm32f7xx_hal_uart.o + .debug_info 0x00032a90 0x30 build/startup_stm32f767xx.o + .debug_info 0x00032ac0 0x87b /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sprintf.o) + .debug_info 0x0003333b 0x70b /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) + .debug_info 0x00033a46 0x1092 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-svfprintf.o) + .debug_info 0x00034ad8 0x10b /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) + .debug_info 0x00034be3 0x135 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) + .debug_info 0x00034d18 0x6f1 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + .debug_info 0x00035409 0x9b6 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .debug_info 0x00035dbf 0x87f /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .debug_info 0x0003663e 0x148 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) + .debug_info 0x00036786 0x25 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) + .debug_info 0x000367ab 0x33 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy.o) + .debug_info 0x000367de 0x796 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-malloc.o) + .debug_info 0x00036f74 0x8cd /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) + .debug_info 0x00037841 0xdd7 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) + .debug_info 0x00038618 0x71c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .debug_info 0x00038d34 0x778 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) + .debug_info 0x000394ac 0x78a /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) + .debug_info 0x00039c36 0xe8c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .debug_info 0x0003aac2 0x89f /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .debug_info 0x0003b361 0x24 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) + .debug_info 0x0003b385 0x6f5 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + .debug_info 0x0003ba7a 0x3c /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) -.debug_abbrev 0x00000000 0x7025 - .debug_abbrev 0x00000000 0x519 build/main.o - .debug_abbrev 0x00000519 0x2a1 build/bsp_driver_sd.o - .debug_abbrev 0x000007ba 0x1e1 build/sd_diskio.o - .debug_abbrev 0x0000099b 0x181 build/fatfs.o - .debug_abbrev 0x00000b1c 0x11e build/fatfs_platform.o - .debug_abbrev 0x00000c3a 0x33b build/stm32f7xx_it.o - .debug_abbrev 0x00000f75 0x299 build/stm32f7xx_hal_msp.o - .debug_abbrev 0x0000120e 0x2b6 build/stm32f7xx_hal_adc.o - .debug_abbrev 0x000014c4 0x2d9 build/stm32f7xx_hal_adc_ex.o - .debug_abbrev 0x0000179d 0x306 build/stm32f7xx_hal_rcc.o - .debug_abbrev 0x00001aa3 0x1f3 build/stm32f7xx_hal_rcc_ex.o - .debug_abbrev 0x00001c96 0x22b build/stm32f7xx_hal_gpio.o - .debug_abbrev 0x00001ec1 0x1d5 build/stm32f7xx_hal_pwr_ex.o - .debug_abbrev 0x00002096 0x3ca build/stm32f7xx_hal_cortex.o - .debug_abbrev 0x00002460 0x244 build/stm32f7xx_hal.o - .debug_abbrev 0x000026a4 0x294 build/stm32f7xx_ll_rcc.o - .debug_abbrev 0x00002938 0x2ad build/stm32f7xx_ll_gpio.o - .debug_abbrev 0x00002be5 0x236 build/stm32f7xx_ll_sdmmc.o - .debug_abbrev 0x00002e1b 0x306 build/stm32f7xx_hal_sd.o - .debug_abbrev 0x00003121 0x2e3 build/stm32f7xx_ll_spi.o - .debug_abbrev 0x00003404 0x2bd build/stm32f7xx_hal_tim.o - .debug_abbrev 0x000036c1 0x2b7 build/stm32f7xx_hal_tim_ex.o - .debug_abbrev 0x00003978 0x2af build/stm32f7xx_ll_tim.o - .debug_abbrev 0x00003c27 0x2d3 build/stm32f7xx_ll_usart.o - .debug_abbrev 0x00003efa 0x12a build/system_stm32f7xx.o - .debug_abbrev 0x00004024 0x307 build/File_Handling.o - .debug_abbrev 0x0000432b 0x1ca build/diskio.o - .debug_abbrev 0x000044f5 0x309 build/ff.o - .debug_abbrev 0x000047fe 0x1da build/ff_gen_drv.o - .debug_abbrev 0x000049d8 0xeb build/sysmem.o - .debug_abbrev 0x00004ac3 0x346 build/stm32f7xx_hal_uart.o - .debug_abbrev 0x00004e09 0x1d build/startup_stm32f767xx.o - .debug_abbrev 0x00004e26 0x21c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sprintf.o) - .debug_abbrev 0x00005042 0x149 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) - .debug_abbrev 0x0000518b 0x32f /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-svfprintf.o) - .debug_abbrev 0x000054ba 0xc9 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - .debug_abbrev 0x00005583 0xb7 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - .debug_abbrev 0x0000563a 0x15e /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) - .debug_abbrev 0x00005798 0x24a /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .debug_abbrev 0x000059e2 0x249 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - .debug_abbrev 0x00005c2b 0xc3 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .debug_abbrev 0x00005cee 0x14 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .debug_abbrev 0x00005d02 0x28 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy.o) - .debug_abbrev 0x00005d2a 0x1cf /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-malloc.o) - .debug_abbrev 0x00005ef9 0x20c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - .debug_abbrev 0x00006105 0x284 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .debug_abbrev 0x00006389 0x192 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .debug_abbrev 0x0000651b 0x1da /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .debug_abbrev 0x000066f5 0x196 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .debug_abbrev 0x0000688b 0x408 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .debug_abbrev 0x00006c93 0x1ee /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - .debug_abbrev 0x00006e81 0x14 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) - .debug_abbrev 0x00006e95 0x16a /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) - .debug_abbrev 0x00006fff 0x26 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) +.debug_abbrev 0x00000000 0x7035 + .debug_abbrev 0x00000000 0x529 build/main.o + .debug_abbrev 0x00000529 0x2a1 build/bsp_driver_sd.o + .debug_abbrev 0x000007ca 0x1e1 build/sd_diskio.o + .debug_abbrev 0x000009ab 0x181 build/fatfs.o + .debug_abbrev 0x00000b2c 0x11e build/fatfs_platform.o + .debug_abbrev 0x00000c4a 0x33b build/stm32f7xx_it.o + .debug_abbrev 0x00000f85 0x299 build/stm32f7xx_hal_msp.o + .debug_abbrev 0x0000121e 0x2b6 build/stm32f7xx_hal_adc.o + .debug_abbrev 0x000014d4 0x2d9 build/stm32f7xx_hal_adc_ex.o + .debug_abbrev 0x000017ad 0x306 build/stm32f7xx_hal_rcc.o + .debug_abbrev 0x00001ab3 0x1f3 build/stm32f7xx_hal_rcc_ex.o + .debug_abbrev 0x00001ca6 0x22b build/stm32f7xx_hal_gpio.o + .debug_abbrev 0x00001ed1 0x1d5 build/stm32f7xx_hal_pwr_ex.o + .debug_abbrev 0x000020a6 0x3ca build/stm32f7xx_hal_cortex.o + .debug_abbrev 0x00002470 0x244 build/stm32f7xx_hal.o + .debug_abbrev 0x000026b4 0x294 build/stm32f7xx_ll_rcc.o + .debug_abbrev 0x00002948 0x2ad build/stm32f7xx_ll_gpio.o + .debug_abbrev 0x00002bf5 0x236 build/stm32f7xx_ll_sdmmc.o + .debug_abbrev 0x00002e2b 0x306 build/stm32f7xx_hal_sd.o + .debug_abbrev 0x00003131 0x2e3 build/stm32f7xx_ll_spi.o + .debug_abbrev 0x00003414 0x2bd build/stm32f7xx_hal_tim.o + .debug_abbrev 0x000036d1 0x2b7 build/stm32f7xx_hal_tim_ex.o + .debug_abbrev 0x00003988 0x2af build/stm32f7xx_ll_tim.o + .debug_abbrev 0x00003c37 0x2d3 build/stm32f7xx_ll_usart.o + .debug_abbrev 0x00003f0a 0x12a build/system_stm32f7xx.o + .debug_abbrev 0x00004034 0x307 build/File_Handling.o + .debug_abbrev 0x0000433b 0x1ca build/diskio.o + .debug_abbrev 0x00004505 0x309 build/ff.o + .debug_abbrev 0x0000480e 0x1da build/ff_gen_drv.o + .debug_abbrev 0x000049e8 0xeb build/sysmem.o + .debug_abbrev 0x00004ad3 0x346 build/stm32f7xx_hal_uart.o + .debug_abbrev 0x00004e19 0x1d build/startup_stm32f767xx.o + .debug_abbrev 0x00004e36 0x21c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sprintf.o) + .debug_abbrev 0x00005052 0x149 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) + .debug_abbrev 0x0000519b 0x32f /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-svfprintf.o) + .debug_abbrev 0x000054ca 0xc9 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) + .debug_abbrev 0x00005593 0xb7 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) + .debug_abbrev 0x0000564a 0x15e /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + .debug_abbrev 0x000057a8 0x24a /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .debug_abbrev 0x000059f2 0x249 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .debug_abbrev 0x00005c3b 0xc3 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) + .debug_abbrev 0x00005cfe 0x14 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) + .debug_abbrev 0x00005d12 0x28 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy.o) + .debug_abbrev 0x00005d3a 0x1cf /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-malloc.o) + .debug_abbrev 0x00005f09 0x20c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) + .debug_abbrev 0x00006115 0x284 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) + .debug_abbrev 0x00006399 0x192 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .debug_abbrev 0x0000652b 0x1da /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) + .debug_abbrev 0x00006705 0x196 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) + .debug_abbrev 0x0000689b 0x408 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .debug_abbrev 0x00006ca3 0x1ee /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .debug_abbrev 0x00006e91 0x14 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) + .debug_abbrev 0x00006ea5 0x16a /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + .debug_abbrev 0x0000700f 0x26 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) -.debug_loc 0x00000000 0x26d8d - .debug_loc 0x00000000 0x354a build/main.o - .debug_loc 0x0000354a 0x6f0 build/bsp_driver_sd.o - .debug_loc 0x00003c3a 0x544 build/sd_diskio.o - .debug_loc 0x0000417e 0x20 build/fatfs.o - .debug_loc 0x0000419e 0x51 build/fatfs_platform.o - .debug_loc 0x000041ef 0x43a build/stm32f7xx_it.o - .debug_loc 0x00004629 0x5a7 build/stm32f7xx_hal_msp.o - .debug_loc 0x00004bd0 0xe7b build/stm32f7xx_hal_adc.o - .debug_loc 0x00005a4b 0xc11 build/stm32f7xx_hal_adc_ex.o - .debug_loc 0x0000665c 0x849 build/stm32f7xx_hal_rcc.o - .debug_loc 0x00006ea5 0x924 build/stm32f7xx_hal_rcc_ex.o - .debug_loc 0x000077c9 0x60b build/stm32f7xx_hal_gpio.o - .debug_loc 0x00007dd4 0x3e6 build/stm32f7xx_hal_pwr_ex.o - .debug_loc 0x000081ba 0x886 build/stm32f7xx_hal_cortex.o - .debug_loc 0x00008a40 0x1f9 build/stm32f7xx_hal.o - .debug_loc 0x00008c39 0x1806 build/stm32f7xx_ll_rcc.o - .debug_loc 0x0000a43f 0x9ad build/stm32f7xx_ll_gpio.o - .debug_loc 0x0000adec 0x1873 build/stm32f7xx_ll_sdmmc.o - .debug_loc 0x0000c65f 0x29f6 build/stm32f7xx_hal_sd.o - .debug_loc 0x0000f055 0x6d7 build/stm32f7xx_ll_spi.o - .debug_loc 0x0000f72c 0x6372 build/stm32f7xx_hal_tim.o - .debug_loc 0x00015a9e 0x291a build/stm32f7xx_hal_tim_ex.o - .debug_loc 0x000183b8 0x1b79 build/stm32f7xx_ll_tim.o - .debug_loc 0x00019f31 0x8b1 build/stm32f7xx_ll_usart.o - .debug_loc 0x0001a7e2 0x181 build/system_stm32f7xx.o - .debug_loc 0x0001a963 0xa9c build/File_Handling.o - .debug_loc 0x0001b3ff 0x377 build/diskio.o - .debug_loc 0x0001b776 0x6040 build/ff.o - .debug_loc 0x000217b6 0x37c build/ff_gen_drv.o - .debug_loc 0x00021b32 0x90 build/sysmem.o - .debug_loc 0x00021bc2 0x51cb build/stm32f7xx_hal_uart.o +.debug_loc 0x00000000 0x274f6 + .debug_loc 0x00000000 0x3cb3 build/main.o + .debug_loc 0x00003cb3 0x6f0 build/bsp_driver_sd.o + .debug_loc 0x000043a3 0x544 build/sd_diskio.o + .debug_loc 0x000048e7 0x20 build/fatfs.o + .debug_loc 0x00004907 0x51 build/fatfs_platform.o + .debug_loc 0x00004958 0x43a build/stm32f7xx_it.o + .debug_loc 0x00004d92 0x5a7 build/stm32f7xx_hal_msp.o + .debug_loc 0x00005339 0xe7b build/stm32f7xx_hal_adc.o + .debug_loc 0x000061b4 0xc11 build/stm32f7xx_hal_adc_ex.o + .debug_loc 0x00006dc5 0x849 build/stm32f7xx_hal_rcc.o + .debug_loc 0x0000760e 0x924 build/stm32f7xx_hal_rcc_ex.o + .debug_loc 0x00007f32 0x60b build/stm32f7xx_hal_gpio.o + .debug_loc 0x0000853d 0x3e6 build/stm32f7xx_hal_pwr_ex.o + .debug_loc 0x00008923 0x886 build/stm32f7xx_hal_cortex.o + .debug_loc 0x000091a9 0x1f9 build/stm32f7xx_hal.o + .debug_loc 0x000093a2 0x1806 build/stm32f7xx_ll_rcc.o + .debug_loc 0x0000aba8 0x9ad build/stm32f7xx_ll_gpio.o + .debug_loc 0x0000b555 0x1873 build/stm32f7xx_ll_sdmmc.o + .debug_loc 0x0000cdc8 0x29f6 build/stm32f7xx_hal_sd.o + .debug_loc 0x0000f7be 0x6d7 build/stm32f7xx_ll_spi.o + .debug_loc 0x0000fe95 0x6372 build/stm32f7xx_hal_tim.o + .debug_loc 0x00016207 0x291a build/stm32f7xx_hal_tim_ex.o + .debug_loc 0x00018b21 0x1b79 build/stm32f7xx_ll_tim.o + .debug_loc 0x0001a69a 0x8b1 build/stm32f7xx_ll_usart.o + .debug_loc 0x0001af4b 0x181 build/system_stm32f7xx.o + .debug_loc 0x0001b0cc 0xa9c build/File_Handling.o + .debug_loc 0x0001bb68 0x377 build/diskio.o + .debug_loc 0x0001bedf 0x6040 build/ff.o + .debug_loc 0x00021f1f 0x37c build/ff_gen_drv.o + .debug_loc 0x0002229b 0x90 build/sysmem.o + .debug_loc 0x0002232b 0x51cb build/stm32f7xx_hal_uart.o -.debug_aranges 0x00000000 0x1c80 +.debug_aranges 0x00000000 0x1c98 .debug_aranges - 0x00000000 0x188 build/main.o + 0x00000000 0x1a0 build/main.o .debug_aranges - 0x00000188 0x98 build/bsp_driver_sd.o + 0x000001a0 0x98 build/bsp_driver_sd.o .debug_aranges - 0x00000220 0x48 build/sd_diskio.o + 0x00000238 0x48 build/sd_diskio.o .debug_aranges - 0x00000268 0x28 build/fatfs.o + 0x00000280 0x28 build/fatfs.o .debug_aranges - 0x00000290 0x20 build/fatfs_platform.o + 0x000002a8 0x20 build/fatfs_platform.o .debug_aranges - 0x000002b0 0xc0 build/stm32f7xx_it.o + 0x000002c8 0xc0 build/stm32f7xx_it.o .debug_aranges - 0x00000370 0x68 build/stm32f7xx_hal_msp.o + 0x00000388 0x68 build/stm32f7xx_hal_msp.o .debug_aranges - 0x000003d8 0xe8 build/stm32f7xx_hal_adc.o + 0x000003f0 0xe8 build/stm32f7xx_hal_adc.o .debug_aranges - 0x000004c0 0x90 build/stm32f7xx_hal_adc_ex.o + 0x000004d8 0x90 build/stm32f7xx_hal_adc_ex.o .debug_aranges - 0x00000550 0x88 build/stm32f7xx_hal_rcc.o + 0x00000568 0x88 build/stm32f7xx_hal_rcc.o .debug_aranges - 0x000005d8 0x50 build/stm32f7xx_hal_rcc_ex.o + 0x000005f0 0x50 build/stm32f7xx_hal_rcc_ex.o .debug_aranges - 0x00000628 0x58 build/stm32f7xx_hal_gpio.o + 0x00000640 0x58 build/stm32f7xx_hal_gpio.o .debug_aranges - 0x00000680 0x80 build/stm32f7xx_hal_pwr_ex.o + 0x00000698 0x80 build/stm32f7xx_hal_pwr_ex.o .debug_aranges - 0x00000700 0xe8 build/stm32f7xx_hal_cortex.o + 0x00000718 0xe8 build/stm32f7xx_hal_cortex.o .debug_aranges - 0x000007e8 0x110 build/stm32f7xx_hal.o + 0x00000800 0x110 build/stm32f7xx_hal.o .debug_aranges - 0x000008f8 0xf8 build/stm32f7xx_ll_rcc.o + 0x00000910 0xf8 build/stm32f7xx_ll_rcc.o .debug_aranges - 0x000009f0 0x58 build/stm32f7xx_ll_gpio.o + 0x00000a08 0x58 build/stm32f7xx_ll_gpio.o .debug_aranges - 0x00000a48 0x188 build/stm32f7xx_ll_sdmmc.o + 0x00000a60 0x188 build/stm32f7xx_ll_sdmmc.o .debug_aranges - 0x00000bd0 0x168 build/stm32f7xx_hal_sd.o + 0x00000be8 0x168 build/stm32f7xx_hal_sd.o .debug_aranges - 0x00000d38 0x50 build/stm32f7xx_ll_spi.o + 0x00000d50 0x50 build/stm32f7xx_ll_spi.o .debug_aranges - 0x00000d88 0x3e0 build/stm32f7xx_hal_tim.o + 0x00000da0 0x3e0 build/stm32f7xx_hal_tim.o .debug_aranges - 0x00001168 0x180 build/stm32f7xx_hal_tim_ex.o + 0x00001180 0x180 build/stm32f7xx_hal_tim_ex.o .debug_aranges - 0x000012e8 0xd0 build/stm32f7xx_ll_tim.o + 0x00001300 0xd0 build/stm32f7xx_ll_tim.o .debug_aranges - 0x000013b8 0x48 build/stm32f7xx_ll_usart.o + 0x000013d0 0x48 build/stm32f7xx_ll_usart.o .debug_aranges - 0x00001400 0x28 build/system_stm32f7xx.o + 0x00001418 0x28 build/system_stm32f7xx.o .debug_aranges - 0x00001428 0x98 build/File_Handling.o + 0x00001440 0x98 build/File_Handling.o .debug_aranges - 0x000014c0 0x48 build/diskio.o + 0x000014d8 0x48 build/diskio.o .debug_aranges - 0x00001508 0x208 build/ff.o + 0x00001520 0x208 build/ff.o .debug_aranges - 0x00001710 0x40 build/ff_gen_drv.o + 0x00001728 0x40 build/ff_gen_drv.o .debug_aranges - 0x00001750 0x20 build/sysmem.o + 0x00001768 0x20 build/sysmem.o .debug_aranges - 0x00001770 0x230 build/stm32f7xx_hal_uart.o + 0x00001788 0x230 build/stm32f7xx_hal_uart.o .debug_aranges - 0x000019a0 0x28 build/startup_stm32f767xx.o + 0x000019b8 0x28 build/startup_stm32f767xx.o .debug_aranges - 0x000019c8 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sprintf.o) + 0x000019e0 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sprintf.o) .debug_aranges - 0x000019e8 0x18 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) + 0x00001a00 0x18 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) .debug_aranges - 0x00001a00 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-svfprintf.o) + 0x00001a18 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-svfprintf.o) .debug_aranges - 0x00001a20 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) + 0x00001a38 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) .debug_aranges - 0x00001a40 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) + 0x00001a58 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) .debug_aranges - 0x00001a60 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + 0x00001a78 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) .debug_aranges - 0x00001a80 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + 0x00001a98 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) .debug_aranges - 0x00001aa0 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + 0x00001ab8 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) .debug_aranges - 0x00001ac0 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) + 0x00001ad8 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) .debug_aranges - 0x00001ae0 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) + 0x00001af8 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) .debug_aranges - 0x00001b00 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy.o) + 0x00001b18 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy.o) .debug_aranges - 0x00001b20 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-malloc.o) + 0x00001b38 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-malloc.o) .debug_aranges - 0x00001b40 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) + 0x00001b58 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) .debug_aranges - 0x00001b60 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) + 0x00001b78 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) .debug_aranges - 0x00001b80 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + 0x00001b98 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) .debug_aranges - 0x00001ba0 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) + 0x00001bb8 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) .debug_aranges - 0x00001bc0 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) + 0x00001bd8 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) .debug_aranges - 0x00001be0 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + 0x00001bf8 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) .debug_aranges - 0x00001c00 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + 0x00001c18 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) .debug_aranges - 0x00001c20 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) + 0x00001c38 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) .debug_aranges - 0x00001c40 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + 0x00001c58 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) .debug_aranges - 0x00001c60 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) + 0x00001c78 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) -.debug_ranges 0x00000000 0x1bc0 - .debug_ranges 0x00000000 0x1f0 build/main.o - .debug_ranges 0x000001f0 0x88 build/bsp_driver_sd.o - .debug_ranges 0x00000278 0x38 build/sd_diskio.o - .debug_ranges 0x000002b0 0x18 build/fatfs.o - .debug_ranges 0x000002c8 0x10 build/fatfs_platform.o - .debug_ranges 0x000002d8 0xb0 build/stm32f7xx_it.o - .debug_ranges 0x00000388 0x58 build/stm32f7xx_hal_msp.o - .debug_ranges 0x000003e0 0xd8 build/stm32f7xx_hal_adc.o - .debug_ranges 0x000004b8 0x80 build/stm32f7xx_hal_adc_ex.o - .debug_ranges 0x00000538 0x78 build/stm32f7xx_hal_rcc.o - .debug_ranges 0x000005b0 0x40 build/stm32f7xx_hal_rcc_ex.o - .debug_ranges 0x000005f0 0x48 build/stm32f7xx_hal_gpio.o - .debug_ranges 0x00000638 0x70 build/stm32f7xx_hal_pwr_ex.o - .debug_ranges 0x000006a8 0xd8 build/stm32f7xx_hal_cortex.o - .debug_ranges 0x00000780 0x100 build/stm32f7xx_hal.o - .debug_ranges 0x00000880 0xe8 build/stm32f7xx_ll_rcc.o - .debug_ranges 0x00000968 0x150 build/stm32f7xx_ll_gpio.o - .debug_ranges 0x00000ab8 0x178 build/stm32f7xx_ll_sdmmc.o - .debug_ranges 0x00000c30 0x158 build/stm32f7xx_hal_sd.o - .debug_ranges 0x00000d88 0x58 build/stm32f7xx_ll_spi.o - .debug_ranges 0x00000de0 0x3d0 build/stm32f7xx_hal_tim.o - .debug_ranges 0x000011b0 0x170 build/stm32f7xx_hal_tim_ex.o - .debug_ranges 0x00001320 0x210 build/stm32f7xx_ll_tim.o - .debug_ranges 0x00001530 0x110 build/stm32f7xx_ll_usart.o - .debug_ranges 0x00001640 0x18 build/system_stm32f7xx.o - .debug_ranges 0x00001658 0xa0 build/File_Handling.o - .debug_ranges 0x000016f8 0x38 build/diskio.o - .debug_ranges 0x00001730 0x1f8 build/ff.o - .debug_ranges 0x00001928 0x30 build/ff_gen_drv.o - .debug_ranges 0x00001958 0x10 build/sysmem.o - .debug_ranges 0x00001968 0x238 build/stm32f7xx_hal_uart.o - .debug_ranges 0x00001ba0 0x20 build/startup_stm32f767xx.o +.debug_ranges 0x00000000 0x1c88 + .debug_ranges 0x00000000 0x2b8 build/main.o + .debug_ranges 0x000002b8 0x88 build/bsp_driver_sd.o + .debug_ranges 0x00000340 0x38 build/sd_diskio.o + .debug_ranges 0x00000378 0x18 build/fatfs.o + .debug_ranges 0x00000390 0x10 build/fatfs_platform.o + .debug_ranges 0x000003a0 0xb0 build/stm32f7xx_it.o + .debug_ranges 0x00000450 0x58 build/stm32f7xx_hal_msp.o + .debug_ranges 0x000004a8 0xd8 build/stm32f7xx_hal_adc.o + .debug_ranges 0x00000580 0x80 build/stm32f7xx_hal_adc_ex.o + .debug_ranges 0x00000600 0x78 build/stm32f7xx_hal_rcc.o + .debug_ranges 0x00000678 0x40 build/stm32f7xx_hal_rcc_ex.o + .debug_ranges 0x000006b8 0x48 build/stm32f7xx_hal_gpio.o + .debug_ranges 0x00000700 0x70 build/stm32f7xx_hal_pwr_ex.o + .debug_ranges 0x00000770 0xd8 build/stm32f7xx_hal_cortex.o + .debug_ranges 0x00000848 0x100 build/stm32f7xx_hal.o + .debug_ranges 0x00000948 0xe8 build/stm32f7xx_ll_rcc.o + .debug_ranges 0x00000a30 0x150 build/stm32f7xx_ll_gpio.o + .debug_ranges 0x00000b80 0x178 build/stm32f7xx_ll_sdmmc.o + .debug_ranges 0x00000cf8 0x158 build/stm32f7xx_hal_sd.o + .debug_ranges 0x00000e50 0x58 build/stm32f7xx_ll_spi.o + .debug_ranges 0x00000ea8 0x3d0 build/stm32f7xx_hal_tim.o + .debug_ranges 0x00001278 0x170 build/stm32f7xx_hal_tim_ex.o + .debug_ranges 0x000013e8 0x210 build/stm32f7xx_ll_tim.o + .debug_ranges 0x000015f8 0x110 build/stm32f7xx_ll_usart.o + .debug_ranges 0x00001708 0x18 build/system_stm32f7xx.o + .debug_ranges 0x00001720 0xa0 build/File_Handling.o + .debug_ranges 0x000017c0 0x38 build/diskio.o + .debug_ranges 0x000017f8 0x1f8 build/ff.o + .debug_ranges 0x000019f0 0x30 build/ff_gen_drv.o + .debug_ranges 0x00001a20 0x10 build/sysmem.o + .debug_ranges 0x00001a30 0x238 build/stm32f7xx_hal_uart.o + .debug_ranges 0x00001c68 0x20 build/startup_stm32f767xx.o -.debug_line 0x00000000 0x240cf - .debug_line 0x00000000 0x3e03 build/main.o - .debug_line 0x00003e03 0x39e build/bsp_driver_sd.o - .debug_line 0x000041a1 0x2f2 build/sd_diskio.o - .debug_line 0x00004493 0x170 build/fatfs.o - .debug_line 0x00004603 0x111 build/fatfs_platform.o - .debug_line 0x00004714 0x9b9 build/stm32f7xx_it.o - .debug_line 0x000050cd 0x66d build/stm32f7xx_hal_msp.o - .debug_line 0x0000573a 0xfc7 build/stm32f7xx_hal_adc.o - .debug_line 0x00006701 0xb34 build/stm32f7xx_hal_adc_ex.o - .debug_line 0x00007235 0xd15 build/stm32f7xx_hal_rcc.o - .debug_line 0x00007f4a 0xbd9 build/stm32f7xx_hal_rcc_ex.o - .debug_line 0x00008b23 0x6aa build/stm32f7xx_hal_gpio.o - .debug_line 0x000091cd 0x52c build/stm32f7xx_hal_pwr_ex.o - .debug_line 0x000096f9 0x77a build/stm32f7xx_hal_cortex.o - .debug_line 0x00009e73 0x548 build/stm32f7xx_hal.o - .debug_line 0x0000a3bb 0x1721 build/stm32f7xx_ll_rcc.o - .debug_line 0x0000badc 0x76d build/stm32f7xx_ll_gpio.o - .debug_line 0x0000c249 0x104d build/stm32f7xx_ll_sdmmc.o - .debug_line 0x0000d296 0x263f build/stm32f7xx_hal_sd.o - .debug_line 0x0000f8d5 0x56b build/stm32f7xx_ll_spi.o - .debug_line 0x0000fe40 0x4839 build/stm32f7xx_hal_tim.o - .debug_line 0x00014679 0x1bb4 build/stm32f7xx_hal_tim_ex.o - .debug_line 0x0001622d 0xe26 build/stm32f7xx_ll_tim.o - .debug_line 0x00017053 0x62f build/stm32f7xx_ll_usart.o - .debug_line 0x00017682 0x1c2 build/system_stm32f7xx.o - .debug_line 0x00017844 0xa76 build/File_Handling.o - .debug_line 0x000182ba 0x217 build/diskio.o - .debug_line 0x000184d1 0x42e1 build/ff.o - .debug_line 0x0001c7b2 0x25a build/ff_gen_drv.o - .debug_line 0x0001ca0c 0xf8 build/sysmem.o - .debug_line 0x0001cb04 0x3f43 build/stm32f7xx_hal_uart.o - .debug_line 0x00020a47 0x73 build/startup_stm32f767xx.o - .debug_line 0x00020aba 0x224 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sprintf.o) - .debug_line 0x00020cde 0xe7 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) - .debug_line 0x00020dc5 0x854 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-svfprintf.o) - .debug_line 0x00021619 0x11e /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - .debug_line 0x00021737 0x1b6 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - .debug_line 0x000218ed 0x10c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) - .debug_line 0x000219f9 0x446 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .debug_line 0x00021e3f 0x2c3 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - .debug_line 0x00022102 0x1f1 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .debug_line 0x000222f3 0x84 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .debug_line 0x00022377 0xb9 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy.o) - .debug_line 0x00022430 0x16b /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-malloc.o) - .debug_line 0x0002259b 0x1f8 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - .debug_line 0x00022793 0x75d /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .debug_line 0x00022ef0 0x153 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .debug_line 0x00023043 0x193 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .debug_line 0x000231d6 0x176 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .debug_line 0x0002334c 0x4fc /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .debug_line 0x00023848 0x27b /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - .debug_line 0x00023ac3 0x4e /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) - .debug_line 0x00023b11 0x574 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) - .debug_line 0x00024085 0x4a /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) +.debug_line 0x00000000 0x244a7 + .debug_line 0x00000000 0x41db build/main.o + .debug_line 0x000041db 0x39e build/bsp_driver_sd.o + .debug_line 0x00004579 0x2f2 build/sd_diskio.o + .debug_line 0x0000486b 0x170 build/fatfs.o + .debug_line 0x000049db 0x111 build/fatfs_platform.o + .debug_line 0x00004aec 0x9b9 build/stm32f7xx_it.o + .debug_line 0x000054a5 0x66d build/stm32f7xx_hal_msp.o + .debug_line 0x00005b12 0xfc7 build/stm32f7xx_hal_adc.o + .debug_line 0x00006ad9 0xb34 build/stm32f7xx_hal_adc_ex.o + .debug_line 0x0000760d 0xd15 build/stm32f7xx_hal_rcc.o + .debug_line 0x00008322 0xbd9 build/stm32f7xx_hal_rcc_ex.o + .debug_line 0x00008efb 0x6aa build/stm32f7xx_hal_gpio.o + .debug_line 0x000095a5 0x52c build/stm32f7xx_hal_pwr_ex.o + .debug_line 0x00009ad1 0x77a build/stm32f7xx_hal_cortex.o + .debug_line 0x0000a24b 0x548 build/stm32f7xx_hal.o + .debug_line 0x0000a793 0x1721 build/stm32f7xx_ll_rcc.o + .debug_line 0x0000beb4 0x76d build/stm32f7xx_ll_gpio.o + .debug_line 0x0000c621 0x104d build/stm32f7xx_ll_sdmmc.o + .debug_line 0x0000d66e 0x263f build/stm32f7xx_hal_sd.o + .debug_line 0x0000fcad 0x56b build/stm32f7xx_ll_spi.o + .debug_line 0x00010218 0x4839 build/stm32f7xx_hal_tim.o + .debug_line 0x00014a51 0x1bb4 build/stm32f7xx_hal_tim_ex.o + .debug_line 0x00016605 0xe26 build/stm32f7xx_ll_tim.o + .debug_line 0x0001742b 0x62f build/stm32f7xx_ll_usart.o + .debug_line 0x00017a5a 0x1c2 build/system_stm32f7xx.o + .debug_line 0x00017c1c 0xa76 build/File_Handling.o + .debug_line 0x00018692 0x217 build/diskio.o + .debug_line 0x000188a9 0x42e1 build/ff.o + .debug_line 0x0001cb8a 0x25a build/ff_gen_drv.o + .debug_line 0x0001cde4 0xf8 build/sysmem.o + .debug_line 0x0001cedc 0x3f43 build/stm32f7xx_hal_uart.o + .debug_line 0x00020e1f 0x73 build/startup_stm32f767xx.o + .debug_line 0x00020e92 0x224 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sprintf.o) + .debug_line 0x000210b6 0xe7 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) + .debug_line 0x0002119d 0x854 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-svfprintf.o) + .debug_line 0x000219f1 0x11e /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) + .debug_line 0x00021b0f 0x1b6 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) + .debug_line 0x00021cc5 0x10c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + .debug_line 0x00021dd1 0x446 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .debug_line 0x00022217 0x2c3 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .debug_line 0x000224da 0x1f1 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) + .debug_line 0x000226cb 0x84 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) + .debug_line 0x0002274f 0xb9 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy.o) + .debug_line 0x00022808 0x16b /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-malloc.o) + .debug_line 0x00022973 0x1f8 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) + .debug_line 0x00022b6b 0x75d /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) + .debug_line 0x000232c8 0x153 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .debug_line 0x0002341b 0x193 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) + .debug_line 0x000235ae 0x176 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) + .debug_line 0x00023724 0x4fc /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .debug_line 0x00023c20 0x27b /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .debug_line 0x00023e9b 0x4e /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) + .debug_line 0x00023ee9 0x574 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + .debug_line 0x0002445d 0x4a /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) -.debug_str 0x00000000 0x97f7 - .debug_str 0x00000000 0x97f7 build/main.o - 0x2e26 (size before relaxing) - .debug_str 0x000097f7 0x8f5 build/bsp_driver_sd.o - .debug_str 0x000097f7 0x3d0 build/sd_diskio.o - .debug_str 0x000097f7 0x3c8 build/fatfs.o - .debug_str 0x000097f7 0x23d build/fatfs_platform.o - .debug_str 0x000097f7 0xea9 build/stm32f7xx_it.o - .debug_str 0x000097f7 0x194d build/stm32f7xx_hal_msp.o - .debug_str 0x000097f7 0x93c build/stm32f7xx_hal_adc.o - .debug_str 0x000097f7 0x990 build/stm32f7xx_hal_adc_ex.o - .debug_str 0x000097f7 0x714 build/stm32f7xx_hal_rcc.o - .debug_str 0x000097f7 0x72c build/stm32f7xx_hal_rcc_ex.o - .debug_str 0x000097f7 0x4e5 build/stm32f7xx_hal_gpio.o - .debug_str 0x000097f7 0x63f build/stm32f7xx_hal_pwr_ex.o - .debug_str 0x000097f7 0xe66 build/stm32f7xx_hal_cortex.o - .debug_str 0x000097f7 0xd38 build/stm32f7xx_hal.o - .debug_str 0x000097f7 0xbce build/stm32f7xx_ll_rcc.o - .debug_str 0x000097f7 0x499 build/stm32f7xx_ll_gpio.o - .debug_str 0x000097f7 0x7ec build/stm32f7xx_ll_sdmmc.o - .debug_str 0x000097f7 0x10c7 build/stm32f7xx_hal_sd.o - .debug_str 0x000097f7 0x5bf build/stm32f7xx_ll_spi.o - .debug_str 0x000097f7 0x1770 build/stm32f7xx_hal_tim.o - .debug_str 0x000097f7 0x1076 build/stm32f7xx_hal_tim_ex.o - .debug_str 0x000097f7 0x9cb build/stm32f7xx_ll_tim.o - .debug_str 0x000097f7 0x5be build/stm32f7xx_ll_usart.o - .debug_str 0x000097f7 0x449 build/system_stm32f7xx.o - .debug_str 0x000097f7 0x61f build/File_Handling.o - .debug_str 0x000097f7 0x2fd build/diskio.o - .debug_str 0x000097f7 0x893 build/ff.o - .debug_str 0x000097f7 0x34e build/ff_gen_drv.o - .debug_str 0x000097f7 0x213 build/sysmem.o - .debug_str 0x000097f7 0x1014 build/stm32f7xx_hal_uart.o - .debug_str 0x000097f7 0x60 build/startup_stm32f767xx.o - .debug_str 0x000097f7 0x4fe /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sprintf.o) - .debug_str 0x000097f7 0x4bf /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) - .debug_str 0x000097f7 0x808 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-svfprintf.o) - .debug_str 0x000097f7 0x1fd /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - .debug_str 0x000097f7 0x1b0 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - .debug_str 0x000097f7 0x4b9 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) - .debug_str 0x000097f7 0x5a0 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .debug_str 0x000097f7 0x53f /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - .debug_str 0x000097f7 0x1cf /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .debug_str 0x000097f7 0x9e /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) - .debug_str 0x000097f7 0xac /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy.o) - .debug_str 0x000097f7 0x4e4 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-malloc.o) - .debug_str 0x000097f7 0x535 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - .debug_str 0x000097f7 0x79e /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .debug_str 0x000097f7 0x4dd /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .debug_str 0x000097f7 0x4c8 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .debug_str 0x000097f7 0x508 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .debug_str 0x000097f7 0x6c2 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .debug_str 0x000097f7 0x4de /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - .debug_str 0x000097f7 0xa3 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) - .debug_str 0x000097f7 0x688 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) - .debug_str 0x000097f7 0xc3 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) +.debug_str 0x00000000 0x9880 + .debug_str 0x00000000 0x9880 build/main.o + 0x2ec1 (size before relaxing) + .debug_str 0x00009880 0x8f5 build/bsp_driver_sd.o + .debug_str 0x00009880 0x3d0 build/sd_diskio.o + .debug_str 0x00009880 0x3c8 build/fatfs.o + .debug_str 0x00009880 0x23d build/fatfs_platform.o + .debug_str 0x00009880 0xea9 build/stm32f7xx_it.o + .debug_str 0x00009880 0x194d build/stm32f7xx_hal_msp.o + .debug_str 0x00009880 0x93c build/stm32f7xx_hal_adc.o + .debug_str 0x00009880 0x990 build/stm32f7xx_hal_adc_ex.o + .debug_str 0x00009880 0x714 build/stm32f7xx_hal_rcc.o + .debug_str 0x00009880 0x72c build/stm32f7xx_hal_rcc_ex.o + .debug_str 0x00009880 0x4e5 build/stm32f7xx_hal_gpio.o + .debug_str 0x00009880 0x63f build/stm32f7xx_hal_pwr_ex.o + .debug_str 0x00009880 0xe66 build/stm32f7xx_hal_cortex.o + .debug_str 0x00009880 0xd38 build/stm32f7xx_hal.o + .debug_str 0x00009880 0xbce build/stm32f7xx_ll_rcc.o + .debug_str 0x00009880 0x499 build/stm32f7xx_ll_gpio.o + .debug_str 0x00009880 0x7ec build/stm32f7xx_ll_sdmmc.o + .debug_str 0x00009880 0x10c7 build/stm32f7xx_hal_sd.o + .debug_str 0x00009880 0x5bf build/stm32f7xx_ll_spi.o + .debug_str 0x00009880 0x1770 build/stm32f7xx_hal_tim.o + .debug_str 0x00009880 0x1076 build/stm32f7xx_hal_tim_ex.o + .debug_str 0x00009880 0x9cb build/stm32f7xx_ll_tim.o + .debug_str 0x00009880 0x5be build/stm32f7xx_ll_usart.o + .debug_str 0x00009880 0x449 build/system_stm32f7xx.o + .debug_str 0x00009880 0x61f build/File_Handling.o + .debug_str 0x00009880 0x2fd build/diskio.o + .debug_str 0x00009880 0x893 build/ff.o + .debug_str 0x00009880 0x34e build/ff_gen_drv.o + .debug_str 0x00009880 0x213 build/sysmem.o + .debug_str 0x00009880 0x1014 build/stm32f7xx_hal_uart.o + .debug_str 0x00009880 0x60 build/startup_stm32f767xx.o + .debug_str 0x00009880 0x4fe /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sprintf.o) + .debug_str 0x00009880 0x4bf /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-impure.o) + .debug_str 0x00009880 0x808 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-svfprintf.o) + .debug_str 0x00009880 0x1fd /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) + .debug_str 0x00009880 0x1b0 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) + .debug_str 0x00009880 0x4b9 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + .debug_str 0x00009880 0x5a0 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .debug_str 0x00009880 0x53f /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .debug_str 0x00009880 0x1cf /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) + .debug_str 0x00009880 0x9e /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memchr.o) + .debug_str 0x00009880 0xac /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memcpy.o) + .debug_str 0x00009880 0x4e4 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-malloc.o) + .debug_str 0x00009880 0x535 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) + .debug_str 0x00009880 0x79e /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) + .debug_str 0x00009880 0x4dd /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .debug_str 0x00009880 0x4c8 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) + .debug_str 0x00009880 0x508 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) + .debug_str 0x00009880 0x6c2 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .debug_str 0x00009880 0x4de /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .debug_str 0x00009880 0xa3 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) + .debug_str 0x00009880 0x688 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) + .debug_str 0x00009880 0xc3 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_dvmd_tls.o) -.debug_frame 0x00000000 0x4da0 - .debug_frame 0x00000000 0x56c build/main.o - .debug_frame 0x0000056c 0x180 build/bsp_driver_sd.o - .debug_frame 0x000006ec 0xac build/sd_diskio.o - .debug_frame 0x00000798 0x38 build/fatfs.o - .debug_frame 0x000007d0 0x28 build/fatfs_platform.o - .debug_frame 0x000007f8 0x1b4 build/stm32f7xx_it.o - .debug_frame 0x000009ac 0x138 build/stm32f7xx_hal_msp.o - .debug_frame 0x00000ae4 0x268 build/stm32f7xx_hal_adc.o - .debug_frame 0x00000d4c 0x18c build/stm32f7xx_hal_adc_ex.o - .debug_frame 0x00000ed8 0x178 build/stm32f7xx_hal_rcc.o - .debug_frame 0x00001050 0xc0 build/stm32f7xx_hal_rcc_ex.o - .debug_frame 0x00001110 0xd8 build/stm32f7xx_hal_gpio.o - .debug_frame 0x000011e8 0x134 build/stm32f7xx_hal_pwr_ex.o - .debug_frame 0x0000131c 0x1ec build/stm32f7xx_hal_cortex.o - .debug_frame 0x00001508 0x22c build/stm32f7xx_hal.o - .debug_frame 0x00001734 0x250 build/stm32f7xx_ll_rcc.o - .debug_frame 0x00001984 0xc8 build/stm32f7xx_ll_gpio.o - .debug_frame 0x00001a4c 0x4c8 build/stm32f7xx_ll_sdmmc.o - .debug_frame 0x00001f14 0x4b8 build/stm32f7xx_hal_sd.o - .debug_frame 0x000023cc 0xa8 build/stm32f7xx_ll_spi.o - .debug_frame 0x00002474 0xb6c build/stm32f7xx_hal_tim.o - .debug_frame 0x00002fe0 0x478 build/stm32f7xx_hal_tim_ex.o - .debug_frame 0x00003458 0x24c build/stm32f7xx_ll_tim.o - .debug_frame 0x000036a4 0x88 build/stm32f7xx_ll_usart.o - .debug_frame 0x0000372c 0x30 build/system_stm32f7xx.o - .debug_frame 0x0000375c 0x1e8 build/File_Handling.o - .debug_frame 0x00003944 0xa0 build/diskio.o - .debug_frame 0x000039e4 0x7bc build/ff.o - .debug_frame 0x000041a0 0x7c build/ff_gen_drv.o - .debug_frame 0x0000421c 0x28 build/sysmem.o - .debug_frame 0x00004244 0x608 build/stm32f7xx_hal_uart.o - .debug_frame 0x0000484c 0x78 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sprintf.o) - .debug_frame 0x000048c4 0x98 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-svfprintf.o) - .debug_frame 0x0000495c 0x2c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) - .debug_frame 0x00004988 0x2c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) - .debug_frame 0x000049b4 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) - .debug_frame 0x000049d4 0x50 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) - .debug_frame 0x00004a24 0x58 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) - .debug_frame 0x00004a7c 0x40 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) - .debug_frame 0x00004abc 0x30 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-malloc.o) - .debug_frame 0x00004aec 0x38 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) - .debug_frame 0x00004b24 0x6c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) - .debug_frame 0x00004b90 0x30 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) - .debug_frame 0x00004bc0 0x2c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) - .debug_frame 0x00004bec 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) - .debug_frame 0x00004c0c 0xf4 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) - .debug_frame 0x00004d00 0x40 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) - .debug_frame 0x00004d40 0x2c /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) - .debug_frame 0x00004d6c 0x34 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) +.debug_frame 0x00000000 0x4e18 + .debug_frame 0x00000000 0x5e4 build/main.o + .debug_frame 0x000005e4 0x180 build/bsp_driver_sd.o + .debug_frame 0x00000764 0xac build/sd_diskio.o + .debug_frame 0x00000810 0x38 build/fatfs.o + .debug_frame 0x00000848 0x28 build/fatfs_platform.o + .debug_frame 0x00000870 0x1b4 build/stm32f7xx_it.o + .debug_frame 0x00000a24 0x138 build/stm32f7xx_hal_msp.o + .debug_frame 0x00000b5c 0x268 build/stm32f7xx_hal_adc.o + .debug_frame 0x00000dc4 0x18c build/stm32f7xx_hal_adc_ex.o + .debug_frame 0x00000f50 0x178 build/stm32f7xx_hal_rcc.o + .debug_frame 0x000010c8 0xc0 build/stm32f7xx_hal_rcc_ex.o + .debug_frame 0x00001188 0xd8 build/stm32f7xx_hal_gpio.o + .debug_frame 0x00001260 0x134 build/stm32f7xx_hal_pwr_ex.o + .debug_frame 0x00001394 0x1ec build/stm32f7xx_hal_cortex.o + .debug_frame 0x00001580 0x22c build/stm32f7xx_hal.o + .debug_frame 0x000017ac 0x250 build/stm32f7xx_ll_rcc.o + .debug_frame 0x000019fc 0xc8 build/stm32f7xx_ll_gpio.o + .debug_frame 0x00001ac4 0x4c8 build/stm32f7xx_ll_sdmmc.o + .debug_frame 0x00001f8c 0x4b8 build/stm32f7xx_hal_sd.o + .debug_frame 0x00002444 0xa8 build/stm32f7xx_ll_spi.o + .debug_frame 0x000024ec 0xb6c build/stm32f7xx_hal_tim.o + .debug_frame 0x00003058 0x478 build/stm32f7xx_hal_tim_ex.o + .debug_frame 0x000034d0 0x24c build/stm32f7xx_ll_tim.o + .debug_frame 0x0000371c 0x88 build/stm32f7xx_ll_usart.o + .debug_frame 0x000037a4 0x30 build/system_stm32f7xx.o + .debug_frame 0x000037d4 0x1e8 build/File_Handling.o + .debug_frame 0x000039bc 0xa0 build/diskio.o + .debug_frame 0x00003a5c 0x7bc build/ff.o + .debug_frame 0x00004218 0x7c build/ff_gen_drv.o + .debug_frame 0x00004294 0x28 build/sysmem.o + .debug_frame 0x000042bc 0x608 build/stm32f7xx_hal_uart.o + .debug_frame 0x000048c4 0x78 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sprintf.o) + .debug_frame 0x0000493c 0x98 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-svfprintf.o) + .debug_frame 0x000049d4 0x2c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-init.o) + .debug_frame 0x00004a00 0x2c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memset.o) + .debug_frame 0x00004a2c 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-errno.o) + .debug_frame 0x00004a4c 0x50 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mallocr.o) + .debug_frame 0x00004a9c 0x58 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-freer.o) + .debug_frame 0x00004af4 0x40 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-memmove.o) + .debug_frame 0x00004b34 0x30 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-malloc.o) + .debug_frame 0x00004b64 0x38 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reallocr.o) + .debug_frame 0x00004b9c 0x6c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-nano-vfprintf_i.o) + .debug_frame 0x00004c08 0x30 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-mlock.o) + .debug_frame 0x00004c38 0x2c /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-sbrkr.o) + .debug_frame 0x00004c64 0x20 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-msizer.o) + .debug_frame 0x00004c84 0xf4 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-findfp.o) + .debug_frame 0x00004d78 0x40 /usr/lib/gcc/arm-none-eabi/13.2.1/../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libc_nano.a(libc_a-reent.o) + .debug_frame 0x00004db8 0x2c /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_aeabi_uldivmod.o) + .debug_frame 0x00004de4 0x34 /usr/lib/gcc/arm-none-eabi/13.2.1/thumb/v7e-m+dp/hard/libgcc.a(_udivmoddi4.o) .debug_loclists 0x00000000 0x2087 diff --git a/build/main.lst b/build/main.lst index ec5dd32..0509742 100644 --- a/build/main.lst +++ b/build/main.lst @@ -1,4 +1,4 @@ -ARM GAS /tmp/ccYgfTud.s page 1 +ARM GAS /tmp/ccwR4KB7.s page 1 1 .cpu cortex-m7 @@ -58,7 +58,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 28:Drivers/CMSIS/Include/core_cm7.h **** #pragma clang system_header /* treat file as system include file */ 29:Drivers/CMSIS/Include/core_cm7.h **** #endif 30:Drivers/CMSIS/Include/core_cm7.h **** - ARM GAS /tmp/ccYgfTud.s page 2 + ARM GAS /tmp/ccwR4KB7.s page 2 31:Drivers/CMSIS/Include/core_cm7.h **** #ifndef __CORE_CM7_H_GENERIC @@ -118,7 +118,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 85:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U 86:Drivers/CMSIS/Include/core_cm7.h **** #endif 87:Drivers/CMSIS/Include/core_cm7.h **** - ARM GAS /tmp/ccYgfTud.s page 3 + ARM GAS /tmp/ccwR4KB7.s page 3 88:Drivers/CMSIS/Include/core_cm7.h **** #elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) @@ -178,7 +178,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 142:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U 143:Drivers/CMSIS/Include/core_cm7.h **** #endif 144:Drivers/CMSIS/Include/core_cm7.h **** #else - ARM GAS /tmp/ccYgfTud.s page 4 + ARM GAS /tmp/ccwR4KB7.s page 4 145:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U @@ -238,7 +238,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 199:Drivers/CMSIS/Include/core_cm7.h **** #warning "__ICACHE_PRESENT not defined in device header file; using default!" 200:Drivers/CMSIS/Include/core_cm7.h **** #endif 201:Drivers/CMSIS/Include/core_cm7.h **** - ARM GAS /tmp/ccYgfTud.s page 5 + ARM GAS /tmp/ccwR4KB7.s page 5 202:Drivers/CMSIS/Include/core_cm7.h **** #ifndef __DCACHE_PRESENT @@ -298,7 +298,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 256:Drivers/CMSIS/Include/core_cm7.h **** - Core MPU Register 257:Drivers/CMSIS/Include/core_cm7.h **** - Core FPU Register 258:Drivers/CMSIS/Include/core_cm7.h **** ******************************************************************************/ - ARM GAS /tmp/ccYgfTud.s page 6 + ARM GAS /tmp/ccwR4KB7.s page 6 259:Drivers/CMSIS/Include/core_cm7.h **** /** @@ -358,7 +358,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 313:Drivers/CMSIS/Include/core_cm7.h **** typedef union 314:Drivers/CMSIS/Include/core_cm7.h **** { 315:Drivers/CMSIS/Include/core_cm7.h **** struct - ARM GAS /tmp/ccYgfTud.s page 7 + ARM GAS /tmp/ccwR4KB7.s page 7 316:Drivers/CMSIS/Include/core_cm7.h **** { @@ -418,7 +418,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 370:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_T_Pos 24U /*!< xPSR 371:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR 372:Drivers/CMSIS/Include/core_cm7.h **** - ARM GAS /tmp/ccYgfTud.s page 8 + ARM GAS /tmp/ccwR4KB7.s page 8 373:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_GE_Pos 16U /*!< xPSR @@ -478,7 +478,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 427:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t ISPR[8U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register * 428:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED2[24U]; 429:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t ICPR[8U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register - ARM GAS /tmp/ccYgfTud.s page 9 + ARM GAS /tmp/ccwR4KB7.s page 9 430:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED3[24U]; @@ -538,7 +538,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 484:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED4[15U]; 485:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t MVFR0; /*!< Offset: 0x240 (R/ ) Media and VFP Feature Register 0 486:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t MVFR1; /*!< Offset: 0x244 (R/ ) Media and VFP Feature Register 1 - ARM GAS /tmp/ccYgfTud.s page 10 + ARM GAS /tmp/ccwR4KB7.s page 10 487:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t MVFR2; /*!< Offset: 0x248 (R/ ) Media and VFP Feature Register 2 @@ -598,7 +598,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 541:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB 542:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB 543:Drivers/CMSIS/Include/core_cm7.h **** - ARM GAS /tmp/ccYgfTud.s page 11 + ARM GAS /tmp/ccwR4KB7.s page 11 544:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB @@ -658,7 +658,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 598:Drivers/CMSIS/Include/core_cm7.h **** 599:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_DC_Pos 16U /*!< SCB 600:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos) /*!< SCB - ARM GAS /tmp/ccYgfTud.s page 12 + ARM GAS /tmp/ccwR4KB7.s page 12 601:Drivers/CMSIS/Include/core_cm7.h **** @@ -718,7 +718,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 655:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos) /*!< SCB 656:Drivers/CMSIS/Include/core_cm7.h **** 657:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_BUSFAULTACT_Pos 1U /*!< SCB - ARM GAS /tmp/ccYgfTud.s page 13 + ARM GAS /tmp/ccwR4KB7.s page 13 658:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos) /*!< SCB @@ -778,7 +778,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 712:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos) /*!< SCB 713:Drivers/CMSIS/Include/core_cm7.h **** 714:Drivers/CMSIS/Include/core_cm7.h **** /* UsageFault Status Register (part of SCB Configurable Fault Status Register) */ - ARM GAS /tmp/ccYgfTud.s page 14 + ARM GAS /tmp/ccwR4KB7.s page 14 715:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U) /*!< SCB @@ -838,7 +838,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 769:Drivers/CMSIS/Include/core_cm7.h **** 770:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CTR_CWG_Pos 24U /*!< SCB 771:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CTR_CWG_Msk (0xFUL << SCB_CTR_CWG_Pos) /*!< SCB - ARM GAS /tmp/ccYgfTud.s page 15 + ARM GAS /tmp/ccwR4KB7.s page 15 772:Drivers/CMSIS/Include/core_cm7.h **** @@ -898,7 +898,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 826:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DCCSW_SET_Pos 5U /*!< SCB 827:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DCCSW_SET_Msk (0x1FFUL << SCB_DCCSW_SET_Pos) /*!< SCB 828:Drivers/CMSIS/Include/core_cm7.h **** - ARM GAS /tmp/ccYgfTud.s page 16 + ARM GAS /tmp/ccwR4KB7.s page 16 829:Drivers/CMSIS/Include/core_cm7.h **** /* SCB D-Cache Clean and Invalidate by Set-way Register Definitions */ @@ -958,7 +958,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 883:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AHBSCR_TPRI_Pos 2U /*!< SCB 884:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AHBSCR_TPRI_Msk (0x1FFUL << SCB_AHBPCR_TPRI_Pos) /*!< SCB 885:Drivers/CMSIS/Include/core_cm7.h **** - ARM GAS /tmp/ccYgfTud.s page 17 + ARM GAS /tmp/ccwR4KB7.s page 17 886:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AHBSCR_CTL_Pos 0U /*!< SCB @@ -1018,7 +1018,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 940:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB_ACTLR_FPEXCODIS_Msk (1UL << SCnSCB_ACTLR_FPEXCODIS_Pos) /*!< ACTLR: 941:Drivers/CMSIS/Include/core_cm7.h **** 942:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB_ACTLR_DISFOLD_Pos 2U /*!< ACTLR: - ARM GAS /tmp/ccYgfTud.s page 18 + ARM GAS /tmp/ccwR4KB7.s page 18 943:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB_ACTLR_DISFOLD_Msk (1UL << SCnSCB_ACTLR_DISFOLD_Pos) /*!< ACTLR: @@ -1078,7 +1078,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 997:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CALIB_TENMS_Pos 0U /*!< SysT 998:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysT 999:Drivers/CMSIS/Include/core_cm7.h **** - ARM GAS /tmp/ccYgfTud.s page 19 + ARM GAS /tmp/ccwR4KB7.s page 19 1000:Drivers/CMSIS/Include/core_cm7.h **** /*@} end of group CMSIS_SysTick */ @@ -1138,7 +1138,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1054:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_BUSY_Pos 23U /*!< ITM 1055:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos) /*!< ITM 1056:Drivers/CMSIS/Include/core_cm7.h **** - ARM GAS /tmp/ccYgfTud.s page 20 + ARM GAS /tmp/ccwR4KB7.s page 20 1057:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_TraceBusID_Pos 16U /*!< ITM @@ -1198,7 +1198,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1111:Drivers/CMSIS/Include/core_cm7.h **** */ 1112:Drivers/CMSIS/Include/core_cm7.h **** 1113:Drivers/CMSIS/Include/core_cm7.h **** /** - ARM GAS /tmp/ccYgfTud.s page 21 + ARM GAS /tmp/ccwR4KB7.s page 21 1114:Drivers/CMSIS/Include/core_cm7.h **** \brief Structure type to access the Data Watchpoint and Trace Register (DWT). @@ -1258,7 +1258,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1168:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_LSUEVTENA_Pos 20U /*!< DWT CTR 1169:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos) /*!< DWT CTR 1170:Drivers/CMSIS/Include/core_cm7.h **** - ARM GAS /tmp/ccYgfTud.s page 22 + ARM GAS /tmp/ccwR4KB7.s page 22 1171:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_SLEEPEVTENA_Pos 19U /*!< DWT CTR @@ -1318,7 +1318,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1225:Drivers/CMSIS/Include/core_cm7.h **** /* DWT Comparator Function Register Definitions */ 1226:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_MATCHED_Pos 24U /*!< DWT FUN 1227:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) /*!< DWT FUN - ARM GAS /tmp/ccYgfTud.s page 23 + ARM GAS /tmp/ccwR4KB7.s page 23 1228:Drivers/CMSIS/Include/core_cm7.h **** @@ -1378,7 +1378,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1282:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED4[1U]; 1283:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t ITATBCTR0; /*!< Offset: 0xEF8 (R/ ) ITATBCTR0 */ 1284:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t FIFO1; /*!< Offset: 0xEFC (R/ ) Integration ITM Data */ - ARM GAS /tmp/ccYgfTud.s page 24 + ARM GAS /tmp/ccwR4KB7.s page 24 1285:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t ITCTRL; /*!< Offset: 0xF00 (R/W) Integration Mode Control */ @@ -1438,7 +1438,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1339:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ETM2_Pos 16U /*!< TPI FIF 1340:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ETM2_Msk (0xFFUL << TPI_FIFO0_ETM2_Pos) /*!< TPI FIF 1341:Drivers/CMSIS/Include/core_cm7.h **** - ARM GAS /tmp/ccYgfTud.s page 25 + ARM GAS /tmp/ccwR4KB7.s page 25 1342:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ETM1_Pos 8U /*!< TPI FIF @@ -1498,7 +1498,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1396:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) /*!< TPI DEV 1397:Drivers/CMSIS/Include/core_cm7.h **** 1398:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVID_MinBufSz_Pos 6U /*!< TPI DEV - ARM GAS /tmp/ccYgfTud.s page 26 + ARM GAS /tmp/ccwR4KB7.s page 26 1399:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVID_MinBufSz_Msk (0x7UL << TPI_DEVID_MinBufSz_Pos) /*!< TPI DEV @@ -1558,7 +1558,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1453:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU 1454:Drivers/CMSIS/Include/core_cm7.h **** 1455:Drivers/CMSIS/Include/core_cm7.h **** /* MPU Control Register Definitions */ - ARM GAS /tmp/ccYgfTud.s page 27 + ARM GAS /tmp/ccwR4KB7.s page 27 1456:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU @@ -1618,7 +1618,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1510:Drivers/CMSIS/Include/core_cm7.h **** /*@} end of group CMSIS_MPU */ 1511:Drivers/CMSIS/Include/core_cm7.h **** #endif /* defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) */ 1512:Drivers/CMSIS/Include/core_cm7.h **** - ARM GAS /tmp/ccYgfTud.s page 28 + ARM GAS /tmp/ccwR4KB7.s page 28 1513:Drivers/CMSIS/Include/core_cm7.h **** @@ -1678,7 +1678,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1567:Drivers/CMSIS/Include/core_cm7.h **** /* Floating-Point Default Status Control Register Definitions */ 1568:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPDSCR_AHP_Pos 26U /*!< FPDS 1569:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPDSCR_AHP_Msk (1UL << FPU_FPDSCR_AHP_Pos) /*!< FPDS - ARM GAS /tmp/ccYgfTud.s page 29 + ARM GAS /tmp/ccwR4KB7.s page 29 1570:Drivers/CMSIS/Include/core_cm7.h **** @@ -1738,7 +1738,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1624:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_core_register 1625:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) 1626:Drivers/CMSIS/Include/core_cm7.h **** \brief Type definitions for the Core Debug Registers - ARM GAS /tmp/ccYgfTud.s page 30 + ARM GAS /tmp/ccwR4KB7.s page 30 1627:Drivers/CMSIS/Include/core_cm7.h **** @{ @@ -1798,7 +1798,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1681:Drivers/CMSIS/Include/core_cm7.h **** 1682:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DCRSR_REGSEL_Pos 0U /*!< Core 1683:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL /*<< CoreDebug_DCRSR_REGSEL_Pos*/) /*!< Core - ARM GAS /tmp/ccYgfTud.s page 31 + ARM GAS /tmp/ccwR4KB7.s page 31 1684:Drivers/CMSIS/Include/core_cm7.h **** @@ -1858,7 +1858,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1738:Drivers/CMSIS/Include/core_cm7.h **** \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. 1739:Drivers/CMSIS/Include/core_cm7.h **** \return Masked and shifted value. 1740:Drivers/CMSIS/Include/core_cm7.h **** */ - ARM GAS /tmp/ccYgfTud.s page 32 + ARM GAS /tmp/ccwR4KB7.s page 32 1741:Drivers/CMSIS/Include/core_cm7.h **** #define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) @@ -1918,7 +1918,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1795:Drivers/CMSIS/Include/core_cm7.h **** - Core NVIC Functions 1796:Drivers/CMSIS/Include/core_cm7.h **** - Core SysTick Functions 1797:Drivers/CMSIS/Include/core_cm7.h **** - Core Debug Functions - ARM GAS /tmp/ccYgfTud.s page 33 + ARM GAS /tmp/ccwR4KB7.s page 33 1798:Drivers/CMSIS/Include/core_cm7.h **** - Core Register Access Functions @@ -1978,7 +1978,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1852:Drivers/CMSIS/Include/core_cm7.h **** #define EXC_RETURN_THREAD_MSP_FPU (0xFFFFFFE9UL) /* return to Thread mode, uses MSP after retu 1853:Drivers/CMSIS/Include/core_cm7.h **** #define EXC_RETURN_THREAD_PSP_FPU (0xFFFFFFEDUL) /* return to Thread mode, uses PSP after retu 1854:Drivers/CMSIS/Include/core_cm7.h **** - ARM GAS /tmp/ccYgfTud.s page 34 + ARM GAS /tmp/ccwR4KB7.s page 34 1855:Drivers/CMSIS/Include/core_cm7.h **** @@ -2038,7 +2038,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1909:Drivers/CMSIS/Include/core_cm7.h **** \return 0 Interrupt is not enabled. 1910:Drivers/CMSIS/Include/core_cm7.h **** \return 1 Interrupt is enabled. 1911:Drivers/CMSIS/Include/core_cm7.h **** \note IRQn must not be negative. - ARM GAS /tmp/ccYgfTud.s page 35 + ARM GAS /tmp/ccwR4KB7.s page 35 1912:Drivers/CMSIS/Include/core_cm7.h **** */ @@ -2098,7 +2098,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 1966:Drivers/CMSIS/Include/core_cm7.h **** \details Sets the pending bit of a device specific interrupt in the NVIC pending register. 1967:Drivers/CMSIS/Include/core_cm7.h **** \param [in] IRQn Device specific interrupt number. 1968:Drivers/CMSIS/Include/core_cm7.h **** \note IRQn must not be negative. - ARM GAS /tmp/ccYgfTud.s page 36 + ARM GAS /tmp/ccwR4KB7.s page 36 1969:Drivers/CMSIS/Include/core_cm7.h **** */ @@ -2158,7 +2158,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 2023:Drivers/CMSIS/Include/core_cm7.h **** */ 2024:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) 2025:Drivers/CMSIS/Include/core_cm7.h **** { - ARM GAS /tmp/ccYgfTud.s page 37 + ARM GAS /tmp/ccwR4KB7.s page 37 2026:Drivers/CMSIS/Include/core_cm7.h **** if ((int32_t)(IRQn) >= 0) @@ -2218,7 +2218,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 36 .cfi_def_cfa_offset 4 37 .cfi_offset 14, -4 2073:Drivers/CMSIS/Include/core_cm7.h **** uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used - ARM GAS /tmp/ccYgfTud.s page 38 + ARM GAS /tmp/ccwR4KB7.s page 38 38 .loc 2 2073 3 is_stmt 1 view .LVU2 @@ -2278,7 +2278,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 2078:Drivers/CMSIS/Include/core_cm7.h **** 81 .loc 2 2078 109 discriminator 2 view .LVU19 82 003a 0023 movs r3, #0 - ARM GAS /tmp/ccYgfTud.s page 39 + ARM GAS /tmp/ccwR4KB7.s page 39 83 003c EEE7 b .L2 @@ -2337,1157 +2337,1210 @@ ARM GAS /tmp/ccYgfTud.s page 1 44:Src/main.c **** #define AD9102_REG_WAV_CONFIG 0x0027u 45:Src/main.c **** #define AD9102_REG_PAT_TIMEBASE 0x0028u 46:Src/main.c **** #define AD9102_REG_PAT_PERIOD 0x0029u - 47:Src/main.c **** #define AD9102_REG_SAW_CONFIG 0x0037u - ARM GAS /tmp/ccYgfTud.s page 40 + 47:Src/main.c **** #define AD9102_REG_DAC_PAT 0x002Bu + ARM GAS /tmp/ccwR4KB7.s page 40 - 48:Src/main.c **** #define AD9102_REG_CFG_ERROR 0x0060u - 49:Src/main.c **** - 50:Src/main.c **** #define AD9102_PAT_STATUS_RUN (1u << 0) - 51:Src/main.c **** - 52:Src/main.c **** #define AD9102_WAV_PRESTORE_SEL_SHIFT 4 - 53:Src/main.c **** #define AD9102_WAV_WAVE_SEL_SHIFT 0 - 54:Src/main.c **** #define AD9102_WAV_PRESTORE_SAW 1u - 55:Src/main.c **** #define AD9102_WAV_WAVE_SEL_PRESTORE 1u + 48:Src/main.c **** #define AD9102_REG_SAW_CONFIG 0x0037u + 49:Src/main.c **** #define AD9102_REG_START_DLY 0x005Cu + 50:Src/main.c **** #define AD9102_REG_START_ADDR 0x005Du + 51:Src/main.c **** #define AD9102_REG_STOP_ADDR 0x005Eu + 52:Src/main.c **** #define AD9102_REG_SRAM_DATA_BASE 0x6000u + 53:Src/main.c **** #define AD9102_REG_CFG_ERROR 0x0060u + 54:Src/main.c **** + 55:Src/main.c **** #define AD9102_PAT_STATUS_RUN (1u << 0) 56:Src/main.c **** - 57:Src/main.c **** #define AD9102_SAW_STEP_SHIFT 2 - 58:Src/main.c **** #define AD9102_SAW_TYPE_SHIFT 0 - 59:Src/main.c **** #define AD9102_SAW_TYPE_UP 0u - 60:Src/main.c **** #define AD9102_SAW_TYPE_DOWN 1u - 61:Src/main.c **** #define AD9102_SAW_TYPE_TRI 2u - 62:Src/main.c **** #define AD9102_SAW_TYPE_ZERO 3u - 63:Src/main.c **** - 64:Src/main.c **** #define AD9102_REG_COUNT 66u - 65:Src/main.c **** - 66:Src/main.c **** #define AD9102_EX4_WAV_CONFIG 0x3212u - 67:Src/main.c **** #define AD9102_EX4_PAT_TIMEBASE 0x0121u - 68:Src/main.c **** #define AD9102_EX4_PAT_PERIOD 0xFFFFu - 69:Src/main.c **** #define AD9102_EX4_SAW_CONFIG 0x0606u + 57:Src/main.c **** #define AD9102_WAV_PRESTORE_SEL_SHIFT 4 + 58:Src/main.c **** #define AD9102_WAV_WAVE_SEL_SHIFT 0 + 59:Src/main.c **** #define AD9102_WAV_PRESTORE_SAW 1u + 60:Src/main.c **** #define AD9102_WAV_WAVE_SEL_PRESTORE 1u + 61:Src/main.c **** + 62:Src/main.c **** #define AD9102_SAW_STEP_SHIFT 2 + 63:Src/main.c **** #define AD9102_SAW_TYPE_SHIFT 0 + 64:Src/main.c **** #define AD9102_SAW_TYPE_UP 0u + 65:Src/main.c **** #define AD9102_SAW_TYPE_DOWN 1u + 66:Src/main.c **** #define AD9102_SAW_TYPE_TRI 2u + 67:Src/main.c **** #define AD9102_SAW_TYPE_ZERO 3u + 68:Src/main.c **** + 69:Src/main.c **** #define AD9102_REG_COUNT 66u 70:Src/main.c **** - 71:Src/main.c **** #define AD9102_SAW_STEP_DEFAULT 1u - 72:Src/main.c **** #define AD9102_PAT_PERIOD_BASE_DEFAULT 0x2u - 73:Src/main.c **** #define AD9102_START_DELAY_BASE_DEFAULT 0x1u - 74:Src/main.c **** #define AD9102_PAT_TIMEBASE_HOLD_DEFAULT 0x1u - 75:Src/main.c **** #define AD9102_PAT_PERIOD_DEFAULT 0xFFFFu - 76:Src/main.c **** - 77:Src/main.c **** #define AD9102_FLAG_ENABLE 0x0001u - 78:Src/main.c **** #define AD9102_FLAG_TRIANGLE 0x0002u - 79:Src/main.c **** /* USER CODE END PD */ - 80:Src/main.c **** - 81:Src/main.c **** /* Private macro -------------------------------------------------------------*/ - 82:Src/main.c **** /* USER CODE BEGIN PM */ - 83:Src/main.c **** - 84:Src/main.c **** /* USER CODE END PM */ - 85:Src/main.c **** - 86:Src/main.c **** /* Private variables ---------------------------------------------------------*/ - 87:Src/main.c **** ADC_HandleTypeDef hadc1; - 88:Src/main.c **** ADC_HandleTypeDef hadc3; - 89:Src/main.c **** - 90:Src/main.c **** SD_HandleTypeDef hsd1; - 91:Src/main.c **** - 92:Src/main.c **** TIM_HandleTypeDef htim4; - 93:Src/main.c **** TIM_HandleTypeDef htim8; - 94:Src/main.c **** TIM_HandleTypeDef htim10; - 95:Src/main.c **** TIM_HandleTypeDef htim11; - 96:Src/main.c **** - 97:Src/main.c **** UART_HandleTypeDef huart8; - 98:Src/main.c **** - 99:Src/main.c **** /* USER CODE BEGIN PV */ - 100:Src/main.c **** uint32_t TO6, TO6_before, TO6_stop, TO6_uart, SD_SEEK, SD_SLIDE, temp32, TO7, TO7_before, TO7_PID, - 101:Src/main.c **** uint8_t uart_buf, CPU_state, CPU_state_old, UART_transmission_request, State_Data[2], UART_DATA[DL_ - 102:Src/main.c **** uint16_t UART_rec_incr, UART_header, CS_result, temp16, Long_Data[DL_16], COMMAND[CL_16];//, SD_mat - 103:Src/main.c **** FRESULT fresult; // result - 104:Src/main.c **** int test; - ARM GAS /tmp/ccYgfTud.s page 41 + 71:Src/main.c **** #define AD9102_EX4_WAV_CONFIG 0x3212u + 72:Src/main.c **** #define AD9102_EX4_PAT_TIMEBASE 0x0121u + 73:Src/main.c **** #define AD9102_EX4_PAT_PERIOD 0xFFFFu + 74:Src/main.c **** #define AD9102_EX4_SAW_CONFIG 0x0606u + 75:Src/main.c **** + 76:Src/main.c **** #define AD9102_EX2_WAV_CONFIG 0x3030u + 77:Src/main.c **** #define AD9102_EX2_DAC_PAT 0x0101u + 78:Src/main.c **** #define AD9102_EX2_SAW_CONFIG 0x0200u + 79:Src/main.c **** #define AD9102_SRAM_PAT_PERIOD_BASE_DEFAULT 0x1u + 80:Src/main.c **** #define AD9102_SRAM_START_DELAY_BASE_DEFAULT 0x1u + 81:Src/main.c **** #define AD9102_SRAM_START_DLY_DEFAULT 0x0000u + 82:Src/main.c **** #define AD9102_SRAM_HOLD_DEFAULT 0x1u + 83:Src/main.c **** #define AD9102_SRAM_SAMPLES_DEFAULT 16u + 84:Src/main.c **** #define AD9102_SRAM_MAX_SAMPLES 4096u + 85:Src/main.c **** #define AD9102_SRAM_RAMP_MIN (-8192) + 86:Src/main.c **** #define AD9102_SRAM_RAMP_MAX (8191) + 87:Src/main.c **** #define AD9102_SRAM_RAMP_SPAN (AD9102_SRAM_RAMP_MAX - AD9102_SRAM_RAMP_MIN) + 88:Src/main.c **** + 89:Src/main.c **** #define AD9102_SAW_STEP_DEFAULT 1u + 90:Src/main.c **** #define AD9102_PAT_PERIOD_BASE_DEFAULT 0x2u + 91:Src/main.c **** #define AD9102_START_DELAY_BASE_DEFAULT 0x1u + 92:Src/main.c **** #define AD9102_PAT_TIMEBASE_HOLD_DEFAULT 0x1u + 93:Src/main.c **** #define AD9102_PAT_PERIOD_DEFAULT 0xFFFFu + 94:Src/main.c **** + 95:Src/main.c **** #define AD9102_FLAG_ENABLE 0x0001u + 96:Src/main.c **** #define AD9102_FLAG_TRIANGLE 0x0002u + 97:Src/main.c **** #define AD9102_FLAG_SRAM 0x0004u + 98:Src/main.c **** /* USER CODE END PD */ + 99:Src/main.c **** + 100:Src/main.c **** /* Private macro -------------------------------------------------------------*/ + 101:Src/main.c **** /* USER CODE BEGIN PM */ + 102:Src/main.c **** + 103:Src/main.c **** /* USER CODE END PM */ + 104:Src/main.c **** + ARM GAS /tmp/ccwR4KB7.s page 41 - 105:Src/main.c **** unsigned long fgoto, sizeoffile;//file pointer of the file object & size of file FPGA_RECEIVE_DATA_ - 106:Src/main.c **** - 107:Src/main.c **** LDx_SetupTypeDef LD1_curr_setup, LD2_curr_setup, LD1_def_setup, LD2_def_setup; - 108:Src/main.c **** Work_SetupTypeDef Curr_setup, Def_setup; - 109:Src/main.c **** LDx_ParamTypeDef LD1_param, LD2_param; + 105:Src/main.c **** /* Private variables ---------------------------------------------------------*/ + 106:Src/main.c **** ADC_HandleTypeDef hadc1; + 107:Src/main.c **** ADC_HandleTypeDef hadc3; + 108:Src/main.c **** + 109:Src/main.c **** SD_HandleTypeDef hsd1; 110:Src/main.c **** - 111:Src/main.c **** LD_Blinker_StateTypeDef LD_blinker; - 112:Src/main.c **** - 113:Src/main.c **** task_t task; - 114:Src/main.c **** - 115:Src/main.c **** static const uint16_t ad9102_reg_addr[AD9102_REG_COUNT] = { - 116:Src/main.c **** 0x0000u, 0x0001u, 0x0002u, 0x0003u, 0x0004u, 0x0005u, 0x0006u, 0x0007u, - 117:Src/main.c **** 0x0008u, 0x0009u, 0x000au, 0x000bu, 0x000cu, 0x000du, 0x000eu, 0x001fu, - 118:Src/main.c **** 0x0020u, 0x0022u, 0x0023u, 0x0024u, 0x0025u, 0x0026u, 0x0027u, 0x0028u, - 119:Src/main.c **** 0x0029u, 0x002au, 0x002bu, 0x002cu, 0x002du, 0x002eu, 0x002fu, 0x0030u, - 120:Src/main.c **** 0x0031u, 0x0032u, 0x0033u, 0x0034u, 0x0035u, 0x0036u, 0x0037u, 0x003eu, - 121:Src/main.c **** 0x003fu, 0x0040u, 0x0041u, 0x0042u, 0x0043u, 0x0044u, 0x0045u, 0x0047u, - 122:Src/main.c **** 0x0050u, 0x0051u, 0x0052u, 0x0053u, 0x0054u, 0x0055u, 0x0056u, 0x0057u, - 123:Src/main.c **** 0x0058u, 0x0059u, 0x005au, 0x005bu, 0x005cu, 0x005du, 0x005eu, 0x005fu, - 124:Src/main.c **** 0x001eu, 0x001du - 125:Src/main.c **** }; - 126:Src/main.c **** - 127:Src/main.c **** static const uint16_t ad9102_example4_regval[AD9102_REG_COUNT] = { - 128:Src/main.c **** 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x4000u, - 129:Src/main.c **** 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x1f00u, 0x0000u, 0x0000u, 0x0000u, - 130:Src/main.c **** 0x000eu, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x3212u, 0x0121u, - 131:Src/main.c **** 0xffffu, 0x0000u, 0x0101u, 0x0003u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, - 132:Src/main.c **** 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x4000u, 0x0000u, 0x0606u, 0x1999u, - 133:Src/main.c **** 0x9a00u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, - 134:Src/main.c **** 0x0fa0u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, - 135:Src/main.c **** 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x16ffu, - 136:Src/main.c **** 0x0001u, 0x0001u - 137:Src/main.c **** }; - 138:Src/main.c **** - 139:Src/main.c **** - 140:Src/main.c **** - 141:Src/main.c **** - 142:Src/main.c **** /* USER CODE END PV */ - 143:Src/main.c **** - 144:Src/main.c **** /* Private function prototypes -----------------------------------------------*/ - 145:Src/main.c **** void SystemClock_Config(void); - 146:Src/main.c **** static void MX_GPIO_Init(void); - 147:Src/main.c **** static void MX_DMA_Init(void); - 148:Src/main.c **** static void MX_SPI4_Init(void); - 149:Src/main.c **** static void MX_TIM2_Init(void); - 150:Src/main.c **** static void MX_TIM5_Init(void); - 151:Src/main.c **** static void MX_ADC1_Init(void); - 152:Src/main.c **** static void MX_ADC3_Init(void); - 153:Src/main.c **** static void MX_SPI2_Init(void); - 154:Src/main.c **** static void MX_SPI5_Init(void); - 155:Src/main.c **** static void MX_SPI6_Init(void); - 156:Src/main.c **** static void MX_USART1_UART_Init(void); - 157:Src/main.c **** static void MX_SDMMC1_SD_Init(void); - 158:Src/main.c **** static void MX_TIM7_Init(void); - 159:Src/main.c **** static void MX_TIM6_Init(void); - 160:Src/main.c **** static void MX_TIM10_Init(void); - 161:Src/main.c **** static void MX_UART8_Init(void); - ARM GAS /tmp/ccYgfTud.s page 42 + 111:Src/main.c **** TIM_HandleTypeDef htim4; + 112:Src/main.c **** TIM_HandleTypeDef htim8; + 113:Src/main.c **** TIM_HandleTypeDef htim10; + 114:Src/main.c **** TIM_HandleTypeDef htim11; + 115:Src/main.c **** + 116:Src/main.c **** UART_HandleTypeDef huart8; + 117:Src/main.c **** + 118:Src/main.c **** /* USER CODE BEGIN PV */ + 119:Src/main.c **** uint32_t TO6, TO6_before, TO6_stop, TO6_uart, SD_SEEK, SD_SLIDE, temp32, TO7, TO7_before, TO7_PID, + 120:Src/main.c **** uint8_t uart_buf, CPU_state, CPU_state_old, UART_transmission_request, State_Data[2], UART_DATA[DL_ + 121:Src/main.c **** uint16_t UART_rec_incr, UART_header, CS_result, temp16, Long_Data[DL_16], COMMAND[CL_16];//, SD_mat + 122:Src/main.c **** FRESULT fresult; // result + 123:Src/main.c **** int test; + 124:Src/main.c **** unsigned long fgoto, sizeoffile;//file pointer of the file object & size of file FPGA_RECEIVE_DATA_ + 125:Src/main.c **** + 126:Src/main.c **** LDx_SetupTypeDef LD1_curr_setup, LD2_curr_setup, LD1_def_setup, LD2_def_setup; + 127:Src/main.c **** Work_SetupTypeDef Curr_setup, Def_setup; + 128:Src/main.c **** LDx_ParamTypeDef LD1_param, LD2_param; + 129:Src/main.c **** + 130:Src/main.c **** LD_Blinker_StateTypeDef LD_blinker; + 131:Src/main.c **** + 132:Src/main.c **** task_t task; + 133:Src/main.c **** + 134:Src/main.c **** static const uint16_t ad9102_reg_addr[AD9102_REG_COUNT] = { + 135:Src/main.c **** 0x0000u, 0x0001u, 0x0002u, 0x0003u, 0x0004u, 0x0005u, 0x0006u, 0x0007u, + 136:Src/main.c **** 0x0008u, 0x0009u, 0x000au, 0x000bu, 0x000cu, 0x000du, 0x000eu, 0x001fu, + 137:Src/main.c **** 0x0020u, 0x0022u, 0x0023u, 0x0024u, 0x0025u, 0x0026u, 0x0027u, 0x0028u, + 138:Src/main.c **** 0x0029u, 0x002au, 0x002bu, 0x002cu, 0x002du, 0x002eu, 0x002fu, 0x0030u, + 139:Src/main.c **** 0x0031u, 0x0032u, 0x0033u, 0x0034u, 0x0035u, 0x0036u, 0x0037u, 0x003eu, + 140:Src/main.c **** 0x003fu, 0x0040u, 0x0041u, 0x0042u, 0x0043u, 0x0044u, 0x0045u, 0x0047u, + 141:Src/main.c **** 0x0050u, 0x0051u, 0x0052u, 0x0053u, 0x0054u, 0x0055u, 0x0056u, 0x0057u, + 142:Src/main.c **** 0x0058u, 0x0059u, 0x005au, 0x005bu, 0x005cu, 0x005du, 0x005eu, 0x005fu, + 143:Src/main.c **** 0x001eu, 0x001du + 144:Src/main.c **** }; + 145:Src/main.c **** + 146:Src/main.c **** static const uint16_t ad9102_example4_regval[AD9102_REG_COUNT] = { + 147:Src/main.c **** 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x4000u, + 148:Src/main.c **** 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x1f00u, 0x0000u, 0x0000u, 0x0000u, + 149:Src/main.c **** 0x000eu, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x3212u, 0x0121u, + 150:Src/main.c **** 0xffffu, 0x0000u, 0x0101u, 0x0003u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, + 151:Src/main.c **** 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x4000u, 0x0000u, 0x0606u, 0x1999u, + 152:Src/main.c **** 0x9a00u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, + 153:Src/main.c **** 0x0fa0u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, + 154:Src/main.c **** 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x16ffu, + 155:Src/main.c **** 0x0001u, 0x0001u + 156:Src/main.c **** }; + 157:Src/main.c **** + 158:Src/main.c **** static const uint16_t ad9102_example2_regval[AD9102_REG_COUNT] = { + 159:Src/main.c **** 0x0000u, 0x0e00u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x4000u, + 160:Src/main.c **** 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x1f00u, 0x0000u, 0x0000u, 0x0000u, + 161:Src/main.c **** 0x000eu, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x3030u, 0x0111u, + ARM GAS /tmp/ccwR4KB7.s page 42 - 162:Src/main.c **** static void MX_TIM8_Init(void); - 163:Src/main.c **** static void MX_TIM11_Init(void); - 164:Src/main.c **** static void MX_TIM4_Init(void); - 165:Src/main.c **** /* USER CODE BEGIN PFP */ - 166:Src/main.c **** static void Init_params(void); - 167:Src/main.c **** static void Decode_uart(uint16_t *Command, LDx_SetupTypeDef *LD1_curr_setup, LDx_SetupTypeDef *LD2_ - 168:Src/main.c **** static void Decode_task(uint16_t *Command, LDx_SetupTypeDef *LD1_curr_setup, LDx_SetupTypeDef *LD2_ - 169:Src/main.c **** void Set_LTEC(uint8_t num, uint16_t DATA); - 170:Src/main.c **** static uint16_t MPhD_T(uint8_t num); - 171:Src/main.c **** static uint16_t Get_ADC(uint8_t num); - 172:Src/main.c **** static uint16_t PID_Controller_Temp(LDx_SetupTypeDef * LDx_curr_setup, LDx_ParamTypeDef * LDx_resul - 173:Src/main.c **** static void AD9102_Init(void); - 174:Src/main.c **** static void AD9102_WriteReg(uint16_t addr, uint16_t value); - 175:Src/main.c **** static uint16_t AD9102_ReadReg(uint16_t addr); - 176:Src/main.c **** static void AD9102_WriteRegTable(const uint16_t *values, uint16_t count); - 177:Src/main.c **** static uint16_t AD9102_Apply(uint8_t saw_type, uint8_t enable, uint8_t saw_step, uint8_t pat_base, - 178:Src/main.c **** static uint8_t AD9102_CheckFlags(uint16_t pat_status, uint8_t expect_run, uint8_t saw_type, uint8_t - 179:Src/main.c **** uint8_t CheckChecksum(uint16_t *pbuff); - 180:Src/main.c **** uint16_t CalculateChecksum(uint16_t *pbuff, uint16_t len); - 181:Src/main.c **** //int SD_Init(void); - 182:Src/main.c **** int SD_SAVE(uint16_t *pbuff); - 183:Src/main.c **** //uint32_t Get_Length(void); - 184:Src/main.c **** int SD_READ(uint16_t *pbuff); - 185:Src/main.c **** int SD_REMOVE(void); - 186:Src/main.c **** void USART_TX (uint8_t* dt, uint16_t sz); - 187:Src/main.c **** void USART_TX_DMA (uint16_t sz); - 188:Src/main.c **** static void Stop_TIM10(); - 189:Src/main.c **** static void OUT_trigger(uint8_t); - 190:Src/main.c **** /* USER CODE END PFP */ - 191:Src/main.c **** - 192:Src/main.c **** /* Private user code ---------------------------------------------------------*/ - 193:Src/main.c **** /* USER CODE BEGIN 0 */ - 194:Src/main.c **** - 195:Src/main.c **** /* USER CODE END 0 */ - 196:Src/main.c **** - 197:Src/main.c **** /** - 198:Src/main.c **** * @brief The application entry point. - 199:Src/main.c **** * @retval int - 200:Src/main.c **** */ - 201:Src/main.c **** int main(void) - 202:Src/main.c **** { - 203:Src/main.c **** - 204:Src/main.c **** /* USER CODE BEGIN 1 */ - 205:Src/main.c **** HAL_StatusTypeDef st; - 206:Src/main.c **** /* USER CODE END 1 */ - 207:Src/main.c **** - 208:Src/main.c **** /* MCU Configuration--------------------------------------------------------*/ - 209:Src/main.c **** - 210:Src/main.c **** /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ - 211:Src/main.c **** HAL_Init(); - 212:Src/main.c **** - 213:Src/main.c **** /* USER CODE BEGIN Init */ - 214:Src/main.c **** /*I hope you don't forget that first - MX_DMA_Init(); and than - MX_USART1_UART_Init();*/ - 215:Src/main.c **** /* USER CODE END Init */ - 216:Src/main.c **** - 217:Src/main.c **** /* Configure the system clock */ - 218:Src/main.c **** SystemClock_Config(); - ARM GAS /tmp/ccYgfTud.s page 43 + 162:Src/main.c **** 0xffffu, 0x0000u, 0x0101u, 0x0003u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, + 163:Src/main.c **** 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x4000u, 0x0000u, 0x0200u, 0x0000u, + 164:Src/main.c **** 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, + 165:Src/main.c **** 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0000u, + 166:Src/main.c **** 0x0000u, 0x0000u, 0x0000u, 0x0000u, 0x0fa0u, 0x0000u, 0x3ff0u, 0x0100u, + 167:Src/main.c **** 0x0001u, 0x0001u + 168:Src/main.c **** }; + 169:Src/main.c **** + 170:Src/main.c **** + 171:Src/main.c **** + 172:Src/main.c **** + 173:Src/main.c **** /* USER CODE END PV */ + 174:Src/main.c **** + 175:Src/main.c **** /* Private function prototypes -----------------------------------------------*/ + 176:Src/main.c **** void SystemClock_Config(void); + 177:Src/main.c **** static void MX_GPIO_Init(void); + 178:Src/main.c **** static void MX_DMA_Init(void); + 179:Src/main.c **** static void MX_SPI4_Init(void); + 180:Src/main.c **** static void MX_TIM2_Init(void); + 181:Src/main.c **** static void MX_TIM5_Init(void); + 182:Src/main.c **** static void MX_ADC1_Init(void); + 183:Src/main.c **** static void MX_ADC3_Init(void); + 184:Src/main.c **** static void MX_SPI2_Init(void); + 185:Src/main.c **** static void MX_SPI5_Init(void); + 186:Src/main.c **** static void MX_SPI6_Init(void); + 187:Src/main.c **** static void MX_USART1_UART_Init(void); + 188:Src/main.c **** static void MX_SDMMC1_SD_Init(void); + 189:Src/main.c **** static void MX_TIM7_Init(void); + 190:Src/main.c **** static void MX_TIM6_Init(void); + 191:Src/main.c **** static void MX_TIM10_Init(void); + 192:Src/main.c **** static void MX_UART8_Init(void); + 193:Src/main.c **** static void MX_TIM8_Init(void); + 194:Src/main.c **** static void MX_TIM11_Init(void); + 195:Src/main.c **** static void MX_TIM4_Init(void); + 196:Src/main.c **** /* USER CODE BEGIN PFP */ + 197:Src/main.c **** static void Init_params(void); + 198:Src/main.c **** static void Decode_uart(uint16_t *Command, LDx_SetupTypeDef *LD1_curr_setup, LDx_SetupTypeDef *LD2_ + 199:Src/main.c **** static void Decode_task(uint16_t *Command, LDx_SetupTypeDef *LD1_curr_setup, LDx_SetupTypeDef *LD2_ + 200:Src/main.c **** void Set_LTEC(uint8_t num, uint16_t DATA); + 201:Src/main.c **** static uint16_t MPhD_T(uint8_t num); + 202:Src/main.c **** static uint16_t Get_ADC(uint8_t num); + 203:Src/main.c **** static uint16_t PID_Controller_Temp(LDx_SetupTypeDef * LDx_curr_setup, LDx_ParamTypeDef * LDx_resul + 204:Src/main.c **** static void AD9102_Init(void); + 205:Src/main.c **** static void AD9102_WriteReg(uint16_t addr, uint16_t value); + 206:Src/main.c **** static uint16_t AD9102_ReadReg(uint16_t addr); + 207:Src/main.c **** static void AD9102_WriteRegTable(const uint16_t *values, uint16_t count); + 208:Src/main.c **** static uint16_t AD9102_Apply(uint8_t saw_type, uint8_t enable, uint8_t saw_step, uint8_t pat_base, + 209:Src/main.c **** static uint16_t AD9102_ApplySram(uint8_t enable, uint16_t samples, uint8_t hold, uint8_t triangle); + 210:Src/main.c **** static void AD9102_LoadSramRamp(uint16_t samples, uint8_t triangle); + 211:Src/main.c **** static uint8_t AD9102_CheckFlags(uint16_t pat_status, uint8_t expect_run, uint8_t saw_type, uint8_t + 212:Src/main.c **** static uint8_t AD9102_CheckFlagsSram(uint16_t pat_status, uint8_t expect_run, uint16_t samples, uin + 213:Src/main.c **** uint8_t CheckChecksum(uint16_t *pbuff); + 214:Src/main.c **** uint16_t CalculateChecksum(uint16_t *pbuff, uint16_t len); + 215:Src/main.c **** //int SD_Init(void); + 216:Src/main.c **** int SD_SAVE(uint16_t *pbuff); + 217:Src/main.c **** //uint32_t Get_Length(void); + 218:Src/main.c **** int SD_READ(uint16_t *pbuff); + ARM GAS /tmp/ccwR4KB7.s page 43 - 219:Src/main.c **** - 220:Src/main.c **** /* USER CODE BEGIN SysInit */ - 221:Src/main.c **** - 222:Src/main.c **** /* USER CODE END SysInit */ - 223:Src/main.c **** - 224:Src/main.c **** /* Initialize all configured peripherals */ - 225:Src/main.c **** MX_GPIO_Init(); - 226:Src/main.c **** MX_DMA_Init(); - 227:Src/main.c **** MX_SPI4_Init(); - 228:Src/main.c **** MX_FATFS_Init(); - 229:Src/main.c **** MX_TIM2_Init(); - 230:Src/main.c **** MX_TIM5_Init(); - 231:Src/main.c **** MX_ADC1_Init(); - 232:Src/main.c **** MX_ADC3_Init(); - 233:Src/main.c **** MX_SPI2_Init(); - 234:Src/main.c **** MX_SPI5_Init(); - 235:Src/main.c **** MX_SPI6_Init(); - 236:Src/main.c **** MX_USART1_UART_Init(); - 237:Src/main.c **** MX_SDMMC1_SD_Init(); - 238:Src/main.c **** MX_TIM7_Init(); - 239:Src/main.c **** MX_TIM6_Init(); - 240:Src/main.c **** MX_TIM10_Init(); - 241:Src/main.c **** MX_UART8_Init(); - 242:Src/main.c **** MX_TIM8_Init(); - 243:Src/main.c **** MX_TIM11_Init(); - 244:Src/main.c **** MX_TIM4_Init(); - 245:Src/main.c **** /* USER CODE BEGIN 2 */ - 246:Src/main.c **** Init_params(); - 247:Src/main.c **** //HAL_TIM_Base_Start(&htim11); - 248:Src/main.c **** //HAL_TIM_PWM_Start(&htim11, TIM_CHANNEL_1); //start modulating by Mach-Zander modulator - 249:Src/main.c **** + 219:Src/main.c **** int SD_REMOVE(void); + 220:Src/main.c **** void USART_TX (uint8_t* dt, uint16_t sz); + 221:Src/main.c **** void USART_TX_DMA (uint16_t sz); + 222:Src/main.c **** static void Stop_TIM10(); + 223:Src/main.c **** static void OUT_trigger(uint8_t); + 224:Src/main.c **** /* USER CODE END PFP */ + 225:Src/main.c **** + 226:Src/main.c **** /* Private user code ---------------------------------------------------------*/ + 227:Src/main.c **** /* USER CODE BEGIN 0 */ + 228:Src/main.c **** + 229:Src/main.c **** /* USER CODE END 0 */ + 230:Src/main.c **** + 231:Src/main.c **** /** + 232:Src/main.c **** * @brief The application entry point. + 233:Src/main.c **** * @retval int + 234:Src/main.c **** */ + 235:Src/main.c **** int main(void) + 236:Src/main.c **** { + 237:Src/main.c **** + 238:Src/main.c **** /* USER CODE BEGIN 1 */ + 239:Src/main.c **** HAL_StatusTypeDef st; + 240:Src/main.c **** /* USER CODE END 1 */ + 241:Src/main.c **** + 242:Src/main.c **** /* MCU Configuration--------------------------------------------------------*/ + 243:Src/main.c **** + 244:Src/main.c **** /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + 245:Src/main.c **** HAL_Init(); + 246:Src/main.c **** + 247:Src/main.c **** /* USER CODE BEGIN Init */ + 248:Src/main.c **** /*I hope you don't forget that first - MX_DMA_Init(); and than - MX_USART1_UART_Init();*/ + 249:Src/main.c **** /* USER CODE END Init */ 250:Src/main.c **** - 251:Src/main.c **** //TIM4,11 clocks = 92 MHz - 252:Src/main.c **** - 253:Src/main.c **** //ADC clock - 254:Src/main.c **** //TIM4 -> ARR = 60; // for 1.5 MHz - 255:Src/main.c **** //TIM4 -> ARR = 91; // for 1 MHz - 256:Src/main.c **** //TIM4 -> ARR = 45; // for 2 MHz - 257:Src/main.c **** TIM4 -> ARR = 53; // for 1.735 MHz. It`s the highest frequency for correct ADC work. At higher fre - 258:Src/main.c **** - 259:Src/main.c **** TIM4 -> CCR3 = (TIM4 -> ARR +1)/2 - 1; - 260:Src/main.c **** - 261:Src/main.c **** - 262:Src/main.c **** //Mach-Zander clock (should be 1/4 of ADC clock freq) - 263:Src/main.c **** - 264:Src/main.c **** TIM11 -> ARR = (TIM4 -> ARR +1)*4 - 1; - 265:Src/main.c **** TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1; - 266:Src/main.c **** - 267:Src/main.c **** /* - 268:Src/main.c **** if (HAL_GPIO_ReadPin(INP_0_GPIO_Port, INP_0_Pin) == 0){ - 269:Src/main.c **** - 270:Src/main.c **** CPU_state = DECODE_ENABLE; - 271:Src/main.c **** } - 272:Src/main.c **** */ - 273:Src/main.c **** /* USER CODE END 2 */ - 274:Src/main.c **** - 275:Src/main.c **** /* Infinite loop */ - ARM GAS /tmp/ccYgfTud.s page 44 + 251:Src/main.c **** /* Configure the system clock */ + 252:Src/main.c **** SystemClock_Config(); + 253:Src/main.c **** + 254:Src/main.c **** /* USER CODE BEGIN SysInit */ + 255:Src/main.c **** + 256:Src/main.c **** /* USER CODE END SysInit */ + 257:Src/main.c **** + 258:Src/main.c **** /* Initialize all configured peripherals */ + 259:Src/main.c **** MX_GPIO_Init(); + 260:Src/main.c **** MX_DMA_Init(); + 261:Src/main.c **** MX_SPI4_Init(); + 262:Src/main.c **** MX_FATFS_Init(); + 263:Src/main.c **** MX_TIM2_Init(); + 264:Src/main.c **** MX_TIM5_Init(); + 265:Src/main.c **** MX_ADC1_Init(); + 266:Src/main.c **** MX_ADC3_Init(); + 267:Src/main.c **** MX_SPI2_Init(); + 268:Src/main.c **** MX_SPI5_Init(); + 269:Src/main.c **** MX_SPI6_Init(); + 270:Src/main.c **** MX_USART1_UART_Init(); + 271:Src/main.c **** MX_SDMMC1_SD_Init(); + 272:Src/main.c **** MX_TIM7_Init(); + 273:Src/main.c **** MX_TIM6_Init(); + 274:Src/main.c **** MX_TIM10_Init(); + 275:Src/main.c **** MX_UART8_Init(); + ARM GAS /tmp/ccwR4KB7.s page 44 - 276:Src/main.c **** /* USER CODE BEGIN WHILE */ - 277:Src/main.c **** while (1) - 278:Src/main.c **** { - 279:Src/main.c **** if ((HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin)==GPIO_PIN_SET)&&(u_rx_flg == 0)) - 280:Src/main.c **** { - 281:Src/main.c **** //NVIC_DisableIRQ(USART1_IRQn); - 282:Src/main.c **** LL_USART_EnableIT_PE(USART1); - 283:Src/main.c **** LL_USART_EnableIT_RXNE(USART1); - 284:Src/main.c **** LL_USART_EnableIT_ERROR(USART1); - 285:Src/main.c **** NVIC_SetPriority(USART1_IRQn, 0); - 286:Src/main.c **** NVIC_EnableIRQ(USART1_IRQn);//In other case you have FE error flag... - 287:Src/main.c **** u_rx_flg = 1; - 288:Src/main.c **** } - 289:Src/main.c **** // else - 290:Src/main.c **** // { - 291:Src/main.c **** // //NVIC_DisableIRQ(USART1_IRQn); - 292:Src/main.c **** // u_rx_flg = 0; - 293:Src/main.c **** // } - 294:Src/main.c **** switch (CPU_state) - 295:Src/main.c **** { - 296:Src/main.c **** case HALT://0 - Default state - 297:Src/main.c **** CPU_state_old = HALT;//Save main current cycle - 298:Src/main.c **** task.current_param = task.min_param; - 299:Src/main.c **** Stop_TIM10(); - 300:Src/main.c **** break; - 301:Src/main.c **** case DECODE_ENABLE://1 - Decode rec. message - 302:Src/main.c **** CS_result = CalculateChecksum(COMMAND, CL_16-2); - 303:Src/main.c **** if (CheckChecksum(COMMAND)) - 304:Src/main.c **** { - 305:Src/main.c **** LL_SPI_Enable(SPI2);//Enable SPI for Laser1 DAC & TEC1 - 306:Src/main.c **** LL_SPI_Enable(SPI6);//Enable SPI for Laser2 DAC & TEC2 - 307:Src/main.c **** Decode_uart(COMMAND, &LD1_curr_setup, &LD2_curr_setup, &Curr_setup); - 308:Src/main.c **** TO6_before = TO6; - 309:Src/main.c **** //LD1_param.LD_TEMP_Before = LD1_param.LD_TEMP; - 310:Src/main.c **** //LD2_param.LD_TEMP_Before = LD2_param.LD_TEMP; - 311:Src/main.c **** CPU_state = WORK_ENABLE; - 312:Src/main.c **** CPU_state_old = WORK_ENABLE;//Save main current cycle - 313:Src/main.c **** } - 314:Src/main.c **** else - 315:Src/main.c **** { - 316:Src/main.c **** State_Data[0] |= UART_DECODE_ERR; - 317:Src/main.c **** CPU_state = DEFAULT_ENABLE; - 318:Src/main.c **** CPU_state_old = HALT;//Save main current cycle - 319:Src/main.c **** } - 320:Src/main.c **** UART_transmission_request = MESS_01; - 321:Src/main.c **** break; - 322:Src/main.c **** case DEFAULT_ENABLE://2 - Go to HALT - 323:Src/main.c **** //Set current setup to default - 324:Src/main.c **** task.current_param = task.min_param; - 325:Src/main.c **** Stop_TIM10(); - 326:Src/main.c **** Init_params(); - 327:Src/main.c **** LL_SPI_Disable(SPI2);//Disable SPI for Laser1 DAC & TEC1 - 328:Src/main.c **** LL_SPI_Disable(SPI6);//Disable SPI for Laser2 DAC & TEC2 - 329:Src/main.c **** CPU_state = HALT; - 330:Src/main.c **** CPU_state_old = HALT;//Save main current cycle - 331:Src/main.c **** UART_transmission_request = MESS_01; - 332:Src/main.c **** break; - ARM GAS /tmp/ccYgfTud.s page 45 + 276:Src/main.c **** MX_TIM8_Init(); + 277:Src/main.c **** MX_TIM11_Init(); + 278:Src/main.c **** MX_TIM4_Init(); + 279:Src/main.c **** /* USER CODE BEGIN 2 */ + 280:Src/main.c **** Init_params(); + 281:Src/main.c **** //HAL_TIM_Base_Start(&htim11); + 282:Src/main.c **** //HAL_TIM_PWM_Start(&htim11, TIM_CHANNEL_1); //start modulating by Mach-Zander modulator + 283:Src/main.c **** + 284:Src/main.c **** + 285:Src/main.c **** //TIM4,11 clocks = 92 MHz + 286:Src/main.c **** + 287:Src/main.c **** //ADC clock + 288:Src/main.c **** //TIM4 -> ARR = 60; // for 1.5 MHz + 289:Src/main.c **** //TIM4 -> ARR = 91; // for 1 MHz + 290:Src/main.c **** //TIM4 -> ARR = 45; // for 2 MHz + 291:Src/main.c **** TIM4 -> ARR = 53; // for 1.735 MHz. It`s the highest frequency for correct ADC work. At higher fre + 292:Src/main.c **** + 293:Src/main.c **** TIM4 -> CCR3 = (TIM4 -> ARR +1)/2 - 1; + 294:Src/main.c **** + 295:Src/main.c **** + 296:Src/main.c **** //Mach-Zander clock (should be 1/4 of ADC clock freq) + 297:Src/main.c **** + 298:Src/main.c **** TIM11 -> ARR = (TIM4 -> ARR +1)*4 - 1; + 299:Src/main.c **** TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1; + 300:Src/main.c **** + 301:Src/main.c **** /* + 302:Src/main.c **** if (HAL_GPIO_ReadPin(INP_0_GPIO_Port, INP_0_Pin) == 0){ + 303:Src/main.c **** + 304:Src/main.c **** CPU_state = DECODE_ENABLE; + 305:Src/main.c **** } + 306:Src/main.c **** */ + 307:Src/main.c **** /* USER CODE END 2 */ + 308:Src/main.c **** + 309:Src/main.c **** /* Infinite loop */ + 310:Src/main.c **** /* USER CODE BEGIN WHILE */ + 311:Src/main.c **** while (1) + 312:Src/main.c **** { + 313:Src/main.c **** if ((HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin)==GPIO_PIN_SET)&&(u_rx_flg == 0)) + 314:Src/main.c **** { + 315:Src/main.c **** //NVIC_DisableIRQ(USART1_IRQn); + 316:Src/main.c **** LL_USART_EnableIT_PE(USART1); + 317:Src/main.c **** LL_USART_EnableIT_RXNE(USART1); + 318:Src/main.c **** LL_USART_EnableIT_ERROR(USART1); + 319:Src/main.c **** NVIC_SetPriority(USART1_IRQn, 0); + 320:Src/main.c **** NVIC_EnableIRQ(USART1_IRQn);//In other case you have FE error flag... + 321:Src/main.c **** u_rx_flg = 1; + 322:Src/main.c **** } + 323:Src/main.c **** // else + 324:Src/main.c **** // { + 325:Src/main.c **** // //NVIC_DisableIRQ(USART1_IRQn); + 326:Src/main.c **** // u_rx_flg = 0; + 327:Src/main.c **** // } + 328:Src/main.c **** switch (CPU_state) + 329:Src/main.c **** { + 330:Src/main.c **** case HALT://0 - Default state + 331:Src/main.c **** CPU_state_old = HALT;//Save main current cycle + 332:Src/main.c **** task.current_param = task.min_param; + ARM GAS /tmp/ccwR4KB7.s page 45 - 333:Src/main.c **** case TRANS_S_ENABLE://3 - Transmith saved packet Before this operation must to be defaulting! - 334:Src/main.c **** temp16 = SD_READ(&Long_Data[0]); - 335:Src/main.c **** State_Data[0]|=temp16&0xff; - 336:Src/main.c **** if (temp16==0) - 337:Src/main.c **** { - 338:Src/main.c **** UART_transmission_request = MESS_03; - 339:Src/main.c **** } - 340:Src/main.c **** else - 341:Src/main.c **** { - 342:Src/main.c **** UART_transmission_request = MESS_01; - 343:Src/main.c **** } - 344:Src/main.c **** CPU_state_old = HALT; - 345:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle - 346:Src/main.c **** break; - 347:Src/main.c **** case TRANS_ENABLE://4 - Transmith current packet - 348:Src/main.c **** UART_transmission_request = MESS_02; - 349:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle - 350:Src/main.c **** break; - 351:Src/main.c **** case REMOVE_FILE://5 - Remove file from SD - 352:Src/main.c **** State_Data[0]|=SD_REMOVE()&0xff; - 353:Src/main.c **** UART_transmission_request = MESS_01; - 354:Src/main.c **** CPU_state = CPU_state_old; + 333:Src/main.c **** Stop_TIM10(); + 334:Src/main.c **** break; + 335:Src/main.c **** case DECODE_ENABLE://1 - Decode rec. message + 336:Src/main.c **** CS_result = CalculateChecksum(COMMAND, CL_16-2); + 337:Src/main.c **** if (CheckChecksum(COMMAND)) + 338:Src/main.c **** { + 339:Src/main.c **** LL_SPI_Enable(SPI2);//Enable SPI for Laser1 DAC & TEC1 + 340:Src/main.c **** LL_SPI_Enable(SPI6);//Enable SPI for Laser2 DAC & TEC2 + 341:Src/main.c **** Decode_uart(COMMAND, &LD1_curr_setup, &LD2_curr_setup, &Curr_setup); + 342:Src/main.c **** TO6_before = TO6; + 343:Src/main.c **** //LD1_param.LD_TEMP_Before = LD1_param.LD_TEMP; + 344:Src/main.c **** //LD2_param.LD_TEMP_Before = LD2_param.LD_TEMP; + 345:Src/main.c **** CPU_state = WORK_ENABLE; + 346:Src/main.c **** CPU_state_old = WORK_ENABLE;//Save main current cycle + 347:Src/main.c **** } + 348:Src/main.c **** else + 349:Src/main.c **** { + 350:Src/main.c **** State_Data[0] |= UART_DECODE_ERR; + 351:Src/main.c **** CPU_state = DEFAULT_ENABLE; + 352:Src/main.c **** CPU_state_old = HALT;//Save main current cycle + 353:Src/main.c **** } + 354:Src/main.c **** UART_transmission_request = MESS_01; 355:Src/main.c **** break; - 356:Src/main.c **** case STATE://6 - Transmith state message - 357:Src/main.c **** UART_transmission_request = MESS_01; - 358:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle - 359:Src/main.c **** break; - 360:Src/main.c **** case WORK_ENABLE://7 - Main work cycle - 361:Src/main.c **** task.current_param = task.min_param; - 362:Src/main.c **** Stop_TIM10(); - 363:Src/main.c **** if (TO7>TO7_before)//Main work cycle go with the timer 7 (1000 us or 1 kHz) - 364:Src/main.c **** { - 365:Src/main.c **** TO7_before = TO7; - 366:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 - 367:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 - 368:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 369:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 370:Src/main.c **** - 371:Src/main.c **** //Correct temperature in all pulses - 372:Src/main.c **** (void) MPhD_T(3); - 373:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(3); - 374:Src/main.c **** (void) MPhD_T(4); - 375:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(4); - 376:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); - 377:Src/main.c **** Set_LTEC(3, temp16);//Drive Laser TEC 1 - 378:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); - 379:Src/main.c **** Set_LTEC(4, temp16);//Drive Laser TEC 2 - 380:Src/main.c **** - 381:Src/main.c **** Long_Data[1] = LD1_param.POWER;//Translate Data from monitor photodiode of LD1 to Long_Data - 382:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data - 383:Src/main.c **** - 384:Src/main.c **** Set_LTEC(1,LD1_curr_setup.CURRENT);//Drive Laser diode 1 - 385:Src/main.c **** Set_LTEC(2,LD2_curr_setup.CURRENT);//Drive Laser diode 2 - 386:Src/main.c **** - 387:Src/main.c **** //Prepare DATA of internals ADCs - 388:Src/main.c **** //Put the temperature of LD2 to Long_Data: - 389:Src/main.c **** temp16 = Get_ADC(0); - ARM GAS /tmp/ccYgfTud.s page 46 + 356:Src/main.c **** case DEFAULT_ENABLE://2 - Go to HALT + 357:Src/main.c **** //Set current setup to default + 358:Src/main.c **** task.current_param = task.min_param; + 359:Src/main.c **** Stop_TIM10(); + 360:Src/main.c **** Init_params(); + 361:Src/main.c **** LL_SPI_Disable(SPI2);//Disable SPI for Laser1 DAC & TEC1 + 362:Src/main.c **** LL_SPI_Disable(SPI6);//Disable SPI for Laser2 DAC & TEC2 + 363:Src/main.c **** CPU_state = HALT; + 364:Src/main.c **** CPU_state_old = HALT;//Save main current cycle + 365:Src/main.c **** UART_transmission_request = MESS_01; + 366:Src/main.c **** break; + 367:Src/main.c **** case TRANS_S_ENABLE://3 - Transmith saved packet Before this operation must to be defaulting! + 368:Src/main.c **** temp16 = SD_READ(&Long_Data[0]); + 369:Src/main.c **** State_Data[0]|=temp16&0xff; + 370:Src/main.c **** if (temp16==0) + 371:Src/main.c **** { + 372:Src/main.c **** UART_transmission_request = MESS_03; + 373:Src/main.c **** } + 374:Src/main.c **** else + 375:Src/main.c **** { + 376:Src/main.c **** UART_transmission_request = MESS_01; + 377:Src/main.c **** } + 378:Src/main.c **** CPU_state_old = HALT; + 379:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle + 380:Src/main.c **** break; + 381:Src/main.c **** case TRANS_ENABLE://4 - Transmith current packet + 382:Src/main.c **** UART_transmission_request = MESS_02; + 383:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle + 384:Src/main.c **** break; + 385:Src/main.c **** case REMOVE_FILE://5 - Remove file from SD + 386:Src/main.c **** State_Data[0]|=SD_REMOVE()&0xff; + 387:Src/main.c **** UART_transmission_request = MESS_01; + 388:Src/main.c **** CPU_state = CPU_state_old; + 389:Src/main.c **** break; + ARM GAS /tmp/ccwR4KB7.s page 46 - 390:Src/main.c **** temp16 = Get_ADC(1); - 391:Src/main.c **** Long_Data[7] = temp16; // PA2 -- 3V_monitor // PB1 -- U_Rt1_ext_Gain - 392:Src/main.c **** - 393:Src/main.c **** //Put the temperature of LD2 to Long_Data: - 394:Src/main.c **** temp16 = Get_ADC(1); - 395:Src/main.c **** Long_Data[8] = temp16; // PB0 -- U_Rt2_ext_Gain // PB0 -- U_Rt2_ext_Gain - 396:Src/main.c **** - 397:Src/main.c **** //Put the temperature of LD2 to Long_Data: - 398:Src/main.c **** temp16 = Get_ADC(1); - 399:Src/main.c **** Long_Data[9] = temp16; // PB1 -- U_Rt1_ext_Gain // PA2 -- 3V_monitor - 400:Src/main.c **** - 401:Src/main.c **** //Put the temperature of LD2 to Long_Data: - 402:Src/main.c **** temp16 = Get_ADC(1); - 403:Src/main.c **** Long_Data[10] = temp16; // PC0 -- 5V1_monitor // PC0 -- 5V1_monitor + 390:Src/main.c **** case STATE://6 - Transmith state message + 391:Src/main.c **** UART_transmission_request = MESS_01; + 392:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle + 393:Src/main.c **** break; + 394:Src/main.c **** case WORK_ENABLE://7 - Main work cycle + 395:Src/main.c **** task.current_param = task.min_param; + 396:Src/main.c **** Stop_TIM10(); + 397:Src/main.c **** if (TO7>TO7_before)//Main work cycle go with the timer 7 (1000 us or 1 kHz) + 398:Src/main.c **** { + 399:Src/main.c **** TO7_before = TO7; + 400:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 + 401:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 + 402:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 + 403:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 404:Src/main.c **** - 405:Src/main.c **** //Put the temperature of LD2 to Long_Data: - 406:Src/main.c **** temp16 = Get_ADC(1); - 407:Src/main.c **** Long_Data[11] = temp16; // PC1 -- 5V2_monitor // PC1 -- 5V2_monitor - 408:Src/main.c **** temp16 = Get_ADC(2); - 409:Src/main.c **** - 410:Src/main.c **** //Put the temperature of LD2 to Long_Data: - 411:Src/main.c **** temp16 = Get_ADC(3); - 412:Src/main.c **** temp16 = Get_ADC(4); - 413:Src/main.c **** Long_Data[12] = temp16; - 414:Src/main.c **** temp16 = Get_ADC(5); - 415:Src/main.c **** - 416:Src/main.c **** //Put the timer tick to Long_Data: - 417:Src/main.c **** TO6_stop = TO6; - 418:Src/main.c **** Long_Data[3] = (TO6_stop)&0xffff; - 419:Src/main.c **** Long_Data[4] = (TO6_stop>>16)&0xffff; - 420:Src/main.c **** - 421:Src/main.c **** //Put the average temperature of LD1 to Long_Data: - 422:Src/main.c **** Long_Data[5] = LD1_param.LD_CURR_TEMP; - 423:Src/main.c **** - 424:Src/main.c **** //Put the average temperature of LD2 to Long_Data: - 425:Src/main.c **** Long_Data[6] = LD2_param.LD_CURR_TEMP; - 426:Src/main.c **** - 427:Src/main.c **** if (Curr_setup.SD_EN==1) - 428:Src/main.c **** { - 429:Src/main.c **** CS_result = CalculateChecksum(&Long_Data[1], DL_16-2); - 430:Src/main.c **** Long_Data[DL_16-1] = CS_result; - 431:Src/main.c **** temp16 = SD_SAVE(&Long_Data[0]); - 432:Src/main.c **** State_Data[0]|=temp16&0xff; - 433:Src/main.c **** } - 434:Src/main.c **** CPU_state_old = WORK_ENABLE;//Save main current cycle - 435:Src/main.c **** } - 436:Src/main.c **** break; - 437:Src/main.c **** case AD9102_CMD://10 - Configure AD9102 sawtooth output - 438:Src/main.c **** if (CalculateChecksum(COMMAND, AD9102_CMD_WORDS - 1) == COMMAND[AD9102_CMD_WORDS - 1]) - 439:Src/main.c **** { - 440:Src/main.c **** uint16_t flags = COMMAND[0]; - 441:Src/main.c **** uint16_t param0 = COMMAND[1]; - 442:Src/main.c **** uint16_t param1 = COMMAND[2]; - 443:Src/main.c **** uint8_t enable = (flags & AD9102_FLAG_ENABLE) ? 1u : 0u; - 444:Src/main.c **** uint8_t triangle = (flags & AD9102_FLAG_TRIANGLE) ? 1u : 0u; - 445:Src/main.c **** uint8_t saw_type = triangle ? AD9102_SAW_TYPE_TRI : AD9102_SAW_TYPE_UP; - 446:Src/main.c **** uint8_t saw_step = (uint8_t)(param0 & 0x00FFu); - ARM GAS /tmp/ccYgfTud.s page 47 + 405:Src/main.c **** //Correct temperature in all pulses + 406:Src/main.c **** (void) MPhD_T(3); + 407:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(3); + 408:Src/main.c **** (void) MPhD_T(4); + 409:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(4); + 410:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); + 411:Src/main.c **** Set_LTEC(3, temp16);//Drive Laser TEC 1 + 412:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); + 413:Src/main.c **** Set_LTEC(4, temp16);//Drive Laser TEC 2 + 414:Src/main.c **** + 415:Src/main.c **** Long_Data[1] = LD1_param.POWER;//Translate Data from monitor photodiode of LD1 to Long_Data + 416:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data + 417:Src/main.c **** + 418:Src/main.c **** Set_LTEC(1,LD1_curr_setup.CURRENT);//Drive Laser diode 1 + 419:Src/main.c **** Set_LTEC(2,LD2_curr_setup.CURRENT);//Drive Laser diode 2 + 420:Src/main.c **** + 421:Src/main.c **** //Prepare DATA of internals ADCs + 422:Src/main.c **** //Put the temperature of LD2 to Long_Data: + 423:Src/main.c **** temp16 = Get_ADC(0); + 424:Src/main.c **** temp16 = Get_ADC(1); + 425:Src/main.c **** Long_Data[7] = temp16; // PA2 -- 3V_monitor // PB1 -- U_Rt1_ext_Gain + 426:Src/main.c **** + 427:Src/main.c **** //Put the temperature of LD2 to Long_Data: + 428:Src/main.c **** temp16 = Get_ADC(1); + 429:Src/main.c **** Long_Data[8] = temp16; // PB0 -- U_Rt2_ext_Gain // PB0 -- U_Rt2_ext_Gain + 430:Src/main.c **** + 431:Src/main.c **** //Put the temperature of LD2 to Long_Data: + 432:Src/main.c **** temp16 = Get_ADC(1); + 433:Src/main.c **** Long_Data[9] = temp16; // PB1 -- U_Rt1_ext_Gain // PA2 -- 3V_monitor + 434:Src/main.c **** + 435:Src/main.c **** //Put the temperature of LD2 to Long_Data: + 436:Src/main.c **** temp16 = Get_ADC(1); + 437:Src/main.c **** Long_Data[10] = temp16; // PC0 -- 5V1_monitor // PC0 -- 5V1_monitor + 438:Src/main.c **** + 439:Src/main.c **** //Put the temperature of LD2 to Long_Data: + 440:Src/main.c **** temp16 = Get_ADC(1); + 441:Src/main.c **** Long_Data[11] = temp16; // PC1 -- 5V2_monitor // PC1 -- 5V2_monitor + 442:Src/main.c **** temp16 = Get_ADC(2); + 443:Src/main.c **** + 444:Src/main.c **** //Put the temperature of LD2 to Long_Data: + 445:Src/main.c **** temp16 = Get_ADC(3); + 446:Src/main.c **** temp16 = Get_ADC(4); + ARM GAS /tmp/ccwR4KB7.s page 47 - 447:Src/main.c **** uint8_t pat_base = (uint8_t)((param0 >> 8) & 0x0Fu); - 448:Src/main.c **** uint16_t pat_period = param1; - 449:Src/main.c **** - 450:Src/main.c **** if (param0 == 0u && param1 == 0u) - 451:Src/main.c **** { - 452:Src/main.c **** saw_step = AD9102_SAW_STEP_DEFAULT; - 453:Src/main.c **** pat_base = AD9102_PAT_PERIOD_BASE_DEFAULT; - 454:Src/main.c **** pat_period = AD9102_PAT_PERIOD_DEFAULT; - 455:Src/main.c **** } - 456:Src/main.c **** else - 457:Src/main.c **** { - 458:Src/main.c **** if (saw_step == 0u) - 459:Src/main.c **** { - 460:Src/main.c **** saw_step = AD9102_SAW_STEP_DEFAULT; - 461:Src/main.c **** } - 462:Src/main.c **** else if (saw_step > 63u) - 463:Src/main.c **** { - 464:Src/main.c **** saw_step = 63u; - 465:Src/main.c **** } - 466:Src/main.c **** if (pat_period == 0u) - 467:Src/main.c **** { - 468:Src/main.c **** pat_period = AD9102_PAT_PERIOD_DEFAULT; - 469:Src/main.c **** } - 470:Src/main.c **** } - 471:Src/main.c **** - 472:Src/main.c **** uint16_t pat_status = AD9102_Apply(saw_type, enable, saw_step, pat_base, pat_period); - 473:Src/main.c **** State_Data[1] = (uint8_t)(pat_status & 0x00FFu); - 474:Src/main.c **** if (AD9102_CheckFlags(pat_status, enable, saw_type, saw_step, pat_base, pat_period)) - 475:Src/main.c **** { - 476:Src/main.c **** State_Data[0] |= AD9102_ERR; - 477:Src/main.c **** } - 478:Src/main.c **** } - 479:Src/main.c **** else - 480:Src/main.c **** { - 481:Src/main.c **** State_Data[0] |= UART_DECODE_ERR; - 482:Src/main.c **** } - 483:Src/main.c **** UART_transmission_request = MESS_01; - 484:Src/main.c **** CPU_state = CPU_state_old; - 485:Src/main.c **** break; - 486:Src/main.c **** case DECODE_TASK: - 487:Src/main.c **** if (CheckChecksum(COMMAND)) - 488:Src/main.c **** { - 489:Src/main.c **** Decode_task(COMMAND, &LD1_curr_setup, &LD2_curr_setup, &Curr_setup); - 490:Src/main.c **** TO6_before = TO6; - 491:Src/main.c **** CPU_state = RUN_TASK; - 492:Src/main.c **** CPU_state_old = RUN_TASK;//Save main current cycle - 493:Src/main.c **** } - 494:Src/main.c **** else - 495:Src/main.c **** { - 496:Src/main.c **** State_Data[0] |= UART_DECODE_ERR; - 497:Src/main.c **** CPU_state = DEFAULT_ENABLE; - 498:Src/main.c **** CPU_state_old = HALT;//Save main current cycle - 499:Src/main.c **** } - 500:Src/main.c **** UART_transmission_request = MESS_01; - 501:Src/main.c **** break; - 502:Src/main.c **** case RUN_TASK: - 503:Src/main.c **** switch (task.task_type) - ARM GAS /tmp/ccYgfTud.s page 48 + 447:Src/main.c **** Long_Data[12] = temp16; + 448:Src/main.c **** temp16 = Get_ADC(5); + 449:Src/main.c **** + 450:Src/main.c **** //Put the timer tick to Long_Data: + 451:Src/main.c **** TO6_stop = TO6; + 452:Src/main.c **** Long_Data[3] = (TO6_stop)&0xffff; + 453:Src/main.c **** Long_Data[4] = (TO6_stop>>16)&0xffff; + 454:Src/main.c **** + 455:Src/main.c **** //Put the average temperature of LD1 to Long_Data: + 456:Src/main.c **** Long_Data[5] = LD1_param.LD_CURR_TEMP; + 457:Src/main.c **** + 458:Src/main.c **** //Put the average temperature of LD2 to Long_Data: + 459:Src/main.c **** Long_Data[6] = LD2_param.LD_CURR_TEMP; + 460:Src/main.c **** + 461:Src/main.c **** if (Curr_setup.SD_EN==1) + 462:Src/main.c **** { + 463:Src/main.c **** CS_result = CalculateChecksum(&Long_Data[1], DL_16-2); + 464:Src/main.c **** Long_Data[DL_16-1] = CS_result; + 465:Src/main.c **** temp16 = SD_SAVE(&Long_Data[0]); + 466:Src/main.c **** State_Data[0]|=temp16&0xff; + 467:Src/main.c **** } + 468:Src/main.c **** CPU_state_old = WORK_ENABLE;//Save main current cycle + 469:Src/main.c **** } + 470:Src/main.c **** break; + 471:Src/main.c **** case AD9102_CMD://10 - Configure AD9102 sawtooth output + 472:Src/main.c **** if (CalculateChecksum(COMMAND, AD9102_CMD_WORDS - 1) == COMMAND[AD9102_CMD_WORDS - 1]) + 473:Src/main.c **** { + 474:Src/main.c **** uint16_t flags = COMMAND[0]; + 475:Src/main.c **** uint16_t param0 = COMMAND[1]; + 476:Src/main.c **** uint16_t param1 = COMMAND[2]; + 477:Src/main.c **** uint8_t enable = (flags & AD9102_FLAG_ENABLE) ? 1u : 0u; + 478:Src/main.c **** uint8_t triangle = (flags & AD9102_FLAG_TRIANGLE) ? 1u : 0u; + 479:Src/main.c **** uint8_t sram_mode = (flags & AD9102_FLAG_SRAM) ? 1u : 0u; + 480:Src/main.c **** + 481:Src/main.c **** if (sram_mode) + 482:Src/main.c **** { + 483:Src/main.c **** uint16_t samples = param0; + 484:Src/main.c **** uint8_t hold = (uint8_t)(param1 & 0x0Fu); + 485:Src/main.c **** uint16_t pat_status = AD9102_ApplySram(enable, samples, hold, triangle); + 486:Src/main.c **** State_Data[1] = (uint8_t)(pat_status & 0x00FFu); + 487:Src/main.c **** if (AD9102_CheckFlagsSram(pat_status, enable, samples, hold)) + 488:Src/main.c **** { + 489:Src/main.c **** State_Data[0] |= AD9102_ERR; + 490:Src/main.c **** } + 491:Src/main.c **** } + 492:Src/main.c **** else + 493:Src/main.c **** { + 494:Src/main.c **** uint8_t saw_type = triangle ? AD9102_SAW_TYPE_TRI : AD9102_SAW_TYPE_UP; + 495:Src/main.c **** uint8_t saw_step = (uint8_t)(param0 & 0x00FFu); + 496:Src/main.c **** uint8_t pat_base = (uint8_t)((param0 >> 8) & 0x0Fu); + 497:Src/main.c **** uint16_t pat_period = param1; + 498:Src/main.c **** + 499:Src/main.c **** if (param0 == 0u && param1 == 0u) + 500:Src/main.c **** { + 501:Src/main.c **** saw_step = AD9102_SAW_STEP_DEFAULT; + 502:Src/main.c **** pat_base = AD9102_PAT_PERIOD_BASE_DEFAULT; + 503:Src/main.c **** pat_period = AD9102_PAT_PERIOD_DEFAULT; + ARM GAS /tmp/ccwR4KB7.s page 48 - 504:Src/main.c **** { - 505:Src/main.c **** case TT_CHANGE_CURR_1: - 506:Src/main.c **** - 507:Src/main.c **** - 508:Src/main.c **** //calculating timer periods for ADC clock and Mach-Zander modulator - 509:Src/main.c **** //ADC clock - 510:Src/main.c **** //TIM4 -> ARR = 60; // for 1.5 MHz - 511:Src/main.c **** //TIM4 -> ARR = 91; // for 1 MHz - 512:Src/main.c **** //TIM4 -> ARR = 45; // for 2 MHz - 513:Src/main.c **** - 514:Src/main.c **** //online calculation for debug purposes: - 515:Src/main.c **** //manually varying TIM4 -> ARR by debugger while running - 516:Src/main.c **** //TIM4 -> CCR3 = (TIM4 -> ARR +1)/2 - 1; - 517:Src/main.c **** - 518:Src/main.c **** - 519:Src/main.c **** //Mach-Zander clock (should be half of ADC clock freq) - 520:Src/main.c **** //TIM11 -> ARR = (TIM4 -> ARR +1)*2 - 1; - 521:Src/main.c **** //TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1; - 522:Src/main.c **** - 523:Src/main.c **** - 524:Src/main.c **** - 525:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_2, task.curr); - 526:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); - 527:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); - 528:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); - 529:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); - 530:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); - 531:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 - 532:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); - 533:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 - 534:Src/main.c **** - 535:Src/main.c **** // Toggle pin for oscilloscope - 536:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); //start of the whole frequency sweep proc - 537:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); - 538:Src/main.c **** - 539:Src/main.c **** st = HAL_TIM_Base_Start_IT(&htim10); - 540:Src/main.c **** if (st != HAL_OK) - 541:Src/main.c **** while(1); - 542:Src/main.c **** - 543:Src/main.c **** uint16_t step_counter = 0; - 544:Src/main.c **** uint16_t trigger_counter = 0; - 545:Src/main.c **** uint16_t trigger_step = (uint8_t )((task.max_param - task.current_param)/task.delta_param * 1 - 546:Src/main.c **** uint16_t task_sheduler = 0; - 547:Src/main.c **** - 548:Src/main.c **** - 549:Src/main.c **** - 550:Src/main.c **** HAL_TIM_PWM_Stop(&htim11, TIM_CHANNEL_1); //start modulating by Mach-Zander modulator - 551:Src/main.c **** HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_3); //start ADC clock - 552:Src/main.c **** TIM11 -> CR1 &= ~(1 << 3); //disables one-pulse mode - 553:Src/main.c **** TIM4 -> CR1 &= ~(1 << 3); //disables one-pulse mode - 554:Src/main.c **** - 555:Src/main.c **** + 504:Src/main.c **** } + 505:Src/main.c **** else + 506:Src/main.c **** { + 507:Src/main.c **** if (saw_step == 0u) + 508:Src/main.c **** { + 509:Src/main.c **** saw_step = AD9102_SAW_STEP_DEFAULT; + 510:Src/main.c **** } + 511:Src/main.c **** else if (saw_step > 63u) + 512:Src/main.c **** { + 513:Src/main.c **** saw_step = 63u; + 514:Src/main.c **** } + 515:Src/main.c **** if (pat_period == 0u) + 516:Src/main.c **** { + 517:Src/main.c **** pat_period = AD9102_PAT_PERIOD_DEFAULT; + 518:Src/main.c **** } + 519:Src/main.c **** } + 520:Src/main.c **** + 521:Src/main.c **** uint16_t pat_status = AD9102_Apply(saw_type, enable, saw_step, pat_base, pat_period); + 522:Src/main.c **** State_Data[1] = (uint8_t)(pat_status & 0x00FFu); + 523:Src/main.c **** if (AD9102_CheckFlags(pat_status, enable, saw_type, saw_step, pat_base, pat_period)) + 524:Src/main.c **** { + 525:Src/main.c **** State_Data[0] |= AD9102_ERR; + 526:Src/main.c **** } + 527:Src/main.c **** } + 528:Src/main.c **** } + 529:Src/main.c **** else + 530:Src/main.c **** { + 531:Src/main.c **** State_Data[0] |= UART_DECODE_ERR; + 532:Src/main.c **** } + 533:Src/main.c **** UART_transmission_request = MESS_01; + 534:Src/main.c **** CPU_state = CPU_state_old; + 535:Src/main.c **** break; + 536:Src/main.c **** case DECODE_TASK: + 537:Src/main.c **** if (CheckChecksum(COMMAND)) + 538:Src/main.c **** { + 539:Src/main.c **** Decode_task(COMMAND, &LD1_curr_setup, &LD2_curr_setup, &Curr_setup); + 540:Src/main.c **** TO6_before = TO6; + 541:Src/main.c **** CPU_state = RUN_TASK; + 542:Src/main.c **** CPU_state_old = RUN_TASK;//Save main current cycle + 543:Src/main.c **** } + 544:Src/main.c **** else + 545:Src/main.c **** { + 546:Src/main.c **** State_Data[0] |= UART_DECODE_ERR; + 547:Src/main.c **** CPU_state = DEFAULT_ENABLE; + 548:Src/main.c **** CPU_state_old = HALT;//Save main current cycle + 549:Src/main.c **** } + 550:Src/main.c **** UART_transmission_request = MESS_01; + 551:Src/main.c **** break; + 552:Src/main.c **** case RUN_TASK: + 553:Src/main.c **** switch (task.task_type) + 554:Src/main.c **** { + 555:Src/main.c **** case TT_CHANGE_CURR_1: 556:Src/main.c **** - 557:Src/main.c **** TIM11 -> CNT = 0; - 558:Src/main.c **** TIM4 -> CNT = 0; - 559:Src/main.c **** - 560:Src/main.c **** HAL_TIM_PWM_Start(&htim11, TIM_CHANNEL_1); //start modulating by Mach-Zander modulator - ARM GAS /tmp/ccYgfTud.s page 49 + 557:Src/main.c **** + 558:Src/main.c **** //calculating timer periods for ADC clock and Mach-Zander modulator + 559:Src/main.c **** //ADC clock + 560:Src/main.c **** //TIM4 -> ARR = 60; // for 1.5 MHz + ARM GAS /tmp/ccwR4KB7.s page 49 - 561:Src/main.c **** HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_3); //start ADC clock - 562:Src/main.c **** //TIM4 -> CNT = 0; + 561:Src/main.c **** //TIM4 -> ARR = 91; // for 1 MHz + 562:Src/main.c **** //TIM4 -> ARR = 45; // for 2 MHz 563:Src/main.c **** - 564:Src/main.c **** TIM4 -> CNT = TIM4 -> ARR - 20; // not zero to make phase shift that will be robust to big de - 565:Src/main.c **** TIM11 -> CNT = 0; - 566:Src/main.c **** + 564:Src/main.c **** //online calculation for debug purposes: + 565:Src/main.c **** //manually varying TIM4 -> ARR by debugger while running + 566:Src/main.c **** //TIM4 -> CCR3 = (TIM4 -> ARR +1)/2 - 1; 567:Src/main.c **** - 568:Src/main.c **** while (task.current_param < task.max_param) - 569:Src/main.c **** { - 570:Src/main.c **** if (TIM10_coflag) - 571:Src/main.c **** { - 572:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.current_param); - 573:Src/main.c **** //TIM11 -> CNT = 0; // to link modulator phase - 574:Src/main.c **** //TIM4 -> CNT = 0; // to link ADC clock phase - 575:Src/main.c **** task.current_param += task.delta_param; - 576:Src/main.c **** TO10 = 0; - 577:Src/main.c **** TIM10_coflag = 0; - 578:Src/main.c **** - 579:Src/main.c **** HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9, GPIO_PIN_SET); // set the current step laser current t - 580:Src/main.c **** HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9, GPIO_PIN_RESET); - 581:Src/main.c **** //* - 582:Src/main.c **** if (step_counter % trigger_step == 0){ //trigger at every 60 step - 583:Src/main.c **** OUT_trigger(trigger_counter); - 584:Src/main.c **** ++trigger_counter; - 585:Src/main.c **** } - 586:Src/main.c **** ++step_counter; - 587:Src/main.c **** //*/ - 588:Src/main.c **** /* - 589:Src/main.c **** ++task_sheduler; - 590:Src/main.c **** if (task_sheduler >= 10){ - 591:Src/main.c **** task_sheduler = 0; - 592:Src/main.c **** } - 593:Src/main.c **** //maintain stable temperature of laser 2 - 594:Src/main.c **** if (task_sheduler == 0){ - 595:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); - 596:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); - 597:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); - 598:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 - 599:Src/main.c **** } - 600:Src/main.c **** //maintain stable temperature of laser 1 - 601:Src/main.c **** //* - 602:Src/main.c **** if (task_sheduler == 5){ - 603:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); - 604:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); - 605:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); - 606:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 - 607:Src/main.c **** } - 608:Src/main.c **** //*/ - 609:Src/main.c **** } - 610:Src/main.c **** } - 611:Src/main.c **** TIM11 -> DIER |= 1; //enable update interrupt. In this IRQ handler we will set both tims to o - 612:Src/main.c **** //TIM11 -> CR1 |= 1 << 3; //sets timer to one-pulse mode. So it will turn off at the next Upd - 613:Src/main.c **** //TIM4 -> CR1 |= 1 << 3; //sets timer to one-pulse mode. So it will turn off at the next Upda - 614:Src/main.c **** //but one-pulse mode should be disabled - 615:Src/main.c **** - 616:Src/main.c **** //HAL_TIM_PWM_Stop(&htim11, TIM_CHANNEL_1); //start modulating by Mach-Zander modulator - 617:Src/main.c **** //HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_3); //start ADC clock - ARM GAS /tmp/ccYgfTud.s page 50 + 568:Src/main.c **** + 569:Src/main.c **** //Mach-Zander clock (should be half of ADC clock freq) + 570:Src/main.c **** //TIM11 -> ARR = (TIM4 -> ARR +1)*2 - 1; + 571:Src/main.c **** //TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1; + 572:Src/main.c **** + 573:Src/main.c **** + 574:Src/main.c **** + 575:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_2, task.curr); + 576:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); + 577:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); + 578:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); + 579:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); + 580:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); + 581:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 + 582:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); + 583:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 + 584:Src/main.c **** + 585:Src/main.c **** // Toggle pin for oscilloscope + 586:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); //start of the whole frequency sweep proc + 587:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + 588:Src/main.c **** + 589:Src/main.c **** st = HAL_TIM_Base_Start_IT(&htim10); + 590:Src/main.c **** if (st != HAL_OK) + 591:Src/main.c **** while(1); + 592:Src/main.c **** + 593:Src/main.c **** uint16_t step_counter = 0; + 594:Src/main.c **** uint16_t trigger_counter = 0; + 595:Src/main.c **** uint16_t trigger_step = (uint8_t )((task.max_param - task.current_param)/task.delta_param * 1 + 596:Src/main.c **** uint16_t task_sheduler = 0; + 597:Src/main.c **** + 598:Src/main.c **** + 599:Src/main.c **** + 600:Src/main.c **** HAL_TIM_PWM_Stop(&htim11, TIM_CHANNEL_1); //start modulating by Mach-Zander modulator + 601:Src/main.c **** HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_3); //start ADC clock + 602:Src/main.c **** TIM11 -> CR1 &= ~(1 << 3); //disables one-pulse mode + 603:Src/main.c **** TIM4 -> CR1 &= ~(1 << 3); //disables one-pulse mode + 604:Src/main.c **** + 605:Src/main.c **** + 606:Src/main.c **** + 607:Src/main.c **** TIM11 -> CNT = 0; + 608:Src/main.c **** TIM4 -> CNT = 0; + 609:Src/main.c **** + 610:Src/main.c **** HAL_TIM_PWM_Start(&htim11, TIM_CHANNEL_1); //start modulating by Mach-Zander modulator + 611:Src/main.c **** HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_3); //start ADC clock + 612:Src/main.c **** //TIM4 -> CNT = 0; + 613:Src/main.c **** + 614:Src/main.c **** TIM4 -> CNT = TIM4 -> ARR - 20; // not zero to make phase shift that will be robust to big de + 615:Src/main.c **** TIM11 -> CNT = 0; + 616:Src/main.c **** + 617:Src/main.c **** + ARM GAS /tmp/ccwR4KB7.s page 50 - 618:Src/main.c **** - 619:Src/main.c **** - 620:Src/main.c **** - 621:Src/main.c **** Stop_TIM10(); - 622:Src/main.c **** - 623:Src/main.c **** task.current_param = task.min_param; - 624:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.current_param); - 625:Src/main.c **** if (task.tau > 3) - 626:Src/main.c **** { - 627:Src/main.c **** TIM10_period = htim10.Init.Period; - 628:Src/main.c **** htim10.Init.Period = 9999; - 629:Src/main.c **** TO10_counter = (task.tau - 1) * 100; - 630:Src/main.c **** } - 631:Src/main.c **** HAL_TIM_Base_Start_IT(&htim10); - 632:Src/main.c **** break; - 633:Src/main.c **** case TT_CHANGE_CURR_2: - 634:Src/main.c **** //Blink laser 2 - 635:Src/main.c **** //* - 636:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.curr); - 637:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); - 638:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); - 639:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); - 640:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); - 641:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); - 642:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 - 643:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); - 644:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 - 645:Src/main.c **** - 646:Src/main.c **** LD_blinker.task_type = 2; - 647:Src/main.c **** LD_blinker.state = 0; // 0 -- disabled (do nothing); 1 -- update LD current; 2 -- blinking, L - 648:Src/main.c **** //LD_blinker.param = task.current_param; - 649:Src/main.c **** LD_blinker.param = 0; - 650:Src/main.c **** LD_blinker.param = 1000; // LD2 current (in unspecified units) - 651:Src/main.c **** LD_blinker.signal_port = OUT_9_GPIO_Port; - 652:Src/main.c **** LD_blinker.signal_pin = OUT_9_Pin; - 653:Src/main.c **** - 654:Src/main.c **** TIM8->ARR = 10000; //zero to LD_blinker.param change frequency (also in unspecified units). - 655:Src/main.c **** //When it is too low -- Desktop app crashes (there is not so much compute sources on MCU - 656:Src/main.c **** st = HAL_TIM_Base_Start_IT(&htim8); - 657:Src/main.c **** if (st != HAL_OK) - 658:Src/main.c **** while(1); - 659:Src/main.c **** // */ - 660:Src/main.c **** - 661:Src/main.c **** // Toggle pin for oscilloscope - 662:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); - 663:Src/main.c **** uint32_t i = 10000; while (--i){} - 664:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); - 665:Src/main.c **** LD_blinker.state = 2; - 666:Src/main.c **** - 667:Src/main.c **** st = HAL_TIM_Base_Start_IT(&htim10); - 668:Src/main.c **** if (st != HAL_OK) - 669:Src/main.c **** while(1); - 670:Src/main.c **** while (task.current_param < task.max_param) - 671:Src/main.c **** { - 672:Src/main.c **** if (TIM10_coflag) - 673:Src/main.c **** { - 674:Src/main.c **** //Set_LTEC(TT_CHANGE_CURR_2, task.current_param); - ARM GAS /tmp/ccYgfTud.s page 51 + 618:Src/main.c **** while (task.current_param < task.max_param) + 619:Src/main.c **** { + 620:Src/main.c **** if (TIM10_coflag) + 621:Src/main.c **** { + 622:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.current_param); + 623:Src/main.c **** //TIM11 -> CNT = 0; // to link modulator phase + 624:Src/main.c **** //TIM4 -> CNT = 0; // to link ADC clock phase + 625:Src/main.c **** task.current_param += task.delta_param; + 626:Src/main.c **** TO10 = 0; + 627:Src/main.c **** TIM10_coflag = 0; + 628:Src/main.c **** + 629:Src/main.c **** HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9, GPIO_PIN_SET); // set the current step laser current t + 630:Src/main.c **** HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9, GPIO_PIN_RESET); + 631:Src/main.c **** //* + 632:Src/main.c **** if (step_counter % trigger_step == 0){ //trigger at every 60 step + 633:Src/main.c **** OUT_trigger(trigger_counter); + 634:Src/main.c **** ++trigger_counter; + 635:Src/main.c **** } + 636:Src/main.c **** ++step_counter; + 637:Src/main.c **** //*/ + 638:Src/main.c **** /* + 639:Src/main.c **** ++task_sheduler; + 640:Src/main.c **** if (task_sheduler >= 10){ + 641:Src/main.c **** task_sheduler = 0; + 642:Src/main.c **** } + 643:Src/main.c **** //maintain stable temperature of laser 2 + 644:Src/main.c **** if (task_sheduler == 0){ + 645:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); + 646:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); + 647:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); + 648:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 + 649:Src/main.c **** } + 650:Src/main.c **** //maintain stable temperature of laser 1 + 651:Src/main.c **** //* + 652:Src/main.c **** if (task_sheduler == 5){ + 653:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); + 654:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); + 655:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); + 656:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 + 657:Src/main.c **** } + 658:Src/main.c **** //*/ + 659:Src/main.c **** } + 660:Src/main.c **** } + 661:Src/main.c **** TIM11 -> DIER |= 1; //enable update interrupt. In this IRQ handler we will set both tims to o + 662:Src/main.c **** //TIM11 -> CR1 |= 1 << 3; //sets timer to one-pulse mode. So it will turn off at the next Upd + 663:Src/main.c **** //TIM4 -> CR1 |= 1 << 3; //sets timer to one-pulse mode. So it will turn off at the next Upda + 664:Src/main.c **** //but one-pulse mode should be disabled + 665:Src/main.c **** + 666:Src/main.c **** //HAL_TIM_PWM_Stop(&htim11, TIM_CHANNEL_1); //start modulating by Mach-Zander modulator + 667:Src/main.c **** //HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_3); //start ADC clock + 668:Src/main.c **** + 669:Src/main.c **** + 670:Src/main.c **** + 671:Src/main.c **** Stop_TIM10(); + 672:Src/main.c **** + 673:Src/main.c **** task.current_param = task.min_param; + 674:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.current_param); + ARM GAS /tmp/ccwR4KB7.s page 51 - 675:Src/main.c **** //LD_blinker.param = task.current_param; - 676:Src/main.c **** //++LD_blinker.param; - 677:Src/main.c **** task.current_param += task.delta_param; - 678:Src/main.c **** TO10 = 0; - 679:Src/main.c **** TIM10_coflag = 0; - 680:Src/main.c **** - 681:Src/main.c **** - 682:Src/main.c **** } - 683:Src/main.c **** } - 684:Src/main.c **** HAL_TIM_Base_Stop(&htim10); - 685:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); - 686:Src/main.c **** - 687:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); - 688:Src/main.c **** - 689:Src/main.c **** HAL_TIM_Base_Stop_IT(&htim8); - 690:Src/main.c **** TIM8->CNT = 0; - 691:Src/main.c **** - 692:Src/main.c **** Stop_TIM10(); - 693:Src/main.c **** task.current_param = task.min_param; - 694:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_2, task.current_param); - 695:Src/main.c **** if (task.tau > 3) - 696:Src/main.c **** { - 697:Src/main.c **** TIM10_period = htim10.Init.Period; - 698:Src/main.c **** htim10.Init.Period = 9999; - 699:Src/main.c **** TO10_counter = (task.tau - 1) * 100; - 700:Src/main.c **** } - 701:Src/main.c **** HAL_TIM_Base_Start_IT(&htim10); - 702:Src/main.c **** + 675:Src/main.c **** if (task.tau > 3) + 676:Src/main.c **** { + 677:Src/main.c **** TIM10_period = htim10.Init.Period; + 678:Src/main.c **** htim10.Init.Period = 9999; + 679:Src/main.c **** TO10_counter = (task.tau - 1) * 100; + 680:Src/main.c **** } + 681:Src/main.c **** HAL_TIM_Base_Start_IT(&htim10); + 682:Src/main.c **** break; + 683:Src/main.c **** case TT_CHANGE_CURR_2: + 684:Src/main.c **** //Blink laser 2 + 685:Src/main.c **** //* + 686:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.curr); + 687:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); + 688:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); + 689:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); + 690:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); + 691:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); + 692:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 + 693:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); + 694:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 + 695:Src/main.c **** + 696:Src/main.c **** LD_blinker.task_type = 2; + 697:Src/main.c **** LD_blinker.state = 0; // 0 -- disabled (do nothing); 1 -- update LD current; 2 -- blinking, L + 698:Src/main.c **** //LD_blinker.param = task.current_param; + 699:Src/main.c **** LD_blinker.param = 0; + 700:Src/main.c **** LD_blinker.param = 1000; // LD2 current (in unspecified units) + 701:Src/main.c **** LD_blinker.signal_port = OUT_9_GPIO_Port; + 702:Src/main.c **** LD_blinker.signal_pin = OUT_9_Pin; 703:Src/main.c **** - 704:Src/main.c **** //*/ - 705:Src/main.c **** - 706:Src/main.c **** /* // Backup - 707:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.curr); - 708:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); - 709:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); - 710:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); - 711:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); - 712:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); - 713:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 - 714:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); - 715:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 + 704:Src/main.c **** TIM8->ARR = 10000; //zero to LD_blinker.param change frequency (also in unspecified units). + 705:Src/main.c **** //When it is too low -- Desktop app crashes (there is not so much compute sources on MCU + 706:Src/main.c **** st = HAL_TIM_Base_Start_IT(&htim8); + 707:Src/main.c **** if (st != HAL_OK) + 708:Src/main.c **** while(1); + 709:Src/main.c **** // */ + 710:Src/main.c **** + 711:Src/main.c **** // Toggle pin for oscilloscope + 712:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); + 713:Src/main.c **** uint32_t i = 10000; while (--i){} + 714:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + 715:Src/main.c **** LD_blinker.state = 2; 716:Src/main.c **** - 717:Src/main.c **** // Toggle pin for oscilloscope - 718:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); - 719:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); - 720:Src/main.c **** - 721:Src/main.c **** st = HAL_TIM_Base_Start_IT(&htim10); - 722:Src/main.c **** if (st != HAL_OK) - 723:Src/main.c **** while(1); - 724:Src/main.c **** while (task.current_param < task.max_param) - 725:Src/main.c **** { - 726:Src/main.c **** if (TIM10_coflag) - 727:Src/main.c **** { - 728:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_2, task.current_param); - 729:Src/main.c **** task.current_param += task.delta_param; - 730:Src/main.c **** TO10 = 0; - 731:Src/main.c **** TIM10_coflag = 0; - ARM GAS /tmp/ccYgfTud.s page 52 + 717:Src/main.c **** st = HAL_TIM_Base_Start_IT(&htim10); + 718:Src/main.c **** if (st != HAL_OK) + 719:Src/main.c **** while(1); + 720:Src/main.c **** while (task.current_param < task.max_param) + 721:Src/main.c **** { + 722:Src/main.c **** if (TIM10_coflag) + 723:Src/main.c **** { + 724:Src/main.c **** //Set_LTEC(TT_CHANGE_CURR_2, task.current_param); + 725:Src/main.c **** //LD_blinker.param = task.current_param; + 726:Src/main.c **** //++LD_blinker.param; + 727:Src/main.c **** task.current_param += task.delta_param; + 728:Src/main.c **** TO10 = 0; + 729:Src/main.c **** TIM10_coflag = 0; + 730:Src/main.c **** + 731:Src/main.c **** + ARM GAS /tmp/ccwR4KB7.s page 52 - 732:Src/main.c **** - 733:Src/main.c **** - 734:Src/main.c **** } - 735:Src/main.c **** } - 736:Src/main.c **** Stop_TIM10(); - 737:Src/main.c **** task.current_param = task.min_param; - 738:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_2, task.current_param); - 739:Src/main.c **** if (task.tau > 3) - 740:Src/main.c **** { - 741:Src/main.c **** TIM10_period = htim10.Init.Period; - 742:Src/main.c **** htim10.Init.Period = 9999; - 743:Src/main.c **** TO10_counter = (task.tau - 1) * 100; - 744:Src/main.c **** } - 745:Src/main.c **** HAL_TIM_Base_Start_IT(&htim10); - 746:Src/main.c **** */ - 747:Src/main.c **** - 748:Src/main.c **** - 749:Src/main.c **** break; - 750:Src/main.c **** case TT_CHANGE_TEMP_1: - 751:Src/main.c **** // isn't implemented - 752:Src/main.c **** break; - 753:Src/main.c **** case TT_CHANGE_TEMP_2: - 754:Src/main.c **** // isn't implemented - 755:Src/main.c **** break; - 756:Src/main.c **** } - 757:Src/main.c **** - 758:Src/main.c **** if (TO7>TO7_before) - 759:Src/main.c **** { - 760:Src/main.c **** TO7_before = TO7; - 761:Src/main.c **** - 762:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 - 763:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 - 764:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 765:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 766:Src/main.c **** - 767:Src/main.c **** Long_Data[1] = LD1_param.POWER;//Translate Data from monitor photodiode of LD1 to Long_Data - 768:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data - 769:Src/main.c **** - 770:Src/main.c **** //Prepare DATA of internals ADCs - 771:Src/main.c **** //Put the temperature of LD2 to Long_Data: - 772:Src/main.c **** temp16 = Get_ADC(0); - 773:Src/main.c **** temp16 = Get_ADC(1); - 774:Src/main.c **** Long_Data[7] = temp16; - 775:Src/main.c **** - 776:Src/main.c **** //Put the temperature of LD2 to Long_Data: - 777:Src/main.c **** temp16 = Get_ADC(1); - 778:Src/main.c **** Long_Data[8] = temp16; - 779:Src/main.c **** - 780:Src/main.c **** //Put the temperature of LD2 to Long_Data: - 781:Src/main.c **** temp16 = Get_ADC(1); - 782:Src/main.c **** Long_Data[9] = temp16; - 783:Src/main.c **** - 784:Src/main.c **** //Put the temperature of LD2 to Long_Data: - 785:Src/main.c **** temp16 = Get_ADC(1); - 786:Src/main.c **** Long_Data[10] = temp16; - 787:Src/main.c **** - 788:Src/main.c **** //Put the temperature of LD2 to Long_Data: - ARM GAS /tmp/ccYgfTud.s page 53 + 732:Src/main.c **** } + 733:Src/main.c **** } + 734:Src/main.c **** HAL_TIM_Base_Stop(&htim10); + 735:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); + 736:Src/main.c **** + 737:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + 738:Src/main.c **** + 739:Src/main.c **** HAL_TIM_Base_Stop_IT(&htim8); + 740:Src/main.c **** TIM8->CNT = 0; + 741:Src/main.c **** + 742:Src/main.c **** Stop_TIM10(); + 743:Src/main.c **** task.current_param = task.min_param; + 744:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_2, task.current_param); + 745:Src/main.c **** if (task.tau > 3) + 746:Src/main.c **** { + 747:Src/main.c **** TIM10_period = htim10.Init.Period; + 748:Src/main.c **** htim10.Init.Period = 9999; + 749:Src/main.c **** TO10_counter = (task.tau - 1) * 100; + 750:Src/main.c **** } + 751:Src/main.c **** HAL_TIM_Base_Start_IT(&htim10); + 752:Src/main.c **** + 753:Src/main.c **** + 754:Src/main.c **** //*/ + 755:Src/main.c **** + 756:Src/main.c **** /* // Backup + 757:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.curr); + 758:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); + 759:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); + 760:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); + 761:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); + 762:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); + 763:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 + 764:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); + 765:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 + 766:Src/main.c **** + 767:Src/main.c **** // Toggle pin for oscilloscope + 768:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); + 769:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + 770:Src/main.c **** + 771:Src/main.c **** st = HAL_TIM_Base_Start_IT(&htim10); + 772:Src/main.c **** if (st != HAL_OK) + 773:Src/main.c **** while(1); + 774:Src/main.c **** while (task.current_param < task.max_param) + 775:Src/main.c **** { + 776:Src/main.c **** if (TIM10_coflag) + 777:Src/main.c **** { + 778:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_2, task.current_param); + 779:Src/main.c **** task.current_param += task.delta_param; + 780:Src/main.c **** TO10 = 0; + 781:Src/main.c **** TIM10_coflag = 0; + 782:Src/main.c **** + 783:Src/main.c **** + 784:Src/main.c **** } + 785:Src/main.c **** } + 786:Src/main.c **** Stop_TIM10(); + 787:Src/main.c **** task.current_param = task.min_param; + 788:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_2, task.current_param); + ARM GAS /tmp/ccwR4KB7.s page 53 - 789:Src/main.c **** temp16 = Get_ADC(1); - 790:Src/main.c **** Long_Data[11] = temp16; - 791:Src/main.c **** temp16 = Get_ADC(2); - 792:Src/main.c **** - 793:Src/main.c **** //Put the temperature of LD2 to Long_Data: - 794:Src/main.c **** temp16 = Get_ADC(3); - 795:Src/main.c **** temp16 = Get_ADC(4); - 796:Src/main.c **** Long_Data[12] = temp16; - 797:Src/main.c **** temp16 = Get_ADC(5); - 798:Src/main.c **** - 799:Src/main.c **** //Put the timer tick to Long_Data: - 800:Src/main.c **** TO6_stop = TO6; - 801:Src/main.c **** Long_Data[3] = (TO6_stop)&0xffff; - 802:Src/main.c **** Long_Data[4] = (TO6_stop>>16)&0xffff; - 803:Src/main.c **** - 804:Src/main.c **** //Put the average temperature of LD1 to Long_Data: - 805:Src/main.c **** Long_Data[5] = LD1_param.LD_CURR_TEMP; - 806:Src/main.c **** - 807:Src/main.c **** //Put the average temperature of LD2 to Long_Data: - 808:Src/main.c **** Long_Data[6] = LD2_param.LD_CURR_TEMP; - 809:Src/main.c **** } - 810:Src/main.c **** while (!TIM10_coflag); - 811:Src/main.c **** - 812:Src/main.c **** Stop_TIM10(); - 813:Src/main.c **** - 814:Src/main.c **** if (task.tau > 3) - 815:Src/main.c **** { - 816:Src/main.c **** htim10.Init.Period = TIM10_period; - 817:Src/main.c **** TO10_counter = task.dt / 10; - 818:Src/main.c **** } - 819:Src/main.c **** - 820:Src/main.c **** CPU_state_old = RUN_TASK; - 821:Src/main.c **** break; - 822:Src/main.c **** } - 823:Src/main.c **** - 824:Src/main.c **** switch (UART_transmission_request) - 825:Src/main.c **** { - 826:Src/main.c **** case MESS_01://Default state - 827:Src/main.c **** USART_TX(State_Data,2); - 828:Src/main.c **** //HAL_UART_Transmit(&huart1, State_Data, 2, 10); - 829:Src/main.c **** State_Data[0]=0; - 830:Src/main.c **** State_Data[1]=0;//All OK! - 831:Src/main.c **** UART_transmission_request = NO_MESS; - 832:Src/main.c **** break; - 833:Src/main.c **** case MESS_02://Transmith packet - 834:Src/main.c **** - 835:Src/main.c **** //Find CS and put to Long_Data: - 836:Src/main.c **** CS_result = CalculateChecksum(&Long_Data[1], DL_16-2); - 837:Src/main.c **** Long_Data[DL_16-1] = CS_result; - 838:Src/main.c **** - 839:Src/main.c **** for (uint16_t i = 0; i < DL_16; i++) - 840:Src/main.c **** { - 841:Src/main.c **** UART_DATA[i*2] = (Long_Data[i])&0xff; - 842:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; - 843:Src/main.c **** } - 844:Src/main.c **** //HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); - 845:Src/main.c **** //HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); - ARM GAS /tmp/ccYgfTud.s page 54 + 789:Src/main.c **** if (task.tau > 3) + 790:Src/main.c **** { + 791:Src/main.c **** TIM10_period = htim10.Init.Period; + 792:Src/main.c **** htim10.Init.Period = 9999; + 793:Src/main.c **** TO10_counter = (task.tau - 1) * 100; + 794:Src/main.c **** } + 795:Src/main.c **** HAL_TIM_Base_Start_IT(&htim10); + 796:Src/main.c **** */ + 797:Src/main.c **** + 798:Src/main.c **** + 799:Src/main.c **** break; + 800:Src/main.c **** case TT_CHANGE_TEMP_1: + 801:Src/main.c **** // isn't implemented + 802:Src/main.c **** break; + 803:Src/main.c **** case TT_CHANGE_TEMP_2: + 804:Src/main.c **** // isn't implemented + 805:Src/main.c **** break; + 806:Src/main.c **** } + 807:Src/main.c **** + 808:Src/main.c **** if (TO7>TO7_before) + 809:Src/main.c **** { + 810:Src/main.c **** TO7_before = TO7; + 811:Src/main.c **** + 812:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 + 813:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 + 814:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 + 815:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 + 816:Src/main.c **** + 817:Src/main.c **** Long_Data[1] = LD1_param.POWER;//Translate Data from monitor photodiode of LD1 to Long_Data + 818:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data + 819:Src/main.c **** + 820:Src/main.c **** //Prepare DATA of internals ADCs + 821:Src/main.c **** //Put the temperature of LD2 to Long_Data: + 822:Src/main.c **** temp16 = Get_ADC(0); + 823:Src/main.c **** temp16 = Get_ADC(1); + 824:Src/main.c **** Long_Data[7] = temp16; + 825:Src/main.c **** + 826:Src/main.c **** //Put the temperature of LD2 to Long_Data: + 827:Src/main.c **** temp16 = Get_ADC(1); + 828:Src/main.c **** Long_Data[8] = temp16; + 829:Src/main.c **** + 830:Src/main.c **** //Put the temperature of LD2 to Long_Data: + 831:Src/main.c **** temp16 = Get_ADC(1); + 832:Src/main.c **** Long_Data[9] = temp16; + 833:Src/main.c **** + 834:Src/main.c **** //Put the temperature of LD2 to Long_Data: + 835:Src/main.c **** temp16 = Get_ADC(1); + 836:Src/main.c **** Long_Data[10] = temp16; + 837:Src/main.c **** + 838:Src/main.c **** //Put the temperature of LD2 to Long_Data: + 839:Src/main.c **** temp16 = Get_ADC(1); + 840:Src/main.c **** Long_Data[11] = temp16; + 841:Src/main.c **** temp16 = Get_ADC(2); + 842:Src/main.c **** + 843:Src/main.c **** //Put the temperature of LD2 to Long_Data: + 844:Src/main.c **** temp16 = Get_ADC(3); + 845:Src/main.c **** temp16 = Get_ADC(4); + ARM GAS /tmp/ccwR4KB7.s page 54 - 846:Src/main.c **** //HAL_UART_Transmit_DMA(&huart1, UART_DATA, DL_8); - 847:Src/main.c **** //huart1.gState = HAL_UART_STATE_READY; - 848:Src/main.c **** //hdma_usart1_tx.State=HAL_DMA_STATE_BUSY; - 849:Src/main.c **** USART_TX_DMA (DL_8);//Send data by USART using DMA - 850:Src/main.c **** UART_transmission_request = NO_MESS; - 851:Src/main.c **** break; - 852:Src/main.c **** case MESS_03://Transmith saved packet - 853:Src/main.c **** for (uint16_t i = 0; i < DL_16; i++) - 854:Src/main.c **** { - 855:Src/main.c **** UART_DATA[i*2] = (Long_Data[i])&0xff; - 856:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; - 857:Src/main.c **** } - 858:Src/main.c **** //HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); - 859:Src/main.c **** //HAL_UART_Transmit_DMA(&huart1, UART_DATA, DL_8); - 860:Src/main.c **** //huart1.gState = HAL_UART_STATE_READY; - 861:Src/main.c **** //hdma_usart1_tx.State=HAL_DMA_STATE_BUSY; - 862:Src/main.c **** USART_TX_DMA (DL_8);//Send data by USART using DMA - 863:Src/main.c **** UART_transmission_request = NO_MESS; - 864:Src/main.c **** break; - 865:Src/main.c **** } - 866:Src/main.c **** if ((flg_tmt==1)&&((TO6-TO6_uart)>100))//Uart timeout handle. if timeout beetween zero byte of - 867:Src/main.c **** { - 868:Src/main.c **** UART_rec_incr = 0;//Reset uart command counter - 869:Src/main.c **** State_Data[0] |= UART_ERR;//timeout error! - 870:Src/main.c **** UART_transmission_request = MESS_01;//Send status - 871:Src/main.c **** flg_tmt = 0;//Reset timeout flag - 872:Src/main.c **** } - 873:Src/main.c **** /* USER CODE END WHILE */ - 874:Src/main.c **** - 875:Src/main.c **** /* USER CODE BEGIN 3 */ - 876:Src/main.c **** } - 877:Src/main.c **** /* USER CODE END 3 */ - 878:Src/main.c **** } - 879:Src/main.c **** - 880:Src/main.c **** /** - 881:Src/main.c **** * @brief System Clock Configuration - 882:Src/main.c **** * @retval None - 883:Src/main.c **** */ - 884:Src/main.c **** void SystemClock_Config(void) - 885:Src/main.c **** { - 886:Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - 887:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - 888:Src/main.c **** - 889:Src/main.c **** /** Configure the main internal regulator output voltage - 890:Src/main.c **** */ - 891:Src/main.c **** __HAL_RCC_PWR_CLK_ENABLE(); - 892:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); - 893:Src/main.c **** - 894:Src/main.c **** /** Initializes the RCC Oscillators according to the specified parameters - 895:Src/main.c **** * in the RCC_OscInitTypeDef structure. - 896:Src/main.c **** */ - 897:Src/main.c **** RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; - 898:Src/main.c **** RCC_OscInitStruct.HSEState = RCC_HSE_ON; - 899:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - 900:Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - 901:Src/main.c **** RCC_OscInitStruct.PLL.PLLM = 25; - 902:Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 368; - ARM GAS /tmp/ccYgfTud.s page 55 + 846:Src/main.c **** Long_Data[12] = temp16; + 847:Src/main.c **** temp16 = Get_ADC(5); + 848:Src/main.c **** + 849:Src/main.c **** //Put the timer tick to Long_Data: + 850:Src/main.c **** TO6_stop = TO6; + 851:Src/main.c **** Long_Data[3] = (TO6_stop)&0xffff; + 852:Src/main.c **** Long_Data[4] = (TO6_stop>>16)&0xffff; + 853:Src/main.c **** + 854:Src/main.c **** //Put the average temperature of LD1 to Long_Data: + 855:Src/main.c **** Long_Data[5] = LD1_param.LD_CURR_TEMP; + 856:Src/main.c **** + 857:Src/main.c **** //Put the average temperature of LD2 to Long_Data: + 858:Src/main.c **** Long_Data[6] = LD2_param.LD_CURR_TEMP; + 859:Src/main.c **** } + 860:Src/main.c **** while (!TIM10_coflag); + 861:Src/main.c **** + 862:Src/main.c **** Stop_TIM10(); + 863:Src/main.c **** + 864:Src/main.c **** if (task.tau > 3) + 865:Src/main.c **** { + 866:Src/main.c **** htim10.Init.Period = TIM10_period; + 867:Src/main.c **** TO10_counter = task.dt / 10; + 868:Src/main.c **** } + 869:Src/main.c **** + 870:Src/main.c **** CPU_state_old = RUN_TASK; + 871:Src/main.c **** break; + 872:Src/main.c **** } + 873:Src/main.c **** + 874:Src/main.c **** switch (UART_transmission_request) + 875:Src/main.c **** { + 876:Src/main.c **** case MESS_01://Default state + 877:Src/main.c **** USART_TX(State_Data,2); + 878:Src/main.c **** //HAL_UART_Transmit(&huart1, State_Data, 2, 10); + 879:Src/main.c **** State_Data[0]=0; + 880:Src/main.c **** State_Data[1]=0;//All OK! + 881:Src/main.c **** UART_transmission_request = NO_MESS; + 882:Src/main.c **** break; + 883:Src/main.c **** case MESS_02://Transmith packet + 884:Src/main.c **** + 885:Src/main.c **** //Find CS and put to Long_Data: + 886:Src/main.c **** CS_result = CalculateChecksum(&Long_Data[1], DL_16-2); + 887:Src/main.c **** Long_Data[DL_16-1] = CS_result; + 888:Src/main.c **** + 889:Src/main.c **** for (uint16_t i = 0; i < DL_16; i++) + 890:Src/main.c **** { + 891:Src/main.c **** UART_DATA[i*2] = (Long_Data[i])&0xff; + 892:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; + 893:Src/main.c **** } + 894:Src/main.c **** //HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0); + 895:Src/main.c **** //HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + 896:Src/main.c **** //HAL_UART_Transmit_DMA(&huart1, UART_DATA, DL_8); + 897:Src/main.c **** //huart1.gState = HAL_UART_STATE_READY; + 898:Src/main.c **** //hdma_usart1_tx.State=HAL_DMA_STATE_BUSY; + 899:Src/main.c **** USART_TX_DMA (DL_8);//Send data by USART using DMA + 900:Src/main.c **** UART_transmission_request = NO_MESS; + 901:Src/main.c **** break; + 902:Src/main.c **** case MESS_03://Transmith saved packet + ARM GAS /tmp/ccwR4KB7.s page 55 - 903:Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - 904:Src/main.c **** RCC_OscInitStruct.PLL.PLLQ = 8; - 905:Src/main.c **** RCC_OscInitStruct.PLL.PLLR = 2; - 906:Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - 907:Src/main.c **** { - 908:Src/main.c **** Error_Handler(); - 909:Src/main.c **** } - 910:Src/main.c **** - 911:Src/main.c **** /** Activate the Over-Drive mode - 912:Src/main.c **** */ - 913:Src/main.c **** if (HAL_PWREx_EnableOverDrive() != HAL_OK) - 914:Src/main.c **** { - 915:Src/main.c **** Error_Handler(); - 916:Src/main.c **** } - 917:Src/main.c **** - 918:Src/main.c **** /** Initializes the CPU, AHB and APB buses clocks - 919:Src/main.c **** */ - 920:Src/main.c **** RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - 921:Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - 922:Src/main.c **** RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; - 923:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - 924:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; - 925:Src/main.c **** RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; - 926:Src/main.c **** - 927:Src/main.c **** if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_6) != HAL_OK) - 928:Src/main.c **** { - 929:Src/main.c **** Error_Handler(); - 930:Src/main.c **** } - 931:Src/main.c **** } - 932:Src/main.c **** - 933:Src/main.c **** /** - 934:Src/main.c **** * @brief ADC1 Initialization Function - 935:Src/main.c **** * @param None - 936:Src/main.c **** * @retval None - 937:Src/main.c **** */ - 938:Src/main.c **** static void MX_ADC1_Init(void) - 939:Src/main.c **** { - 940:Src/main.c **** - 941:Src/main.c **** /* USER CODE BEGIN ADC1_Init 0 */ - 942:Src/main.c **** - 943:Src/main.c **** /* USER CODE END ADC1_Init 0 */ - 944:Src/main.c **** - 945:Src/main.c **** ADC_ChannelConfTypeDef sConfig = {0}; - 946:Src/main.c **** - 947:Src/main.c **** /* USER CODE BEGIN ADC1_Init 1 */ - 948:Src/main.c **** - 949:Src/main.c **** /* USER CODE END ADC1_Init 1 */ - 950:Src/main.c **** - 951:Src/main.c **** /** Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of con - 952:Src/main.c **** */ - 953:Src/main.c **** hadc1.Instance = ADC1; - 954:Src/main.c **** hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV8; - 955:Src/main.c **** hadc1.Init.Resolution = ADC_RESOLUTION_12B; - 956:Src/main.c **** hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE; - 957:Src/main.c **** hadc1.Init.ContinuousConvMode = DISABLE; - 958:Src/main.c **** hadc1.Init.DiscontinuousConvMode = DISABLE; - 959:Src/main.c **** hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; - ARM GAS /tmp/ccYgfTud.s page 56 + 903:Src/main.c **** for (uint16_t i = 0; i < DL_16; i++) + 904:Src/main.c **** { + 905:Src/main.c **** UART_DATA[i*2] = (Long_Data[i])&0xff; + 906:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; + 907:Src/main.c **** } + 908:Src/main.c **** //HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn); + 909:Src/main.c **** //HAL_UART_Transmit_DMA(&huart1, UART_DATA, DL_8); + 910:Src/main.c **** //huart1.gState = HAL_UART_STATE_READY; + 911:Src/main.c **** //hdma_usart1_tx.State=HAL_DMA_STATE_BUSY; + 912:Src/main.c **** USART_TX_DMA (DL_8);//Send data by USART using DMA + 913:Src/main.c **** UART_transmission_request = NO_MESS; + 914:Src/main.c **** break; + 915:Src/main.c **** } + 916:Src/main.c **** if ((flg_tmt==1)&&((TO6-TO6_uart)>100))//Uart timeout handle. if timeout beetween zero byte of + 917:Src/main.c **** { + 918:Src/main.c **** UART_rec_incr = 0;//Reset uart command counter + 919:Src/main.c **** State_Data[0] |= UART_ERR;//timeout error! + 920:Src/main.c **** UART_transmission_request = MESS_01;//Send status + 921:Src/main.c **** flg_tmt = 0;//Reset timeout flag + 922:Src/main.c **** } + 923:Src/main.c **** /* USER CODE END WHILE */ + 924:Src/main.c **** + 925:Src/main.c **** /* USER CODE BEGIN 3 */ + 926:Src/main.c **** } + 927:Src/main.c **** /* USER CODE END 3 */ + 928:Src/main.c **** } + 929:Src/main.c **** + 930:Src/main.c **** /** + 931:Src/main.c **** * @brief System Clock Configuration + 932:Src/main.c **** * @retval None + 933:Src/main.c **** */ + 934:Src/main.c **** void SystemClock_Config(void) + 935:Src/main.c **** { + 936:Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + 937:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + 938:Src/main.c **** + 939:Src/main.c **** /** Configure the main internal regulator output voltage + 940:Src/main.c **** */ + 941:Src/main.c **** __HAL_RCC_PWR_CLK_ENABLE(); + 942:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + 943:Src/main.c **** + 944:Src/main.c **** /** Initializes the RCC Oscillators according to the specified parameters + 945:Src/main.c **** * in the RCC_OscInitTypeDef structure. + 946:Src/main.c **** */ + 947:Src/main.c **** RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; + 948:Src/main.c **** RCC_OscInitStruct.HSEState = RCC_HSE_ON; + 949:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + 950:Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; + 951:Src/main.c **** RCC_OscInitStruct.PLL.PLLM = 25; + 952:Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 368; + 953:Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + 954:Src/main.c **** RCC_OscInitStruct.PLL.PLLQ = 8; + 955:Src/main.c **** RCC_OscInitStruct.PLL.PLLR = 2; + 956:Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + 957:Src/main.c **** { + 958:Src/main.c **** Error_Handler(); + 959:Src/main.c **** } + ARM GAS /tmp/ccwR4KB7.s page 56 - 960:Src/main.c **** hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; - 961:Src/main.c **** hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; - 962:Src/main.c **** hadc1.Init.NbrOfConversion = 5; - 963:Src/main.c **** hadc1.Init.DMAContinuousRequests = DISABLE; - 964:Src/main.c **** hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; - 965:Src/main.c **** if (HAL_ADC_Init(&hadc1) != HAL_OK) - 966:Src/main.c **** { - 967:Src/main.c **** Error_Handler(); - 968:Src/main.c **** } - 969:Src/main.c **** - 970:Src/main.c **** /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and it - 971:Src/main.c **** */ - 972:Src/main.c **** sConfig.Channel = ADC_CHANNEL_9; - 973:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_1; - 974:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; - 975:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) - 976:Src/main.c **** { - 977:Src/main.c **** Error_Handler(); - 978:Src/main.c **** } - 979:Src/main.c **** - 980:Src/main.c **** /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and it - 981:Src/main.c **** */ - 982:Src/main.c **** sConfig.Channel = ADC_CHANNEL_8; - 983:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_2; - 984:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) - 985:Src/main.c **** { - 986:Src/main.c **** Error_Handler(); - 987:Src/main.c **** } - 988:Src/main.c **** - 989:Src/main.c **** /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and it - 990:Src/main.c **** */ - 991:Src/main.c **** sConfig.Channel = ADC_CHANNEL_2; - 992:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_3; - 993:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) - 994:Src/main.c **** { - 995:Src/main.c **** Error_Handler(); - 996:Src/main.c **** } - 997:Src/main.c **** - 998:Src/main.c **** /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and it - 999:Src/main.c **** */ -1000:Src/main.c **** sConfig.Channel = ADC_CHANNEL_10; -1001:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_4; -1002:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) -1003:Src/main.c **** { -1004:Src/main.c **** Error_Handler(); -1005:Src/main.c **** } -1006:Src/main.c **** -1007:Src/main.c **** /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and it -1008:Src/main.c **** */ -1009:Src/main.c **** sConfig.Channel = ADC_CHANNEL_11; -1010:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_5; -1011:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) -1012:Src/main.c **** { -1013:Src/main.c **** Error_Handler(); -1014:Src/main.c **** } -1015:Src/main.c **** /* USER CODE BEGIN ADC1_Init 2 */ -1016:Src/main.c **** - ARM GAS /tmp/ccYgfTud.s page 57 + 960:Src/main.c **** + 961:Src/main.c **** /** Activate the Over-Drive mode + 962:Src/main.c **** */ + 963:Src/main.c **** if (HAL_PWREx_EnableOverDrive() != HAL_OK) + 964:Src/main.c **** { + 965:Src/main.c **** Error_Handler(); + 966:Src/main.c **** } + 967:Src/main.c **** + 968:Src/main.c **** /** Initializes the CPU, AHB and APB buses clocks + 969:Src/main.c **** */ + 970:Src/main.c **** RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + 971:Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + 972:Src/main.c **** RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + 973:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + 974:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; + 975:Src/main.c **** RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + 976:Src/main.c **** + 977:Src/main.c **** if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_6) != HAL_OK) + 978:Src/main.c **** { + 979:Src/main.c **** Error_Handler(); + 980:Src/main.c **** } + 981:Src/main.c **** } + 982:Src/main.c **** + 983:Src/main.c **** /** + 984:Src/main.c **** * @brief ADC1 Initialization Function + 985:Src/main.c **** * @param None + 986:Src/main.c **** * @retval None + 987:Src/main.c **** */ + 988:Src/main.c **** static void MX_ADC1_Init(void) + 989:Src/main.c **** { + 990:Src/main.c **** + 991:Src/main.c **** /* USER CODE BEGIN ADC1_Init 0 */ + 992:Src/main.c **** + 993:Src/main.c **** /* USER CODE END ADC1_Init 0 */ + 994:Src/main.c **** + 995:Src/main.c **** ADC_ChannelConfTypeDef sConfig = {0}; + 996:Src/main.c **** + 997:Src/main.c **** /* USER CODE BEGIN ADC1_Init 1 */ + 998:Src/main.c **** + 999:Src/main.c **** /* USER CODE END ADC1_Init 1 */ +1000:Src/main.c **** +1001:Src/main.c **** /** Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of con +1002:Src/main.c **** */ +1003:Src/main.c **** hadc1.Instance = ADC1; +1004:Src/main.c **** hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV8; +1005:Src/main.c **** hadc1.Init.Resolution = ADC_RESOLUTION_12B; +1006:Src/main.c **** hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE; +1007:Src/main.c **** hadc1.Init.ContinuousConvMode = DISABLE; +1008:Src/main.c **** hadc1.Init.DiscontinuousConvMode = DISABLE; +1009:Src/main.c **** hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; +1010:Src/main.c **** hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; +1011:Src/main.c **** hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; +1012:Src/main.c **** hadc1.Init.NbrOfConversion = 5; +1013:Src/main.c **** hadc1.Init.DMAContinuousRequests = DISABLE; +1014:Src/main.c **** hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; +1015:Src/main.c **** if (HAL_ADC_Init(&hadc1) != HAL_OK) +1016:Src/main.c **** { + ARM GAS /tmp/ccwR4KB7.s page 57 -1017:Src/main.c **** /* USER CODE END ADC1_Init 2 */ -1018:Src/main.c **** -1019:Src/main.c **** } -1020:Src/main.c **** -1021:Src/main.c **** /** -1022:Src/main.c **** * @brief ADC3 Initialization Function -1023:Src/main.c **** * @param None -1024:Src/main.c **** * @retval None -1025:Src/main.c **** */ -1026:Src/main.c **** static void MX_ADC3_Init(void) -1027:Src/main.c **** { -1028:Src/main.c **** -1029:Src/main.c **** /* USER CODE BEGIN ADC3_Init 0 */ -1030:Src/main.c **** -1031:Src/main.c **** /* USER CODE END ADC3_Init 0 */ -1032:Src/main.c **** -1033:Src/main.c **** ADC_ChannelConfTypeDef sConfig = {0}; -1034:Src/main.c **** -1035:Src/main.c **** /* USER CODE BEGIN ADC3_Init 1 */ -1036:Src/main.c **** -1037:Src/main.c **** /* USER CODE END ADC3_Init 1 */ +1017:Src/main.c **** Error_Handler(); +1018:Src/main.c **** } +1019:Src/main.c **** +1020:Src/main.c **** /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and it +1021:Src/main.c **** */ +1022:Src/main.c **** sConfig.Channel = ADC_CHANNEL_9; +1023:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_1; +1024:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; +1025:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) +1026:Src/main.c **** { +1027:Src/main.c **** Error_Handler(); +1028:Src/main.c **** } +1029:Src/main.c **** +1030:Src/main.c **** /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and it +1031:Src/main.c **** */ +1032:Src/main.c **** sConfig.Channel = ADC_CHANNEL_8; +1033:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_2; +1034:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) +1035:Src/main.c **** { +1036:Src/main.c **** Error_Handler(); +1037:Src/main.c **** } 1038:Src/main.c **** -1039:Src/main.c **** /** Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of con +1039:Src/main.c **** /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and it 1040:Src/main.c **** */ -1041:Src/main.c **** hadc3.Instance = ADC3; -1042:Src/main.c **** hadc3.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV8; -1043:Src/main.c **** hadc3.Init.Resolution = ADC_RESOLUTION_12B; -1044:Src/main.c **** hadc3.Init.ScanConvMode = ADC_SCAN_DISABLE; -1045:Src/main.c **** hadc3.Init.ContinuousConvMode = DISABLE; -1046:Src/main.c **** hadc3.Init.DiscontinuousConvMode = DISABLE; -1047:Src/main.c **** hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; -1048:Src/main.c **** hadc3.Init.ExternalTrigConv = ADC_SOFTWARE_START; -1049:Src/main.c **** hadc3.Init.DataAlign = ADC_DATAALIGN_RIGHT; -1050:Src/main.c **** hadc3.Init.NbrOfConversion = 1; -1051:Src/main.c **** hadc3.Init.DMAContinuousRequests = DISABLE; -1052:Src/main.c **** hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV; -1053:Src/main.c **** if (HAL_ADC_Init(&hadc3) != HAL_OK) -1054:Src/main.c **** { -1055:Src/main.c **** Error_Handler(); -1056:Src/main.c **** } -1057:Src/main.c **** -1058:Src/main.c **** /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and it -1059:Src/main.c **** */ -1060:Src/main.c **** sConfig.Channel = ADC_CHANNEL_15; -1061:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_1; -1062:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; -1063:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) -1064:Src/main.c **** { -1065:Src/main.c **** Error_Handler(); -1066:Src/main.c **** } -1067:Src/main.c **** /* USER CODE BEGIN ADC3_Init 2 */ +1041:Src/main.c **** sConfig.Channel = ADC_CHANNEL_2; +1042:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_3; +1043:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) +1044:Src/main.c **** { +1045:Src/main.c **** Error_Handler(); +1046:Src/main.c **** } +1047:Src/main.c **** +1048:Src/main.c **** /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and it +1049:Src/main.c **** */ +1050:Src/main.c **** sConfig.Channel = ADC_CHANNEL_10; +1051:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_4; +1052:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) +1053:Src/main.c **** { +1054:Src/main.c **** Error_Handler(); +1055:Src/main.c **** } +1056:Src/main.c **** +1057:Src/main.c **** /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and it +1058:Src/main.c **** */ +1059:Src/main.c **** sConfig.Channel = ADC_CHANNEL_11; +1060:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_5; +1061:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) +1062:Src/main.c **** { +1063:Src/main.c **** Error_Handler(); +1064:Src/main.c **** } +1065:Src/main.c **** /* USER CODE BEGIN ADC1_Init 2 */ +1066:Src/main.c **** +1067:Src/main.c **** /* USER CODE END ADC1_Init 2 */ 1068:Src/main.c **** -1069:Src/main.c **** /* USER CODE END ADC3_Init 2 */ +1069:Src/main.c **** } 1070:Src/main.c **** -1071:Src/main.c **** } -1072:Src/main.c **** -1073:Src/main.c **** /** - ARM GAS /tmp/ccYgfTud.s page 58 +1071:Src/main.c **** /** +1072:Src/main.c **** * @brief ADC3 Initialization Function +1073:Src/main.c **** * @param None + ARM GAS /tmp/ccwR4KB7.s page 58 + + +1074:Src/main.c **** * @retval None +1075:Src/main.c **** */ +1076:Src/main.c **** static void MX_ADC3_Init(void) +1077:Src/main.c **** { +1078:Src/main.c **** +1079:Src/main.c **** /* USER CODE BEGIN ADC3_Init 0 */ +1080:Src/main.c **** +1081:Src/main.c **** /* USER CODE END ADC3_Init 0 */ +1082:Src/main.c **** +1083:Src/main.c **** ADC_ChannelConfTypeDef sConfig = {0}; +1084:Src/main.c **** +1085:Src/main.c **** /* USER CODE BEGIN ADC3_Init 1 */ +1086:Src/main.c **** +1087:Src/main.c **** /* USER CODE END ADC3_Init 1 */ +1088:Src/main.c **** +1089:Src/main.c **** /** Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of con +1090:Src/main.c **** */ +1091:Src/main.c **** hadc3.Instance = ADC3; +1092:Src/main.c **** hadc3.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV8; +1093:Src/main.c **** hadc3.Init.Resolution = ADC_RESOLUTION_12B; +1094:Src/main.c **** hadc3.Init.ScanConvMode = ADC_SCAN_DISABLE; +1095:Src/main.c **** hadc3.Init.ContinuousConvMode = DISABLE; +1096:Src/main.c **** hadc3.Init.DiscontinuousConvMode = DISABLE; +1097:Src/main.c **** hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; +1098:Src/main.c **** hadc3.Init.ExternalTrigConv = ADC_SOFTWARE_START; +1099:Src/main.c **** hadc3.Init.DataAlign = ADC_DATAALIGN_RIGHT; +1100:Src/main.c **** hadc3.Init.NbrOfConversion = 1; +1101:Src/main.c **** hadc3.Init.DMAContinuousRequests = DISABLE; +1102:Src/main.c **** hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV; +1103:Src/main.c **** if (HAL_ADC_Init(&hadc3) != HAL_OK) +1104:Src/main.c **** { +1105:Src/main.c **** Error_Handler(); +1106:Src/main.c **** } +1107:Src/main.c **** +1108:Src/main.c **** /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and it +1109:Src/main.c **** */ +1110:Src/main.c **** sConfig.Channel = ADC_CHANNEL_15; +1111:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_1; +1112:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; +1113:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) +1114:Src/main.c **** { +1115:Src/main.c **** Error_Handler(); +1116:Src/main.c **** } +1117:Src/main.c **** /* USER CODE BEGIN ADC3_Init 2 */ +1118:Src/main.c **** +1119:Src/main.c **** /* USER CODE END ADC3_Init 2 */ +1120:Src/main.c **** +1121:Src/main.c **** } +1122:Src/main.c **** +1123:Src/main.c **** /** +1124:Src/main.c **** * @brief SDMMC1 Initialization Function +1125:Src/main.c **** * @param None +1126:Src/main.c **** * @retval None +1127:Src/main.c **** */ +1128:Src/main.c **** static void MX_SDMMC1_SD_Init(void) +1129:Src/main.c **** { + 95 .loc 1 1129 1 is_stmt 1 view -0 + ARM GAS /tmp/ccwR4KB7.s page 59 -1074:Src/main.c **** * @brief SDMMC1 Initialization Function -1075:Src/main.c **** * @param None -1076:Src/main.c **** * @retval None -1077:Src/main.c **** */ -1078:Src/main.c **** static void MX_SDMMC1_SD_Init(void) -1079:Src/main.c **** { - 95 .loc 1 1079 1 is_stmt 1 view -0 96 .cfi_startproc 97 @ args = 0, pretend = 0, frame = 0 98 @ frame_needed = 0, uses_anonymous_args = 0 99 @ link register save eliminated. -1080:Src/main.c **** -1081:Src/main.c **** /* USER CODE BEGIN SDMMC1_Init 0 */ -1082:Src/main.c **** -1083:Src/main.c **** /* USER CODE END SDMMC1_Init 0 */ -1084:Src/main.c **** -1085:Src/main.c **** /* USER CODE BEGIN SDMMC1_Init 1 */ -1086:Src/main.c **** -1087:Src/main.c **** /* USER CODE END SDMMC1_Init 1 */ -1088:Src/main.c **** hsd1.Instance = SDMMC1; - 100 .loc 1 1088 3 view .LVU21 - 101 .loc 1 1088 17 is_stmt 0 view .LVU22 +1130:Src/main.c **** +1131:Src/main.c **** /* USER CODE BEGIN SDMMC1_Init 0 */ +1132:Src/main.c **** +1133:Src/main.c **** /* USER CODE END SDMMC1_Init 0 */ +1134:Src/main.c **** +1135:Src/main.c **** /* USER CODE BEGIN SDMMC1_Init 1 */ +1136:Src/main.c **** +1137:Src/main.c **** /* USER CODE END SDMMC1_Init 1 */ +1138:Src/main.c **** hsd1.Instance = SDMMC1; + 100 .loc 1 1138 3 view .LVU21 + 101 .loc 1 1138 17 is_stmt 0 view .LVU22 102 0000 064B ldr r3, .L6 103 0002 074A ldr r2, .L6+4 104 0004 1A60 str r2, [r3] -1089:Src/main.c **** hsd1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING; - 105 .loc 1 1089 3 is_stmt 1 view .LVU23 - 106 .loc 1 1089 23 is_stmt 0 view .LVU24 +1139:Src/main.c **** hsd1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING; + 105 .loc 1 1139 3 is_stmt 1 view .LVU23 + 106 .loc 1 1139 23 is_stmt 0 view .LVU24 107 0006 0022 movs r2, #0 108 0008 5A60 str r2, [r3, #4] -1090:Src/main.c **** hsd1.Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE; - 109 .loc 1 1090 3 is_stmt 1 view .LVU25 - 110 .loc 1 1090 25 is_stmt 0 view .LVU26 +1140:Src/main.c **** hsd1.Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE; + 109 .loc 1 1140 3 is_stmt 1 view .LVU25 + 110 .loc 1 1140 25 is_stmt 0 view .LVU26 111 000a 9A60 str r2, [r3, #8] -1091:Src/main.c **** hsd1.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; - 112 .loc 1 1091 3 is_stmt 1 view .LVU27 - 113 .loc 1 1091 28 is_stmt 0 view .LVU28 +1141:Src/main.c **** hsd1.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; + 112 .loc 1 1141 3 is_stmt 1 view .LVU27 + 113 .loc 1 1141 28 is_stmt 0 view .LVU28 114 000c DA60 str r2, [r3, #12] -1092:Src/main.c **** hsd1.Init.BusWide = SDMMC_BUS_WIDE_4B; - 115 .loc 1 1092 3 is_stmt 1 view .LVU29 - 116 .loc 1 1092 21 is_stmt 0 view .LVU30 +1142:Src/main.c **** hsd1.Init.BusWide = SDMMC_BUS_WIDE_4B; + 115 .loc 1 1142 3 is_stmt 1 view .LVU29 + 116 .loc 1 1142 21 is_stmt 0 view .LVU30 117 000e 4FF40061 mov r1, #2048 118 0012 1961 str r1, [r3, #16] -1093:Src/main.c **** hsd1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE; - 119 .loc 1 1093 3 is_stmt 1 view .LVU31 - 120 .loc 1 1093 33 is_stmt 0 view .LVU32 +1143:Src/main.c **** hsd1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE; + 119 .loc 1 1143 3 is_stmt 1 view .LVU31 + 120 .loc 1 1143 33 is_stmt 0 view .LVU32 121 0014 5A61 str r2, [r3, #20] -1094:Src/main.c **** hsd1.Init.ClockDiv = 20; - 122 .loc 1 1094 3 is_stmt 1 view .LVU33 - 123 .loc 1 1094 22 is_stmt 0 view .LVU34 +1144:Src/main.c **** hsd1.Init.ClockDiv = 20; + 122 .loc 1 1144 3 is_stmt 1 view .LVU33 + 123 .loc 1 1144 22 is_stmt 0 view .LVU34 124 0016 1422 movs r2, #20 125 0018 9A61 str r2, [r3, #24] -1095:Src/main.c **** /* USER CODE BEGIN SDMMC1_Init 2 */ -1096:Src/main.c **** -1097:Src/main.c **** /* USER CODE END SDMMC1_Init 2 */ -1098:Src/main.c **** -1099:Src/main.c **** } - ARM GAS /tmp/ccYgfTud.s page 59 - - - 126 .loc 1 1099 1 view .LVU35 +1145:Src/main.c **** /* USER CODE BEGIN SDMMC1_Init 2 */ +1146:Src/main.c **** +1147:Src/main.c **** /* USER CODE END SDMMC1_Init 2 */ +1148:Src/main.c **** +1149:Src/main.c **** } + 126 .loc 1 1149 1 view .LVU35 127 001a 7047 bx lr 128 .L7: 129 .align 2 130 .L6: 131 001c 00000000 .word hsd1 132 0020 002C0140 .word 1073818624 + ARM GAS /tmp/ccwR4KB7.s page 60 + + 133 .cfi_endproc 134 .LFE1190: 136 .section .text.MX_DMA_Init,"ax",%progbits @@ -3497,777 +3550,777 @@ ARM GAS /tmp/ccYgfTud.s page 1 140 .thumb_func 142 MX_DMA_Init: 143 .LFB1205: -1100:Src/main.c **** -1101:Src/main.c **** /** -1102:Src/main.c **** * @brief SPI2 Initialization Function -1103:Src/main.c **** * @param None -1104:Src/main.c **** * @retval None -1105:Src/main.c **** */ -1106:Src/main.c **** static void MX_SPI2_Init(void) -1107:Src/main.c **** { -1108:Src/main.c **** -1109:Src/main.c **** /* USER CODE BEGIN SPI2_Init 0 */ -1110:Src/main.c **** -1111:Src/main.c **** /* USER CODE END SPI2_Init 0 */ -1112:Src/main.c **** -1113:Src/main.c **** LL_SPI_InitTypeDef SPI_InitStruct = {0}; -1114:Src/main.c **** -1115:Src/main.c **** LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; -1116:Src/main.c **** -1117:Src/main.c **** /* Peripheral clock enable */ -1118:Src/main.c **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_SPI2); -1119:Src/main.c **** -1120:Src/main.c **** LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOB); -1121:Src/main.c **** /**SPI2 GPIO Configuration -1122:Src/main.c **** PB13 ------> SPI2_SCK -1123:Src/main.c **** PB14 ------> SPI2_MISO -1124:Src/main.c **** PB15 ------> SPI2_MOSI -1125:Src/main.c **** */ -1126:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_13; -1127:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; -1128:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; -1129:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; -1130:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; -1131:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; -1132:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); -1133:Src/main.c **** -1134:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_14; -1135:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; -1136:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; -1137:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; -1138:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; -1139:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; -1140:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); - ARM GAS /tmp/ccYgfTud.s page 60 - - -1141:Src/main.c **** -1142:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_15; -1143:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; -1144:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; -1145:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; -1146:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; -1147:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; -1148:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); -1149:Src/main.c **** -1150:Src/main.c **** /* USER CODE BEGIN SPI2_Init 1 */ -1151:Src/main.c **** -1152:Src/main.c **** /* USER CODE END SPI2_Init 1 */ -1153:Src/main.c **** /* SPI2 parameter configuration*/ -1154:Src/main.c **** SPI_InitStruct.TransferDirection = LL_SPI_FULL_DUPLEX; -1155:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; -1156:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; -1157:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_LOW; -1158:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; -1159:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; -1160:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV8; -1161:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; -1162:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; -1163:Src/main.c **** SPI_InitStruct.CRCPoly = 7; -1164:Src/main.c **** LL_SPI_Init(SPI2, &SPI_InitStruct); -1165:Src/main.c **** LL_SPI_SetStandard(SPI2, LL_SPI_PROTOCOL_MOTOROLA); -1166:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI2); -1167:Src/main.c **** /* USER CODE BEGIN SPI2_Init 2 */ -1168:Src/main.c **** -1169:Src/main.c **** /* USER CODE END SPI2_Init 2 */ -1170:Src/main.c **** -1171:Src/main.c **** } -1172:Src/main.c **** -1173:Src/main.c **** /** -1174:Src/main.c **** * @brief SPI4 Initialization Function -1175:Src/main.c **** * @param None -1176:Src/main.c **** * @retval None -1177:Src/main.c **** */ -1178:Src/main.c **** static void MX_SPI4_Init(void) -1179:Src/main.c **** { -1180:Src/main.c **** -1181:Src/main.c **** /* USER CODE BEGIN SPI4_Init 0 */ -1182:Src/main.c **** -1183:Src/main.c **** /* USER CODE END SPI4_Init 0 */ -1184:Src/main.c **** -1185:Src/main.c **** LL_SPI_InitTypeDef SPI_InitStruct = {0}; -1186:Src/main.c **** -1187:Src/main.c **** LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; -1188:Src/main.c **** -1189:Src/main.c **** /* Peripheral clock enable */ -1190:Src/main.c **** LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_SPI4); +1150:Src/main.c **** +1151:Src/main.c **** /** +1152:Src/main.c **** * @brief SPI2 Initialization Function +1153:Src/main.c **** * @param None +1154:Src/main.c **** * @retval None +1155:Src/main.c **** */ +1156:Src/main.c **** static void MX_SPI2_Init(void) +1157:Src/main.c **** { +1158:Src/main.c **** +1159:Src/main.c **** /* USER CODE BEGIN SPI2_Init 0 */ +1160:Src/main.c **** +1161:Src/main.c **** /* USER CODE END SPI2_Init 0 */ +1162:Src/main.c **** +1163:Src/main.c **** LL_SPI_InitTypeDef SPI_InitStruct = {0}; +1164:Src/main.c **** +1165:Src/main.c **** LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; +1166:Src/main.c **** +1167:Src/main.c **** /* Peripheral clock enable */ +1168:Src/main.c **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_SPI2); +1169:Src/main.c **** +1170:Src/main.c **** LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOB); +1171:Src/main.c **** /**SPI2 GPIO Configuration +1172:Src/main.c **** PB13 ------> SPI2_SCK +1173:Src/main.c **** PB14 ------> SPI2_MISO +1174:Src/main.c **** PB15 ------> SPI2_MOSI +1175:Src/main.c **** */ +1176:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_13; +1177:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; +1178:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; +1179:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; +1180:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; +1181:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; +1182:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); +1183:Src/main.c **** +1184:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_14; +1185:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; +1186:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; +1187:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; +1188:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; +1189:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; +1190:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); 1191:Src/main.c **** -1192:Src/main.c **** LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOE); -1193:Src/main.c **** /**SPI4 GPIO Configuration -1194:Src/main.c **** PE12 ------> SPI4_SCK -1195:Src/main.c **** PE13 ------> SPI4_MISO -1196:Src/main.c **** */ -1197:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_12; - ARM GAS /tmp/ccYgfTud.s page 61 +1192:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_15; +1193:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; +1194:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; +1195:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; +1196:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; +1197:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; + ARM GAS /tmp/ccwR4KB7.s page 61 -1198:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; -1199:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; -1200:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; -1201:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; -1202:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; -1203:Src/main.c **** LL_GPIO_Init(GPIOE, &GPIO_InitStruct); -1204:Src/main.c **** -1205:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_13; -1206:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; -1207:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; -1208:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; -1209:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; -1210:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; -1211:Src/main.c **** LL_GPIO_Init(GPIOE, &GPIO_InitStruct); -1212:Src/main.c **** -1213:Src/main.c **** /* USER CODE BEGIN SPI4_Init 1 */ -1214:Src/main.c **** -1215:Src/main.c **** /* USER CODE END SPI4_Init 1 */ -1216:Src/main.c **** /* SPI4 parameter configuration*/ -1217:Src/main.c **** SPI_InitStruct.TransferDirection = LL_SPI_SIMPLEX_RX; -1218:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; -1219:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; -1220:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; -1221:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; -1222:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; -1223:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; -1224:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; -1225:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; -1226:Src/main.c **** SPI_InitStruct.CRCPoly = 7; -1227:Src/main.c **** LL_SPI_Init(SPI4, &SPI_InitStruct); -1228:Src/main.c **** LL_SPI_SetStandard(SPI4, LL_SPI_PROTOCOL_MOTOROLA); -1229:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI4); -1230:Src/main.c **** /* USER CODE BEGIN SPI4_Init 2 */ -1231:Src/main.c **** -1232:Src/main.c **** /* USER CODE END SPI4_Init 2 */ -1233:Src/main.c **** -1234:Src/main.c **** } -1235:Src/main.c **** -1236:Src/main.c **** /** -1237:Src/main.c **** * @brief SPI5 Initialization Function -1238:Src/main.c **** * @param None -1239:Src/main.c **** * @retval None -1240:Src/main.c **** */ -1241:Src/main.c **** static void MX_SPI5_Init(void) -1242:Src/main.c **** { -1243:Src/main.c **** -1244:Src/main.c **** /* USER CODE BEGIN SPI5_Init 0 */ -1245:Src/main.c **** -1246:Src/main.c **** /* USER CODE END SPI5_Init 0 */ -1247:Src/main.c **** -1248:Src/main.c **** LL_SPI_InitTypeDef SPI_InitStruct = {0}; -1249:Src/main.c **** -1250:Src/main.c **** LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; -1251:Src/main.c **** -1252:Src/main.c **** /* Peripheral clock enable */ -1253:Src/main.c **** LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_SPI5); +1198:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); +1199:Src/main.c **** +1200:Src/main.c **** /* USER CODE BEGIN SPI2_Init 1 */ +1201:Src/main.c **** +1202:Src/main.c **** /* USER CODE END SPI2_Init 1 */ +1203:Src/main.c **** /* SPI2 parameter configuration*/ +1204:Src/main.c **** SPI_InitStruct.TransferDirection = LL_SPI_FULL_DUPLEX; +1205:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; +1206:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; +1207:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_LOW; +1208:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; +1209:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; +1210:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV8; +1211:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; +1212:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; +1213:Src/main.c **** SPI_InitStruct.CRCPoly = 7; +1214:Src/main.c **** LL_SPI_Init(SPI2, &SPI_InitStruct); +1215:Src/main.c **** LL_SPI_SetStandard(SPI2, LL_SPI_PROTOCOL_MOTOROLA); +1216:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI2); +1217:Src/main.c **** /* USER CODE BEGIN SPI2_Init 2 */ +1218:Src/main.c **** +1219:Src/main.c **** /* USER CODE END SPI2_Init 2 */ +1220:Src/main.c **** +1221:Src/main.c **** } +1222:Src/main.c **** +1223:Src/main.c **** /** +1224:Src/main.c **** * @brief SPI4 Initialization Function +1225:Src/main.c **** * @param None +1226:Src/main.c **** * @retval None +1227:Src/main.c **** */ +1228:Src/main.c **** static void MX_SPI4_Init(void) +1229:Src/main.c **** { +1230:Src/main.c **** +1231:Src/main.c **** /* USER CODE BEGIN SPI4_Init 0 */ +1232:Src/main.c **** +1233:Src/main.c **** /* USER CODE END SPI4_Init 0 */ +1234:Src/main.c **** +1235:Src/main.c **** LL_SPI_InitTypeDef SPI_InitStruct = {0}; +1236:Src/main.c **** +1237:Src/main.c **** LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; +1238:Src/main.c **** +1239:Src/main.c **** /* Peripheral clock enable */ +1240:Src/main.c **** LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_SPI4); +1241:Src/main.c **** +1242:Src/main.c **** LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOE); +1243:Src/main.c **** /**SPI4 GPIO Configuration +1244:Src/main.c **** PE12 ------> SPI4_SCK +1245:Src/main.c **** PE13 ------> SPI4_MISO +1246:Src/main.c **** */ +1247:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_12; +1248:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; +1249:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; +1250:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; +1251:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; +1252:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; +1253:Src/main.c **** LL_GPIO_Init(GPIOE, &GPIO_InitStruct); 1254:Src/main.c **** - ARM GAS /tmp/ccYgfTud.s page 62 + ARM GAS /tmp/ccwR4KB7.s page 62 -1255:Src/main.c **** LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOF); -1256:Src/main.c **** /**SPI5 GPIO Configuration -1257:Src/main.c **** PF7 ------> SPI5_SCK -1258:Src/main.c **** PF8 ------> SPI5_MISO -1259:Src/main.c **** */ -1260:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_7; -1261:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; -1262:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; -1263:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; -1264:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; -1265:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; -1266:Src/main.c **** LL_GPIO_Init(GPIOF, &GPIO_InitStruct); -1267:Src/main.c **** -1268:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_8; -1269:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; -1270:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; -1271:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; -1272:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; -1273:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; -1274:Src/main.c **** LL_GPIO_Init(GPIOF, &GPIO_InitStruct); -1275:Src/main.c **** -1276:Src/main.c **** /* USER CODE BEGIN SPI5_Init 1 */ -1277:Src/main.c **** -1278:Src/main.c **** /* USER CODE END SPI5_Init 1 */ -1279:Src/main.c **** /* SPI5 parameter configuration*/ -1280:Src/main.c **** SPI_InitStruct.TransferDirection = LL_SPI_SIMPLEX_RX; -1281:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; -1282:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; -1283:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; -1284:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; -1285:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; -1286:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; -1287:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; -1288:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; -1289:Src/main.c **** SPI_InitStruct.CRCPoly = 7; -1290:Src/main.c **** LL_SPI_Init(SPI5, &SPI_InitStruct); -1291:Src/main.c **** LL_SPI_SetStandard(SPI5, LL_SPI_PROTOCOL_MOTOROLA); -1292:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI5); -1293:Src/main.c **** /* USER CODE BEGIN SPI5_Init 2 */ -1294:Src/main.c **** -1295:Src/main.c **** /* USER CODE END SPI5_Init 2 */ -1296:Src/main.c **** -1297:Src/main.c **** } -1298:Src/main.c **** -1299:Src/main.c **** /** -1300:Src/main.c **** * @brief SPI6 Initialization Function -1301:Src/main.c **** * @param None -1302:Src/main.c **** * @retval None -1303:Src/main.c **** */ -1304:Src/main.c **** static void MX_SPI6_Init(void) -1305:Src/main.c **** { -1306:Src/main.c **** -1307:Src/main.c **** /* USER CODE BEGIN SPI6_Init 0 */ -1308:Src/main.c **** -1309:Src/main.c **** /* USER CODE END SPI6_Init 0 */ -1310:Src/main.c **** -1311:Src/main.c **** LL_SPI_InitTypeDef SPI_InitStruct = {0}; - ARM GAS /tmp/ccYgfTud.s page 63 +1255:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_13; +1256:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; +1257:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; +1258:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; +1259:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; +1260:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; +1261:Src/main.c **** LL_GPIO_Init(GPIOE, &GPIO_InitStruct); +1262:Src/main.c **** +1263:Src/main.c **** /* USER CODE BEGIN SPI4_Init 1 */ +1264:Src/main.c **** +1265:Src/main.c **** /* USER CODE END SPI4_Init 1 */ +1266:Src/main.c **** /* SPI4 parameter configuration*/ +1267:Src/main.c **** SPI_InitStruct.TransferDirection = LL_SPI_SIMPLEX_RX; +1268:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; +1269:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; +1270:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; +1271:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; +1272:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; +1273:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; +1274:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; +1275:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; +1276:Src/main.c **** SPI_InitStruct.CRCPoly = 7; +1277:Src/main.c **** LL_SPI_Init(SPI4, &SPI_InitStruct); +1278:Src/main.c **** LL_SPI_SetStandard(SPI4, LL_SPI_PROTOCOL_MOTOROLA); +1279:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI4); +1280:Src/main.c **** /* USER CODE BEGIN SPI4_Init 2 */ +1281:Src/main.c **** +1282:Src/main.c **** /* USER CODE END SPI4_Init 2 */ +1283:Src/main.c **** +1284:Src/main.c **** } +1285:Src/main.c **** +1286:Src/main.c **** /** +1287:Src/main.c **** * @brief SPI5 Initialization Function +1288:Src/main.c **** * @param None +1289:Src/main.c **** * @retval None +1290:Src/main.c **** */ +1291:Src/main.c **** static void MX_SPI5_Init(void) +1292:Src/main.c **** { +1293:Src/main.c **** +1294:Src/main.c **** /* USER CODE BEGIN SPI5_Init 0 */ +1295:Src/main.c **** +1296:Src/main.c **** /* USER CODE END SPI5_Init 0 */ +1297:Src/main.c **** +1298:Src/main.c **** LL_SPI_InitTypeDef SPI_InitStruct = {0}; +1299:Src/main.c **** +1300:Src/main.c **** LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; +1301:Src/main.c **** +1302:Src/main.c **** /* Peripheral clock enable */ +1303:Src/main.c **** LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_SPI5); +1304:Src/main.c **** +1305:Src/main.c **** LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOF); +1306:Src/main.c **** /**SPI5 GPIO Configuration +1307:Src/main.c **** PF7 ------> SPI5_SCK +1308:Src/main.c **** PF8 ------> SPI5_MISO +1309:Src/main.c **** */ +1310:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_7; +1311:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + ARM GAS /tmp/ccwR4KB7.s page 63 -1312:Src/main.c **** -1313:Src/main.c **** LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; -1314:Src/main.c **** -1315:Src/main.c **** /* Peripheral clock enable */ -1316:Src/main.c **** LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_SPI6); +1312:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; +1313:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; +1314:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; +1315:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; +1316:Src/main.c **** LL_GPIO_Init(GPIOF, &GPIO_InitStruct); 1317:Src/main.c **** -1318:Src/main.c **** LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOA); -1319:Src/main.c **** /**SPI6 GPIO Configuration -1320:Src/main.c **** PA5 ------> SPI6_SCK -1321:Src/main.c **** PA7 ------> SPI6_MOSI -1322:Src/main.c **** */ -1323:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_5; -1324:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; -1325:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; -1326:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; -1327:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; -1328:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_8; -1329:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); -1330:Src/main.c **** -1331:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_7; -1332:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; -1333:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; -1334:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; -1335:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; -1336:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_8; -1337:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); -1338:Src/main.c **** -1339:Src/main.c **** /* USER CODE BEGIN SPI6_Init 1 */ -1340:Src/main.c **** -1341:Src/main.c **** /* USER CODE END SPI6_Init 1 */ -1342:Src/main.c **** /* SPI6 parameter configuration*/ -1343:Src/main.c **** SPI_InitStruct.TransferDirection = LL_SPI_FULL_DUPLEX; -1344:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; -1345:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; -1346:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; -1347:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_2EDGE; -1348:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; -1349:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; -1350:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; -1351:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; -1352:Src/main.c **** SPI_InitStruct.CRCPoly = 7; -1353:Src/main.c **** LL_SPI_Init(SPI6, &SPI_InitStruct); -1354:Src/main.c **** LL_SPI_SetStandard(SPI6, LL_SPI_PROTOCOL_MOTOROLA); -1355:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI6); -1356:Src/main.c **** /* USER CODE BEGIN SPI6_Init 2 */ -1357:Src/main.c **** -1358:Src/main.c **** /* USER CODE END SPI6_Init 2 */ -1359:Src/main.c **** -1360:Src/main.c **** } -1361:Src/main.c **** -1362:Src/main.c **** /** -1363:Src/main.c **** * @brief TIM2 Initialization Function -1364:Src/main.c **** * @param None -1365:Src/main.c **** * @retval None -1366:Src/main.c **** */ -1367:Src/main.c **** static void MX_TIM2_Init(void) -1368:Src/main.c **** { - ARM GAS /tmp/ccYgfTud.s page 64 +1318:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_8; +1319:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; +1320:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; +1321:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; +1322:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; +1323:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; +1324:Src/main.c **** LL_GPIO_Init(GPIOF, &GPIO_InitStruct); +1325:Src/main.c **** +1326:Src/main.c **** /* USER CODE BEGIN SPI5_Init 1 */ +1327:Src/main.c **** +1328:Src/main.c **** /* USER CODE END SPI5_Init 1 */ +1329:Src/main.c **** /* SPI5 parameter configuration*/ +1330:Src/main.c **** SPI_InitStruct.TransferDirection = LL_SPI_SIMPLEX_RX; +1331:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; +1332:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; +1333:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; +1334:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; +1335:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; +1336:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; +1337:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; +1338:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; +1339:Src/main.c **** SPI_InitStruct.CRCPoly = 7; +1340:Src/main.c **** LL_SPI_Init(SPI5, &SPI_InitStruct); +1341:Src/main.c **** LL_SPI_SetStandard(SPI5, LL_SPI_PROTOCOL_MOTOROLA); +1342:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI5); +1343:Src/main.c **** /* USER CODE BEGIN SPI5_Init 2 */ +1344:Src/main.c **** +1345:Src/main.c **** /* USER CODE END SPI5_Init 2 */ +1346:Src/main.c **** +1347:Src/main.c **** } +1348:Src/main.c **** +1349:Src/main.c **** /** +1350:Src/main.c **** * @brief SPI6 Initialization Function +1351:Src/main.c **** * @param None +1352:Src/main.c **** * @retval None +1353:Src/main.c **** */ +1354:Src/main.c **** static void MX_SPI6_Init(void) +1355:Src/main.c **** { +1356:Src/main.c **** +1357:Src/main.c **** /* USER CODE BEGIN SPI6_Init 0 */ +1358:Src/main.c **** +1359:Src/main.c **** /* USER CODE END SPI6_Init 0 */ +1360:Src/main.c **** +1361:Src/main.c **** LL_SPI_InitTypeDef SPI_InitStruct = {0}; +1362:Src/main.c **** +1363:Src/main.c **** LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; +1364:Src/main.c **** +1365:Src/main.c **** /* Peripheral clock enable */ +1366:Src/main.c **** LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_SPI6); +1367:Src/main.c **** +1368:Src/main.c **** LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOA); + ARM GAS /tmp/ccwR4KB7.s page 64 -1369:Src/main.c **** -1370:Src/main.c **** /* USER CODE BEGIN TIM2_Init 0 */ -1371:Src/main.c **** -1372:Src/main.c **** /* USER CODE END TIM2_Init 0 */ -1373:Src/main.c **** -1374:Src/main.c **** LL_TIM_InitTypeDef TIM_InitStruct = {0}; -1375:Src/main.c **** -1376:Src/main.c **** /* Peripheral clock enable */ -1377:Src/main.c **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM2); -1378:Src/main.c **** -1379:Src/main.c **** /* TIM2 interrupt Init */ -1380:Src/main.c **** NVIC_SetPriority(TIM2_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); -1381:Src/main.c **** NVIC_EnableIRQ(TIM2_IRQn); -1382:Src/main.c **** -1383:Src/main.c **** /* USER CODE BEGIN TIM2_Init 1 */ -1384:Src/main.c **** -1385:Src/main.c **** /* USER CODE END TIM2_Init 1 */ -1386:Src/main.c **** TIM_InitStruct.Prescaler = 1000; -1387:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; -1388:Src/main.c **** TIM_InitStruct.Autoreload = 840000; -1389:Src/main.c **** TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; -1390:Src/main.c **** LL_TIM_Init(TIM2, &TIM_InitStruct); -1391:Src/main.c **** LL_TIM_DisableARRPreload(TIM2); -1392:Src/main.c **** LL_TIM_SetClockSource(TIM2, LL_TIM_CLOCKSOURCE_INTERNAL); -1393:Src/main.c **** LL_TIM_SetTriggerOutput(TIM2, LL_TIM_TRGO_RESET); -1394:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM2); -1395:Src/main.c **** /* USER CODE BEGIN TIM2_Init 2 */ -1396:Src/main.c **** -1397:Src/main.c **** /* USER CODE END TIM2_Init 2 */ -1398:Src/main.c **** -1399:Src/main.c **** } -1400:Src/main.c **** -1401:Src/main.c **** /** -1402:Src/main.c **** * @brief TIM4 Initialization Function -1403:Src/main.c **** * @param None -1404:Src/main.c **** * @retval None -1405:Src/main.c **** */ -1406:Src/main.c **** static void MX_TIM4_Init(void) -1407:Src/main.c **** { -1408:Src/main.c **** -1409:Src/main.c **** /* USER CODE BEGIN TIM4_Init 0 */ -1410:Src/main.c **** -1411:Src/main.c **** /* USER CODE END TIM4_Init 0 */ -1412:Src/main.c **** -1413:Src/main.c **** TIM_ClockConfigTypeDef sClockSourceConfig = {0}; -1414:Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0}; -1415:Src/main.c **** TIM_OC_InitTypeDef sConfigOC = {0}; -1416:Src/main.c **** -1417:Src/main.c **** /* USER CODE BEGIN TIM4_Init 1 */ -1418:Src/main.c **** -1419:Src/main.c **** /* USER CODE END TIM4_Init 1 */ -1420:Src/main.c **** htim4.Instance = TIM4; -1421:Src/main.c **** htim4.Init.Prescaler = 0; -1422:Src/main.c **** htim4.Init.CounterMode = TIM_COUNTERMODE_UP; -1423:Src/main.c **** htim4.Init.Period = 45; -1424:Src/main.c **** htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; -1425:Src/main.c **** htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - ARM GAS /tmp/ccYgfTud.s page 65 +1369:Src/main.c **** /**SPI6 GPIO Configuration +1370:Src/main.c **** PA5 ------> SPI6_SCK +1371:Src/main.c **** PA7 ------> SPI6_MOSI +1372:Src/main.c **** */ +1373:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_5; +1374:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; +1375:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; +1376:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; +1377:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; +1378:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_8; +1379:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); +1380:Src/main.c **** +1381:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_7; +1382:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; +1383:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; +1384:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; +1385:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; +1386:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_8; +1387:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); +1388:Src/main.c **** +1389:Src/main.c **** /* USER CODE BEGIN SPI6_Init 1 */ +1390:Src/main.c **** +1391:Src/main.c **** /* USER CODE END SPI6_Init 1 */ +1392:Src/main.c **** /* SPI6 parameter configuration*/ +1393:Src/main.c **** SPI_InitStruct.TransferDirection = LL_SPI_FULL_DUPLEX; +1394:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; +1395:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; +1396:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; +1397:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_2EDGE; +1398:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; +1399:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; +1400:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; +1401:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; +1402:Src/main.c **** SPI_InitStruct.CRCPoly = 7; +1403:Src/main.c **** LL_SPI_Init(SPI6, &SPI_InitStruct); +1404:Src/main.c **** LL_SPI_SetStandard(SPI6, LL_SPI_PROTOCOL_MOTOROLA); +1405:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI6); +1406:Src/main.c **** /* USER CODE BEGIN SPI6_Init 2 */ +1407:Src/main.c **** +1408:Src/main.c **** /* USER CODE END SPI6_Init 2 */ +1409:Src/main.c **** +1410:Src/main.c **** } +1411:Src/main.c **** +1412:Src/main.c **** /** +1413:Src/main.c **** * @brief TIM2 Initialization Function +1414:Src/main.c **** * @param None +1415:Src/main.c **** * @retval None +1416:Src/main.c **** */ +1417:Src/main.c **** static void MX_TIM2_Init(void) +1418:Src/main.c **** { +1419:Src/main.c **** +1420:Src/main.c **** /* USER CODE BEGIN TIM2_Init 0 */ +1421:Src/main.c **** +1422:Src/main.c **** /* USER CODE END TIM2_Init 0 */ +1423:Src/main.c **** +1424:Src/main.c **** LL_TIM_InitTypeDef TIM_InitStruct = {0}; +1425:Src/main.c **** + ARM GAS /tmp/ccwR4KB7.s page 65 -1426:Src/main.c **** if (HAL_TIM_Base_Init(&htim4) != HAL_OK) -1427:Src/main.c **** { -1428:Src/main.c **** Error_Handler(); -1429:Src/main.c **** } -1430:Src/main.c **** sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; -1431:Src/main.c **** if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK) -1432:Src/main.c **** { -1433:Src/main.c **** Error_Handler(); -1434:Src/main.c **** } -1435:Src/main.c **** if (HAL_TIM_PWM_Init(&htim4) != HAL_OK) -1436:Src/main.c **** { -1437:Src/main.c **** Error_Handler(); -1438:Src/main.c **** } -1439:Src/main.c **** sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; -1440:Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; -1441:Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) -1442:Src/main.c **** { -1443:Src/main.c **** Error_Handler(); -1444:Src/main.c **** } -1445:Src/main.c **** sConfigOC.OCMode = TIM_OCMODE_PWM1; -1446:Src/main.c **** sConfigOC.Pulse = 22; -1447:Src/main.c **** sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; -1448:Src/main.c **** sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; -1449:Src/main.c **** if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) -1450:Src/main.c **** { -1451:Src/main.c **** Error_Handler(); -1452:Src/main.c **** } -1453:Src/main.c **** /* USER CODE BEGIN TIM4_Init 2 */ -1454:Src/main.c **** -1455:Src/main.c **** /* USER CODE END TIM4_Init 2 */ -1456:Src/main.c **** HAL_TIM_MspPostInit(&htim4); -1457:Src/main.c **** -1458:Src/main.c **** } -1459:Src/main.c **** -1460:Src/main.c **** /** -1461:Src/main.c **** * @brief TIM5 Initialization Function -1462:Src/main.c **** * @param None -1463:Src/main.c **** * @retval None -1464:Src/main.c **** */ -1465:Src/main.c **** static void MX_TIM5_Init(void) -1466:Src/main.c **** { -1467:Src/main.c **** -1468:Src/main.c **** /* USER CODE BEGIN TIM5_Init 0 */ -1469:Src/main.c **** -1470:Src/main.c **** /* USER CODE END TIM5_Init 0 */ -1471:Src/main.c **** -1472:Src/main.c **** LL_TIM_InitTypeDef TIM_InitStruct = {0}; -1473:Src/main.c **** -1474:Src/main.c **** /* Peripheral clock enable */ -1475:Src/main.c **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM5); -1476:Src/main.c **** -1477:Src/main.c **** /* TIM5 interrupt Init */ -1478:Src/main.c **** NVIC_SetPriority(TIM5_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); -1479:Src/main.c **** NVIC_EnableIRQ(TIM5_IRQn); -1480:Src/main.c **** -1481:Src/main.c **** /* USER CODE BEGIN TIM5_Init 1 */ -1482:Src/main.c **** - ARM GAS /tmp/ccYgfTud.s page 66 +1426:Src/main.c **** /* Peripheral clock enable */ +1427:Src/main.c **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM2); +1428:Src/main.c **** +1429:Src/main.c **** /* TIM2 interrupt Init */ +1430:Src/main.c **** NVIC_SetPriority(TIM2_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); +1431:Src/main.c **** NVIC_EnableIRQ(TIM2_IRQn); +1432:Src/main.c **** +1433:Src/main.c **** /* USER CODE BEGIN TIM2_Init 1 */ +1434:Src/main.c **** +1435:Src/main.c **** /* USER CODE END TIM2_Init 1 */ +1436:Src/main.c **** TIM_InitStruct.Prescaler = 1000; +1437:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; +1438:Src/main.c **** TIM_InitStruct.Autoreload = 840000; +1439:Src/main.c **** TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; +1440:Src/main.c **** LL_TIM_Init(TIM2, &TIM_InitStruct); +1441:Src/main.c **** LL_TIM_DisableARRPreload(TIM2); +1442:Src/main.c **** LL_TIM_SetClockSource(TIM2, LL_TIM_CLOCKSOURCE_INTERNAL); +1443:Src/main.c **** LL_TIM_SetTriggerOutput(TIM2, LL_TIM_TRGO_RESET); +1444:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM2); +1445:Src/main.c **** /* USER CODE BEGIN TIM2_Init 2 */ +1446:Src/main.c **** +1447:Src/main.c **** /* USER CODE END TIM2_Init 2 */ +1448:Src/main.c **** +1449:Src/main.c **** } +1450:Src/main.c **** +1451:Src/main.c **** /** +1452:Src/main.c **** * @brief TIM4 Initialization Function +1453:Src/main.c **** * @param None +1454:Src/main.c **** * @retval None +1455:Src/main.c **** */ +1456:Src/main.c **** static void MX_TIM4_Init(void) +1457:Src/main.c **** { +1458:Src/main.c **** +1459:Src/main.c **** /* USER CODE BEGIN TIM4_Init 0 */ +1460:Src/main.c **** +1461:Src/main.c **** /* USER CODE END TIM4_Init 0 */ +1462:Src/main.c **** +1463:Src/main.c **** TIM_ClockConfigTypeDef sClockSourceConfig = {0}; +1464:Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0}; +1465:Src/main.c **** TIM_OC_InitTypeDef sConfigOC = {0}; +1466:Src/main.c **** +1467:Src/main.c **** /* USER CODE BEGIN TIM4_Init 1 */ +1468:Src/main.c **** +1469:Src/main.c **** /* USER CODE END TIM4_Init 1 */ +1470:Src/main.c **** htim4.Instance = TIM4; +1471:Src/main.c **** htim4.Init.Prescaler = 0; +1472:Src/main.c **** htim4.Init.CounterMode = TIM_COUNTERMODE_UP; +1473:Src/main.c **** htim4.Init.Period = 45; +1474:Src/main.c **** htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; +1475:Src/main.c **** htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; +1476:Src/main.c **** if (HAL_TIM_Base_Init(&htim4) != HAL_OK) +1477:Src/main.c **** { +1478:Src/main.c **** Error_Handler(); +1479:Src/main.c **** } +1480:Src/main.c **** sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; +1481:Src/main.c **** if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK) +1482:Src/main.c **** { + ARM GAS /tmp/ccwR4KB7.s page 66 -1483:Src/main.c **** /* USER CODE END TIM5_Init 1 */ -1484:Src/main.c **** TIM_InitStruct.Prescaler = 10000; -1485:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; -1486:Src/main.c **** TIM_InitStruct.Autoreload = 560; -1487:Src/main.c **** TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; -1488:Src/main.c **** LL_TIM_Init(TIM5, &TIM_InitStruct); -1489:Src/main.c **** LL_TIM_DisableARRPreload(TIM5); -1490:Src/main.c **** LL_TIM_SetClockSource(TIM5, LL_TIM_CLOCKSOURCE_INTERNAL); -1491:Src/main.c **** LL_TIM_SetTriggerOutput(TIM5, LL_TIM_TRGO_RESET); -1492:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM5); -1493:Src/main.c **** /* USER CODE BEGIN TIM5_Init 2 */ -1494:Src/main.c **** -1495:Src/main.c **** /* USER CODE END TIM5_Init 2 */ -1496:Src/main.c **** -1497:Src/main.c **** } -1498:Src/main.c **** -1499:Src/main.c **** /** -1500:Src/main.c **** * @brief TIM6 Initialization Function -1501:Src/main.c **** * @param None -1502:Src/main.c **** * @retval None -1503:Src/main.c **** */ -1504:Src/main.c **** static void MX_TIM6_Init(void) -1505:Src/main.c **** { -1506:Src/main.c **** -1507:Src/main.c **** /* USER CODE BEGIN TIM6_Init 0 */ -1508:Src/main.c **** -1509:Src/main.c **** /* USER CODE END TIM6_Init 0 */ -1510:Src/main.c **** -1511:Src/main.c **** LL_TIM_InitTypeDef TIM_InitStruct = {0}; -1512:Src/main.c **** -1513:Src/main.c **** /* Peripheral clock enable */ -1514:Src/main.c **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM6); -1515:Src/main.c **** -1516:Src/main.c **** /* TIM6 interrupt Init */ -1517:Src/main.c **** NVIC_SetPriority(TIM6_DAC_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); -1518:Src/main.c **** NVIC_EnableIRQ(TIM6_DAC_IRQn); +1483:Src/main.c **** Error_Handler(); +1484:Src/main.c **** } +1485:Src/main.c **** if (HAL_TIM_PWM_Init(&htim4) != HAL_OK) +1486:Src/main.c **** { +1487:Src/main.c **** Error_Handler(); +1488:Src/main.c **** } +1489:Src/main.c **** sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; +1490:Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; +1491:Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) +1492:Src/main.c **** { +1493:Src/main.c **** Error_Handler(); +1494:Src/main.c **** } +1495:Src/main.c **** sConfigOC.OCMode = TIM_OCMODE_PWM1; +1496:Src/main.c **** sConfigOC.Pulse = 22; +1497:Src/main.c **** sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; +1498:Src/main.c **** sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; +1499:Src/main.c **** if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) +1500:Src/main.c **** { +1501:Src/main.c **** Error_Handler(); +1502:Src/main.c **** } +1503:Src/main.c **** /* USER CODE BEGIN TIM4_Init 2 */ +1504:Src/main.c **** +1505:Src/main.c **** /* USER CODE END TIM4_Init 2 */ +1506:Src/main.c **** HAL_TIM_MspPostInit(&htim4); +1507:Src/main.c **** +1508:Src/main.c **** } +1509:Src/main.c **** +1510:Src/main.c **** /** +1511:Src/main.c **** * @brief TIM5 Initialization Function +1512:Src/main.c **** * @param None +1513:Src/main.c **** * @retval None +1514:Src/main.c **** */ +1515:Src/main.c **** static void MX_TIM5_Init(void) +1516:Src/main.c **** { +1517:Src/main.c **** +1518:Src/main.c **** /* USER CODE BEGIN TIM5_Init 0 */ 1519:Src/main.c **** -1520:Src/main.c **** /* USER CODE BEGIN TIM6_Init 1 */ +1520:Src/main.c **** /* USER CODE END TIM5_Init 0 */ 1521:Src/main.c **** -1522:Src/main.c **** /* USER CODE END TIM6_Init 1 */ -1523:Src/main.c **** TIM_InitStruct.Prescaler = 45999; -1524:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; -1525:Src/main.c **** TIM_InitStruct.Autoreload = 19; -1526:Src/main.c **** LL_TIM_Init(TIM6, &TIM_InitStruct); -1527:Src/main.c **** LL_TIM_DisableARRPreload(TIM6); -1528:Src/main.c **** LL_TIM_SetTriggerOutput(TIM6, LL_TIM_TRGO_ENABLE); -1529:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM6); -1530:Src/main.c **** /* USER CODE BEGIN TIM6_Init 2 */ -1531:Src/main.c **** -1532:Src/main.c **** /* USER CODE END TIM6_Init 2 */ -1533:Src/main.c **** -1534:Src/main.c **** } -1535:Src/main.c **** -1536:Src/main.c **** /** -1537:Src/main.c **** * @brief TIM7 Initialization Function -1538:Src/main.c **** * @param None -1539:Src/main.c **** * @retval None - ARM GAS /tmp/ccYgfTud.s page 67 +1522:Src/main.c **** LL_TIM_InitTypeDef TIM_InitStruct = {0}; +1523:Src/main.c **** +1524:Src/main.c **** /* Peripheral clock enable */ +1525:Src/main.c **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM5); +1526:Src/main.c **** +1527:Src/main.c **** /* TIM5 interrupt Init */ +1528:Src/main.c **** NVIC_SetPriority(TIM5_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); +1529:Src/main.c **** NVIC_EnableIRQ(TIM5_IRQn); +1530:Src/main.c **** +1531:Src/main.c **** /* USER CODE BEGIN TIM5_Init 1 */ +1532:Src/main.c **** +1533:Src/main.c **** /* USER CODE END TIM5_Init 1 */ +1534:Src/main.c **** TIM_InitStruct.Prescaler = 10000; +1535:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; +1536:Src/main.c **** TIM_InitStruct.Autoreload = 560; +1537:Src/main.c **** TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; +1538:Src/main.c **** LL_TIM_Init(TIM5, &TIM_InitStruct); +1539:Src/main.c **** LL_TIM_DisableARRPreload(TIM5); + ARM GAS /tmp/ccwR4KB7.s page 67 -1540:Src/main.c **** */ -1541:Src/main.c **** static void MX_TIM7_Init(void) -1542:Src/main.c **** { -1543:Src/main.c **** -1544:Src/main.c **** /* USER CODE BEGIN TIM7_Init 0 */ -1545:Src/main.c **** -1546:Src/main.c **** /* USER CODE END TIM7_Init 0 */ -1547:Src/main.c **** -1548:Src/main.c **** LL_TIM_InitTypeDef TIM_InitStruct = {0}; -1549:Src/main.c **** -1550:Src/main.c **** /* Peripheral clock enable */ -1551:Src/main.c **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM7); -1552:Src/main.c **** -1553:Src/main.c **** /* TIM7 interrupt Init */ -1554:Src/main.c **** NVIC_SetPriority(TIM7_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); -1555:Src/main.c **** NVIC_EnableIRQ(TIM7_IRQn); +1540:Src/main.c **** LL_TIM_SetClockSource(TIM5, LL_TIM_CLOCKSOURCE_INTERNAL); +1541:Src/main.c **** LL_TIM_SetTriggerOutput(TIM5, LL_TIM_TRGO_RESET); +1542:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM5); +1543:Src/main.c **** /* USER CODE BEGIN TIM5_Init 2 */ +1544:Src/main.c **** +1545:Src/main.c **** /* USER CODE END TIM5_Init 2 */ +1546:Src/main.c **** +1547:Src/main.c **** } +1548:Src/main.c **** +1549:Src/main.c **** /** +1550:Src/main.c **** * @brief TIM6 Initialization Function +1551:Src/main.c **** * @param None +1552:Src/main.c **** * @retval None +1553:Src/main.c **** */ +1554:Src/main.c **** static void MX_TIM6_Init(void) +1555:Src/main.c **** { 1556:Src/main.c **** -1557:Src/main.c **** /* USER CODE BEGIN TIM7_Init 1 */ +1557:Src/main.c **** /* USER CODE BEGIN TIM6_Init 0 */ 1558:Src/main.c **** -1559:Src/main.c **** /* USER CODE END TIM7_Init 1 */ -1560:Src/main.c **** TIM_InitStruct.Prescaler = 919; -1561:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; -1562:Src/main.c **** TIM_InitStruct.Autoreload = 99; -1563:Src/main.c **** LL_TIM_Init(TIM7, &TIM_InitStruct); -1564:Src/main.c **** LL_TIM_DisableARRPreload(TIM7); -1565:Src/main.c **** LL_TIM_SetTriggerOutput(TIM7, LL_TIM_TRGO_ENABLE); -1566:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM7); -1567:Src/main.c **** /* USER CODE BEGIN TIM7_Init 2 */ -1568:Src/main.c **** -1569:Src/main.c **** /* USER CODE END TIM7_Init 2 */ -1570:Src/main.c **** -1571:Src/main.c **** } -1572:Src/main.c **** -1573:Src/main.c **** /** -1574:Src/main.c **** * @brief TIM8 Initialization Function -1575:Src/main.c **** * @param None -1576:Src/main.c **** * @retval None -1577:Src/main.c **** */ -1578:Src/main.c **** static void MX_TIM8_Init(void) -1579:Src/main.c **** { -1580:Src/main.c **** -1581:Src/main.c **** /* USER CODE BEGIN TIM8_Init 0 */ -1582:Src/main.c **** -1583:Src/main.c **** /* USER CODE END TIM8_Init 0 */ -1584:Src/main.c **** -1585:Src/main.c **** TIM_ClockConfigTypeDef sClockSourceConfig = {0}; -1586:Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0}; -1587:Src/main.c **** -1588:Src/main.c **** /* USER CODE BEGIN TIM8_Init 1 */ -1589:Src/main.c **** -1590:Src/main.c **** /* USER CODE END TIM8_Init 1 */ -1591:Src/main.c **** htim8.Instance = TIM8; -1592:Src/main.c **** htim8.Init.Prescaler = 0; -1593:Src/main.c **** htim8.Init.CounterMode = TIM_COUNTERMODE_UP; -1594:Src/main.c **** htim8.Init.Period = 91; -1595:Src/main.c **** htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; -1596:Src/main.c **** htim8.Init.RepetitionCounter = 0; - ARM GAS /tmp/ccYgfTud.s page 68 +1559:Src/main.c **** /* USER CODE END TIM6_Init 0 */ +1560:Src/main.c **** +1561:Src/main.c **** LL_TIM_InitTypeDef TIM_InitStruct = {0}; +1562:Src/main.c **** +1563:Src/main.c **** /* Peripheral clock enable */ +1564:Src/main.c **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM6); +1565:Src/main.c **** +1566:Src/main.c **** /* TIM6 interrupt Init */ +1567:Src/main.c **** NVIC_SetPriority(TIM6_DAC_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); +1568:Src/main.c **** NVIC_EnableIRQ(TIM6_DAC_IRQn); +1569:Src/main.c **** +1570:Src/main.c **** /* USER CODE BEGIN TIM6_Init 1 */ +1571:Src/main.c **** +1572:Src/main.c **** /* USER CODE END TIM6_Init 1 */ +1573:Src/main.c **** TIM_InitStruct.Prescaler = 45999; +1574:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; +1575:Src/main.c **** TIM_InitStruct.Autoreload = 19; +1576:Src/main.c **** LL_TIM_Init(TIM6, &TIM_InitStruct); +1577:Src/main.c **** LL_TIM_DisableARRPreload(TIM6); +1578:Src/main.c **** LL_TIM_SetTriggerOutput(TIM6, LL_TIM_TRGO_ENABLE); +1579:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM6); +1580:Src/main.c **** /* USER CODE BEGIN TIM6_Init 2 */ +1581:Src/main.c **** +1582:Src/main.c **** /* USER CODE END TIM6_Init 2 */ +1583:Src/main.c **** +1584:Src/main.c **** } +1585:Src/main.c **** +1586:Src/main.c **** /** +1587:Src/main.c **** * @brief TIM7 Initialization Function +1588:Src/main.c **** * @param None +1589:Src/main.c **** * @retval None +1590:Src/main.c **** */ +1591:Src/main.c **** static void MX_TIM7_Init(void) +1592:Src/main.c **** { +1593:Src/main.c **** +1594:Src/main.c **** /* USER CODE BEGIN TIM7_Init 0 */ +1595:Src/main.c **** +1596:Src/main.c **** /* USER CODE END TIM7_Init 0 */ + ARM GAS /tmp/ccwR4KB7.s page 68 -1597:Src/main.c **** htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; -1598:Src/main.c **** if (HAL_TIM_Base_Init(&htim8) != HAL_OK) -1599:Src/main.c **** { -1600:Src/main.c **** Error_Handler(); -1601:Src/main.c **** } -1602:Src/main.c **** sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; -1603:Src/main.c **** if (HAL_TIM_ConfigClockSource(&htim8, &sClockSourceConfig) != HAL_OK) -1604:Src/main.c **** { -1605:Src/main.c **** Error_Handler(); -1606:Src/main.c **** } -1607:Src/main.c **** sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; -1608:Src/main.c **** sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET; -1609:Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; -1610:Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK) -1611:Src/main.c **** { -1612:Src/main.c **** Error_Handler(); -1613:Src/main.c **** } -1614:Src/main.c **** /* USER CODE BEGIN TIM8_Init 2 */ -1615:Src/main.c **** -1616:Src/main.c **** /* USER CODE END TIM8_Init 2 */ -1617:Src/main.c **** -1618:Src/main.c **** } -1619:Src/main.c **** -1620:Src/main.c **** /** -1621:Src/main.c **** * @brief TIM10 Initialization Function -1622:Src/main.c **** * @param None -1623:Src/main.c **** * @retval None -1624:Src/main.c **** */ -1625:Src/main.c **** static void MX_TIM10_Init(void) -1626:Src/main.c **** { -1627:Src/main.c **** -1628:Src/main.c **** /* USER CODE BEGIN TIM10_Init 0 */ -1629:Src/main.c **** -1630:Src/main.c **** /* USER CODE END TIM10_Init 0 */ -1631:Src/main.c **** -1632:Src/main.c **** /* USER CODE BEGIN TIM10_Init 1 */ -1633:Src/main.c **** -1634:Src/main.c **** /* USER CODE END TIM10_Init 1 */ -1635:Src/main.c **** htim10.Instance = TIM10; -1636:Src/main.c **** htim10.Init.Prescaler = 183; -1637:Src/main.c **** htim10.Init.CounterMode = TIM_COUNTERMODE_UP; -1638:Src/main.c **** htim10.Init.Period = 9; -1639:Src/main.c **** htim10.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; -1640:Src/main.c **** htim10.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; -1641:Src/main.c **** if (HAL_TIM_Base_Init(&htim10) != HAL_OK) -1642:Src/main.c **** { -1643:Src/main.c **** Error_Handler(); -1644:Src/main.c **** } -1645:Src/main.c **** /* USER CODE BEGIN TIM10_Init 2 */ -1646:Src/main.c **** -1647:Src/main.c **** /* USER CODE END TIM10_Init 2 */ -1648:Src/main.c **** -1649:Src/main.c **** } -1650:Src/main.c **** -1651:Src/main.c **** /** -1652:Src/main.c **** * @brief TIM11 Initialization Function -1653:Src/main.c **** * @param None - ARM GAS /tmp/ccYgfTud.s page 69 +1597:Src/main.c **** +1598:Src/main.c **** LL_TIM_InitTypeDef TIM_InitStruct = {0}; +1599:Src/main.c **** +1600:Src/main.c **** /* Peripheral clock enable */ +1601:Src/main.c **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM7); +1602:Src/main.c **** +1603:Src/main.c **** /* TIM7 interrupt Init */ +1604:Src/main.c **** NVIC_SetPriority(TIM7_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); +1605:Src/main.c **** NVIC_EnableIRQ(TIM7_IRQn); +1606:Src/main.c **** +1607:Src/main.c **** /* USER CODE BEGIN TIM7_Init 1 */ +1608:Src/main.c **** +1609:Src/main.c **** /* USER CODE END TIM7_Init 1 */ +1610:Src/main.c **** TIM_InitStruct.Prescaler = 919; +1611:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; +1612:Src/main.c **** TIM_InitStruct.Autoreload = 99; +1613:Src/main.c **** LL_TIM_Init(TIM7, &TIM_InitStruct); +1614:Src/main.c **** LL_TIM_DisableARRPreload(TIM7); +1615:Src/main.c **** LL_TIM_SetTriggerOutput(TIM7, LL_TIM_TRGO_ENABLE); +1616:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM7); +1617:Src/main.c **** /* USER CODE BEGIN TIM7_Init 2 */ +1618:Src/main.c **** +1619:Src/main.c **** /* USER CODE END TIM7_Init 2 */ +1620:Src/main.c **** +1621:Src/main.c **** } +1622:Src/main.c **** +1623:Src/main.c **** /** +1624:Src/main.c **** * @brief TIM8 Initialization Function +1625:Src/main.c **** * @param None +1626:Src/main.c **** * @retval None +1627:Src/main.c **** */ +1628:Src/main.c **** static void MX_TIM8_Init(void) +1629:Src/main.c **** { +1630:Src/main.c **** +1631:Src/main.c **** /* USER CODE BEGIN TIM8_Init 0 */ +1632:Src/main.c **** +1633:Src/main.c **** /* USER CODE END TIM8_Init 0 */ +1634:Src/main.c **** +1635:Src/main.c **** TIM_ClockConfigTypeDef sClockSourceConfig = {0}; +1636:Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0}; +1637:Src/main.c **** +1638:Src/main.c **** /* USER CODE BEGIN TIM8_Init 1 */ +1639:Src/main.c **** +1640:Src/main.c **** /* USER CODE END TIM8_Init 1 */ +1641:Src/main.c **** htim8.Instance = TIM8; +1642:Src/main.c **** htim8.Init.Prescaler = 0; +1643:Src/main.c **** htim8.Init.CounterMode = TIM_COUNTERMODE_UP; +1644:Src/main.c **** htim8.Init.Period = 91; +1645:Src/main.c **** htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; +1646:Src/main.c **** htim8.Init.RepetitionCounter = 0; +1647:Src/main.c **** htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; +1648:Src/main.c **** if (HAL_TIM_Base_Init(&htim8) != HAL_OK) +1649:Src/main.c **** { +1650:Src/main.c **** Error_Handler(); +1651:Src/main.c **** } +1652:Src/main.c **** sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; +1653:Src/main.c **** if (HAL_TIM_ConfigClockSource(&htim8, &sClockSourceConfig) != HAL_OK) + ARM GAS /tmp/ccwR4KB7.s page 69 -1654:Src/main.c **** * @retval None -1655:Src/main.c **** */ -1656:Src/main.c **** static void MX_TIM11_Init(void) -1657:Src/main.c **** { -1658:Src/main.c **** -1659:Src/main.c **** /* USER CODE BEGIN TIM11_Init 0 */ -1660:Src/main.c **** -1661:Src/main.c **** /* USER CODE END TIM11_Init 0 */ -1662:Src/main.c **** -1663:Src/main.c **** TIM_OC_InitTypeDef sConfigOC = {0}; -1664:Src/main.c **** -1665:Src/main.c **** /* USER CODE BEGIN TIM11_Init 1 */ -1666:Src/main.c **** -1667:Src/main.c **** /* USER CODE END TIM11_Init 1 */ -1668:Src/main.c **** htim11.Instance = TIM11; -1669:Src/main.c **** htim11.Init.Prescaler = 1; -1670:Src/main.c **** htim11.Init.CounterMode = TIM_COUNTERMODE_UP; -1671:Src/main.c **** htim11.Init.Period = 91; -1672:Src/main.c **** htim11.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; -1673:Src/main.c **** htim11.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; -1674:Src/main.c **** if (HAL_TIM_Base_Init(&htim11) != HAL_OK) -1675:Src/main.c **** { -1676:Src/main.c **** Error_Handler(); -1677:Src/main.c **** } -1678:Src/main.c **** if (HAL_TIM_PWM_Init(&htim11) != HAL_OK) -1679:Src/main.c **** { -1680:Src/main.c **** Error_Handler(); -1681:Src/main.c **** } -1682:Src/main.c **** sConfigOC.OCMode = TIM_OCMODE_PWM1; -1683:Src/main.c **** sConfigOC.Pulse = 91; -1684:Src/main.c **** sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; -1685:Src/main.c **** sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; -1686:Src/main.c **** if (HAL_TIM_PWM_ConfigChannel(&htim11, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) -1687:Src/main.c **** { -1688:Src/main.c **** Error_Handler(); -1689:Src/main.c **** } -1690:Src/main.c **** /* USER CODE BEGIN TIM11_Init 2 */ -1691:Src/main.c **** -1692:Src/main.c **** /* USER CODE END TIM11_Init 2 */ -1693:Src/main.c **** HAL_TIM_MspPostInit(&htim11); -1694:Src/main.c **** -1695:Src/main.c **** } +1654:Src/main.c **** { +1655:Src/main.c **** Error_Handler(); +1656:Src/main.c **** } +1657:Src/main.c **** sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; +1658:Src/main.c **** sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET; +1659:Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; +1660:Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK) +1661:Src/main.c **** { +1662:Src/main.c **** Error_Handler(); +1663:Src/main.c **** } +1664:Src/main.c **** /* USER CODE BEGIN TIM8_Init 2 */ +1665:Src/main.c **** +1666:Src/main.c **** /* USER CODE END TIM8_Init 2 */ +1667:Src/main.c **** +1668:Src/main.c **** } +1669:Src/main.c **** +1670:Src/main.c **** /** +1671:Src/main.c **** * @brief TIM10 Initialization Function +1672:Src/main.c **** * @param None +1673:Src/main.c **** * @retval None +1674:Src/main.c **** */ +1675:Src/main.c **** static void MX_TIM10_Init(void) +1676:Src/main.c **** { +1677:Src/main.c **** +1678:Src/main.c **** /* USER CODE BEGIN TIM10_Init 0 */ +1679:Src/main.c **** +1680:Src/main.c **** /* USER CODE END TIM10_Init 0 */ +1681:Src/main.c **** +1682:Src/main.c **** /* USER CODE BEGIN TIM10_Init 1 */ +1683:Src/main.c **** +1684:Src/main.c **** /* USER CODE END TIM10_Init 1 */ +1685:Src/main.c **** htim10.Instance = TIM10; +1686:Src/main.c **** htim10.Init.Prescaler = 183; +1687:Src/main.c **** htim10.Init.CounterMode = TIM_COUNTERMODE_UP; +1688:Src/main.c **** htim10.Init.Period = 9; +1689:Src/main.c **** htim10.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; +1690:Src/main.c **** htim10.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; +1691:Src/main.c **** if (HAL_TIM_Base_Init(&htim10) != HAL_OK) +1692:Src/main.c **** { +1693:Src/main.c **** Error_Handler(); +1694:Src/main.c **** } +1695:Src/main.c **** /* USER CODE BEGIN TIM10_Init 2 */ 1696:Src/main.c **** -1697:Src/main.c **** /** -1698:Src/main.c **** * @brief UART8 Initialization Function -1699:Src/main.c **** * @param None -1700:Src/main.c **** * @retval None -1701:Src/main.c **** */ -1702:Src/main.c **** static void MX_UART8_Init(void) -1703:Src/main.c **** { -1704:Src/main.c **** -1705:Src/main.c **** /* USER CODE BEGIN UART8_Init 0 */ -1706:Src/main.c **** -1707:Src/main.c **** /* USER CODE END UART8_Init 0 */ +1697:Src/main.c **** /* USER CODE END TIM10_Init 2 */ +1698:Src/main.c **** +1699:Src/main.c **** } +1700:Src/main.c **** +1701:Src/main.c **** /** +1702:Src/main.c **** * @brief TIM11 Initialization Function +1703:Src/main.c **** * @param None +1704:Src/main.c **** * @retval None +1705:Src/main.c **** */ +1706:Src/main.c **** static void MX_TIM11_Init(void) +1707:Src/main.c **** { 1708:Src/main.c **** -1709:Src/main.c **** /* USER CODE BEGIN UART8_Init 1 */ +1709:Src/main.c **** /* USER CODE BEGIN TIM11_Init 0 */ 1710:Src/main.c **** - ARM GAS /tmp/ccYgfTud.s page 70 + ARM GAS /tmp/ccwR4KB7.s page 70 -1711:Src/main.c **** /* USER CODE END UART8_Init 1 */ -1712:Src/main.c **** huart8.Instance = UART8; -1713:Src/main.c **** huart8.Init.BaudRate = 115200; -1714:Src/main.c **** huart8.Init.WordLength = UART_WORDLENGTH_8B; -1715:Src/main.c **** huart8.Init.StopBits = UART_STOPBITS_1; -1716:Src/main.c **** huart8.Init.Parity = UART_PARITY_NONE; -1717:Src/main.c **** huart8.Init.Mode = UART_MODE_TX_RX; -1718:Src/main.c **** huart8.Init.HwFlowCtl = UART_HWCONTROL_NONE; -1719:Src/main.c **** huart8.Init.OverSampling = UART_OVERSAMPLING_16; -1720:Src/main.c **** huart8.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; -1721:Src/main.c **** huart8.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; -1722:Src/main.c **** if (HAL_UART_Init(&huart8) != HAL_OK) -1723:Src/main.c **** { -1724:Src/main.c **** Error_Handler(); -1725:Src/main.c **** } -1726:Src/main.c **** /* USER CODE BEGIN UART8_Init 2 */ -1727:Src/main.c **** -1728:Src/main.c **** /* USER CODE END UART8_Init 2 */ -1729:Src/main.c **** -1730:Src/main.c **** } -1731:Src/main.c **** -1732:Src/main.c **** /** -1733:Src/main.c **** * @brief USART1 Initialization Function -1734:Src/main.c **** * @param None -1735:Src/main.c **** * @retval None -1736:Src/main.c **** */ -1737:Src/main.c **** static void MX_USART1_UART_Init(void) -1738:Src/main.c **** { -1739:Src/main.c **** -1740:Src/main.c **** /* USER CODE BEGIN USART1_Init 0 */ +1711:Src/main.c **** /* USER CODE END TIM11_Init 0 */ +1712:Src/main.c **** +1713:Src/main.c **** TIM_OC_InitTypeDef sConfigOC = {0}; +1714:Src/main.c **** +1715:Src/main.c **** /* USER CODE BEGIN TIM11_Init 1 */ +1716:Src/main.c **** +1717:Src/main.c **** /* USER CODE END TIM11_Init 1 */ +1718:Src/main.c **** htim11.Instance = TIM11; +1719:Src/main.c **** htim11.Init.Prescaler = 1; +1720:Src/main.c **** htim11.Init.CounterMode = TIM_COUNTERMODE_UP; +1721:Src/main.c **** htim11.Init.Period = 91; +1722:Src/main.c **** htim11.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; +1723:Src/main.c **** htim11.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; +1724:Src/main.c **** if (HAL_TIM_Base_Init(&htim11) != HAL_OK) +1725:Src/main.c **** { +1726:Src/main.c **** Error_Handler(); +1727:Src/main.c **** } +1728:Src/main.c **** if (HAL_TIM_PWM_Init(&htim11) != HAL_OK) +1729:Src/main.c **** { +1730:Src/main.c **** Error_Handler(); +1731:Src/main.c **** } +1732:Src/main.c **** sConfigOC.OCMode = TIM_OCMODE_PWM1; +1733:Src/main.c **** sConfigOC.Pulse = 91; +1734:Src/main.c **** sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; +1735:Src/main.c **** sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; +1736:Src/main.c **** if (HAL_TIM_PWM_ConfigChannel(&htim11, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) +1737:Src/main.c **** { +1738:Src/main.c **** Error_Handler(); +1739:Src/main.c **** } +1740:Src/main.c **** /* USER CODE BEGIN TIM11_Init 2 */ 1741:Src/main.c **** -1742:Src/main.c **** /* USER CODE END USART1_Init 0 */ -1743:Src/main.c **** -1744:Src/main.c **** LL_USART_InitTypeDef USART_InitStruct = {0}; -1745:Src/main.c **** -1746:Src/main.c **** LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; -1747:Src/main.c **** RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; -1748:Src/main.c **** -1749:Src/main.c **** /** Initializes the peripherals clock -1750:Src/main.c **** */ -1751:Src/main.c **** PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1; -1752:Src/main.c **** PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2; -1753:Src/main.c **** if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) -1754:Src/main.c **** { -1755:Src/main.c **** Error_Handler(); -1756:Src/main.c **** } -1757:Src/main.c **** -1758:Src/main.c **** /* Peripheral clock enable */ -1759:Src/main.c **** LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_USART1); +1742:Src/main.c **** /* USER CODE END TIM11_Init 2 */ +1743:Src/main.c **** HAL_TIM_MspPostInit(&htim11); +1744:Src/main.c **** +1745:Src/main.c **** } +1746:Src/main.c **** +1747:Src/main.c **** /** +1748:Src/main.c **** * @brief UART8 Initialization Function +1749:Src/main.c **** * @param None +1750:Src/main.c **** * @retval None +1751:Src/main.c **** */ +1752:Src/main.c **** static void MX_UART8_Init(void) +1753:Src/main.c **** { +1754:Src/main.c **** +1755:Src/main.c **** /* USER CODE BEGIN UART8_Init 0 */ +1756:Src/main.c **** +1757:Src/main.c **** /* USER CODE END UART8_Init 0 */ +1758:Src/main.c **** +1759:Src/main.c **** /* USER CODE BEGIN UART8_Init 1 */ 1760:Src/main.c **** -1761:Src/main.c **** LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOA); -1762:Src/main.c **** /**USART1 GPIO Configuration -1763:Src/main.c **** PA9 ------> USART1_TX -1764:Src/main.c **** PA10 ------> USART1_RX -1765:Src/main.c **** */ -1766:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_9; -1767:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - ARM GAS /tmp/ccYgfTud.s page 71 +1761:Src/main.c **** /* USER CODE END UART8_Init 1 */ +1762:Src/main.c **** huart8.Instance = UART8; +1763:Src/main.c **** huart8.Init.BaudRate = 115200; +1764:Src/main.c **** huart8.Init.WordLength = UART_WORDLENGTH_8B; +1765:Src/main.c **** huart8.Init.StopBits = UART_STOPBITS_1; +1766:Src/main.c **** huart8.Init.Parity = UART_PARITY_NONE; +1767:Src/main.c **** huart8.Init.Mode = UART_MODE_TX_RX; + ARM GAS /tmp/ccwR4KB7.s page 71 -1768:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; -1769:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; -1770:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; -1771:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_7; -1772:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); -1773:Src/main.c **** -1774:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_10; -1775:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; -1776:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; -1777:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; -1778:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; -1779:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_7; -1780:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); +1768:Src/main.c **** huart8.Init.HwFlowCtl = UART_HWCONTROL_NONE; +1769:Src/main.c **** huart8.Init.OverSampling = UART_OVERSAMPLING_16; +1770:Src/main.c **** huart8.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; +1771:Src/main.c **** huart8.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; +1772:Src/main.c **** if (HAL_UART_Init(&huart8) != HAL_OK) +1773:Src/main.c **** { +1774:Src/main.c **** Error_Handler(); +1775:Src/main.c **** } +1776:Src/main.c **** /* USER CODE BEGIN UART8_Init 2 */ +1777:Src/main.c **** +1778:Src/main.c **** /* USER CODE END UART8_Init 2 */ +1779:Src/main.c **** +1780:Src/main.c **** } 1781:Src/main.c **** -1782:Src/main.c **** /* USART1 DMA Init */ -1783:Src/main.c **** -1784:Src/main.c **** /* USART1_TX Init */ -1785:Src/main.c **** LL_DMA_SetChannelSelection(DMA2, LL_DMA_STREAM_7, LL_DMA_CHANNEL_4); -1786:Src/main.c **** -1787:Src/main.c **** LL_DMA_SetDataTransferDirection(DMA2, LL_DMA_STREAM_7, LL_DMA_DIRECTION_MEMORY_TO_PERIPH); -1788:Src/main.c **** -1789:Src/main.c **** LL_DMA_SetStreamPriorityLevel(DMA2, LL_DMA_STREAM_7, LL_DMA_PRIORITY_VERYHIGH); -1790:Src/main.c **** -1791:Src/main.c **** LL_DMA_SetMode(DMA2, LL_DMA_STREAM_7, LL_DMA_MODE_NORMAL); -1792:Src/main.c **** -1793:Src/main.c **** LL_DMA_SetPeriphIncMode(DMA2, LL_DMA_STREAM_7, LL_DMA_PERIPH_NOINCREMENT); -1794:Src/main.c **** -1795:Src/main.c **** LL_DMA_SetMemoryIncMode(DMA2, LL_DMA_STREAM_7, LL_DMA_MEMORY_INCREMENT); -1796:Src/main.c **** -1797:Src/main.c **** LL_DMA_SetPeriphSize(DMA2, LL_DMA_STREAM_7, LL_DMA_PDATAALIGN_BYTE); +1782:Src/main.c **** /** +1783:Src/main.c **** * @brief USART1 Initialization Function +1784:Src/main.c **** * @param None +1785:Src/main.c **** * @retval None +1786:Src/main.c **** */ +1787:Src/main.c **** static void MX_USART1_UART_Init(void) +1788:Src/main.c **** { +1789:Src/main.c **** +1790:Src/main.c **** /* USER CODE BEGIN USART1_Init 0 */ +1791:Src/main.c **** +1792:Src/main.c **** /* USER CODE END USART1_Init 0 */ +1793:Src/main.c **** +1794:Src/main.c **** LL_USART_InitTypeDef USART_InitStruct = {0}; +1795:Src/main.c **** +1796:Src/main.c **** LL_GPIO_InitTypeDef GPIO_InitStruct = {0}; +1797:Src/main.c **** RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; 1798:Src/main.c **** -1799:Src/main.c **** LL_DMA_SetMemorySize(DMA2, LL_DMA_STREAM_7, LL_DMA_MDATAALIGN_BYTE); -1800:Src/main.c **** -1801:Src/main.c **** LL_DMA_DisableFifoMode(DMA2, LL_DMA_STREAM_7); -1802:Src/main.c **** -1803:Src/main.c **** /* USART1 interrupt Init */ -1804:Src/main.c **** NVIC_SetPriority(USART1_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); -1805:Src/main.c **** NVIC_EnableIRQ(USART1_IRQn); -1806:Src/main.c **** -1807:Src/main.c **** /* USER CODE BEGIN USART1_Init 1 */ -1808:Src/main.c **** -1809:Src/main.c **** /* USER CODE END USART1_Init 1 */ -1810:Src/main.c **** USART_InitStruct.BaudRate = 115200; -1811:Src/main.c **** USART_InitStruct.DataWidth = LL_USART_DATAWIDTH_8B; -1812:Src/main.c **** USART_InitStruct.StopBits = LL_USART_STOPBITS_1; -1813:Src/main.c **** USART_InitStruct.Parity = LL_USART_PARITY_NONE; -1814:Src/main.c **** USART_InitStruct.TransferDirection = LL_USART_DIRECTION_TX_RX; -1815:Src/main.c **** USART_InitStruct.HardwareFlowControl = LL_USART_HWCONTROL_NONE; -1816:Src/main.c **** USART_InitStruct.OverSampling = LL_USART_OVERSAMPLING_16; -1817:Src/main.c **** LL_USART_Init(USART1, &USART_InitStruct); -1818:Src/main.c **** LL_USART_ConfigAsyncMode(USART1); -1819:Src/main.c **** LL_USART_Enable(USART1); -1820:Src/main.c **** /* USER CODE BEGIN USART1_Init 2 */ -1821:Src/main.c **** -1822:Src/main.c **** /* USER CODE END USART1_Init 2 */ +1799:Src/main.c **** /** Initializes the peripherals clock +1800:Src/main.c **** */ +1801:Src/main.c **** PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USART1; +1802:Src/main.c **** PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2; +1803:Src/main.c **** if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) +1804:Src/main.c **** { +1805:Src/main.c **** Error_Handler(); +1806:Src/main.c **** } +1807:Src/main.c **** +1808:Src/main.c **** /* Peripheral clock enable */ +1809:Src/main.c **** LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_USART1); +1810:Src/main.c **** +1811:Src/main.c **** LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOA); +1812:Src/main.c **** /**USART1 GPIO Configuration +1813:Src/main.c **** PA9 ------> USART1_TX +1814:Src/main.c **** PA10 ------> USART1_RX +1815:Src/main.c **** */ +1816:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_9; +1817:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; +1818:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; +1819:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; +1820:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; +1821:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_7; +1822:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); 1823:Src/main.c **** -1824:Src/main.c **** } - ARM GAS /tmp/ccYgfTud.s page 72 +1824:Src/main.c **** GPIO_InitStruct.Pin = LL_GPIO_PIN_10; + ARM GAS /tmp/ccwR4KB7.s page 72 + + +1825:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; +1826:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; +1827:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; +1828:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; +1829:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_7; +1830:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); +1831:Src/main.c **** +1832:Src/main.c **** /* USART1 DMA Init */ +1833:Src/main.c **** +1834:Src/main.c **** /* USART1_TX Init */ +1835:Src/main.c **** LL_DMA_SetChannelSelection(DMA2, LL_DMA_STREAM_7, LL_DMA_CHANNEL_4); +1836:Src/main.c **** +1837:Src/main.c **** LL_DMA_SetDataTransferDirection(DMA2, LL_DMA_STREAM_7, LL_DMA_DIRECTION_MEMORY_TO_PERIPH); +1838:Src/main.c **** +1839:Src/main.c **** LL_DMA_SetStreamPriorityLevel(DMA2, LL_DMA_STREAM_7, LL_DMA_PRIORITY_VERYHIGH); +1840:Src/main.c **** +1841:Src/main.c **** LL_DMA_SetMode(DMA2, LL_DMA_STREAM_7, LL_DMA_MODE_NORMAL); +1842:Src/main.c **** +1843:Src/main.c **** LL_DMA_SetPeriphIncMode(DMA2, LL_DMA_STREAM_7, LL_DMA_PERIPH_NOINCREMENT); +1844:Src/main.c **** +1845:Src/main.c **** LL_DMA_SetMemoryIncMode(DMA2, LL_DMA_STREAM_7, LL_DMA_MEMORY_INCREMENT); +1846:Src/main.c **** +1847:Src/main.c **** LL_DMA_SetPeriphSize(DMA2, LL_DMA_STREAM_7, LL_DMA_PDATAALIGN_BYTE); +1848:Src/main.c **** +1849:Src/main.c **** LL_DMA_SetMemorySize(DMA2, LL_DMA_STREAM_7, LL_DMA_MDATAALIGN_BYTE); +1850:Src/main.c **** +1851:Src/main.c **** LL_DMA_DisableFifoMode(DMA2, LL_DMA_STREAM_7); +1852:Src/main.c **** +1853:Src/main.c **** /* USART1 interrupt Init */ +1854:Src/main.c **** NVIC_SetPriority(USART1_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); +1855:Src/main.c **** NVIC_EnableIRQ(USART1_IRQn); +1856:Src/main.c **** +1857:Src/main.c **** /* USER CODE BEGIN USART1_Init 1 */ +1858:Src/main.c **** +1859:Src/main.c **** /* USER CODE END USART1_Init 1 */ +1860:Src/main.c **** USART_InitStruct.BaudRate = 115200; +1861:Src/main.c **** USART_InitStruct.DataWidth = LL_USART_DATAWIDTH_8B; +1862:Src/main.c **** USART_InitStruct.StopBits = LL_USART_STOPBITS_1; +1863:Src/main.c **** USART_InitStruct.Parity = LL_USART_PARITY_NONE; +1864:Src/main.c **** USART_InitStruct.TransferDirection = LL_USART_DIRECTION_TX_RX; +1865:Src/main.c **** USART_InitStruct.HardwareFlowControl = LL_USART_HWCONTROL_NONE; +1866:Src/main.c **** USART_InitStruct.OverSampling = LL_USART_OVERSAMPLING_16; +1867:Src/main.c **** LL_USART_Init(USART1, &USART_InitStruct); +1868:Src/main.c **** LL_USART_ConfigAsyncMode(USART1); +1869:Src/main.c **** LL_USART_Enable(USART1); +1870:Src/main.c **** /* USER CODE BEGIN USART1_Init 2 */ +1871:Src/main.c **** +1872:Src/main.c **** /* USER CODE END USART1_Init 2 */ +1873:Src/main.c **** +1874:Src/main.c **** } +1875:Src/main.c **** +1876:Src/main.c **** /** +1877:Src/main.c **** * Enable DMA controller clock +1878:Src/main.c **** */ +1879:Src/main.c **** static void MX_DMA_Init(void) +1880:Src/main.c **** { + 144 .loc 1 1880 1 is_stmt 1 view -0 + ARM GAS /tmp/ccwR4KB7.s page 73 -1825:Src/main.c **** -1826:Src/main.c **** /** -1827:Src/main.c **** * Enable DMA controller clock -1828:Src/main.c **** */ -1829:Src/main.c **** static void MX_DMA_Init(void) -1830:Src/main.c **** { - 144 .loc 1 1830 1 is_stmt 1 view -0 145 .cfi_startproc 146 @ args = 0, pretend = 0, frame = 8 147 @ frame_needed = 0, uses_anonymous_args = 0 @@ -4278,14 +4331,14 @@ ARM GAS /tmp/ccYgfTud.s page 1 152 0002 83B0 sub sp, sp, #12 153 .LCFI2: 154 .cfi_def_cfa_offset 16 -1831:Src/main.c **** -1832:Src/main.c **** /* Init with LL driver */ -1833:Src/main.c **** /* DMA controller clock enable */ -1834:Src/main.c **** LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_DMA2); - 155 .loc 1 1834 3 view .LVU37 +1881:Src/main.c **** +1882:Src/main.c **** /* Init with LL driver */ +1883:Src/main.c **** /* DMA controller clock enable */ +1884:Src/main.c **** LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_DMA2); + 155 .loc 1 1884 3 view .LVU37 156 .LVL8: - 157 .LBB329: - 158 .LBI329: + 157 .LBB331: + 158 .LBI331: 159 .file 3 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h" 1:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /** 2:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** ****************************************************************************** @@ -4318,9 +4371,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 29:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * This software is licensed under terms that can be found in the LICENSE file in 30:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * the root directory of this software component. 31:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * If no LICENSE file comes with this software, it is provided AS-IS. - ARM GAS /tmp/ccYgfTud.s page 73 - - 32:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** ****************************************************************************** 33:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** */ 34:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** @@ -4328,6 +4378,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 36:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #ifndef __STM32F7xx_LL_BUS_H 37:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define __STM32F7xx_LL_BUS_H 38:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** + ARM GAS /tmp/ccwR4KB7.s page 74 + + 39:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #ifdef __cplusplus 40:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** extern "C" { 41:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #endif @@ -4378,9 +4431,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 86:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_AHB1_GRP1_PERIPH_BKPSRAM RCC_AHB1ENR_BKPSRAMEN 87:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_AHB1_GRP1_PERIPH_DTCMRAM RCC_AHB1ENR_DTCMRAMEN 88:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_AHB1_GRP1_PERIPH_DMA1 RCC_AHB1ENR_DMA1EN - ARM GAS /tmp/ccYgfTud.s page 74 - - 89:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_AHB1_GRP1_PERIPH_DMA2 RCC_AHB1ENR_DMA2EN 90:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #if defined(DMA2D) 91:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_AHB1_GRP1_PERIPH_DMA2D RCC_AHB1ENR_DMA2DEN @@ -4388,6 +4438,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 93:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #if defined(ETH) 94:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_AHB1_GRP1_PERIPH_ETHMAC RCC_AHB1ENR_ETHMACEN 95:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_AHB1_GRP1_PERIPH_ETHMACTX RCC_AHB1ENR_ETHMACTXEN + ARM GAS /tmp/ccwR4KB7.s page 75 + + 96:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_AHB1_GRP1_PERIPH_ETHMACRX RCC_AHB1ENR_ETHMACRXEN 97:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_AHB1_GRP1_PERIPH_ETHMACPTP RCC_AHB1ENR_ETHMACPTPEN 98:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #endif /* ETH */ @@ -4438,9 +4491,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 143:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** 144:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /** @defgroup BUS_LL_EC_APB1_GRP1_PERIPH APB1 GRP1 PERIPH 145:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @{ - ARM GAS /tmp/ccYgfTud.s page 75 - - 146:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** */ 147:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB1_GRP1_PERIPH_ALL 0xFFFFFFFFU 148:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB1_GRP1_PERIPH_TIM2 RCC_APB1ENR_TIM2EN @@ -4448,6 +4498,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 150:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB1_GRP1_PERIPH_TIM4 RCC_APB1ENR_TIM4EN 151:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB1_GRP1_PERIPH_TIM5 RCC_APB1ENR_TIM5EN 152:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB1_GRP1_PERIPH_TIM6 RCC_APB1ENR_TIM6EN + ARM GAS /tmp/ccwR4KB7.s page 76 + + 153:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB1_GRP1_PERIPH_TIM7 RCC_APB1ENR_TIM7EN 154:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB1_GRP1_PERIPH_TIM12 RCC_APB1ENR_TIM12EN 155:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB1_GRP1_PERIPH_TIM13 RCC_APB1ENR_TIM13EN @@ -4498,9 +4551,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 200:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB2_GRP1_PERIPH_TIM8 RCC_APB2ENR_TIM8EN 201:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB2_GRP1_PERIPH_USART1 RCC_APB2ENR_USART1EN 202:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB2_GRP1_PERIPH_USART6 RCC_APB2ENR_USART6EN - ARM GAS /tmp/ccYgfTud.s page 76 - - 203:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB2_GRP1_PERIPH_ADC1 RCC_APB2ENR_ADC1EN 204:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB2_GRP1_PERIPH_ADC2 RCC_APB2ENR_ADC2EN 205:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB2_GRP1_PERIPH_ADC3 RCC_APB2ENR_ADC3EN @@ -4508,6 +4558,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 207:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #if defined(SDMMC2) 208:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB2_GRP1_PERIPH_SDMMC2 RCC_APB2ENR_SDMMC2EN 209:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #endif /* SDMMC2 */ + ARM GAS /tmp/ccwR4KB7.s page 77 + + 210:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB2_GRP1_PERIPH_SPI1 RCC_APB2ENR_SPI1EN 211:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB2_GRP1_PERIPH_SPI4 RCC_APB2ENR_SPI4EN 212:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** #define LL_APB2_GRP1_PERIPH_SYSCFG RCC_APB2ENR_SYSCFGEN @@ -4558,9 +4611,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 257:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @brief Enable AHB1 peripherals clock. 258:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @rmtoll AHB1ENR GPIOAEN LL_AHB1_GRP1_EnableClock\n 259:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1ENR GPIOBEN LL_AHB1_GRP1_EnableClock\n - ARM GAS /tmp/ccYgfTud.s page 77 - - 260:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1ENR GPIOCEN LL_AHB1_GRP1_EnableClock\n 261:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1ENR GPIODEN LL_AHB1_GRP1_EnableClock\n 262:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1ENR GPIOEEN LL_AHB1_GRP1_EnableClock\n @@ -4568,6 +4618,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 264:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1ENR GPIOGEN LL_AHB1_GRP1_EnableClock\n 265:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1ENR GPIOHEN LL_AHB1_GRP1_EnableClock\n 266:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1ENR GPIOIEN LL_AHB1_GRP1_EnableClock\n + ARM GAS /tmp/ccwR4KB7.s page 78 + + 267:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1ENR GPIOJEN LL_AHB1_GRP1_EnableClock\n 268:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1ENR GPIOKEN LL_AHB1_GRP1_EnableClock\n 269:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1ENR CRCEN LL_AHB1_GRP1_EnableClock\n @@ -4612,15 +4665,12 @@ ARM GAS /tmp/ccYgfTud.s page 1 308:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** */ 309:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** __STATIC_INLINE void LL_AHB1_GRP1_EnableClock(uint32_t Periphs) 160 .loc 3 309 22 view .LVU38 - 161 .LBB330: + 161 .LBB332: 310:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { 311:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** __IO uint32_t tmpreg; 162 .loc 3 311 3 view .LVU39 312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->AHB1ENR, Periphs); 163 .loc 3 312 3 view .LVU40 - ARM GAS /tmp/ccYgfTud.s page 78 - - 164 0004 0D4B ldr r3, .L10 165 0006 1A6B ldr r2, [r3, #48] 166 0008 42F48002 orr r2, r2, #4194304 @@ -4628,6 +4678,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 313:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** tmpreg = READ_BIT(RCC->AHB1ENR, Periphs); 168 .loc 3 314 3 view .LVU41 + ARM GAS /tmp/ccwR4KB7.s page 79 + + 169 .loc 3 314 12 is_stmt 0 view .LVU42 170 000e 1B6B ldr r3, [r3, #48] 171 0010 03F48003 and r3, r3, #4194304 @@ -4638,37 +4691,37 @@ ARM GAS /tmp/ccYgfTud.s page 1 175 0016 019B ldr r3, [sp, #4] 176 .LVL9: 177 .loc 3 315 3 is_stmt 0 view .LVU45 - 178 .LBE330: - 179 .LBE329: -1835:Src/main.c **** -1836:Src/main.c **** /* DMA interrupt init */ -1837:Src/main.c **** /* DMA2_Stream7_IRQn interrupt configuration */ -1838:Src/main.c **** NVIC_SetPriority(DMA2_Stream7_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); - 180 .loc 1 1838 3 is_stmt 1 view .LVU46 - 181 .LBB331: - 182 .LBI331: + 178 .LBE332: + 179 .LBE331: +1885:Src/main.c **** +1886:Src/main.c **** /* DMA interrupt init */ +1887:Src/main.c **** /* DMA2_Stream7_IRQn interrupt configuration */ +1888:Src/main.c **** NVIC_SetPriority(DMA2_Stream7_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); + 180 .loc 1 1888 3 is_stmt 1 view .LVU46 + 181 .LBB333: + 182 .LBI333: 1884:Drivers/CMSIS/Include/core_cm7.h **** { 183 .loc 2 1884 26 view .LVU47 - 184 .LBB332: + 184 .LBB334: 1886:Drivers/CMSIS/Include/core_cm7.h **** } 185 .loc 2 1886 3 view .LVU48 1886:Drivers/CMSIS/Include/core_cm7.h **** } 186 .loc 2 1886 26 is_stmt 0 view .LVU49 187 0018 094B ldr r3, .L10+4 188 001a D868 ldr r0, [r3, #12] - 189 .LBE332: - 190 .LBE331: - 191 .loc 1 1838 3 discriminator 1 view .LVU50 + 189 .LBE334: + 190 .LBE333: + 191 .loc 1 1888 3 discriminator 1 view .LVU50 192 001c 0022 movs r2, #0 193 001e 1146 mov r1, r2 194 0020 C0F30220 ubfx r0, r0, #8, #3 195 0024 FFF7FEFF bl NVIC_EncodePriority 196 .LVL10: - 197 .LBB333: - 198 .LBI333: + 197 .LBB335: + 198 .LBI335: 2024:Drivers/CMSIS/Include/core_cm7.h **** { 199 .loc 2 2024 22 is_stmt 1 view .LVU51 - 200 .LBB334: + 200 .LBB336: 2026:Drivers/CMSIS/Include/core_cm7.h **** { 201 .loc 2 2026 3 view .LVU52 2028:Drivers/CMSIS/Include/core_cm7.h **** } @@ -4678,9 +4731,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 204 0028 0001 lsls r0, r0, #4 205 .LVL11: 2028:Drivers/CMSIS/Include/core_cm7.h **** } - ARM GAS /tmp/ccYgfTud.s page 79 - - 206 .loc 2 2028 49 view .LVU55 207 002a C0B2 uxtb r0, r0 2028:Drivers/CMSIS/Include/core_cm7.h **** } @@ -4688,17 +4738,20 @@ ARM GAS /tmp/ccYgfTud.s page 1 209 002c 054B ldr r3, .L10+8 210 002e 83F84603 strb r0, [r3, #838] 211 .LVL12: + ARM GAS /tmp/ccwR4KB7.s page 80 + + 2028:Drivers/CMSIS/Include/core_cm7.h **** } 212 .loc 2 2028 47 view .LVU57 - 213 .LBE334: - 214 .LBE333: -1839:Src/main.c **** NVIC_EnableIRQ(DMA2_Stream7_IRQn); - 215 .loc 1 1839 3 is_stmt 1 view .LVU58 - 216 .LBB335: - 217 .LBI335: + 213 .LBE336: + 214 .LBE335: +1889:Src/main.c **** NVIC_EnableIRQ(DMA2_Stream7_IRQn); + 215 .loc 1 1889 3 is_stmt 1 view .LVU58 + 216 .LBB337: + 217 .LBI337: 1896:Drivers/CMSIS/Include/core_cm7.h **** { 218 .loc 2 1896 22 view .LVU59 - 219 .LBB336: + 219 .LBB338: 1898:Drivers/CMSIS/Include/core_cm7.h **** { 220 .loc 2 1898 3 view .LVU60 1900:Drivers/CMSIS/Include/core_cm7.h **** } @@ -4710,11 +4763,11 @@ ARM GAS /tmp/ccYgfTud.s page 1 225 .LVL13: 1900:Drivers/CMSIS/Include/core_cm7.h **** } 226 .loc 2 1900 43 view .LVU63 - 227 .LBE336: - 228 .LBE335: -1840:Src/main.c **** -1841:Src/main.c **** } - 229 .loc 1 1841 1 view .LVU64 + 227 .LBE338: + 228 .LBE337: +1890:Src/main.c **** +1891:Src/main.c **** } + 229 .loc 1 1891 1 view .LVU64 230 0036 03B0 add sp, sp, #12 231 .LCFI3: 232 .cfi_def_cfa_offset 4 @@ -4736,816 +4789,816 @@ ARM GAS /tmp/ccYgfTud.s page 1 250 Decode_task: 251 .LVL14: 252 .LFB1209: -1842:Src/main.c **** -1843:Src/main.c **** /** - ARM GAS /tmp/ccYgfTud.s page 80 +1892:Src/main.c **** +1893:Src/main.c **** /** +1894:Src/main.c **** * @brief GPIO Initialization Function +1895:Src/main.c **** * @param None +1896:Src/main.c **** * @retval None +1897:Src/main.c **** */ +1898:Src/main.c **** static void MX_GPIO_Init(void) +1899:Src/main.c **** { +1900:Src/main.c **** GPIO_InitTypeDef GPIO_InitStruct = {0}; + ARM GAS /tmp/ccwR4KB7.s page 81 -1844:Src/main.c **** * @brief GPIO Initialization Function -1845:Src/main.c **** * @param None -1846:Src/main.c **** * @retval None -1847:Src/main.c **** */ -1848:Src/main.c **** static void MX_GPIO_Init(void) -1849:Src/main.c **** { -1850:Src/main.c **** GPIO_InitTypeDef GPIO_InitStruct = {0}; -1851:Src/main.c **** /* USER CODE BEGIN MX_GPIO_Init_1 */ -1852:Src/main.c **** /* USER CODE END MX_GPIO_Init_1 */ -1853:Src/main.c **** -1854:Src/main.c **** /* GPIO Ports Clock Enable */ -1855:Src/main.c **** __HAL_RCC_GPIOF_CLK_ENABLE(); -1856:Src/main.c **** __HAL_RCC_GPIOH_CLK_ENABLE(); -1857:Src/main.c **** __HAL_RCC_GPIOC_CLK_ENABLE(); -1858:Src/main.c **** __HAL_RCC_GPIOA_CLK_ENABLE(); -1859:Src/main.c **** __HAL_RCC_GPIOB_CLK_ENABLE(); -1860:Src/main.c **** __HAL_RCC_GPIOE_CLK_ENABLE(); -1861:Src/main.c **** __HAL_RCC_GPIOD_CLK_ENABLE(); -1862:Src/main.c **** __HAL_RCC_GPIOG_CLK_ENABLE(); -1863:Src/main.c **** -1864:Src/main.c **** /*Configure GPIO pin Output Level */ -1865:Src/main.c **** HAL_GPIO_WritePin(GPIOF, ADC_MPD2_CS_Pin|SPI5_CNV_Pin|ADC_ThrLD2_CS_Pin, GPIO_PIN_RESET); -1866:Src/main.c **** -1867:Src/main.c **** /*Configure GPIO pin Output Level */ -1868:Src/main.c **** HAL_GPIO_WritePin(GPIOC, EN_5V2_Pin|EN_5V1_Pin|LD2_EN_Pin|TEC2_PD_Pin, GPIO_PIN_RESET); -1869:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); -1870:Src/main.c **** -1871:Src/main.c **** /*Configure GPIO pin Output Level */ -1872:Src/main.c **** HAL_GPIO_WritePin(GPIOA, TECEN1_Pin|TECEN2_Pin|REF2_ON_Pin|DAC_LD2_CS_Pin, GPIO_PIN_RESET); -1873:Src/main.c **** -1874:Src/main.c **** /*Configure GPIO pin Output Level */ -1875:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC2_CS_GPIO_Port, DAC_TEC2_CS_Pin, GPIO_PIN_SET); -1876:Src/main.c **** -1877:Src/main.c **** /*Configure GPIO pin Output Level */ -1878:Src/main.c **** HAL_GPIO_WritePin(GPIOE, ADC_MPD1_CS_Pin|ADC_ThrLD1_CS_Pin, GPIO_PIN_RESET); -1879:Src/main.c **** -1880:Src/main.c **** /*Configure GPIO pin Output Level */ -1881:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET); -1882:Src/main.c **** -1883:Src/main.c **** /*Configure GPIO pin Output Level */ -1884:Src/main.c **** HAL_GPIO_WritePin(GPIOB, REF0_EN_Pin|TEC1_PD_Pin|OUT_6_Pin -1885:Src/main.c **** |OUT_7_Pin|OUT_8_Pin|OUT_9_Pin, GPIO_PIN_RESET); -1886:Src/main.c **** -1887:Src/main.c **** /*Configure GPIO pin Output Level */ -1888:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET); -1889:Src/main.c **** -1890:Src/main.c **** /*Configure GPIO pin Output Level */ -1891:Src/main.c **** HAL_GPIO_WritePin(GPIOD, LD1_EN_Pin|TEST_01_Pin|GPIO_PIN_7, GPIO_PIN_RESET); -1892:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); -1893:Src/main.c **** -1894:Src/main.c **** /*Configure GPIO pin Output Level */ -1895:Src/main.c **** HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9|OUT_0_Pin|OUT_1_Pin|OUT_2_Pin -1896:Src/main.c **** |OUT_3_Pin|OUT_4_Pin|OUT_5_Pin, GPIO_PIN_RESET); -1897:Src/main.c **** -1898:Src/main.c **** /*Configure GPIO pins : INP_0_Pin INP_1_Pin */ -1899:Src/main.c **** GPIO_InitStruct.Pin = INP_0_Pin|INP_1_Pin; -1900:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_INPUT; - ARM GAS /tmp/ccYgfTud.s page 81 - - -1901:Src/main.c **** GPIO_InitStruct.Pull = GPIO_PULLUP; -1902:Src/main.c **** HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); +1901:Src/main.c **** /* USER CODE BEGIN MX_GPIO_Init_1 */ +1902:Src/main.c **** /* USER CODE END MX_GPIO_Init_1 */ 1903:Src/main.c **** -1904:Src/main.c **** /*Configure GPIO pins : ADC_MPD2_CS_Pin SPI5_CNV_Pin ADC_ThrLD2_CS_Pin */ -1905:Src/main.c **** GPIO_InitStruct.Pin = ADC_MPD2_CS_Pin|SPI5_CNV_Pin|ADC_ThrLD2_CS_Pin; -1906:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; -1907:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; -1908:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; -1909:Src/main.c **** HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); -1910:Src/main.c **** -1911:Src/main.c **** /*Configure GPIO pins : EN_5V2_Pin LD2_EN_Pin TEC2_PD_Pin AD9102_RESET_Pin */ -1912:Src/main.c **** GPIO_InitStruct.Pin = EN_5V2_Pin|LD2_EN_Pin|TEC2_PD_Pin|AD9102_RESET_Pin; -1913:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; -1914:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; -1915:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; -1916:Src/main.c **** HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); -1917:Src/main.c **** -1918:Src/main.c **** /*Configure GPIO pin : EN_5V1_Pin */ -1919:Src/main.c **** GPIO_InitStruct.Pin = EN_5V1_Pin; -1920:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; -1921:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; -1922:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; -1923:Src/main.c **** HAL_GPIO_Init(EN_5V1_GPIO_Port, &GPIO_InitStruct); -1924:Src/main.c **** -1925:Src/main.c **** /*Configure GPIO pins : TECEN1_Pin TECEN2_Pin REF2_ON_Pin DAC_TEC2_CS_Pin -1926:Src/main.c **** DAC_LD2_CS_Pin */ -1927:Src/main.c **** GPIO_InitStruct.Pin = TECEN1_Pin|TECEN2_Pin|REF2_ON_Pin|DAC_TEC2_CS_Pin -1928:Src/main.c **** |DAC_LD2_CS_Pin; -1929:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; -1930:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; -1931:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; -1932:Src/main.c **** HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); -1933:Src/main.c **** -1934:Src/main.c **** /*Configure GPIO pins : TEC2_FLAG1_Pin TEC2_FLAG2_Pin TEC1_FLAG1_Pin TEC1_FLAG2_Pin */ -1935:Src/main.c **** GPIO_InitStruct.Pin = TEC2_FLAG1_Pin|TEC2_FLAG2_Pin|TEC1_FLAG1_Pin|TEC1_FLAG2_Pin; -1936:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_INPUT; -1937:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; -1938:Src/main.c **** HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); +1904:Src/main.c **** /* GPIO Ports Clock Enable */ +1905:Src/main.c **** __HAL_RCC_GPIOF_CLK_ENABLE(); +1906:Src/main.c **** __HAL_RCC_GPIOH_CLK_ENABLE(); +1907:Src/main.c **** __HAL_RCC_GPIOC_CLK_ENABLE(); +1908:Src/main.c **** __HAL_RCC_GPIOA_CLK_ENABLE(); +1909:Src/main.c **** __HAL_RCC_GPIOB_CLK_ENABLE(); +1910:Src/main.c **** __HAL_RCC_GPIOE_CLK_ENABLE(); +1911:Src/main.c **** __HAL_RCC_GPIOD_CLK_ENABLE(); +1912:Src/main.c **** __HAL_RCC_GPIOG_CLK_ENABLE(); +1913:Src/main.c **** +1914:Src/main.c **** /*Configure GPIO pin Output Level */ +1915:Src/main.c **** HAL_GPIO_WritePin(GPIOF, ADC_MPD2_CS_Pin|SPI5_CNV_Pin|ADC_ThrLD2_CS_Pin, GPIO_PIN_RESET); +1916:Src/main.c **** +1917:Src/main.c **** /*Configure GPIO pin Output Level */ +1918:Src/main.c **** HAL_GPIO_WritePin(GPIOC, EN_5V2_Pin|EN_5V1_Pin|LD2_EN_Pin|TEC2_PD_Pin, GPIO_PIN_RESET); +1919:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); +1920:Src/main.c **** +1921:Src/main.c **** /*Configure GPIO pin Output Level */ +1922:Src/main.c **** HAL_GPIO_WritePin(GPIOA, TECEN1_Pin|TECEN2_Pin|REF2_ON_Pin|DAC_LD2_CS_Pin, GPIO_PIN_RESET); +1923:Src/main.c **** +1924:Src/main.c **** /*Configure GPIO pin Output Level */ +1925:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC2_CS_GPIO_Port, DAC_TEC2_CS_Pin, GPIO_PIN_SET); +1926:Src/main.c **** +1927:Src/main.c **** /*Configure GPIO pin Output Level */ +1928:Src/main.c **** HAL_GPIO_WritePin(GPIOE, ADC_MPD1_CS_Pin|ADC_ThrLD1_CS_Pin, GPIO_PIN_RESET); +1929:Src/main.c **** +1930:Src/main.c **** /*Configure GPIO pin Output Level */ +1931:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET); +1932:Src/main.c **** +1933:Src/main.c **** /*Configure GPIO pin Output Level */ +1934:Src/main.c **** HAL_GPIO_WritePin(GPIOB, REF0_EN_Pin|TEC1_PD_Pin|OUT_6_Pin +1935:Src/main.c **** |OUT_7_Pin|OUT_8_Pin|OUT_9_Pin, GPIO_PIN_RESET); +1936:Src/main.c **** +1937:Src/main.c **** /*Configure GPIO pin Output Level */ +1938:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET); 1939:Src/main.c **** -1940:Src/main.c **** /*Configure GPIO pins : ADC_MPD1_CS_Pin ADC_ThrLD1_CS_Pin */ -1941:Src/main.c **** GPIO_InitStruct.Pin = ADC_MPD1_CS_Pin|ADC_ThrLD1_CS_Pin; -1942:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; -1943:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; -1944:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; -1945:Src/main.c **** HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); -1946:Src/main.c **** -1947:Src/main.c **** /*Configure GPIO pin : SPI4_CNV_Pin */ -1948:Src/main.c **** GPIO_InitStruct.Pin = SPI4_CNV_Pin; -1949:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; -1950:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; -1951:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; -1952:Src/main.c **** HAL_GPIO_Init(SPI4_CNV_GPIO_Port, &GPIO_InitStruct); +1940:Src/main.c **** /*Configure GPIO pin Output Level */ +1941:Src/main.c **** HAL_GPIO_WritePin(GPIOD, LD1_EN_Pin|TEST_01_Pin|GPIO_PIN_7, GPIO_PIN_RESET); +1942:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); +1943:Src/main.c **** +1944:Src/main.c **** /*Configure GPIO pin Output Level */ +1945:Src/main.c **** HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9|OUT_0_Pin|OUT_1_Pin|OUT_2_Pin +1946:Src/main.c **** |OUT_3_Pin|OUT_4_Pin|OUT_5_Pin, GPIO_PIN_RESET); +1947:Src/main.c **** +1948:Src/main.c **** /*Configure GPIO pins : INP_0_Pin INP_1_Pin */ +1949:Src/main.c **** GPIO_InitStruct.Pin = INP_0_Pin|INP_1_Pin; +1950:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_INPUT; +1951:Src/main.c **** GPIO_InitStruct.Pull = GPIO_PULLUP; +1952:Src/main.c **** HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 1953:Src/main.c **** -1954:Src/main.c **** /*Configure GPIO pins : REF0_EN_Pin TEC1_PD_Pin DAC_TEC1_CS_Pin -1955:Src/main.c **** OUT_6_Pin OUT_7_Pin OUT_8_Pin OUT_9_Pin */ -1956:Src/main.c **** GPIO_InitStruct.Pin = REF0_EN_Pin|TEC1_PD_Pin|DAC_TEC1_CS_Pin -1957:Src/main.c **** |OUT_6_Pin|OUT_7_Pin|OUT_8_Pin|OUT_9_Pin; - ARM GAS /tmp/ccYgfTud.s page 82 +1954:Src/main.c **** /*Configure GPIO pins : ADC_MPD2_CS_Pin SPI5_CNV_Pin ADC_ThrLD2_CS_Pin */ +1955:Src/main.c **** GPIO_InitStruct.Pin = ADC_MPD2_CS_Pin|SPI5_CNV_Pin|ADC_ThrLD2_CS_Pin; +1956:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; +1957:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; + ARM GAS /tmp/ccwR4KB7.s page 82 -1958:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; -1959:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; -1960:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; -1961:Src/main.c **** HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); -1962:Src/main.c **** -1963:Src/main.c **** /*Configure GPIO pins : LD1_EN_Pin TEST_01_Pin PD7 AD9102_TRIG_Pin */ -1964:Src/main.c **** GPIO_InitStruct.Pin = LD1_EN_Pin|TEST_01_Pin|GPIO_PIN_7|AD9102_TRIG_Pin; -1965:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; -1966:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; -1967:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; -1968:Src/main.c **** HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); -1969:Src/main.c **** -1970:Src/main.c **** /*Configure GPIO pin : USB_FLAG_Pin */ -1971:Src/main.c **** GPIO_InitStruct.Pin = USB_FLAG_Pin; -1972:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_INPUT; -1973:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; -1974:Src/main.c **** HAL_GPIO_Init(USB_FLAG_GPIO_Port, &GPIO_InitStruct); -1975:Src/main.c **** -1976:Src/main.c **** /*Configure GPIO pin : SDMMC1_EN_Pin */ -1977:Src/main.c **** GPIO_InitStruct.Pin = SDMMC1_EN_Pin; -1978:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_INPUT; -1979:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; -1980:Src/main.c **** HAL_GPIO_Init(SDMMC1_EN_GPIO_Port, &GPIO_InitStruct); -1981:Src/main.c **** -1982:Src/main.c **** /*Configure GPIO pins : PG9 OUT_0_Pin OUT_1_Pin OUT_2_Pin -1983:Src/main.c **** OUT_3_Pin OUT_4_Pin OUT_5_Pin */ -1984:Src/main.c **** GPIO_InitStruct.Pin = GPIO_PIN_9|OUT_0_Pin|OUT_1_Pin|OUT_2_Pin -1985:Src/main.c **** |OUT_3_Pin|OUT_4_Pin|OUT_5_Pin; -1986:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; +1958:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; +1959:Src/main.c **** HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); +1960:Src/main.c **** +1961:Src/main.c **** /*Configure GPIO pins : EN_5V2_Pin LD2_EN_Pin TEC2_PD_Pin AD9102_RESET_Pin */ +1962:Src/main.c **** GPIO_InitStruct.Pin = EN_5V2_Pin|LD2_EN_Pin|TEC2_PD_Pin|AD9102_RESET_Pin; +1963:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; +1964:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; +1965:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; +1966:Src/main.c **** HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); +1967:Src/main.c **** +1968:Src/main.c **** /*Configure GPIO pin : EN_5V1_Pin */ +1969:Src/main.c **** GPIO_InitStruct.Pin = EN_5V1_Pin; +1970:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; +1971:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; +1972:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; +1973:Src/main.c **** HAL_GPIO_Init(EN_5V1_GPIO_Port, &GPIO_InitStruct); +1974:Src/main.c **** +1975:Src/main.c **** /*Configure GPIO pins : TECEN1_Pin TECEN2_Pin REF2_ON_Pin DAC_TEC2_CS_Pin +1976:Src/main.c **** DAC_LD2_CS_Pin */ +1977:Src/main.c **** GPIO_InitStruct.Pin = TECEN1_Pin|TECEN2_Pin|REF2_ON_Pin|DAC_TEC2_CS_Pin +1978:Src/main.c **** |DAC_LD2_CS_Pin; +1979:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; +1980:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; +1981:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; +1982:Src/main.c **** HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); +1983:Src/main.c **** +1984:Src/main.c **** /*Configure GPIO pins : TEC2_FLAG1_Pin TEC2_FLAG2_Pin TEC1_FLAG1_Pin TEC1_FLAG2_Pin */ +1985:Src/main.c **** GPIO_InitStruct.Pin = TEC2_FLAG1_Pin|TEC2_FLAG2_Pin|TEC1_FLAG1_Pin|TEC1_FLAG2_Pin; +1986:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 1987:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; -1988:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; -1989:Src/main.c **** HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); -1990:Src/main.c **** -1991:Src/main.c **** /* USER CODE BEGIN MX_GPIO_Init_2 */ -1992:Src/main.c **** /* USER CODE END MX_GPIO_Init_2 */ -1993:Src/main.c **** } -1994:Src/main.c **** -1995:Src/main.c **** /* USER CODE BEGIN 4 */ +1988:Src/main.c **** HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); +1989:Src/main.c **** +1990:Src/main.c **** /*Configure GPIO pins : ADC_MPD1_CS_Pin ADC_ThrLD1_CS_Pin */ +1991:Src/main.c **** GPIO_InitStruct.Pin = ADC_MPD1_CS_Pin|ADC_ThrLD1_CS_Pin; +1992:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; +1993:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; +1994:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; +1995:Src/main.c **** HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); 1996:Src/main.c **** -1997:Src/main.c **** //void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) { -1998:Src/main.c **** -1999:Src/main.c **** // UART_transmission_request = NO_MESS; -2000:Src/main.c **** -2001:Src/main.c **** //} -2002:Src/main.c **** -2003:Src/main.c **** static void Init_params(void) -2004:Src/main.c **** { -2005:Src/main.c **** TO6 = 0; -2006:Src/main.c **** TO7 = 0; -2007:Src/main.c **** TO7_before = 0; -2008:Src/main.c **** TO6_before = 0; -2009:Src/main.c **** TO6_uart = 0; -2010:Src/main.c **** flg_tmt = 0; -2011:Src/main.c **** UART_rec_incr = 0; -2012:Src/main.c **** fgoto = 0; -2013:Src/main.c **** sizeoffile = 0; -2014:Src/main.c **** u_tx_flg = 0; - ARM GAS /tmp/ccYgfTud.s page 83 +1997:Src/main.c **** /*Configure GPIO pin : SPI4_CNV_Pin */ +1998:Src/main.c **** GPIO_InitStruct.Pin = SPI4_CNV_Pin; +1999:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; +2000:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; +2001:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; +2002:Src/main.c **** HAL_GPIO_Init(SPI4_CNV_GPIO_Port, &GPIO_InitStruct); +2003:Src/main.c **** +2004:Src/main.c **** /*Configure GPIO pins : REF0_EN_Pin TEC1_PD_Pin DAC_TEC1_CS_Pin +2005:Src/main.c **** OUT_6_Pin OUT_7_Pin OUT_8_Pin OUT_9_Pin */ +2006:Src/main.c **** GPIO_InitStruct.Pin = REF0_EN_Pin|TEC1_PD_Pin|DAC_TEC1_CS_Pin +2007:Src/main.c **** |OUT_6_Pin|OUT_7_Pin|OUT_8_Pin|OUT_9_Pin; +2008:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; +2009:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; +2010:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; +2011:Src/main.c **** HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); +2012:Src/main.c **** +2013:Src/main.c **** /*Configure GPIO pins : LD1_EN_Pin TEST_01_Pin PD7 AD9102_TRIG_Pin */ +2014:Src/main.c **** GPIO_InitStruct.Pin = LD1_EN_Pin|TEST_01_Pin|GPIO_PIN_7|AD9102_TRIG_Pin; + ARM GAS /tmp/ccwR4KB7.s page 83 -2015:Src/main.c **** u_rx_flg = 0; -2016:Src/main.c **** //State_Data[0]=0; -2017:Src/main.c **** //State_Data[1]=0;//All OK! -2018:Src/main.c **** for (uint16_t i=0; iWORK_EN = ((uint8_t)((*temp2)>>0))&0x01; -2172:Src/main.c **** Curr_setup->U5V1_EN = ((uint8_t)((*temp2)>>1))&0x01; -2173:Src/main.c **** Curr_setup->U5V2_EN = ((uint8_t)((*temp2)>>2))&0x01; -2174:Src/main.c **** Curr_setup->LD1_EN = ((uint8_t)((*temp2)>>3))&0x01; -2175:Src/main.c **** Curr_setup->LD2_EN = ((uint8_t)((*temp2)>>4))&0x01; -2176:Src/main.c **** Curr_setup->REF1_EN = ((uint8_t)((*temp2)>>5))&0x01; -2177:Src/main.c **** Curr_setup->REF2_EN = ((uint8_t)((*temp2)>>6))&0x01; -2178:Src/main.c **** Curr_setup->TEC1_EN = ((uint8_t)((*temp2)>>7))&0x01; -2179:Src/main.c **** Curr_setup->TEC2_EN = ((uint8_t)((*temp2)>>8))&0x01; -2180:Src/main.c **** Curr_setup->TS1_EN = ((uint8_t)((*temp2)>>9))&0x01; -2181:Src/main.c **** Curr_setup->TS2_EN = ((uint8_t)((*temp2)>>10))&0x01; -2182:Src/main.c **** Curr_setup->SD_EN = ((uint8_t)((*temp2)>>11))&0x01; -2183:Src/main.c **** Curr_setup->PI1_RD = ((uint8_t)((*temp2)>>12))&0x01; -2184:Src/main.c **** Curr_setup->PI2_RD = ((uint8_t)((*temp2)>>13))&0x01; -2185:Src/main.c **** - ARM GAS /tmp/ccYgfTud.s page 86 +2129:Src/main.c **** +2130:Src/main.c **** SD_SEEK = 0; +2131:Src/main.c **** SD_SLIDE = 0; +2132:Src/main.c **** //Reset all periphery +2133:Src/main.c **** HAL_GPIO_WritePin(EN_5V1_GPIO_Port, EN_5V1_Pin, GPIO_PIN_RESET); +2134:Src/main.c **** HAL_GPIO_WritePin(EN_5V2_GPIO_Port, EN_5V2_Pin, GPIO_PIN_RESET); +2135:Src/main.c **** HAL_GPIO_WritePin(LD1_EN_GPIO_Port, LD1_EN_Pin, GPIO_PIN_RESET); +2136:Src/main.c **** HAL_GPIO_WritePin(LD2_EN_GPIO_Port, LD2_EN_Pin, GPIO_PIN_RESET); +2137:Src/main.c **** HAL_GPIO_WritePin(REF0_EN_GPIO_Port, REF0_EN_Pin, GPIO_PIN_RESET); +2138:Src/main.c **** HAL_GPIO_WritePin(REF2_ON_GPIO_Port, REF2_ON_Pin, GPIO_PIN_RESET); +2139:Src/main.c **** HAL_GPIO_WritePin(TECEN1_GPIO_Port, TECEN1_Pin, GPIO_PIN_RESET); +2140:Src/main.c **** HAL_GPIO_WritePin(TECEN2_GPIO_Port, TECEN2_Pin, GPIO_PIN_RESET); +2141:Src/main.c **** HAL_GPIO_WritePin(TEC1_PD_GPIO_Port, TEC1_PD_Pin, GPIO_PIN_RESET); +2142:Src/main.c **** HAL_GPIO_WritePin(TEC2_PD_GPIO_Port, TEC2_PD_Pin, GPIO_PIN_RESET); +2143:Src/main.c **** // for (uint16_t i = 0; i < SD_Length; i++) +2144:Src/main.c **** // { +2145:Src/main.c **** // for (uint16_t j = 0; j < DL_16; j++) +2146:Src/main.c **** // { +2147:Src/main.c **** // SD_matr[i][j] = 0; +2148:Src/main.c **** // } +2149:Src/main.c **** // } +2150:Src/main.c **** //LL_SPI_Enable(SPI4);//Enable SPI for MPhD1 ADC +2151:Src/main.c **** //LL_SPI_Enable(SPI5);//Enable SPI for MPhD2 ADC +2152:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD1_CS_GPIO_Port, ADC_MPD1_CS_Pin, GPIO_PIN_SET);//Enable SPI for MPhD1 ADC +2153:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD2_CS_GPIO_Port, ADC_MPD2_CS_Pin, GPIO_PIN_SET);//Enable SPI for MPhD2 ADC +2154:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET); +2155:Src/main.c **** HAL_GPIO_WritePin(SPI5_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET); +2156:Src/main.c **** HAL_GPIO_WritePin(DAC_LD1_CS_GPIO_Port, DAC_LD1_CS_Pin, GPIO_PIN_SET);//End operation with LDAC1 +2157:Src/main.c **** HAL_GPIO_WritePin(DAC_LD2_CS_GPIO_Port, DAC_LD2_CS_Pin, GPIO_PIN_SET);//End operation with LDAC2 +2158:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET);//End operation with TEC1 +2159:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC2_CS_GPIO_Port, DAC_TEC2_CS_Pin, GPIO_PIN_SET);//End operation with TEC2 +2160:Src/main.c **** +2161:Src/main.c **** //------------------------------------------------------------------------------------------------ +2162:Src/main.c **** //test = 11; +2163:Src/main.c **** if (HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin)==GPIO_PIN_RESET)//if exist sd && disconne +2164:Src/main.c **** { +2165:Src/main.c **** //test = 14; +2166:Src/main.c **** if (HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin)==GPIO_PIN_RESET) +2167:Src/main.c **** { +2168:Src/main.c **** //test = 15; +2169:Src/main.c **** test = Mount_SD("/"); +2170:Src/main.c **** if (test == 0) //0 - suc +2171:Src/main.c **** { +2172:Src/main.c **** //Format_SD(); +2173:Src/main.c **** test = Seek_Read_File ("COMMAND.TXT", (uint8_t *)COMMAND, DL_8, DL_8);//Read next DL_8 bytes +2174:Src/main.c **** test = Unmount_SD("/"); // 0 - succ +2175:Src/main.c **** UART_rec_incr = 0; +2176:Src/main.c **** flg_tmt = 0;//Reset the timeout flag +2177:Src/main.c **** } +2178:Src/main.c **** // else +2179:Src/main.c **** // { +2180:Src/main.c **** // test = 13; +2181:Src/main.c **** // } +2182:Src/main.c **** CPU_state = DECODE_ENABLE;//Decoding data with last saved settings +2183:Src/main.c **** } +2184:Src/main.c **** // else +2185:Src/main.c **** // { + ARM GAS /tmp/ccwR4KB7.s page 86 -2186:Src/main.c **** temp2++; -2187:Src/main.c **** LD1_curr_setup->LD_TEMP = (uint16_t)(*temp2); -2188:Src/main.c **** temp2++; -2189:Src/main.c **** LD2_curr_setup->LD_TEMP = (uint16_t)(*temp2); -2190:Src/main.c **** temp2++; -2191:Src/main.c **** temp2++; -2192:Src/main.c **** temp2++; -2193:Src/main.c **** Curr_setup->AVERAGES = (uint16_t)(*temp2); -2194:Src/main.c **** temp2++; -2195:Src/main.c **** LD1_curr_setup->P_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint -2196:Src/main.c **** temp2++; -2197:Src/main.c **** LD1_curr_setup->I_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint -2198:Src/main.c **** temp2++; -2199:Src/main.c **** LD2_curr_setup->P_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint -2200:Src/main.c **** temp2++; -2201:Src/main.c **** LD2_curr_setup->I_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint -2202:Src/main.c **** temp2++; -2203:Src/main.c **** Long_Data[13] = (uint16_t)(*temp2);//Message ID -2204:Src/main.c **** temp2++; -2205:Src/main.c **** LD1_curr_setup->CURRENT = (uint16_t)(*temp2); -2206:Src/main.c **** temp2++; -2207:Src/main.c **** LD2_curr_setup->CURRENT = (uint16_t)(*temp2); -2208:Src/main.c **** temp2++; -2209:Src/main.c **** -2210:Src/main.c **** if (Curr_setup->U5V1_EN) -2211:Src/main.c **** { -2212:Src/main.c **** HAL_GPIO_WritePin(EN_5V1_GPIO_Port, EN_5V1_Pin, GPIO_PIN_SET); -2213:Src/main.c **** } -2214:Src/main.c **** else -2215:Src/main.c **** { -2216:Src/main.c **** HAL_GPIO_WritePin(EN_5V1_GPIO_Port, EN_5V1_Pin, GPIO_PIN_RESET); -2217:Src/main.c **** } -2218:Src/main.c **** -2219:Src/main.c **** if (Curr_setup->U5V2_EN) -2220:Src/main.c **** { -2221:Src/main.c **** HAL_GPIO_WritePin(EN_5V2_GPIO_Port, EN_5V2_Pin, GPIO_PIN_SET); -2222:Src/main.c **** } -2223:Src/main.c **** else -2224:Src/main.c **** { -2225:Src/main.c **** HAL_GPIO_WritePin(EN_5V2_GPIO_Port, EN_5V2_Pin, GPIO_PIN_RESET); -2226:Src/main.c **** } -2227:Src/main.c **** -2228:Src/main.c **** if (Curr_setup->LD1_EN) -2229:Src/main.c **** { -2230:Src/main.c **** HAL_GPIO_WritePin(LD1_EN_GPIO_Port, LD1_EN_Pin, GPIO_PIN_SET); -2231:Src/main.c **** //LL_SPI_Enable(SPI2);//Enable SPI for Laser1 DAC -2232:Src/main.c **** } -2233:Src/main.c **** else -2234:Src/main.c **** { -2235:Src/main.c **** HAL_GPIO_WritePin(LD1_EN_GPIO_Port, LD1_EN_Pin, GPIO_PIN_RESET); -2236:Src/main.c **** //LL_SPI_Disable(SPI2);//Disable SPI for Laser1 DAC -2237:Src/main.c **** } -2238:Src/main.c **** -2239:Src/main.c **** if (Curr_setup->LD2_EN) -2240:Src/main.c **** { -2241:Src/main.c **** HAL_GPIO_WritePin(LD2_EN_GPIO_Port, LD2_EN_Pin, GPIO_PIN_SET); -2242:Src/main.c **** //LL_SPI_Enable(SPI6);//Enable SPI for Laser2 DAC - ARM GAS /tmp/ccYgfTud.s page 87 +2186:Src/main.c **** // test = 16; +2187:Src/main.c **** // } +2188:Src/main.c **** } +2189:Src/main.c **** // else +2190:Src/main.c **** // { +2191:Src/main.c **** // test = 12; +2192:Src/main.c **** // } +2193:Src/main.c **** +2194:Src/main.c **** AD9102_Init(); +2195:Src/main.c **** } +2196:Src/main.c **** static void Decode_uart(uint16_t *Command, LDx_SetupTypeDef *LD1_curr_setup, LDx_SetupTypeDef *LD2_ +2197:Src/main.c **** { +2198:Src/main.c **** // uint8_t *temp1; +2199:Src/main.c **** uint16_t *temp2; +2200:Src/main.c **** +2201:Src/main.c **** //------------------------------------------------------------------------------------------------ +2202:Src/main.c **** +2203:Src/main.c **** +2204:Src/main.c **** test=0; +2205:Src/main.c **** if ((HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin) == GPIO_PIN_RESET)&& +2206:Src/main.c **** (HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin) == GPIO_PIN_SET))//if exist sd && connect u +2207:Src/main.c **** { +2208:Src/main.c **** test = Mount_SD("/"); +2209:Src/main.c **** if (test == 0) //0 - suc +2210:Src/main.c **** { +2211:Src/main.c **** //Format_SD(); +2212:Src/main.c **** test = Remove_File ("COMMAND.TXT"); +2213:Src/main.c **** test = Create_File("COMMAND.TXT"); // 0 -succ +2214:Src/main.c **** test = Write_File_byte("COMMAND.TXT", (uint8_t *)Command, CL_8); +2215:Src/main.c **** test = Update_File_byte("COMMAND.TXT", (uint8_t *)Command, CL_8); +2216:Src/main.c **** test = Unmount_SD("/"); // 0 - succ +2217:Src/main.c **** } +2218:Src/main.c **** } +2219:Src/main.c **** +2220:Src/main.c **** temp2 = (uint16_t *)Command; +2221:Src/main.c **** Curr_setup->WORK_EN = ((uint8_t)((*temp2)>>0))&0x01; +2222:Src/main.c **** Curr_setup->U5V1_EN = ((uint8_t)((*temp2)>>1))&0x01; +2223:Src/main.c **** Curr_setup->U5V2_EN = ((uint8_t)((*temp2)>>2))&0x01; +2224:Src/main.c **** Curr_setup->LD1_EN = ((uint8_t)((*temp2)>>3))&0x01; +2225:Src/main.c **** Curr_setup->LD2_EN = ((uint8_t)((*temp2)>>4))&0x01; +2226:Src/main.c **** Curr_setup->REF1_EN = ((uint8_t)((*temp2)>>5))&0x01; +2227:Src/main.c **** Curr_setup->REF2_EN = ((uint8_t)((*temp2)>>6))&0x01; +2228:Src/main.c **** Curr_setup->TEC1_EN = ((uint8_t)((*temp2)>>7))&0x01; +2229:Src/main.c **** Curr_setup->TEC2_EN = ((uint8_t)((*temp2)>>8))&0x01; +2230:Src/main.c **** Curr_setup->TS1_EN = ((uint8_t)((*temp2)>>9))&0x01; +2231:Src/main.c **** Curr_setup->TS2_EN = ((uint8_t)((*temp2)>>10))&0x01; +2232:Src/main.c **** Curr_setup->SD_EN = ((uint8_t)((*temp2)>>11))&0x01; +2233:Src/main.c **** Curr_setup->PI1_RD = ((uint8_t)((*temp2)>>12))&0x01; +2234:Src/main.c **** Curr_setup->PI2_RD = ((uint8_t)((*temp2)>>13))&0x01; +2235:Src/main.c **** +2236:Src/main.c **** temp2++; +2237:Src/main.c **** LD1_curr_setup->LD_TEMP = (uint16_t)(*temp2); +2238:Src/main.c **** temp2++; +2239:Src/main.c **** LD2_curr_setup->LD_TEMP = (uint16_t)(*temp2); +2240:Src/main.c **** temp2++; +2241:Src/main.c **** temp2++; +2242:Src/main.c **** temp2++; + ARM GAS /tmp/ccwR4KB7.s page 87 -2243:Src/main.c **** } -2244:Src/main.c **** else -2245:Src/main.c **** { -2246:Src/main.c **** HAL_GPIO_WritePin(LD2_EN_GPIO_Port, LD2_EN_Pin, GPIO_PIN_RESET); -2247:Src/main.c **** //LL_SPI_Disable(SPI6);//Disable SPI for Laser2 DAC -2248:Src/main.c **** } -2249:Src/main.c **** -2250:Src/main.c **** if (Curr_setup->REF1_EN) -2251:Src/main.c **** { -2252:Src/main.c **** HAL_GPIO_WritePin(REF0_EN_GPIO_Port, REF0_EN_Pin, GPIO_PIN_SET); -2253:Src/main.c **** } -2254:Src/main.c **** else -2255:Src/main.c **** { -2256:Src/main.c **** HAL_GPIO_WritePin(REF0_EN_GPIO_Port, REF0_EN_Pin, GPIO_PIN_RESET); -2257:Src/main.c **** } -2258:Src/main.c **** -2259:Src/main.c **** if (Curr_setup->REF2_EN) -2260:Src/main.c **** { -2261:Src/main.c **** HAL_GPIO_WritePin(REF2_ON_GPIO_Port, REF2_ON_Pin, GPIO_PIN_SET); -2262:Src/main.c **** } -2263:Src/main.c **** else -2264:Src/main.c **** { -2265:Src/main.c **** HAL_GPIO_WritePin(REF2_ON_GPIO_Port, REF2_ON_Pin, GPIO_PIN_RESET); -2266:Src/main.c **** } -2267:Src/main.c **** -2268:Src/main.c **** if ((Curr_setup->TS1_EN)&&(Curr_setup->TEC1_EN)) -2269:Src/main.c **** { -2270:Src/main.c **** Set_LTEC(3,32767); -2271:Src/main.c **** Set_LTEC(3,32767); -2272:Src/main.c **** HAL_GPIO_WritePin(TEC1_PD_GPIO_Port, TEC1_PD_Pin, GPIO_PIN_SET); -2273:Src/main.c **** HAL_GPIO_WritePin(TECEN1_GPIO_Port, TECEN1_Pin, GPIO_PIN_SET); -2274:Src/main.c **** } -2275:Src/main.c **** else -2276:Src/main.c **** { -2277:Src/main.c **** HAL_GPIO_WritePin(TECEN1_GPIO_Port, TECEN1_Pin, GPIO_PIN_RESET); -2278:Src/main.c **** HAL_GPIO_WritePin(TEC1_PD_GPIO_Port, TEC1_PD_Pin, GPIO_PIN_RESET); -2279:Src/main.c **** } -2280:Src/main.c **** -2281:Src/main.c **** if ((Curr_setup->TS2_EN)&&(Curr_setup->TEC2_EN)) -2282:Src/main.c **** { -2283:Src/main.c **** Set_LTEC(4,32767); -2284:Src/main.c **** Set_LTEC(4,32767); -2285:Src/main.c **** HAL_GPIO_WritePin(TEC2_PD_GPIO_Port, TEC2_PD_Pin, GPIO_PIN_SET); -2286:Src/main.c **** HAL_GPIO_WritePin(TECEN2_GPIO_Port, TECEN2_Pin, GPIO_PIN_SET); +2243:Src/main.c **** Curr_setup->AVERAGES = (uint16_t)(*temp2); +2244:Src/main.c **** temp2++; +2245:Src/main.c **** LD1_curr_setup->P_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint +2246:Src/main.c **** temp2++; +2247:Src/main.c **** LD1_curr_setup->I_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint +2248:Src/main.c **** temp2++; +2249:Src/main.c **** LD2_curr_setup->P_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint +2250:Src/main.c **** temp2++; +2251:Src/main.c **** LD2_curr_setup->I_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint +2252:Src/main.c **** temp2++; +2253:Src/main.c **** Long_Data[13] = (uint16_t)(*temp2);//Message ID +2254:Src/main.c **** temp2++; +2255:Src/main.c **** LD1_curr_setup->CURRENT = (uint16_t)(*temp2); +2256:Src/main.c **** temp2++; +2257:Src/main.c **** LD2_curr_setup->CURRENT = (uint16_t)(*temp2); +2258:Src/main.c **** temp2++; +2259:Src/main.c **** +2260:Src/main.c **** if (Curr_setup->U5V1_EN) +2261:Src/main.c **** { +2262:Src/main.c **** HAL_GPIO_WritePin(EN_5V1_GPIO_Port, EN_5V1_Pin, GPIO_PIN_SET); +2263:Src/main.c **** } +2264:Src/main.c **** else +2265:Src/main.c **** { +2266:Src/main.c **** HAL_GPIO_WritePin(EN_5V1_GPIO_Port, EN_5V1_Pin, GPIO_PIN_RESET); +2267:Src/main.c **** } +2268:Src/main.c **** +2269:Src/main.c **** if (Curr_setup->U5V2_EN) +2270:Src/main.c **** { +2271:Src/main.c **** HAL_GPIO_WritePin(EN_5V2_GPIO_Port, EN_5V2_Pin, GPIO_PIN_SET); +2272:Src/main.c **** } +2273:Src/main.c **** else +2274:Src/main.c **** { +2275:Src/main.c **** HAL_GPIO_WritePin(EN_5V2_GPIO_Port, EN_5V2_Pin, GPIO_PIN_RESET); +2276:Src/main.c **** } +2277:Src/main.c **** +2278:Src/main.c **** if (Curr_setup->LD1_EN) +2279:Src/main.c **** { +2280:Src/main.c **** HAL_GPIO_WritePin(LD1_EN_GPIO_Port, LD1_EN_Pin, GPIO_PIN_SET); +2281:Src/main.c **** //LL_SPI_Enable(SPI2);//Enable SPI for Laser1 DAC +2282:Src/main.c **** } +2283:Src/main.c **** else +2284:Src/main.c **** { +2285:Src/main.c **** HAL_GPIO_WritePin(LD1_EN_GPIO_Port, LD1_EN_Pin, GPIO_PIN_RESET); +2286:Src/main.c **** //LL_SPI_Disable(SPI2);//Disable SPI for Laser1 DAC 2287:Src/main.c **** } -2288:Src/main.c **** else -2289:Src/main.c **** { -2290:Src/main.c **** HAL_GPIO_WritePin(TECEN2_GPIO_Port, TECEN2_Pin, GPIO_PIN_RESET); -2291:Src/main.c **** HAL_GPIO_WritePin(TEC2_PD_GPIO_Port, TEC2_PD_Pin, GPIO_PIN_RESET); -2292:Src/main.c **** } -2293:Src/main.c **** -2294:Src/main.c **** if (Curr_setup->PI1_RD==0) +2288:Src/main.c **** +2289:Src/main.c **** if (Curr_setup->LD2_EN) +2290:Src/main.c **** { +2291:Src/main.c **** HAL_GPIO_WritePin(LD2_EN_GPIO_Port, LD2_EN_Pin, GPIO_PIN_SET); +2292:Src/main.c **** //LL_SPI_Enable(SPI6);//Enable SPI for Laser2 DAC +2293:Src/main.c **** } +2294:Src/main.c **** else 2295:Src/main.c **** { -2296:Src/main.c **** LD1_curr_setup->P_coef_temp = 10; -2297:Src/main.c **** LD1_curr_setup->I_coef_temp = 0.01; +2296:Src/main.c **** HAL_GPIO_WritePin(LD2_EN_GPIO_Port, LD2_EN_Pin, GPIO_PIN_RESET); +2297:Src/main.c **** //LL_SPI_Disable(SPI6);//Disable SPI for Laser2 DAC 2298:Src/main.c **** } 2299:Src/main.c **** - ARM GAS /tmp/ccYgfTud.s page 88 + ARM GAS /tmp/ccwR4KB7.s page 88 -2300:Src/main.c **** if (Curr_setup->PI2_RD==0) +2300:Src/main.c **** if (Curr_setup->REF1_EN) 2301:Src/main.c **** { -2302:Src/main.c **** LD2_curr_setup->P_coef_temp = 10; -2303:Src/main.c **** LD2_curr_setup->I_coef_temp = 0.01; -2304:Src/main.c **** } -2305:Src/main.c **** } -2306:Src/main.c **** -2307:Src/main.c **** static void Decode_task(uint16_t *Command, LDx_SetupTypeDef *LD1_curr_setup, LDx_SetupTypeDef *LD2_ -2308:Src/main.c **** { - 253 .loc 1 2308 1 is_stmt 1 view -0 +2302:Src/main.c **** HAL_GPIO_WritePin(REF0_EN_GPIO_Port, REF0_EN_Pin, GPIO_PIN_SET); +2303:Src/main.c **** } +2304:Src/main.c **** else +2305:Src/main.c **** { +2306:Src/main.c **** HAL_GPIO_WritePin(REF0_EN_GPIO_Port, REF0_EN_Pin, GPIO_PIN_RESET); +2307:Src/main.c **** } +2308:Src/main.c **** +2309:Src/main.c **** if (Curr_setup->REF2_EN) +2310:Src/main.c **** { +2311:Src/main.c **** HAL_GPIO_WritePin(REF2_ON_GPIO_Port, REF2_ON_Pin, GPIO_PIN_SET); +2312:Src/main.c **** } +2313:Src/main.c **** else +2314:Src/main.c **** { +2315:Src/main.c **** HAL_GPIO_WritePin(REF2_ON_GPIO_Port, REF2_ON_Pin, GPIO_PIN_RESET); +2316:Src/main.c **** } +2317:Src/main.c **** +2318:Src/main.c **** if ((Curr_setup->TS1_EN)&&(Curr_setup->TEC1_EN)) +2319:Src/main.c **** { +2320:Src/main.c **** Set_LTEC(3,32767); +2321:Src/main.c **** Set_LTEC(3,32767); +2322:Src/main.c **** HAL_GPIO_WritePin(TEC1_PD_GPIO_Port, TEC1_PD_Pin, GPIO_PIN_SET); +2323:Src/main.c **** HAL_GPIO_WritePin(TECEN1_GPIO_Port, TECEN1_Pin, GPIO_PIN_SET); +2324:Src/main.c **** } +2325:Src/main.c **** else +2326:Src/main.c **** { +2327:Src/main.c **** HAL_GPIO_WritePin(TECEN1_GPIO_Port, TECEN1_Pin, GPIO_PIN_RESET); +2328:Src/main.c **** HAL_GPIO_WritePin(TEC1_PD_GPIO_Port, TEC1_PD_Pin, GPIO_PIN_RESET); +2329:Src/main.c **** } +2330:Src/main.c **** +2331:Src/main.c **** if ((Curr_setup->TS2_EN)&&(Curr_setup->TEC2_EN)) +2332:Src/main.c **** { +2333:Src/main.c **** Set_LTEC(4,32767); +2334:Src/main.c **** Set_LTEC(4,32767); +2335:Src/main.c **** HAL_GPIO_WritePin(TEC2_PD_GPIO_Port, TEC2_PD_Pin, GPIO_PIN_SET); +2336:Src/main.c **** HAL_GPIO_WritePin(TECEN2_GPIO_Port, TECEN2_Pin, GPIO_PIN_SET); +2337:Src/main.c **** } +2338:Src/main.c **** else +2339:Src/main.c **** { +2340:Src/main.c **** HAL_GPIO_WritePin(TECEN2_GPIO_Port, TECEN2_Pin, GPIO_PIN_RESET); +2341:Src/main.c **** HAL_GPIO_WritePin(TEC2_PD_GPIO_Port, TEC2_PD_Pin, GPIO_PIN_RESET); +2342:Src/main.c **** } +2343:Src/main.c **** +2344:Src/main.c **** if (Curr_setup->PI1_RD==0) +2345:Src/main.c **** { +2346:Src/main.c **** LD1_curr_setup->P_coef_temp = 10; +2347:Src/main.c **** LD1_curr_setup->I_coef_temp = 0.01; +2348:Src/main.c **** } +2349:Src/main.c **** +2350:Src/main.c **** if (Curr_setup->PI2_RD==0) +2351:Src/main.c **** { +2352:Src/main.c **** LD2_curr_setup->P_coef_temp = 10; +2353:Src/main.c **** LD2_curr_setup->I_coef_temp = 0.01; +2354:Src/main.c **** } +2355:Src/main.c **** } +2356:Src/main.c **** + ARM GAS /tmp/ccwR4KB7.s page 89 + + +2357:Src/main.c **** static void Decode_task(uint16_t *Command, LDx_SetupTypeDef *LD1_curr_setup, LDx_SetupTypeDef *LD2_ +2358:Src/main.c **** { + 253 .loc 1 2358 1 is_stmt 1 view -0 254 .cfi_startproc 255 @ args = 0, pretend = 0, frame = 8 256 @ frame_needed = 0, uses_anonymous_args = 0 257 @ link register save eliminated. - 258 .loc 1 2308 1 is_stmt 0 view .LVU66 + 258 .loc 1 2358 1 is_stmt 0 view .LVU66 259 0000 82B0 sub sp, sp, #8 260 .LCFI4: 261 .cfi_def_cfa_offset 8 -2309:Src/main.c **** uint16_t *temp2; - 262 .loc 1 2309 2 is_stmt 1 view .LVU67 -2310:Src/main.c **** -2311:Src/main.c **** temp2 = (uint16_t *)Command; - 263 .loc 1 2311 2 view .LVU68 +2359:Src/main.c **** uint16_t *temp2; + 262 .loc 1 2359 2 is_stmt 1 view .LVU67 +2360:Src/main.c **** +2361:Src/main.c **** temp2 = (uint16_t *)Command; + 263 .loc 1 2361 2 view .LVU68 264 .LVL15: -2312:Src/main.c **** Curr_setup->WORK_EN = ((uint8_t)((*temp2)>>0))&0x01; - 265 .loc 1 2312 2 view .LVU69 - 266 .loc 1 2312 36 is_stmt 0 view .LVU70 +2362:Src/main.c **** Curr_setup->WORK_EN = ((uint8_t)((*temp2)>>0))&0x01; + 265 .loc 1 2362 2 view .LVU69 + 266 .loc 1 2362 36 is_stmt 0 view .LVU70 267 0002 0288 ldrh r2, [r0] 268 .LVL16: - 269 .loc 1 2312 48 view .LVU71 + 269 .loc 1 2362 48 view .LVU71 270 0004 02F00102 and r2, r2, #1 - 271 .loc 1 2312 22 view .LVU72 + 271 .loc 1 2362 22 view .LVU72 272 0008 1A70 strb r2, [r3] -2313:Src/main.c **** Curr_setup->U5V1_EN = ((uint8_t)((*temp2)>>1))&0x01; - 273 .loc 1 2313 2 is_stmt 1 view .LVU73 - 274 .loc 1 2313 36 is_stmt 0 view .LVU74 +2363:Src/main.c **** Curr_setup->U5V1_EN = ((uint8_t)((*temp2)>>1))&0x01; + 273 .loc 1 2363 2 is_stmt 1 view .LVU73 + 274 .loc 1 2363 36 is_stmt 0 view .LVU74 275 000a 0288 ldrh r2, [r0] - 276 .loc 1 2313 48 view .LVU75 + 276 .loc 1 2363 48 view .LVU75 277 000c C2F34002 ubfx r2, r2, #1, #1 - 278 .loc 1 2313 22 view .LVU76 + 278 .loc 1 2363 22 view .LVU76 279 0010 5A70 strb r2, [r3, #1] -2314:Src/main.c **** Curr_setup->U5V2_EN = ((uint8_t)((*temp2)>>2))&0x01; - 280 .loc 1 2314 2 is_stmt 1 view .LVU77 - 281 .loc 1 2314 36 is_stmt 0 view .LVU78 +2364:Src/main.c **** Curr_setup->U5V2_EN = ((uint8_t)((*temp2)>>2))&0x01; + 280 .loc 1 2364 2 is_stmt 1 view .LVU77 + 281 .loc 1 2364 36 is_stmt 0 view .LVU78 282 0012 0288 ldrh r2, [r0] - 283 .loc 1 2314 48 view .LVU79 + 283 .loc 1 2364 48 view .LVU79 284 0014 C2F38002 ubfx r2, r2, #2, #1 - 285 .loc 1 2314 22 view .LVU80 + 285 .loc 1 2364 22 view .LVU80 286 0018 9A70 strb r2, [r3, #2] -2315:Src/main.c **** Curr_setup->LD1_EN = ((uint8_t)((*temp2)>>3))&0x01; - 287 .loc 1 2315 2 is_stmt 1 view .LVU81 - 288 .loc 1 2315 35 is_stmt 0 view .LVU82 +2365:Src/main.c **** Curr_setup->LD1_EN = ((uint8_t)((*temp2)>>3))&0x01; + 287 .loc 1 2365 2 is_stmt 1 view .LVU81 + 288 .loc 1 2365 35 is_stmt 0 view .LVU82 289 001a 0288 ldrh r2, [r0] - 290 .loc 1 2315 47 view .LVU83 + 290 .loc 1 2365 47 view .LVU83 291 001c C2F3C002 ubfx r2, r2, #3, #1 - 292 .loc 1 2315 21 view .LVU84 + 292 .loc 1 2365 21 view .LVU84 293 0020 DA70 strb r2, [r3, #3] - ARM GAS /tmp/ccYgfTud.s page 89 - - -2316:Src/main.c **** Curr_setup->LD2_EN = ((uint8_t)((*temp2)>>4))&0x01; - 294 .loc 1 2316 2 is_stmt 1 view .LVU85 - 295 .loc 1 2316 35 is_stmt 0 view .LVU86 +2366:Src/main.c **** Curr_setup->LD2_EN = ((uint8_t)((*temp2)>>4))&0x01; + 294 .loc 1 2366 2 is_stmt 1 view .LVU85 + 295 .loc 1 2366 35 is_stmt 0 view .LVU86 296 0022 0288 ldrh r2, [r0] - 297 .loc 1 2316 47 view .LVU87 + 297 .loc 1 2366 47 view .LVU87 298 0024 C2F30012 ubfx r2, r2, #4, #1 - 299 .loc 1 2316 21 view .LVU88 + 299 .loc 1 2366 21 view .LVU88 + ARM GAS /tmp/ccwR4KB7.s page 90 + + 300 0028 1A71 strb r2, [r3, #4] -2317:Src/main.c **** Curr_setup->REF1_EN = ((uint8_t)((*temp2)>>5))&0x01; - 301 .loc 1 2317 2 is_stmt 1 view .LVU89 - 302 .loc 1 2317 36 is_stmt 0 view .LVU90 +2367:Src/main.c **** Curr_setup->REF1_EN = ((uint8_t)((*temp2)>>5))&0x01; + 301 .loc 1 2367 2 is_stmt 1 view .LVU89 + 302 .loc 1 2367 36 is_stmt 0 view .LVU90 303 002a 0288 ldrh r2, [r0] - 304 .loc 1 2317 48 view .LVU91 + 304 .loc 1 2367 48 view .LVU91 305 002c C2F34012 ubfx r2, r2, #5, #1 - 306 .loc 1 2317 22 view .LVU92 + 306 .loc 1 2367 22 view .LVU92 307 0030 5A71 strb r2, [r3, #5] -2318:Src/main.c **** Curr_setup->REF2_EN = ((uint8_t)((*temp2)>>6))&0x01; - 308 .loc 1 2318 2 is_stmt 1 view .LVU93 - 309 .loc 1 2318 36 is_stmt 0 view .LVU94 +2368:Src/main.c **** Curr_setup->REF2_EN = ((uint8_t)((*temp2)>>6))&0x01; + 308 .loc 1 2368 2 is_stmt 1 view .LVU93 + 309 .loc 1 2368 36 is_stmt 0 view .LVU94 310 0032 0288 ldrh r2, [r0] - 311 .loc 1 2318 48 view .LVU95 + 311 .loc 1 2368 48 view .LVU95 312 0034 C2F38012 ubfx r2, r2, #6, #1 - 313 .loc 1 2318 22 view .LVU96 + 313 .loc 1 2368 22 view .LVU96 314 0038 9A71 strb r2, [r3, #6] -2319:Src/main.c **** Curr_setup->TEC1_EN = ((uint8_t)((*temp2)>>7))&0x01; - 315 .loc 1 2319 2 is_stmt 1 view .LVU97 - 316 .loc 1 2319 36 is_stmt 0 view .LVU98 +2369:Src/main.c **** Curr_setup->TEC1_EN = ((uint8_t)((*temp2)>>7))&0x01; + 315 .loc 1 2369 2 is_stmt 1 view .LVU97 + 316 .loc 1 2369 36 is_stmt 0 view .LVU98 317 003a 0288 ldrh r2, [r0] - 318 .loc 1 2319 48 view .LVU99 + 318 .loc 1 2369 48 view .LVU99 319 003c C2F3C012 ubfx r2, r2, #7, #1 - 320 .loc 1 2319 22 view .LVU100 + 320 .loc 1 2369 22 view .LVU100 321 0040 DA71 strb r2, [r3, #7] -2320:Src/main.c **** Curr_setup->TEC2_EN = ((uint8_t)((*temp2)>>8))&0x01; - 322 .loc 1 2320 2 is_stmt 1 view .LVU101 - 323 .loc 1 2320 36 is_stmt 0 view .LVU102 +2370:Src/main.c **** Curr_setup->TEC2_EN = ((uint8_t)((*temp2)>>8))&0x01; + 322 .loc 1 2370 2 is_stmt 1 view .LVU101 + 323 .loc 1 2370 36 is_stmt 0 view .LVU102 324 0042 0288 ldrh r2, [r0] - 325 .loc 1 2320 48 view .LVU103 + 325 .loc 1 2370 48 view .LVU103 326 0044 C2F30022 ubfx r2, r2, #8, #1 - 327 .loc 1 2320 22 view .LVU104 + 327 .loc 1 2370 22 view .LVU104 328 0048 1A72 strb r2, [r3, #8] -2321:Src/main.c **** Curr_setup->TS1_EN = ((uint8_t)((*temp2)>>9))&0x01; - 329 .loc 1 2321 2 is_stmt 1 view .LVU105 - 330 .loc 1 2321 35 is_stmt 0 view .LVU106 +2371:Src/main.c **** Curr_setup->TS1_EN = ((uint8_t)((*temp2)>>9))&0x01; + 329 .loc 1 2371 2 is_stmt 1 view .LVU105 + 330 .loc 1 2371 35 is_stmt 0 view .LVU106 331 004a 0288 ldrh r2, [r0] - 332 .loc 1 2321 47 view .LVU107 + 332 .loc 1 2371 47 view .LVU107 333 004c C2F34022 ubfx r2, r2, #9, #1 - 334 .loc 1 2321 21 view .LVU108 + 334 .loc 1 2371 21 view .LVU108 335 0050 5A72 strb r2, [r3, #9] -2322:Src/main.c **** Curr_setup->TS2_EN = ((uint8_t)((*temp2)>>10))&0x01; - 336 .loc 1 2322 2 is_stmt 1 view .LVU109 - 337 .loc 1 2322 35 is_stmt 0 view .LVU110 +2372:Src/main.c **** Curr_setup->TS2_EN = ((uint8_t)((*temp2)>>10))&0x01; + 336 .loc 1 2372 2 is_stmt 1 view .LVU109 + 337 .loc 1 2372 35 is_stmt 0 view .LVU110 338 0052 0288 ldrh r2, [r0] - 339 .loc 1 2322 48 view .LVU111 + 339 .loc 1 2372 48 view .LVU111 340 0054 C2F38022 ubfx r2, r2, #10, #1 - 341 .loc 1 2322 21 view .LVU112 + 341 .loc 1 2372 21 view .LVU112 342 0058 9A72 strb r2, [r3, #10] -2323:Src/main.c **** Curr_setup->SD_EN = ((uint8_t)((*temp2)>>11))&0x01; - ARM GAS /tmp/ccYgfTud.s page 90 - - - 343 .loc 1 2323 2 is_stmt 1 view .LVU113 - 344 .loc 1 2323 34 is_stmt 0 view .LVU114 +2373:Src/main.c **** Curr_setup->SD_EN = ((uint8_t)((*temp2)>>11))&0x01; + 343 .loc 1 2373 2 is_stmt 1 view .LVU113 + 344 .loc 1 2373 34 is_stmt 0 view .LVU114 345 005a 0288 ldrh r2, [r0] - 346 .loc 1 2323 47 view .LVU115 + 346 .loc 1 2373 47 view .LVU115 347 005c C2F3C022 ubfx r2, r2, #11, #1 - 348 .loc 1 2323 20 view .LVU116 + 348 .loc 1 2373 20 view .LVU116 349 0060 DA72 strb r2, [r3, #11] -2324:Src/main.c **** Curr_setup->PI1_RD = ((uint8_t)((*temp2)>>12))&0x01; - 350 .loc 1 2324 2 is_stmt 1 view .LVU117 - 351 .loc 1 2324 35 is_stmt 0 view .LVU118 + ARM GAS /tmp/ccwR4KB7.s page 91 + + +2374:Src/main.c **** Curr_setup->PI1_RD = ((uint8_t)((*temp2)>>12))&0x01; + 350 .loc 1 2374 2 is_stmt 1 view .LVU117 + 351 .loc 1 2374 35 is_stmt 0 view .LVU118 352 0062 0288 ldrh r2, [r0] - 353 .loc 1 2324 48 view .LVU119 + 353 .loc 1 2374 48 view .LVU119 354 0064 C2F30032 ubfx r2, r2, #12, #1 - 355 .loc 1 2324 21 view .LVU120 + 355 .loc 1 2374 21 view .LVU120 356 0068 1A73 strb r2, [r3, #12] -2325:Src/main.c **** Curr_setup->PI2_RD = ((uint8_t)((*temp2)>>13))&0x01; - 357 .loc 1 2325 2 is_stmt 1 view .LVU121 - 358 .loc 1 2325 35 is_stmt 0 view .LVU122 +2375:Src/main.c **** Curr_setup->PI2_RD = ((uint8_t)((*temp2)>>13))&0x01; + 357 .loc 1 2375 2 is_stmt 1 view .LVU121 + 358 .loc 1 2375 35 is_stmt 0 view .LVU122 359 006a 0288 ldrh r2, [r0] - 360 .loc 1 2325 48 view .LVU123 + 360 .loc 1 2375 48 view .LVU123 361 006c C2F34032 ubfx r2, r2, #13, #1 - 362 .loc 1 2325 21 view .LVU124 + 362 .loc 1 2375 21 view .LVU124 363 0070 5A73 strb r2, [r3, #13] -2326:Src/main.c **** -2327:Src/main.c **** temp2++; - 364 .loc 1 2327 2 is_stmt 1 view .LVU125 +2376:Src/main.c **** +2377:Src/main.c **** temp2++; + 364 .loc 1 2377 2 is_stmt 1 view .LVU125 365 .LVL17: -2328:Src/main.c **** task.task_type = (uint8_t)(*temp2); temp2++; - 366 .loc 1 2328 2 view .LVU126 - 367 .loc 1 2328 21 is_stmt 0 view .LVU127 +2378:Src/main.c **** task.task_type = (uint8_t)(*temp2); temp2++; + 366 .loc 1 2378 2 view .LVU126 + 367 .loc 1 2378 21 is_stmt 0 view .LVU127 368 0072 8278 ldrb r2, [r0, #2] @ zero_extendqisi2 - 369 .loc 1 2328 19 view .LVU128 + 369 .loc 1 2378 19 view .LVU128 370 0074 384B ldr r3, .L14+8 371 .LVL18: - 372 .loc 1 2328 19 view .LVU129 + 372 .loc 1 2378 19 view .LVU129 373 0076 1A70 strb r2, [r3] - 374 .loc 1 2328 40 is_stmt 1 view .LVU130 + 374 .loc 1 2378 40 is_stmt 1 view .LVU130 375 .LVL19: -2329:Src/main.c **** task.min_param = (float)(*temp2); temp2++; - 376 .loc 1 2329 2 view .LVU131 - 377 .loc 1 2329 29 is_stmt 0 view .LVU132 +2379:Src/main.c **** task.min_param = (float)(*temp2); temp2++; + 376 .loc 1 2379 2 view .LVU131 + 377 .loc 1 2379 29 is_stmt 0 view .LVU132 378 0078 8288 ldrh r2, [r0, #4] 379 007a 07EE902A vmov s15, r2 @ int - 380 .loc 1 2329 21 view .LVU133 + 380 .loc 1 2379 21 view .LVU133 381 007e F8EE677A vcvt.f32.u32 s15, s15 - 382 .loc 1 2329 19 view .LVU134 + 382 .loc 1 2379 19 view .LVU134 383 0082 C3ED017A vstr.32 s15, [r3, #4] - 384 .loc 1 2329 38 is_stmt 1 view .LVU135 + 384 .loc 1 2379 38 is_stmt 1 view .LVU135 385 .LVL20: -2330:Src/main.c **** task.max_param = (float)(*temp2); temp2++; - 386 .loc 1 2330 2 view .LVU136 - 387 .loc 1 2330 29 is_stmt 0 view .LVU137 +2380:Src/main.c **** task.max_param = (float)(*temp2); temp2++; + 386 .loc 1 2380 2 view .LVU136 + 387 .loc 1 2380 29 is_stmt 0 view .LVU137 388 0086 C288 ldrh r2, [r0, #6] 389 0088 07EE902A vmov s15, r2 @ int - 390 .loc 1 2330 21 view .LVU138 + 390 .loc 1 2380 21 view .LVU138 391 008c F8EE677A vcvt.f32.u32 s15, s15 - 392 .loc 1 2330 19 view .LVU139 - ARM GAS /tmp/ccYgfTud.s page 91 - - + 392 .loc 1 2380 19 view .LVU139 393 0090 C3ED027A vstr.32 s15, [r3, #8] - 394 .loc 1 2330 38 is_stmt 1 view .LVU140 + 394 .loc 1 2380 38 is_stmt 1 view .LVU140 395 .LVL21: -2331:Src/main.c **** task.delta_param = (float)(*temp2); temp2++; - 396 .loc 1 2331 2 view .LVU141 - 397 .loc 1 2331 29 is_stmt 0 view .LVU142 +2381:Src/main.c **** task.delta_param = (float)(*temp2); temp2++; + 396 .loc 1 2381 2 view .LVU141 + 397 .loc 1 2381 29 is_stmt 0 view .LVU142 398 0094 0289 ldrh r2, [r0, #8] + ARM GAS /tmp/ccwR4KB7.s page 92 + + 399 0096 07EE902A vmov s15, r2 @ int - 400 .loc 1 2331 21 view .LVU143 + 400 .loc 1 2381 21 view .LVU143 401 009a F8EE677A vcvt.f32.u32 s15, s15 - 402 .loc 1 2331 19 view .LVU144 + 402 .loc 1 2381 19 view .LVU144 403 009e C3ED037A vstr.32 s15, [r3, #12] - 404 .loc 1 2331 38 is_stmt 1 view .LVU145 + 404 .loc 1 2381 38 is_stmt 1 view .LVU145 405 .LVL22: -2332:Src/main.c **** task.dt = (float)(*temp2) / 100.0; temp2++; - 406 .loc 1 2332 2 view .LVU146 - 407 .loc 1 2332 29 is_stmt 0 view .LVU147 +2382:Src/main.c **** task.dt = (float)(*temp2) / 100.0; temp2++; + 406 .loc 1 2382 2 view .LVU146 + 407 .loc 1 2382 29 is_stmt 0 view .LVU147 408 00a2 4289 ldrh r2, [r0, #10] 409 00a4 07EE102A vmov s14, r2 @ int - 410 .loc 1 2332 21 view .LVU148 + 410 .loc 1 2382 21 view .LVU148 411 00a8 B8EE477B vcvt.f64.u32 d7, s14 - 412 .loc 1 2332 37 view .LVU149 + 412 .loc 1 2382 37 view .LVU149 413 00ac 9FED285B vldr.64 d5, .L14 414 00b0 87EE056B vdiv.f64 d6, d7, d5 - 415 .loc 1 2332 19 view .LVU150 + 415 .loc 1 2382 19 view .LVU150 416 00b4 FCEEC67B vcvt.u32.f64 s15, d6 417 00b8 CDED017A vstr.32 s15, [sp, #4] @ int 418 00bc 9DF80420 ldrb r2, [sp, #4] @ zero_extendqisi2 419 00c0 1A75 strb r2, [r3, #20] - 420 .loc 1 2332 46 is_stmt 1 view .LVU151 + 420 .loc 1 2382 46 is_stmt 1 view .LVU151 421 .LVL23: -2333:Src/main.c **** task.sec_param = (float)(*temp2); temp2++; - 422 .loc 1 2333 2 view .LVU152 - 423 .loc 1 2333 29 is_stmt 0 view .LVU153 +2383:Src/main.c **** task.sec_param = (float)(*temp2); temp2++; + 422 .loc 1 2383 2 view .LVU152 + 423 .loc 1 2383 29 is_stmt 0 view .LVU153 424 00c2 8189 ldrh r1, [r0, #12] 425 .LVL24: - 426 .loc 1 2333 29 view .LVU154 + 426 .loc 1 2383 29 view .LVU154 427 00c4 07EE901A vmov s15, r1 @ int - 428 .loc 1 2333 21 view .LVU155 + 428 .loc 1 2383 21 view .LVU155 429 00c8 F8EE677A vcvt.f32.u32 s15, s15 - 430 .loc 1 2333 19 view .LVU156 + 430 .loc 1 2383 19 view .LVU156 431 00cc C3ED067A vstr.32 s15, [r3, #24] - 432 .loc 1 2333 38 is_stmt 1 view .LVU157 + 432 .loc 1 2383 38 is_stmt 1 view .LVU157 433 .LVL25: -2334:Src/main.c **** task.curr = (float)(*temp2); temp2++; - 434 .loc 1 2334 2 view .LVU158 - 435 .loc 1 2334 29 is_stmt 0 view .LVU159 +2384:Src/main.c **** task.curr = (float)(*temp2); temp2++; + 434 .loc 1 2384 2 view .LVU158 + 435 .loc 1 2384 29 is_stmt 0 view .LVU159 436 00d0 C189 ldrh r1, [r0, #14] 437 00d2 07EE901A vmov s15, r1 @ int - 438 .loc 1 2334 21 view .LVU160 + 438 .loc 1 2384 21 view .LVU160 439 00d6 F8EE677A vcvt.f32.u32 s15, s15 - 440 .loc 1 2334 19 view .LVU161 + 440 .loc 1 2384 19 view .LVU161 441 00da C3ED077A vstr.32 s15, [r3, #28] - 442 .loc 1 2334 38 is_stmt 1 view .LVU162 + 442 .loc 1 2384 38 is_stmt 1 view .LVU162 443 .LVL26: -2335:Src/main.c **** task.temp = (float)(*temp2); temp2++; - 444 .loc 1 2335 2 view .LVU163 - ARM GAS /tmp/ccYgfTud.s page 92 - - - 445 .loc 1 2335 29 is_stmt 0 view .LVU164 +2385:Src/main.c **** task.temp = (float)(*temp2); temp2++; + 444 .loc 1 2385 2 view .LVU163 + 445 .loc 1 2385 29 is_stmt 0 view .LVU164 446 00de 018A ldrh r1, [r0, #16] 447 00e0 07EE901A vmov s15, r1 @ int - 448 .loc 1 2335 21 view .LVU165 + 448 .loc 1 2385 21 view .LVU165 449 00e4 F8EE677A vcvt.f32.u32 s15, s15 - 450 .loc 1 2335 19 view .LVU166 + 450 .loc 1 2385 19 view .LVU166 451 00e8 C3ED087A vstr.32 s15, [r3, #32] - 452 .loc 1 2335 38 is_stmt 1 view .LVU167 + ARM GAS /tmp/ccwR4KB7.s page 93 + + + 452 .loc 1 2385 38 is_stmt 1 view .LVU167 453 .LVL27: -2336:Src/main.c **** task.tau = (float)(*temp2); temp2++; - 454 .loc 1 2336 2 view .LVU168 - 455 .loc 1 2336 29 is_stmt 0 view .LVU169 +2386:Src/main.c **** task.tau = (float)(*temp2); temp2++; + 454 .loc 1 2386 2 view .LVU168 + 455 .loc 1 2386 29 is_stmt 0 view .LVU169 456 00ec 418A ldrh r1, [r0, #18] - 457 .loc 1 2336 19 view .LVU170 + 457 .loc 1 2386 19 view .LVU170 458 00ee D982 strh r1, [r3, #22] @ movhi - 459 .loc 1 2336 38 is_stmt 1 view .LVU171 + 459 .loc 1 2386 38 is_stmt 1 view .LVU171 460 .LVL28: -2337:Src/main.c **** task.p_coef_1 = (float)(*temp2) * 256.0; temp2++; - 461 .loc 1 2337 2 view .LVU172 - 462 .loc 1 2337 29 is_stmt 0 view .LVU173 +2387:Src/main.c **** task.p_coef_1 = (float)(*temp2) * 256.0; temp2++; + 461 .loc 1 2387 2 view .LVU172 + 462 .loc 1 2387 29 is_stmt 0 view .LVU173 463 00f0 818A ldrh r1, [r0, #20] 464 00f2 07EE901A vmov s15, r1 @ int - 465 .loc 1 2337 21 view .LVU174 + 465 .loc 1 2387 21 view .LVU174 466 00f6 F8EE677A vcvt.f32.u32 s15, s15 - 467 .loc 1 2337 37 view .LVU175 + 467 .loc 1 2387 37 view .LVU175 468 00fa 9FED187A vldr.32 s14, .L14+12 469 00fe 67EE877A vmul.f32 s15, s15, s14 - 470 .loc 1 2337 19 view .LVU176 + 470 .loc 1 2387 19 view .LVU176 471 0102 C3ED0A7A vstr.32 s15, [r3, #40] - 472 .loc 1 2337 46 is_stmt 1 view .LVU177 + 472 .loc 1 2387 46 is_stmt 1 view .LVU177 473 .LVL29: -2338:Src/main.c **** task.i_coef_1 = (float)(*temp2) * 256.0; temp2++; - 474 .loc 1 2338 2 view .LVU178 - 475 .loc 1 2338 29 is_stmt 0 view .LVU179 +2388:Src/main.c **** task.i_coef_1 = (float)(*temp2) * 256.0; temp2++; + 474 .loc 1 2388 2 view .LVU178 + 475 .loc 1 2388 29 is_stmt 0 view .LVU179 476 0106 C18A ldrh r1, [r0, #22] 477 0108 07EE901A vmov s15, r1 @ int - 478 .loc 1 2338 21 view .LVU180 + 478 .loc 1 2388 21 view .LVU180 479 010c F8EE677A vcvt.f32.u32 s15, s15 - 480 .loc 1 2338 37 view .LVU181 + 480 .loc 1 2388 37 view .LVU181 481 0110 67EE877A vmul.f32 s15, s15, s14 - 482 .loc 1 2338 19 view .LVU182 + 482 .loc 1 2388 19 view .LVU182 483 0114 C3ED097A vstr.32 s15, [r3, #36] - 484 .loc 1 2338 46 is_stmt 1 view .LVU183 + 484 .loc 1 2388 46 is_stmt 1 view .LVU183 485 .LVL30: -2339:Src/main.c **** task.p_coef_2 = (float)(*temp2) * 256.0; temp2++; - 486 .loc 1 2339 2 view .LVU184 - 487 .loc 1 2339 29 is_stmt 0 view .LVU185 +2389:Src/main.c **** task.p_coef_2 = (float)(*temp2) * 256.0; temp2++; + 486 .loc 1 2389 2 view .LVU184 + 487 .loc 1 2389 29 is_stmt 0 view .LVU185 488 0118 018B ldrh r1, [r0, #24] 489 011a 07EE901A vmov s15, r1 @ int - 490 .loc 1 2339 21 view .LVU186 + 490 .loc 1 2389 21 view .LVU186 491 011e F8EE677A vcvt.f32.u32 s15, s15 - 492 .loc 1 2339 37 view .LVU187 + 492 .loc 1 2389 37 view .LVU187 493 0122 67EE877A vmul.f32 s15, s15, s14 - 494 .loc 1 2339 19 view .LVU188 + 494 .loc 1 2389 19 view .LVU188 495 0126 C3ED0C7A vstr.32 s15, [r3, #48] - 496 .loc 1 2339 46 is_stmt 1 view .LVU189 + 496 .loc 1 2389 46 is_stmt 1 view .LVU189 497 .LVL31: - ARM GAS /tmp/ccYgfTud.s page 93 - - -2340:Src/main.c **** task.i_coef_2 = (float)(*temp2) * 256.0; temp2++; - 498 .loc 1 2340 2 view .LVU190 - 499 .loc 1 2340 29 is_stmt 0 view .LVU191 +2390:Src/main.c **** task.i_coef_2 = (float)(*temp2) * 256.0; temp2++; + 498 .loc 1 2390 2 view .LVU190 + 499 .loc 1 2390 29 is_stmt 0 view .LVU191 500 012a 418B ldrh r1, [r0, #26] 501 012c 07EE901A vmov s15, r1 @ int - 502 .loc 1 2340 21 view .LVU192 + 502 .loc 1 2390 21 view .LVU192 503 0130 F8EE677A vcvt.f32.u32 s15, s15 - 504 .loc 1 2340 37 view .LVU193 + ARM GAS /tmp/ccwR4KB7.s page 94 + + + 504 .loc 1 2390 37 view .LVU193 505 0134 67EE877A vmul.f32 s15, s15, s14 - 506 .loc 1 2340 19 view .LVU194 + 506 .loc 1 2390 19 view .LVU194 507 0138 C3ED0B7A vstr.32 s15, [r3, #44] - 508 .loc 1 2340 46 is_stmt 1 view .LVU195 + 508 .loc 1 2390 46 is_stmt 1 view .LVU195 509 .LVL32: -2341:Src/main.c **** -2342:Src/main.c **** TO10_counter = task.dt / 10; - 510 .loc 1 2342 2 view .LVU196 - 511 .loc 1 2342 25 is_stmt 0 view .LVU197 +2391:Src/main.c **** +2392:Src/main.c **** TO10_counter = task.dt / 10; + 510 .loc 1 2392 2 view .LVU196 + 511 .loc 1 2392 25 is_stmt 0 view .LVU197 512 013c 084B ldr r3, .L14+16 513 013e A3FB0232 umull r3, r2, r3, r2 514 0142 D208 lsrs r2, r2, #3 - 515 .loc 1 2342 15 view .LVU198 + 515 .loc 1 2392 15 view .LVU198 516 0144 074B ldr r3, .L14+20 517 0146 1A60 str r2, [r3] -2343:Src/main.c **** } - 518 .loc 1 2343 1 view .LVU199 +2393:Src/main.c **** } + 518 .loc 1 2393 1 view .LVU199 519 0148 02B0 add sp, sp, #8 520 .LCFI5: 521 .cfi_def_cfa_offset 0 @@ -5569,755 +5622,996 @@ ARM GAS /tmp/ccYgfTud.s page 1 540 .thumb_func 542 PID_Controller_Temp: 543 .LVL33: - 544 .LFB1221: -2344:Src/main.c **** -2345:Src/main.c **** void OUT_trigger(uint8_t out_n) -2346:Src/main.c **** { -2347:Src/main.c **** switch (out_n) -2348:Src/main.c **** { -2349:Src/main.c **** case 0: -2350:Src/main.c **** HAL_GPIO_WritePin(OUT_0_GPIO_Port, OUT_0_Pin, GPIO_PIN_SET); -2351:Src/main.c **** HAL_GPIO_WritePin(OUT_0_GPIO_Port, OUT_0_Pin, GPIO_PIN_RESET); - ARM GAS /tmp/ccYgfTud.s page 94 + 544 .LFB1224: +2394:Src/main.c **** +2395:Src/main.c **** void OUT_trigger(uint8_t out_n) +2396:Src/main.c **** { +2397:Src/main.c **** switch (out_n) +2398:Src/main.c **** { +2399:Src/main.c **** case 0: +2400:Src/main.c **** HAL_GPIO_WritePin(OUT_0_GPIO_Port, OUT_0_Pin, GPIO_PIN_SET); +2401:Src/main.c **** HAL_GPIO_WritePin(OUT_0_GPIO_Port, OUT_0_Pin, GPIO_PIN_RESET); +2402:Src/main.c **** break; +2403:Src/main.c **** +2404:Src/main.c **** case 1: +2405:Src/main.c **** HAL_GPIO_WritePin(OUT_1_GPIO_Port, OUT_1_Pin, GPIO_PIN_SET); +2406:Src/main.c **** HAL_GPIO_WritePin(OUT_1_GPIO_Port, OUT_1_Pin, GPIO_PIN_RESET); +2407:Src/main.c **** break; +2408:Src/main.c **** + ARM GAS /tmp/ccwR4KB7.s page 95 -2352:Src/main.c **** break; -2353:Src/main.c **** -2354:Src/main.c **** case 1: -2355:Src/main.c **** HAL_GPIO_WritePin(OUT_1_GPIO_Port, OUT_1_Pin, GPIO_PIN_SET); -2356:Src/main.c **** HAL_GPIO_WritePin(OUT_1_GPIO_Port, OUT_1_Pin, GPIO_PIN_RESET); -2357:Src/main.c **** break; -2358:Src/main.c **** -2359:Src/main.c **** case 2: -2360:Src/main.c **** HAL_GPIO_WritePin(OUT_2_GPIO_Port, OUT_2_Pin, GPIO_PIN_SET); -2361:Src/main.c **** HAL_GPIO_WritePin(OUT_2_GPIO_Port, OUT_2_Pin, GPIO_PIN_RESET); -2362:Src/main.c **** break; -2363:Src/main.c **** -2364:Src/main.c **** case 3: -2365:Src/main.c **** HAL_GPIO_WritePin(OUT_3_GPIO_Port, OUT_3_Pin, GPIO_PIN_SET); -2366:Src/main.c **** HAL_GPIO_WritePin(OUT_3_GPIO_Port, OUT_3_Pin, GPIO_PIN_RESET); -2367:Src/main.c **** break; -2368:Src/main.c **** -2369:Src/main.c **** case 4: -2370:Src/main.c **** HAL_GPIO_WritePin(OUT_4_GPIO_Port, OUT_4_Pin, GPIO_PIN_SET); -2371:Src/main.c **** HAL_GPIO_WritePin(OUT_4_GPIO_Port, OUT_4_Pin, GPIO_PIN_RESET); -2372:Src/main.c **** break; -2373:Src/main.c **** -2374:Src/main.c **** case 5: -2375:Src/main.c **** HAL_GPIO_WritePin(OUT_5_GPIO_Port, OUT_5_Pin, GPIO_PIN_SET); -2376:Src/main.c **** HAL_GPIO_WritePin(OUT_5_GPIO_Port, OUT_5_Pin, GPIO_PIN_RESET); -2377:Src/main.c **** break; -2378:Src/main.c **** -2379:Src/main.c **** case 6: -2380:Src/main.c **** HAL_GPIO_WritePin(OUT_6_GPIO_Port, OUT_6_Pin, GPIO_PIN_SET); -2381:Src/main.c **** HAL_GPIO_WritePin(OUT_6_GPIO_Port, OUT_6_Pin, GPIO_PIN_RESET); -2382:Src/main.c **** break; -2383:Src/main.c **** -2384:Src/main.c **** case 7: -2385:Src/main.c **** HAL_GPIO_WritePin(OUT_7_GPIO_Port, OUT_7_Pin, GPIO_PIN_SET); -2386:Src/main.c **** HAL_GPIO_WritePin(OUT_7_GPIO_Port, OUT_7_Pin, GPIO_PIN_RESET); -2387:Src/main.c **** break; -2388:Src/main.c **** -2389:Src/main.c **** case 8: -2390:Src/main.c **** HAL_GPIO_WritePin(OUT_8_GPIO_Port, OUT_8_Pin, GPIO_PIN_SET); -2391:Src/main.c **** HAL_GPIO_WritePin(OUT_8_GPIO_Port, OUT_8_Pin, GPIO_PIN_RESET); -2392:Src/main.c **** break; -2393:Src/main.c **** -2394:Src/main.c **** case 9: -2395:Src/main.c **** HAL_GPIO_WritePin(OUT_9_GPIO_Port, OUT_9_Pin, GPIO_PIN_SET); -2396:Src/main.c **** HAL_GPIO_WritePin(OUT_9_GPIO_Port, OUT_9_Pin, GPIO_PIN_RESET); -2397:Src/main.c **** break; -2398:Src/main.c **** } -2399:Src/main.c **** } -2400:Src/main.c **** -2401:Src/main.c **** static void AD9102_Init(void) -2402:Src/main.c **** { -2403:Src/main.c **** HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_SET); -2404:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_RESET); -2405:Src/main.c **** for (volatile uint32_t d = 0; d < 1000; d++) {} -2406:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); -2407:Src/main.c **** -2408:Src/main.c **** AD9102_WriteRegTable(ad9102_example4_regval, AD9102_REG_COUNT); - ARM GAS /tmp/ccYgfTud.s page 95 - - -2409:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u); -2410:Src/main.c **** AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); -2411:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); -2412:Src/main.c **** } +2409:Src/main.c **** case 2: +2410:Src/main.c **** HAL_GPIO_WritePin(OUT_2_GPIO_Port, OUT_2_Pin, GPIO_PIN_SET); +2411:Src/main.c **** HAL_GPIO_WritePin(OUT_2_GPIO_Port, OUT_2_Pin, GPIO_PIN_RESET); +2412:Src/main.c **** break; 2413:Src/main.c **** -2414:Src/main.c **** static void AD9102_WriteReg(uint16_t addr, uint16_t value) -2415:Src/main.c **** { -2416:Src/main.c **** uint32_t tmp32 = 0; -2417:Src/main.c **** uint16_t cmd = (uint16_t)(addr & 0x7FFFu); // R/W = 0 (write), 15-bit address +2414:Src/main.c **** case 3: +2415:Src/main.c **** HAL_GPIO_WritePin(OUT_3_GPIO_Port, OUT_3_Pin, GPIO_PIN_SET); +2416:Src/main.c **** HAL_GPIO_WritePin(OUT_3_GPIO_Port, OUT_3_Pin, GPIO_PIN_RESET); +2417:Src/main.c **** break; 2418:Src/main.c **** -2419:Src/main.c **** if (!LL_SPI_IsEnabled(SPI2)) -2420:Src/main.c **** { -2421:Src/main.c **** LL_SPI_Enable(SPI2); -2422:Src/main.c **** } +2419:Src/main.c **** case 4: +2420:Src/main.c **** HAL_GPIO_WritePin(OUT_4_GPIO_Port, OUT_4_Pin, GPIO_PIN_SET); +2421:Src/main.c **** HAL_GPIO_WritePin(OUT_4_GPIO_Port, OUT_4_Pin, GPIO_PIN_RESET); +2422:Src/main.c **** break; 2423:Src/main.c **** -2424:Src/main.c **** HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_RESET); -2425:Src/main.c **** -2426:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} -2427:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); -2428:Src/main.c **** tmp32 = 0; -2429:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} -2430:Src/main.c **** (void) SPI2->DR; -2431:Src/main.c **** -2432:Src/main.c **** tmp32 = 0; -2433:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} -2434:Src/main.c **** LL_SPI_TransmitData16(SPI2, value); -2435:Src/main.c **** tmp32 = 0; -2436:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} -2437:Src/main.c **** (void) SPI2->DR; +2424:Src/main.c **** case 5: +2425:Src/main.c **** HAL_GPIO_WritePin(OUT_5_GPIO_Port, OUT_5_Pin, GPIO_PIN_SET); +2426:Src/main.c **** HAL_GPIO_WritePin(OUT_5_GPIO_Port, OUT_5_Pin, GPIO_PIN_RESET); +2427:Src/main.c **** break; +2428:Src/main.c **** +2429:Src/main.c **** case 6: +2430:Src/main.c **** HAL_GPIO_WritePin(OUT_6_GPIO_Port, OUT_6_Pin, GPIO_PIN_SET); +2431:Src/main.c **** HAL_GPIO_WritePin(OUT_6_GPIO_Port, OUT_6_Pin, GPIO_PIN_RESET); +2432:Src/main.c **** break; +2433:Src/main.c **** +2434:Src/main.c **** case 7: +2435:Src/main.c **** HAL_GPIO_WritePin(OUT_7_GPIO_Port, OUT_7_Pin, GPIO_PIN_SET); +2436:Src/main.c **** HAL_GPIO_WritePin(OUT_7_GPIO_Port, OUT_7_Pin, GPIO_PIN_RESET); +2437:Src/main.c **** break; 2438:Src/main.c **** -2439:Src/main.c **** HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_SET); -2440:Src/main.c **** } -2441:Src/main.c **** -2442:Src/main.c **** static uint16_t AD9102_ReadReg(uint16_t addr) -2443:Src/main.c **** { -2444:Src/main.c **** uint32_t tmp32 = 0; -2445:Src/main.c **** uint16_t cmd = (uint16_t)(0x8000u | (addr & 0x7FFFu)); // R/W = 1 (read) -2446:Src/main.c **** uint16_t value; -2447:Src/main.c **** -2448:Src/main.c **** if (!LL_SPI_IsEnabled(SPI2)) -2449:Src/main.c **** { -2450:Src/main.c **** LL_SPI_Enable(SPI2); -2451:Src/main.c **** } -2452:Src/main.c **** -2453:Src/main.c **** HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_RESET); -2454:Src/main.c **** -2455:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} -2456:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); -2457:Src/main.c **** tmp32 = 0; -2458:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} -2459:Src/main.c **** (void) SPI2->DR; -2460:Src/main.c **** -2461:Src/main.c **** tmp32 = 0; -2462:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} -2463:Src/main.c **** LL_SPI_TransmitData16(SPI2, 0x0000u); -2464:Src/main.c **** tmp32 = 0; -2465:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} - ARM GAS /tmp/ccYgfTud.s page 96 +2439:Src/main.c **** case 8: +2440:Src/main.c **** HAL_GPIO_WritePin(OUT_8_GPIO_Port, OUT_8_Pin, GPIO_PIN_SET); +2441:Src/main.c **** HAL_GPIO_WritePin(OUT_8_GPIO_Port, OUT_8_Pin, GPIO_PIN_RESET); +2442:Src/main.c **** break; +2443:Src/main.c **** +2444:Src/main.c **** case 9: +2445:Src/main.c **** HAL_GPIO_WritePin(OUT_9_GPIO_Port, OUT_9_Pin, GPIO_PIN_SET); +2446:Src/main.c **** HAL_GPIO_WritePin(OUT_9_GPIO_Port, OUT_9_Pin, GPIO_PIN_RESET); +2447:Src/main.c **** break; +2448:Src/main.c **** } +2449:Src/main.c **** } +2450:Src/main.c **** +2451:Src/main.c **** static void AD9102_Init(void) +2452:Src/main.c **** { +2453:Src/main.c **** HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_SET); +2454:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_RESET); +2455:Src/main.c **** for (volatile uint32_t d = 0; d < 1000; d++) {} +2456:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); +2457:Src/main.c **** +2458:Src/main.c **** AD9102_WriteRegTable(ad9102_example4_regval, AD9102_REG_COUNT); +2459:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u); +2460:Src/main.c **** AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); +2461:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); +2462:Src/main.c **** } +2463:Src/main.c **** +2464:Src/main.c **** static void AD9102_WriteReg(uint16_t addr, uint16_t value) +2465:Src/main.c **** { + ARM GAS /tmp/ccwR4KB7.s page 96 -2466:Src/main.c **** value = LL_SPI_ReceiveData16(SPI2); -2467:Src/main.c **** -2468:Src/main.c **** HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_SET); -2469:Src/main.c **** return value; -2470:Src/main.c **** } -2471:Src/main.c **** -2472:Src/main.c **** static void AD9102_WriteRegTable(const uint16_t *values, uint16_t count) -2473:Src/main.c **** { -2474:Src/main.c **** for (uint16_t i = 0; i < count; i++) -2475:Src/main.c **** { -2476:Src/main.c **** AD9102_WriteReg(ad9102_reg_addr[i], values[i]); -2477:Src/main.c **** } -2478:Src/main.c **** } -2479:Src/main.c **** -2480:Src/main.c **** static uint16_t AD9102_Apply(uint8_t saw_type, uint8_t enable, uint8_t saw_step, uint8_t pat_base, -2481:Src/main.c **** { -2482:Src/main.c **** if (enable) -2483:Src/main.c **** { -2484:Src/main.c **** uint16_t saw_cfg; -2485:Src/main.c **** uint16_t pat_timebase; -2486:Src/main.c **** -2487:Src/main.c **** if (saw_step == 0u) -2488:Src/main.c **** { -2489:Src/main.c **** saw_step = AD9102_SAW_STEP_DEFAULT; -2490:Src/main.c **** } -2491:Src/main.c **** if (saw_step > 63u) -2492:Src/main.c **** { -2493:Src/main.c **** saw_step = 63u; -2494:Src/main.c **** } -2495:Src/main.c **** saw_cfg = (uint16_t)(((uint16_t)(saw_step & 0x3Fu) << 2) | -2496:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); -2497:Src/main.c **** pat_timebase = (uint16_t)(((AD9102_PAT_TIMEBASE_HOLD_DEFAULT & 0x0Fu) << 8) | -2498:Src/main.c **** ((pat_base & 0x0Fu) << 4) | -2499:Src/main.c **** (AD9102_START_DELAY_BASE_DEFAULT & 0x0Fu)); -2500:Src/main.c **** -2501:Src/main.c **** AD9102_WriteReg(AD9102_REG_WAV_CONFIG, AD9102_EX4_WAV_CONFIG); -2502:Src/main.c **** AD9102_WriteReg(AD9102_REG_SAW_CONFIG, saw_cfg); -2503:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_TIMEBASE, pat_timebase); -2504:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_PERIOD, pat_period); -2505:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_TYPE, 0x0000u); // continuous pattern repeat -2506:Src/main.c **** -2507:Src/main.c **** // Update RUN then RAMUPDATE at the end of the write sequence. -2508:Src/main.c **** // AD9102 output is started by a falling edge of TRIGGER pin when RUN=1. -2509:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); -2510:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, AD9102_PAT_STATUS_RUN); -2511:Src/main.c **** AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); -2512:Src/main.c **** for (volatile uint32_t d = 0; d < 1000; d++) {} -2513:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); -2514:Src/main.c **** } -2515:Src/main.c **** else -2516:Src/main.c **** { -2517:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u); -2518:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); -2519:Src/main.c **** } -2520:Src/main.c **** -2521:Src/main.c **** return AD9102_ReadReg(AD9102_REG_PAT_STATUS); -2522:Src/main.c **** } - ARM GAS /tmp/ccYgfTud.s page 97 +2466:Src/main.c **** uint32_t tmp32 = 0; +2467:Src/main.c **** uint16_t cmd = (uint16_t)(addr & 0x7FFFu); // R/W = 0 (write), 15-bit address +2468:Src/main.c **** +2469:Src/main.c **** if (!LL_SPI_IsEnabled(SPI2)) +2470:Src/main.c **** { +2471:Src/main.c **** LL_SPI_Enable(SPI2); +2472:Src/main.c **** } +2473:Src/main.c **** +2474:Src/main.c **** HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_RESET); +2475:Src/main.c **** +2476:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} +2477:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); +2478:Src/main.c **** tmp32 = 0; +2479:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} +2480:Src/main.c **** (void) SPI2->DR; +2481:Src/main.c **** +2482:Src/main.c **** tmp32 = 0; +2483:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} +2484:Src/main.c **** LL_SPI_TransmitData16(SPI2, value); +2485:Src/main.c **** tmp32 = 0; +2486:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} +2487:Src/main.c **** (void) SPI2->DR; +2488:Src/main.c **** +2489:Src/main.c **** HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_SET); +2490:Src/main.c **** } +2491:Src/main.c **** +2492:Src/main.c **** static uint16_t AD9102_ReadReg(uint16_t addr) +2493:Src/main.c **** { +2494:Src/main.c **** uint32_t tmp32 = 0; +2495:Src/main.c **** uint16_t cmd = (uint16_t)(0x8000u | (addr & 0x7FFFu)); // R/W = 1 (read) +2496:Src/main.c **** uint16_t value; +2497:Src/main.c **** +2498:Src/main.c **** if (!LL_SPI_IsEnabled(SPI2)) +2499:Src/main.c **** { +2500:Src/main.c **** LL_SPI_Enable(SPI2); +2501:Src/main.c **** } +2502:Src/main.c **** +2503:Src/main.c **** HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_RESET); +2504:Src/main.c **** +2505:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} +2506:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); +2507:Src/main.c **** tmp32 = 0; +2508:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} +2509:Src/main.c **** (void) SPI2->DR; +2510:Src/main.c **** +2511:Src/main.c **** tmp32 = 0; +2512:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} +2513:Src/main.c **** LL_SPI_TransmitData16(SPI2, 0x0000u); +2514:Src/main.c **** tmp32 = 0; +2515:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} +2516:Src/main.c **** value = LL_SPI_ReceiveData16(SPI2); +2517:Src/main.c **** +2518:Src/main.c **** HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_SET); +2519:Src/main.c **** return value; +2520:Src/main.c **** } +2521:Src/main.c **** +2522:Src/main.c **** static void AD9102_WriteRegTable(const uint16_t *values, uint16_t count) + ARM GAS /tmp/ccwR4KB7.s page 97 -2523:Src/main.c **** -2524:Src/main.c **** static uint8_t AD9102_CheckFlags(uint16_t pat_status, uint8_t expect_run, uint8_t saw_type, uint8_t -2525:Src/main.c **** { -2526:Src/main.c **** uint16_t spiconfig = AD9102_ReadReg(AD9102_REG_SPICONFIG); -2527:Src/main.c **** uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); -2528:Src/main.c **** uint16_t clockcfg = AD9102_ReadReg(AD9102_REG_CLOCKCONFIG); -2529:Src/main.c **** uint16_t cfg_err = AD9102_ReadReg(AD9102_REG_CFG_ERROR); -2530:Src/main.c **** uint16_t pat_timebase = (uint16_t)(((AD9102_PAT_TIMEBASE_HOLD_DEFAULT & 0x0Fu) << 8) | -2531:Src/main.c **** ((pat_base & 0x0Fu) << 4) | -2532:Src/main.c **** (AD9102_START_DELAY_BASE_DEFAULT & 0x0Fu)); -2533:Src/main.c **** -2534:Src/main.c **** if (saw_step == 0u) -2535:Src/main.c **** { -2536:Src/main.c **** saw_step = AD9102_SAW_STEP_DEFAULT; -2537:Src/main.c **** } -2538:Src/main.c **** if (saw_step > 63u) -2539:Src/main.c **** { -2540:Src/main.c **** saw_step = 63u; -2541:Src/main.c **** } -2542:Src/main.c **** if (pat_period == 0u) -2543:Src/main.c **** { -2544:Src/main.c **** pat_period = AD9102_PAT_PERIOD_DEFAULT; -2545:Src/main.c **** } -2546:Src/main.c **** uint16_t expect_saw = (uint16_t)(((uint16_t)(saw_step & 0x3Fu) << 2) | -2547:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); -2548:Src/main.c **** -2549:Src/main.c **** uint8_t ok = 1u; +2523:Src/main.c **** { +2524:Src/main.c **** for (uint16_t i = 0; i < count; i++) +2525:Src/main.c **** { +2526:Src/main.c **** AD9102_WriteReg(ad9102_reg_addr[i], values[i]); +2527:Src/main.c **** } +2528:Src/main.c **** } +2529:Src/main.c **** +2530:Src/main.c **** static uint16_t AD9102_Apply(uint8_t saw_type, uint8_t enable, uint8_t saw_step, uint8_t pat_base, +2531:Src/main.c **** { +2532:Src/main.c **** if (enable) +2533:Src/main.c **** { +2534:Src/main.c **** uint16_t saw_cfg; +2535:Src/main.c **** uint16_t pat_timebase; +2536:Src/main.c **** +2537:Src/main.c **** if (saw_step == 0u) +2538:Src/main.c **** { +2539:Src/main.c **** saw_step = AD9102_SAW_STEP_DEFAULT; +2540:Src/main.c **** } +2541:Src/main.c **** if (saw_step > 63u) +2542:Src/main.c **** { +2543:Src/main.c **** saw_step = 63u; +2544:Src/main.c **** } +2545:Src/main.c **** saw_cfg = (uint16_t)(((uint16_t)(saw_step & 0x3Fu) << 2) | +2546:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); +2547:Src/main.c **** pat_timebase = (uint16_t)(((AD9102_PAT_TIMEBASE_HOLD_DEFAULT & 0x0Fu) << 8) | +2548:Src/main.c **** ((pat_base & 0x0Fu) << 4) | +2549:Src/main.c **** (AD9102_START_DELAY_BASE_DEFAULT & 0x0Fu)); 2550:Src/main.c **** -2551:Src/main.c **** // Expect default SPI config: MSB-first, 4-wire, no double SPI, no reset. -2552:Src/main.c **** if (spiconfig != 0x0000u) -2553:Src/main.c **** { -2554:Src/main.c **** ok = 0u; -2555:Src/main.c **** } +2551:Src/main.c **** AD9102_WriteReg(AD9102_REG_WAV_CONFIG, AD9102_EX4_WAV_CONFIG); +2552:Src/main.c **** AD9102_WriteReg(AD9102_REG_SAW_CONFIG, saw_cfg); +2553:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_TIMEBASE, pat_timebase); +2554:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_PERIOD, pat_period); +2555:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_TYPE, 0x0000u); // continuous pattern repeat 2556:Src/main.c **** -2557:Src/main.c **** // Power blocks should not be powered down. -2558:Src/main.c **** if (powercfg & ((1u << 8) | (1u << 7) | (1u << 6) | (1u << 5) | (1u << 3))) -2559:Src/main.c **** { -2560:Src/main.c **** ok = 0u; -2561:Src/main.c **** } -2562:Src/main.c **** -2563:Src/main.c **** // Clock receiver must be enabled (cannot directly detect external clock presence). -2564:Src/main.c **** if (clockcfg & ((1u << 11) | (1u << 7) | (1u << 6) | (1u << 5))) -2565:Src/main.c **** { -2566:Src/main.c **** ok = 0u; -2567:Src/main.c **** } -2568:Src/main.c **** -2569:Src/main.c **** // Any configuration error flags indicate a bad setup. -2570:Src/main.c **** if (cfg_err & 0x003Fu) -2571:Src/main.c **** { -2572:Src/main.c **** ok = 0u; -2573:Src/main.c **** } -2574:Src/main.c **** -2575:Src/main.c **** if (expect_run && ((pat_status & AD9102_PAT_STATUS_RUN) == 0u)) -2576:Src/main.c **** { -2577:Src/main.c **** ok = 0u; -2578:Src/main.c **** } -2579:Src/main.c **** - ARM GAS /tmp/ccYgfTud.s page 98 +2557:Src/main.c **** // Update RUN then RAMUPDATE at the end of the write sequence. +2558:Src/main.c **** // AD9102 output is started by a falling edge of TRIGGER pin when RUN=1. +2559:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); +2560:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, AD9102_PAT_STATUS_RUN); +2561:Src/main.c **** AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); +2562:Src/main.c **** for (volatile uint32_t d = 0; d < 1000; d++) {} +2563:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); +2564:Src/main.c **** } +2565:Src/main.c **** else +2566:Src/main.c **** { +2567:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u); +2568:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); +2569:Src/main.c **** } +2570:Src/main.c **** +2571:Src/main.c **** return AD9102_ReadReg(AD9102_REG_PAT_STATUS); +2572:Src/main.c **** } +2573:Src/main.c **** +2574:Src/main.c **** static void AD9102_LoadSramRamp(uint16_t samples, uint8_t triangle) +2575:Src/main.c **** { +2576:Src/main.c **** if (samples < 2u) +2577:Src/main.c **** { +2578:Src/main.c **** samples = 2u; +2579:Src/main.c **** } + ARM GAS /tmp/ccwR4KB7.s page 98 -2580:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_WAV_CONFIG) != AD9102_EX4_WAV_CONFIG) +2580:Src/main.c **** if (samples > AD9102_SRAM_MAX_SAMPLES) 2581:Src/main.c **** { -2582:Src/main.c **** ok = 0u; +2582:Src/main.c **** samples = AD9102_SRAM_MAX_SAMPLES; 2583:Src/main.c **** } -2584:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_PAT_TIMEBASE) != pat_timebase) -2585:Src/main.c **** { -2586:Src/main.c **** ok = 0u; -2587:Src/main.c **** } -2588:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_PAT_PERIOD) != pat_period) +2584:Src/main.c **** +2585:Src/main.c **** // Enable SRAM access. +2586:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0004u); +2587:Src/main.c **** +2588:Src/main.c **** for (uint16_t i = 0; i < samples; i++) 2589:Src/main.c **** { -2590:Src/main.c **** ok = 0u; -2591:Src/main.c **** } -2592:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_PAT_TYPE) != 0x0000u) -2593:Src/main.c **** { -2594:Src/main.c **** ok = 0u; -2595:Src/main.c **** } -2596:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_SAW_CONFIG) != expect_saw) -2597:Src/main.c **** { -2598:Src/main.c **** ok = 0u; -2599:Src/main.c **** } -2600:Src/main.c **** -2601:Src/main.c **** return (ok ? 0u : 1u); -2602:Src/main.c **** } -2603:Src/main.c **** -2604:Src/main.c **** void Set_LTEC(uint8_t num, uint16_t DATA) -2605:Src/main.c **** { -2606:Src/main.c **** uint32_t tmp32; -2607:Src/main.c **** -2608:Src/main.c **** #if AD9102_ON_SPI2 -2609:Src/main.c **** // AD9102 occupies SPI2; skip LD1/TEC1 writes to avoid CS conflicts. -2610:Src/main.c **** if (num == 1 || num == 3) -2611:Src/main.c **** { -2612:Src/main.c **** return; -2613:Src/main.c **** } -2614:Src/main.c **** #endif -2615:Src/main.c **** -2616:Src/main.c **** switch (num) -2617:Src/main.c **** { -2618:Src/main.c **** case 1: -2619:Src/main.c **** HAL_GPIO_WritePin(DAC_LD1_CS_GPIO_Port, DAC_LD1_CS_Pin, GPIO_PIN_RESET);//Start operation with L -2620:Src/main.c **** //tmp32=0; -2621:Src/main.c **** //while(tmp32<500){tmp32++;} -2622:Src/main.c **** tmp32 = 0; -2623:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi -2624:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC -2625:Src/main.c **** tmp32 = 0; -2626:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w -2627:Src/main.c **** (void) SPI2->DR; -2628:Src/main.c **** break; -2629:Src/main.c **** case 2: -2630:Src/main.c **** //HAL_GPIO_TogglePin(OUT_11_GPIO_Port, OUT_11_Pin); //for debug purposes -2631:Src/main.c **** HAL_GPIO_WritePin(DAC_LD2_CS_GPIO_Port, DAC_LD2_CS_Pin, GPIO_PIN_RESET);//Start operation with L -2632:Src/main.c **** //tmp32=0; -2633:Src/main.c **** //while(tmp32<500){tmp32++;} -2634:Src/main.c **** tmp32 = 0; -2635:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi -2636:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC - ARM GAS /tmp/ccYgfTud.s page 99 +2590:Src/main.c **** int32_t value; +2591:Src/main.c **** if (triangle) +2592:Src/main.c **** { +2593:Src/main.c **** uint16_t half = samples / 2u; +2594:Src/main.c **** if (half == 0u) +2595:Src/main.c **** { +2596:Src/main.c **** half = 1u; +2597:Src/main.c **** } +2598:Src/main.c **** if (i < half) +2599:Src/main.c **** { +2600:Src/main.c **** uint16_t denom = (half > 1u) ? (uint16_t)(half - 1u) : 1u; +2601:Src/main.c **** value = AD9102_SRAM_RAMP_MIN + +2602:Src/main.c **** ((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)i) / (int32_t)denom; +2603:Src/main.c **** } +2604:Src/main.c **** else +2605:Src/main.c **** { +2606:Src/main.c **** uint16_t tail = (uint16_t)(samples - half); +2607:Src/main.c **** uint16_t denom = (tail > 1u) ? (uint16_t)(tail - 1u) : 1u; +2608:Src/main.c **** value = AD9102_SRAM_RAMP_MAX - +2609:Src/main.c **** ((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)(i - half)) / (int32_t)denom; +2610:Src/main.c **** } +2611:Src/main.c **** } +2612:Src/main.c **** else +2613:Src/main.c **** { +2614:Src/main.c **** uint16_t denom = (samples > 1u) ? (uint16_t)(samples - 1u) : 1u; +2615:Src/main.c **** value = AD9102_SRAM_RAMP_MIN + +2616:Src/main.c **** ((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)i) / (int32_t)denom; +2617:Src/main.c **** } +2618:Src/main.c **** +2619:Src/main.c **** if (value < -8192) +2620:Src/main.c **** { +2621:Src/main.c **** value = -8192; +2622:Src/main.c **** } +2623:Src/main.c **** else if (value > 8191) +2624:Src/main.c **** { +2625:Src/main.c **** value = 8191; +2626:Src/main.c **** } +2627:Src/main.c **** +2628:Src/main.c **** uint16_t sample_u14 = (uint16_t)((int16_t)value) & 0x3FFFu; +2629:Src/main.c **** uint16_t word = (uint16_t)(sample_u14 << 2); +2630:Src/main.c **** AD9102_WriteReg((uint16_t)(AD9102_REG_SRAM_DATA_BASE + i), word); +2631:Src/main.c **** } +2632:Src/main.c **** +2633:Src/main.c **** // Disable SRAM access. +2634:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u); +2635:Src/main.c **** } +2636:Src/main.c **** + ARM GAS /tmp/ccwR4KB7.s page 99 -2637:Src/main.c **** tmp32 = 0; -2638:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w -2639:Src/main.c **** (void) SPI6->DR; -2640:Src/main.c **** break; -2641:Src/main.c **** case 3: -2642:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_RESET);//Start operation with -2643:Src/main.c **** //tmp32=0; -2644:Src/main.c **** //while(tmp32<500){tmp32++;} -2645:Src/main.c **** tmp32 = 0; -2646:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi -2647:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC -2648:Src/main.c **** tmp32 = 0; -2649:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w -2650:Src/main.c **** (void) SPI2->DR; -2651:Src/main.c **** break; -2652:Src/main.c **** case 4: -2653:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC2_CS_GPIO_Port, DAC_TEC2_CS_Pin, GPIO_PIN_RESET);//Start operation with -2654:Src/main.c **** //tmp32=0; -2655:Src/main.c **** //while(tmp32<500){tmp32++;} -2656:Src/main.c **** tmp32 = 0; -2657:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi -2658:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC -2659:Src/main.c **** tmp32 = 0; -2660:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w -2661:Src/main.c **** (void) SPI6->DR; -2662:Src/main.c **** break; -2663:Src/main.c **** } -2664:Src/main.c **** HAL_GPIO_WritePin(DAC_LD1_CS_GPIO_Port, DAC_LD1_CS_Pin, GPIO_PIN_SET);//End operation with LDAC1 -2665:Src/main.c **** HAL_GPIO_WritePin(DAC_LD2_CS_GPIO_Port, DAC_LD2_CS_Pin, GPIO_PIN_SET);//End operation with LDAC2 -2666:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET);//End operation with TEC1 -2667:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC2_CS_GPIO_Port, DAC_TEC2_CS_Pin, GPIO_PIN_SET);//End operation with TEC2 -2668:Src/main.c **** } -2669:Src/main.c **** static uint16_t MPhD_T(uint8_t num) -2670:Src/main.c **** { -2671:Src/main.c **** uint16_t P; -2672:Src/main.c **** uint32_t tmp32; -2673:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_RESET);//Prepare conversion -2674:Src/main.c **** HAL_GPIO_WritePin(SPI5_CNV_GPIO_Port, SPI5_CNV_Pin, GPIO_PIN_RESET);//Prepare conversion -2675:Src/main.c **** tmp32=0; -2676:Src/main.c **** while(tmp32<500){tmp32++;} -2677:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver -2678:Src/main.c **** HAL_GPIO_WritePin(SPI5_CNV_GPIO_Port, SPI5_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver -2679:Src/main.c **** tmp32=0; -2680:Src/main.c **** while(tmp32<500){tmp32++;} -2681:Src/main.c **** if (num==1)//MPD1 -2682:Src/main.c **** { -2683:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD1_CS_GPIO_Port, ADC_ThrLD1_CS_Pin, GPIO_PIN_SET); -2684:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD1_CS_GPIO_Port, ADC_MPD1_CS_Pin, GPIO_PIN_RESET); -2685:Src/main.c **** tmp32=0; -2686:Src/main.c **** while(tmp32<500){tmp32++;} -2687:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c -2688:Src/main.c **** LL_SPI_Enable(SPI4);//Enable SPI for MPhD1 ADC -2689:Src/main.c **** tmp32 = 0; -2690:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI4))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w -2691:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for MPhD1 ADC -2692:Src/main.c **** while(tmp32<500){tmp32++;} -2693:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - ARM GAS /tmp/ccYgfTud.s page 100 +2637:Src/main.c **** static uint16_t AD9102_ApplySram(uint8_t enable, uint16_t samples, uint8_t hold, uint8_t triangle) +2638:Src/main.c **** { +2639:Src/main.c **** if (samples == 0u) +2640:Src/main.c **** { +2641:Src/main.c **** samples = AD9102_SRAM_SAMPLES_DEFAULT; +2642:Src/main.c **** } +2643:Src/main.c **** if (samples < 2u) +2644:Src/main.c **** { +2645:Src/main.c **** samples = 2u; +2646:Src/main.c **** } +2647:Src/main.c **** if (samples > AD9102_SRAM_MAX_SAMPLES) +2648:Src/main.c **** { +2649:Src/main.c **** samples = AD9102_SRAM_MAX_SAMPLES; +2650:Src/main.c **** } +2651:Src/main.c **** if (hold == 0u) +2652:Src/main.c **** { +2653:Src/main.c **** hold = AD9102_SRAM_HOLD_DEFAULT; +2654:Src/main.c **** } +2655:Src/main.c **** if (hold > 0x0Fu) +2656:Src/main.c **** { +2657:Src/main.c **** hold = 0x0Fu; +2658:Src/main.c **** } +2659:Src/main.c **** +2660:Src/main.c **** uint16_t pat_timebase = (uint16_t)(((uint16_t)(hold & 0x0Fu) << 8) | +2661:Src/main.c **** ((AD9102_SRAM_PAT_PERIOD_BASE_DEFAULT & 0x0Fu) << 4) | +2662:Src/main.c **** (AD9102_SRAM_START_DELAY_BASE_DEFAULT & 0x0Fu)); +2663:Src/main.c **** uint32_t pat_period = (uint32_t)samples * (uint32_t)(hold & 0x0Fu); +2664:Src/main.c **** if (pat_period == 0u) +2665:Src/main.c **** { +2666:Src/main.c **** pat_period = samples; +2667:Src/main.c **** } +2668:Src/main.c **** if (pat_period > 0xFFFFu) +2669:Src/main.c **** { +2670:Src/main.c **** pat_period = 0xFFFFu; +2671:Src/main.c **** } +2672:Src/main.c **** +2673:Src/main.c **** AD9102_WriteRegTable(ad9102_example2_regval, AD9102_REG_COUNT); +2674:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u); +2675:Src/main.c **** AD9102_WriteReg(AD9102_REG_WAV_CONFIG, AD9102_EX2_WAV_CONFIG); +2676:Src/main.c **** AD9102_WriteReg(AD9102_REG_SAW_CONFIG, AD9102_EX2_SAW_CONFIG); +2677:Src/main.c **** AD9102_WriteReg(AD9102_REG_DAC_PAT, AD9102_EX2_DAC_PAT); +2678:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_TIMEBASE, pat_timebase); +2679:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_PERIOD, (uint16_t)pat_period); +2680:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_TYPE, 0x0000u); // continuous pattern repeat +2681:Src/main.c **** AD9102_WriteReg(AD9102_REG_START_DLY, AD9102_SRAM_START_DLY_DEFAULT); +2682:Src/main.c **** AD9102_WriteReg(AD9102_REG_START_ADDR, 0x0000u); +2683:Src/main.c **** AD9102_WriteReg(AD9102_REG_STOP_ADDR, (uint16_t)((samples - 1u) << 4)); +2684:Src/main.c **** AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); +2685:Src/main.c **** +2686:Src/main.c **** AD9102_LoadSramRamp(samples, triangle); +2687:Src/main.c **** +2688:Src/main.c **** if (enable) +2689:Src/main.c **** { +2690:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); +2691:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, AD9102_PAT_STATUS_RUN); +2692:Src/main.c **** AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); +2693:Src/main.c **** for (volatile uint32_t d = 0; d < 1000; d++) {} + ARM GAS /tmp/ccwR4KB7.s page 100 -2694:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD1_CS_GPIO_Port, ADC_MPD1_CS_Pin, GPIO_PIN_SET); -2695:Src/main.c **** P = LL_SPI_ReceiveData16(SPI4); -2696:Src/main.c **** } -2697:Src/main.c **** else if (num==2)//MPD2 -2698:Src/main.c **** { -2699:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD2_CS_GPIO_Port, ADC_ThrLD2_CS_Pin, GPIO_PIN_SET); -2700:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD2_CS_GPIO_Port, ADC_MPD2_CS_Pin, GPIO_PIN_RESET); -2701:Src/main.c **** tmp32=0; -2702:Src/main.c **** while(tmp32<500){tmp32++;} -2703:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c -2704:Src/main.c **** LL_SPI_Enable(SPI5);//Enable SPI for MPhD2 ADC -2705:Src/main.c **** tmp32 = 0; -2706:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI5))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w -2707:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for MPhD2 ADC -2708:Src/main.c **** while(tmp32<500){tmp32++;} -2709:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); -2710:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD2_CS_GPIO_Port, ADC_MPD2_CS_Pin, GPIO_PIN_SET); -2711:Src/main.c **** P = LL_SPI_ReceiveData16(SPI5); -2712:Src/main.c **** } -2713:Src/main.c **** else if (num==3)//ThrLD1 -2714:Src/main.c **** { -2715:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD1_CS_GPIO_Port, ADC_MPD1_CS_Pin, GPIO_PIN_SET); -2716:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD1_CS_GPIO_Port, ADC_ThrLD1_CS_Pin, GPIO_PIN_RESET); -2717:Src/main.c **** tmp32=0; -2718:Src/main.c **** while(tmp32<500){tmp32++;} -2719:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c -2720:Src/main.c **** LL_SPI_Enable(SPI4);//Enable SPI for ThrLD1 ADC -2721:Src/main.c **** tmp32 = 0; -2722:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI4))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w -2723:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for ThrLD1 ADC -2724:Src/main.c **** while(tmp32<500){tmp32++;} -2725:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); -2726:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD1_CS_GPIO_Port, ADC_ThrLD1_CS_Pin, GPIO_PIN_SET); -2727:Src/main.c **** P = LL_SPI_ReceiveData16(SPI4); -2728:Src/main.c **** } -2729:Src/main.c **** else if (num==4)//ThrLD2 -2730:Src/main.c **** { -2731:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD2_CS_GPIO_Port, ADC_MPD2_CS_Pin, GPIO_PIN_SET); -2732:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD2_CS_GPIO_Port, ADC_ThrLD2_CS_Pin, GPIO_PIN_RESET); -2733:Src/main.c **** tmp32=0; -2734:Src/main.c **** while(tmp32<500){tmp32++;} -2735:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c -2736:Src/main.c **** LL_SPI_Enable(SPI5);//Enable SPI for ThrLD2 ADC -2737:Src/main.c **** tmp32 = 0; -2738:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI5))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w -2739:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for ThrLD2 ADC -2740:Src/main.c **** while(tmp32<500){tmp32++;} -2741:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); -2742:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD2_CS_GPIO_Port, ADC_ThrLD2_CS_Pin, GPIO_PIN_SET); -2743:Src/main.c **** P = LL_SPI_ReceiveData16(SPI5); -2744:Src/main.c **** } -2745:Src/main.c **** /*float I_LD, Ith, I0m, T0m, Inorm, Tnorm1, Tnorm2, P, T_C, A, Pnorm; -2746:Src/main.c **** -2747:Src/main.c **** Inorm = (float) (65535) / (float) (100); -2748:Src/main.c **** Tnorm1 = (float) (65535) / (float) (50); -2749:Src/main.c **** Tnorm2 = 4; -2750:Src/main.c **** Pnorm = (float)(65535) / (float)(20); - ARM GAS /tmp/ccYgfTud.s page 101 +2694:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); +2695:Src/main.c **** } +2696:Src/main.c **** else +2697:Src/main.c **** { +2698:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u); +2699:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); +2700:Src/main.c **** } +2701:Src/main.c **** +2702:Src/main.c **** return AD9102_ReadReg(AD9102_REG_PAT_STATUS); +2703:Src/main.c **** } +2704:Src/main.c **** +2705:Src/main.c **** static uint8_t AD9102_CheckFlags(uint16_t pat_status, uint8_t expect_run, uint8_t saw_type, uint8_t +2706:Src/main.c **** { +2707:Src/main.c **** uint16_t spiconfig = AD9102_ReadReg(AD9102_REG_SPICONFIG); +2708:Src/main.c **** uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); +2709:Src/main.c **** uint16_t clockcfg = AD9102_ReadReg(AD9102_REG_CLOCKCONFIG); +2710:Src/main.c **** uint16_t cfg_err = AD9102_ReadReg(AD9102_REG_CFG_ERROR); +2711:Src/main.c **** uint16_t pat_timebase = (uint16_t)(((AD9102_PAT_TIMEBASE_HOLD_DEFAULT & 0x0Fu) << 8) | +2712:Src/main.c **** ((pat_base & 0x0Fu) << 4) | +2713:Src/main.c **** (AD9102_START_DELAY_BASE_DEFAULT & 0x0Fu)); +2714:Src/main.c **** +2715:Src/main.c **** if (saw_step == 0u) +2716:Src/main.c **** { +2717:Src/main.c **** saw_step = AD9102_SAW_STEP_DEFAULT; +2718:Src/main.c **** } +2719:Src/main.c **** if (saw_step > 63u) +2720:Src/main.c **** { +2721:Src/main.c **** saw_step = 63u; +2722:Src/main.c **** } +2723:Src/main.c **** if (pat_period == 0u) +2724:Src/main.c **** { +2725:Src/main.c **** pat_period = AD9102_PAT_PERIOD_DEFAULT; +2726:Src/main.c **** } +2727:Src/main.c **** uint16_t expect_saw = (uint16_t)(((uint16_t)(saw_step & 0x3Fu) << 2) | +2728:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); +2729:Src/main.c **** +2730:Src/main.c **** uint8_t ok = 1u; +2731:Src/main.c **** +2732:Src/main.c **** // Expect default SPI config: MSB-first, 4-wire, no double SPI, no reset. +2733:Src/main.c **** if (spiconfig != 0x0000u) +2734:Src/main.c **** { +2735:Src/main.c **** ok = 0u; +2736:Src/main.c **** } +2737:Src/main.c **** +2738:Src/main.c **** // Power blocks should not be powered down. +2739:Src/main.c **** if (powercfg & ((1u << 8) | (1u << 7) | (1u << 6) | (1u << 5) | (1u << 3))) +2740:Src/main.c **** { +2741:Src/main.c **** ok = 0u; +2742:Src/main.c **** } +2743:Src/main.c **** +2744:Src/main.c **** // Clock receiver must be enabled (cannot directly detect external clock presence). +2745:Src/main.c **** if (clockcfg & ((1u << 11) | (1u << 7) | (1u << 6) | (1u << 5))) +2746:Src/main.c **** { +2747:Src/main.c **** ok = 0u; +2748:Src/main.c **** } +2749:Src/main.c **** +2750:Src/main.c **** // Any configuration error flags indicate a bad setup. + ARM GAS /tmp/ccwR4KB7.s page 101 -2751:Src/main.c **** I0m = 8.1568;//@4 C - lowest temperature of system -2752:Src/main.c **** T0m = 48.6282; -2753:Src/main.c **** T_C = (float) (T_LD) / Tnorm1 + Tnorm2; -2754:Src/main.c **** -2755:Src/main.c **** Ith = I0m * expf(T_C/T0m); -2756:Src/main.c **** I_LD = (float) (C_LD) / Inorm; -2757:Src/main.c **** -2758:Src/main.c **** if (I_LD > Ith) -2759:Src/main.c **** { -2760:Src/main.c **** A = (float) (2.24276128270098e-07) * T_C * T_C * T_C - (float) (4.73392579025590e-05) * T_C * T_ -2761:Src/main.c **** P = A * (I_LD - Ith) * Pnorm; -2762:Src/main.c **** } -2763:Src/main.c **** else -2764:Src/main.c **** { -2765:Src/main.c **** P = 0; -2766:Src/main.c **** } */ -2767:Src/main.c **** return P; -2768:Src/main.c **** } -2769:Src/main.c **** /*static uint16_t Temp_LD(uint16_t T_LD_before, uint16_t T_LD, uint32_t Timer_before, uint32_t Time -2770:Src/main.c **** { -2771:Src/main.c **** uint16_t Result; -2772:Src/main.c **** // uint8_t randf; -2773:Src/main.c **** -2774:Src/main.c **** randf = 0; -2775:Src/main.c **** for (uint8_t i = 0; i < 32; i++) -2776:Src/main.c **** { -2777:Src/main.c **** randf = ((Timer>>i)&0x0001)^randf; -2778:Src/main.c **** } -2779:Src/main.c **** -2780:Src/main.c **** Result = ((float)(T_LD - T_LD_before))*((float)(1-expf(((float)(Timer_before)-(float)(Timer))/((fl -2781:Src/main.c **** -2782:Src/main.c **** return (uint16_t)(Result); -2783:Src/main.c **** }*/ -2784:Src/main.c **** static uint16_t Get_ADC(uint8_t num) -2785:Src/main.c **** { -2786:Src/main.c **** uint16_t OUT; -2787:Src/main.c **** switch (num) -2788:Src/main.c **** { -2789:Src/main.c **** case 0: -2790:Src/main.c **** HAL_ADC_Start(&hadc1); // Power on -2791:Src/main.c **** break; -2792:Src/main.c **** case 1: -2793:Src/main.c **** HAL_ADC_PollForConversion(&hadc1, 100); // Waiting for conversion -2794:Src/main.c **** OUT = HAL_ADC_GetValue(&hadc1); // Get value adc -2795:Src/main.c **** break; -2796:Src/main.c **** case 2: -2797:Src/main.c **** HAL_ADC_Stop(&hadc1); // Power off -2798:Src/main.c **** break; -2799:Src/main.c **** case 3: -2800:Src/main.c **** HAL_ADC_Start(&hadc3); // Power on -2801:Src/main.c **** break; -2802:Src/main.c **** case 4: -2803:Src/main.c **** HAL_ADC_PollForConversion(&hadc3, 100); // Waiting for conversion -2804:Src/main.c **** OUT = HAL_ADC_GetValue(&hadc3); // Get value adc -2805:Src/main.c **** break; -2806:Src/main.c **** case 5: -2807:Src/main.c **** HAL_ADC_Stop(&hadc3); // Power off - ARM GAS /tmp/ccYgfTud.s page 102 +2751:Src/main.c **** if (cfg_err & 0x003Fu) +2752:Src/main.c **** { +2753:Src/main.c **** ok = 0u; +2754:Src/main.c **** } +2755:Src/main.c **** +2756:Src/main.c **** if (expect_run && ((pat_status & AD9102_PAT_STATUS_RUN) == 0u)) +2757:Src/main.c **** { +2758:Src/main.c **** ok = 0u; +2759:Src/main.c **** } +2760:Src/main.c **** +2761:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_WAV_CONFIG) != AD9102_EX4_WAV_CONFIG) +2762:Src/main.c **** { +2763:Src/main.c **** ok = 0u; +2764:Src/main.c **** } +2765:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_PAT_TIMEBASE) != pat_timebase) +2766:Src/main.c **** { +2767:Src/main.c **** ok = 0u; +2768:Src/main.c **** } +2769:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_PAT_PERIOD) != pat_period) +2770:Src/main.c **** { +2771:Src/main.c **** ok = 0u; +2772:Src/main.c **** } +2773:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_PAT_TYPE) != 0x0000u) +2774:Src/main.c **** { +2775:Src/main.c **** ok = 0u; +2776:Src/main.c **** } +2777:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_SAW_CONFIG) != expect_saw) +2778:Src/main.c **** { +2779:Src/main.c **** ok = 0u; +2780:Src/main.c **** } +2781:Src/main.c **** +2782:Src/main.c **** return (ok ? 0u : 1u); +2783:Src/main.c **** } +2784:Src/main.c **** +2785:Src/main.c **** static uint8_t AD9102_CheckFlagsSram(uint16_t pat_status, uint8_t expect_run, uint16_t samples, uin +2786:Src/main.c **** { +2787:Src/main.c **** uint16_t spiconfig = AD9102_ReadReg(AD9102_REG_SPICONFIG); +2788:Src/main.c **** uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); +2789:Src/main.c **** uint16_t clockcfg = AD9102_ReadReg(AD9102_REG_CLOCKCONFIG); +2790:Src/main.c **** uint16_t cfg_err = AD9102_ReadReg(AD9102_REG_CFG_ERROR); +2791:Src/main.c **** +2792:Src/main.c **** if (samples == 0u) +2793:Src/main.c **** { +2794:Src/main.c **** samples = AD9102_SRAM_SAMPLES_DEFAULT; +2795:Src/main.c **** } +2796:Src/main.c **** if (samples < 2u) +2797:Src/main.c **** { +2798:Src/main.c **** samples = 2u; +2799:Src/main.c **** } +2800:Src/main.c **** if (samples > AD9102_SRAM_MAX_SAMPLES) +2801:Src/main.c **** { +2802:Src/main.c **** samples = AD9102_SRAM_MAX_SAMPLES; +2803:Src/main.c **** } +2804:Src/main.c **** if (hold == 0u) +2805:Src/main.c **** { +2806:Src/main.c **** hold = AD9102_SRAM_HOLD_DEFAULT; +2807:Src/main.c **** } + ARM GAS /tmp/ccwR4KB7.s page 102 -2808:Src/main.c **** break; -2809:Src/main.c **** } -2810:Src/main.c **** return OUT; -2811:Src/main.c **** } +2808:Src/main.c **** if (hold > 0x0Fu) +2809:Src/main.c **** { +2810:Src/main.c **** hold = 0x0Fu; +2811:Src/main.c **** } 2812:Src/main.c **** -2813:Src/main.c **** uint16_t Advanced_Controller_Temp(LDx_SetupTypeDef * LDx_curr_setup, LDx_ParamTypeDef * LDx_results -2814:Src/main.c **** { -2815:Src/main.c **** // Main idea: -2816:Src/main.c **** // I is responsible to maintaining constant temperature difference between laser and room temperat -2817:Src/main.c **** // As room temperature can be approximated as constant at current-varying time -- I should be kept -2818:Src/main.c **** // As current through laser diode heats it -- we can estimate excessive power on laser diode and t -2819:Src/main.c **** // So, equation should be look like this: -2820:Src/main.c **** // x_output = x_output_original + I(laser)*(a + (t - b)c) -2821:Src/main.c **** // t -- cycle phase -2822:Src/main.c **** // a,b,c -- constants -2823:Src/main.c **** // -2824:Src/main.c **** // How can we control laser diode temperature? -2825:Src/main.c **** // -- We can set laser to fixed current at the time we need to measure. -2826:Src/main.c **** // Then we should measure wavelength. -2827:Src/main.c **** // Calibration sequence: -2828:Src/main.c **** // 1) n +2813:Src/main.c **** uint16_t pat_timebase = (uint16_t)(((uint16_t)(hold & 0x0Fu) << 8) | +2814:Src/main.c **** ((AD9102_SRAM_PAT_PERIOD_BASE_DEFAULT & 0x0Fu) << 4) | +2815:Src/main.c **** (AD9102_SRAM_START_DELAY_BASE_DEFAULT & 0x0Fu)); +2816:Src/main.c **** uint32_t pat_period = (uint32_t)samples * (uint32_t)(hold & 0x0Fu); +2817:Src/main.c **** if (pat_period == 0u) +2818:Src/main.c **** { +2819:Src/main.c **** pat_period = samples; +2820:Src/main.c **** } +2821:Src/main.c **** if (pat_period > 0xFFFFu) +2822:Src/main.c **** { +2823:Src/main.c **** pat_period = 0xFFFFu; +2824:Src/main.c **** } +2825:Src/main.c **** +2826:Src/main.c **** uint16_t stop_addr = (uint16_t)((samples - 1u) << 4); +2827:Src/main.c **** +2828:Src/main.c **** uint8_t ok = 1u; 2829:Src/main.c **** -2830:Src/main.c **** -2831:Src/main.c **** -2832:Src/main.c **** int e_pid; -2833:Src/main.c **** float P_coef_current;//, I_coef_current; -2834:Src/main.c **** float e_integral; -2835:Src/main.c **** int x_output; -2836:Src/main.c **** -2837:Src/main.c **** e_pid = (int) LDx_results->LD_CURR_TEMP - (int) LDx_curr_setup->LD_TEMP; -2838:Src/main.c **** -2839:Src/main.c **** e_integral = LDx_results->e_integral; -2840:Src/main.c **** -2841:Src/main.c **** if((e_pid < 3000) && (e_pid > - 3000)){ -2842:Src/main.c **** e_integral += LDx_curr_setup->I_coef_temp * (float)(e_pid) * (float)(TO7 - TO7_PID) / (float) 100 -2843:Src/main.c **** } -2844:Src/main.c **** P_coef_current = LDx_curr_setup->P_coef_temp; -2845:Src/main.c **** -2846:Src/main.c **** if (e_integral > 32000){ -2847:Src/main.c **** e_integral = 32000; -2848:Src/main.c **** } -2849:Src/main.c **** else if (e_integral < - 32000){ -2850:Src/main.c **** e_integral = -32000; -2851:Src/main.c **** } -2852:Src/main.c **** LDx_results->e_integral = e_integral; -2853:Src/main.c **** -2854:Src/main.c **** x_output = 32768 + P_coef_current * e_pid + (int)e_integral;//32768 - P_coef_current * e_pid - (in -2855:Src/main.c **** -2856:Src/main.c **** if(x_output < 1000){ -2857:Src/main.c **** x_output = 8800; +2830:Src/main.c **** if (spiconfig != 0x0000u) +2831:Src/main.c **** { +2832:Src/main.c **** ok = 0u; +2833:Src/main.c **** } +2834:Src/main.c **** if (powercfg & ((1u << 8) | (1u << 7) | (1u << 6) | (1u << 5) | (1u << 3))) +2835:Src/main.c **** { +2836:Src/main.c **** ok = 0u; +2837:Src/main.c **** } +2838:Src/main.c **** if (clockcfg & ((1u << 11) | (1u << 7) | (1u << 6) | (1u << 5))) +2839:Src/main.c **** { +2840:Src/main.c **** ok = 0u; +2841:Src/main.c **** } +2842:Src/main.c **** if (cfg_err & 0x003Fu) +2843:Src/main.c **** { +2844:Src/main.c **** ok = 0u; +2845:Src/main.c **** } +2846:Src/main.c **** if (expect_run && ((pat_status & AD9102_PAT_STATUS_RUN) == 0u)) +2847:Src/main.c **** { +2848:Src/main.c **** ok = 0u; +2849:Src/main.c **** } +2850:Src/main.c **** +2851:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_WAV_CONFIG) != AD9102_EX2_WAV_CONFIG) +2852:Src/main.c **** { +2853:Src/main.c **** ok = 0u; +2854:Src/main.c **** } +2855:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_PAT_TIMEBASE) != pat_timebase) +2856:Src/main.c **** { +2857:Src/main.c **** ok = 0u; 2858:Src/main.c **** } -2859:Src/main.c **** else if(x_output > 56800){ -2860:Src/main.c **** x_output = 56800; -2861:Src/main.c **** } -2862:Src/main.c **** -2863:Src/main.c **** if (num==2) -2864:Src/main.c **** TO7_PID = TO7;//Save current time only on 2nd laser - ARM GAS /tmp/ccYgfTud.s page 103 +2859:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_PAT_PERIOD) != (uint16_t)pat_period) +2860:Src/main.c **** { +2861:Src/main.c **** ok = 0u; +2862:Src/main.c **** } +2863:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_PAT_TYPE) != 0x0000u) +2864:Src/main.c **** { + ARM GAS /tmp/ccwR4KB7.s page 103 -2865:Src/main.c **** -2866:Src/main.c **** return (uint16_t)x_output; -2867:Src/main.c **** } -2868:Src/main.c **** -2869:Src/main.c **** -2870:Src/main.c **** uint16_t PID_Controller_Temp(LDx_SetupTypeDef * LDx_curr_setup, LDx_ParamTypeDef * LDx_results, uin -2871:Src/main.c **** { - 545 .loc 1 2871 1 is_stmt 1 view -0 +2865:Src/main.c **** ok = 0u; +2866:Src/main.c **** } +2867:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_START_ADDR) != 0x0000u) +2868:Src/main.c **** { +2869:Src/main.c **** ok = 0u; +2870:Src/main.c **** } +2871:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_STOP_ADDR) != stop_addr) +2872:Src/main.c **** { +2873:Src/main.c **** ok = 0u; +2874:Src/main.c **** } +2875:Src/main.c **** if (AD9102_ReadReg(AD9102_REG_DAC_PAT) != AD9102_EX2_DAC_PAT) +2876:Src/main.c **** { +2877:Src/main.c **** ok = 0u; +2878:Src/main.c **** } +2879:Src/main.c **** +2880:Src/main.c **** return (ok ? 0u : 1u); +2881:Src/main.c **** } +2882:Src/main.c **** +2883:Src/main.c **** void Set_LTEC(uint8_t num, uint16_t DATA) +2884:Src/main.c **** { +2885:Src/main.c **** uint32_t tmp32; +2886:Src/main.c **** +2887:Src/main.c **** #if AD9102_ON_SPI2 +2888:Src/main.c **** // AD9102 occupies SPI2; skip LD1/TEC1 writes to avoid CS conflicts. +2889:Src/main.c **** if (num == 1 || num == 3) +2890:Src/main.c **** { +2891:Src/main.c **** return; +2892:Src/main.c **** } +2893:Src/main.c **** #endif +2894:Src/main.c **** +2895:Src/main.c **** switch (num) +2896:Src/main.c **** { +2897:Src/main.c **** case 1: +2898:Src/main.c **** HAL_GPIO_WritePin(DAC_LD1_CS_GPIO_Port, DAC_LD1_CS_Pin, GPIO_PIN_RESET);//Start operation with L +2899:Src/main.c **** //tmp32=0; +2900:Src/main.c **** //while(tmp32<500){tmp32++;} +2901:Src/main.c **** tmp32 = 0; +2902:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi +2903:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC +2904:Src/main.c **** tmp32 = 0; +2905:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w +2906:Src/main.c **** (void) SPI2->DR; +2907:Src/main.c **** break; +2908:Src/main.c **** case 2: +2909:Src/main.c **** //HAL_GPIO_TogglePin(OUT_11_GPIO_Port, OUT_11_Pin); //for debug purposes +2910:Src/main.c **** HAL_GPIO_WritePin(DAC_LD2_CS_GPIO_Port, DAC_LD2_CS_Pin, GPIO_PIN_RESET);//Start operation with L +2911:Src/main.c **** //tmp32=0; +2912:Src/main.c **** //while(tmp32<500){tmp32++;} +2913:Src/main.c **** tmp32 = 0; +2914:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi +2915:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC +2916:Src/main.c **** tmp32 = 0; +2917:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w +2918:Src/main.c **** (void) SPI6->DR; +2919:Src/main.c **** break; +2920:Src/main.c **** case 3: +2921:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_RESET);//Start operation with + ARM GAS /tmp/ccwR4KB7.s page 104 + + +2922:Src/main.c **** //tmp32=0; +2923:Src/main.c **** //while(tmp32<500){tmp32++;} +2924:Src/main.c **** tmp32 = 0; +2925:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi +2926:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC +2927:Src/main.c **** tmp32 = 0; +2928:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w +2929:Src/main.c **** (void) SPI2->DR; +2930:Src/main.c **** break; +2931:Src/main.c **** case 4: +2932:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC2_CS_GPIO_Port, DAC_TEC2_CS_Pin, GPIO_PIN_RESET);//Start operation with +2933:Src/main.c **** //tmp32=0; +2934:Src/main.c **** //while(tmp32<500){tmp32++;} +2935:Src/main.c **** tmp32 = 0; +2936:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi +2937:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC +2938:Src/main.c **** tmp32 = 0; +2939:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w +2940:Src/main.c **** (void) SPI6->DR; +2941:Src/main.c **** break; +2942:Src/main.c **** } +2943:Src/main.c **** HAL_GPIO_WritePin(DAC_LD1_CS_GPIO_Port, DAC_LD1_CS_Pin, GPIO_PIN_SET);//End operation with LDAC1 +2944:Src/main.c **** HAL_GPIO_WritePin(DAC_LD2_CS_GPIO_Port, DAC_LD2_CS_Pin, GPIO_PIN_SET);//End operation with LDAC2 +2945:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET);//End operation with TEC1 +2946:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC2_CS_GPIO_Port, DAC_TEC2_CS_Pin, GPIO_PIN_SET);//End operation with TEC2 +2947:Src/main.c **** } +2948:Src/main.c **** static uint16_t MPhD_T(uint8_t num) +2949:Src/main.c **** { +2950:Src/main.c **** uint16_t P; +2951:Src/main.c **** uint32_t tmp32; +2952:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_RESET);//Prepare conversion +2953:Src/main.c **** HAL_GPIO_WritePin(SPI5_CNV_GPIO_Port, SPI5_CNV_Pin, GPIO_PIN_RESET);//Prepare conversion +2954:Src/main.c **** tmp32=0; +2955:Src/main.c **** while(tmp32<500){tmp32++;} +2956:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver +2957:Src/main.c **** HAL_GPIO_WritePin(SPI5_CNV_GPIO_Port, SPI5_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver +2958:Src/main.c **** tmp32=0; +2959:Src/main.c **** while(tmp32<500){tmp32++;} +2960:Src/main.c **** if (num==1)//MPD1 +2961:Src/main.c **** { +2962:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD1_CS_GPIO_Port, ADC_ThrLD1_CS_Pin, GPIO_PIN_SET); +2963:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD1_CS_GPIO_Port, ADC_MPD1_CS_Pin, GPIO_PIN_RESET); +2964:Src/main.c **** tmp32=0; +2965:Src/main.c **** while(tmp32<500){tmp32++;} +2966:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c +2967:Src/main.c **** LL_SPI_Enable(SPI4);//Enable SPI for MPhD1 ADC +2968:Src/main.c **** tmp32 = 0; +2969:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI4))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w +2970:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for MPhD1 ADC +2971:Src/main.c **** while(tmp32<500){tmp32++;} +2972:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); +2973:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD1_CS_GPIO_Port, ADC_MPD1_CS_Pin, GPIO_PIN_SET); +2974:Src/main.c **** P = LL_SPI_ReceiveData16(SPI4); +2975:Src/main.c **** } +2976:Src/main.c **** else if (num==2)//MPD2 +2977:Src/main.c **** { +2978:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD2_CS_GPIO_Port, ADC_ThrLD2_CS_Pin, GPIO_PIN_SET); + ARM GAS /tmp/ccwR4KB7.s page 105 + + +2979:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD2_CS_GPIO_Port, ADC_MPD2_CS_Pin, GPIO_PIN_RESET); +2980:Src/main.c **** tmp32=0; +2981:Src/main.c **** while(tmp32<500){tmp32++;} +2982:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c +2983:Src/main.c **** LL_SPI_Enable(SPI5);//Enable SPI for MPhD2 ADC +2984:Src/main.c **** tmp32 = 0; +2985:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI5))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w +2986:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for MPhD2 ADC +2987:Src/main.c **** while(tmp32<500){tmp32++;} +2988:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); +2989:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD2_CS_GPIO_Port, ADC_MPD2_CS_Pin, GPIO_PIN_SET); +2990:Src/main.c **** P = LL_SPI_ReceiveData16(SPI5); +2991:Src/main.c **** } +2992:Src/main.c **** else if (num==3)//ThrLD1 +2993:Src/main.c **** { +2994:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD1_CS_GPIO_Port, ADC_MPD1_CS_Pin, GPIO_PIN_SET); +2995:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD1_CS_GPIO_Port, ADC_ThrLD1_CS_Pin, GPIO_PIN_RESET); +2996:Src/main.c **** tmp32=0; +2997:Src/main.c **** while(tmp32<500){tmp32++;} +2998:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c +2999:Src/main.c **** LL_SPI_Enable(SPI4);//Enable SPI for ThrLD1 ADC +3000:Src/main.c **** tmp32 = 0; +3001:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI4))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w +3002:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for ThrLD1 ADC +3003:Src/main.c **** while(tmp32<500){tmp32++;} +3004:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); +3005:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD1_CS_GPIO_Port, ADC_ThrLD1_CS_Pin, GPIO_PIN_SET); +3006:Src/main.c **** P = LL_SPI_ReceiveData16(SPI4); +3007:Src/main.c **** } +3008:Src/main.c **** else if (num==4)//ThrLD2 +3009:Src/main.c **** { +3010:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD2_CS_GPIO_Port, ADC_MPD2_CS_Pin, GPIO_PIN_SET); +3011:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD2_CS_GPIO_Port, ADC_ThrLD2_CS_Pin, GPIO_PIN_RESET); +3012:Src/main.c **** tmp32=0; +3013:Src/main.c **** while(tmp32<500){tmp32++;} +3014:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c +3015:Src/main.c **** LL_SPI_Enable(SPI5);//Enable SPI for ThrLD2 ADC +3016:Src/main.c **** tmp32 = 0; +3017:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI5))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w +3018:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for ThrLD2 ADC +3019:Src/main.c **** while(tmp32<500){tmp32++;} +3020:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); +3021:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD2_CS_GPIO_Port, ADC_ThrLD2_CS_Pin, GPIO_PIN_SET); +3022:Src/main.c **** P = LL_SPI_ReceiveData16(SPI5); +3023:Src/main.c **** } +3024:Src/main.c **** /*float I_LD, Ith, I0m, T0m, Inorm, Tnorm1, Tnorm2, P, T_C, A, Pnorm; +3025:Src/main.c **** +3026:Src/main.c **** Inorm = (float) (65535) / (float) (100); +3027:Src/main.c **** Tnorm1 = (float) (65535) / (float) (50); +3028:Src/main.c **** Tnorm2 = 4; +3029:Src/main.c **** Pnorm = (float)(65535) / (float)(20); +3030:Src/main.c **** I0m = 8.1568;//@4 C - lowest temperature of system +3031:Src/main.c **** T0m = 48.6282; +3032:Src/main.c **** T_C = (float) (T_LD) / Tnorm1 + Tnorm2; +3033:Src/main.c **** +3034:Src/main.c **** Ith = I0m * expf(T_C/T0m); +3035:Src/main.c **** I_LD = (float) (C_LD) / Inorm; + ARM GAS /tmp/ccwR4KB7.s page 106 + + +3036:Src/main.c **** +3037:Src/main.c **** if (I_LD > Ith) +3038:Src/main.c **** { +3039:Src/main.c **** A = (float) (2.24276128270098e-07) * T_C * T_C * T_C - (float) (4.73392579025590e-05) * T_C * T_ +3040:Src/main.c **** P = A * (I_LD - Ith) * Pnorm; +3041:Src/main.c **** } +3042:Src/main.c **** else +3043:Src/main.c **** { +3044:Src/main.c **** P = 0; +3045:Src/main.c **** } */ +3046:Src/main.c **** return P; +3047:Src/main.c **** } +3048:Src/main.c **** /*static uint16_t Temp_LD(uint16_t T_LD_before, uint16_t T_LD, uint32_t Timer_before, uint32_t Time +3049:Src/main.c **** { +3050:Src/main.c **** uint16_t Result; +3051:Src/main.c **** // uint8_t randf; +3052:Src/main.c **** +3053:Src/main.c **** randf = 0; +3054:Src/main.c **** for (uint8_t i = 0; i < 32; i++) +3055:Src/main.c **** { +3056:Src/main.c **** randf = ((Timer>>i)&0x0001)^randf; +3057:Src/main.c **** } +3058:Src/main.c **** +3059:Src/main.c **** Result = ((float)(T_LD - T_LD_before))*((float)(1-expf(((float)(Timer_before)-(float)(Timer))/((fl +3060:Src/main.c **** +3061:Src/main.c **** return (uint16_t)(Result); +3062:Src/main.c **** }*/ +3063:Src/main.c **** static uint16_t Get_ADC(uint8_t num) +3064:Src/main.c **** { +3065:Src/main.c **** uint16_t OUT; +3066:Src/main.c **** switch (num) +3067:Src/main.c **** { +3068:Src/main.c **** case 0: +3069:Src/main.c **** HAL_ADC_Start(&hadc1); // Power on +3070:Src/main.c **** break; +3071:Src/main.c **** case 1: +3072:Src/main.c **** HAL_ADC_PollForConversion(&hadc1, 100); // Waiting for conversion +3073:Src/main.c **** OUT = HAL_ADC_GetValue(&hadc1); // Get value adc +3074:Src/main.c **** break; +3075:Src/main.c **** case 2: +3076:Src/main.c **** HAL_ADC_Stop(&hadc1); // Power off +3077:Src/main.c **** break; +3078:Src/main.c **** case 3: +3079:Src/main.c **** HAL_ADC_Start(&hadc3); // Power on +3080:Src/main.c **** break; +3081:Src/main.c **** case 4: +3082:Src/main.c **** HAL_ADC_PollForConversion(&hadc3, 100); // Waiting for conversion +3083:Src/main.c **** OUT = HAL_ADC_GetValue(&hadc3); // Get value adc +3084:Src/main.c **** break; +3085:Src/main.c **** case 5: +3086:Src/main.c **** HAL_ADC_Stop(&hadc3); // Power off +3087:Src/main.c **** break; +3088:Src/main.c **** } +3089:Src/main.c **** return OUT; +3090:Src/main.c **** } +3091:Src/main.c **** +3092:Src/main.c **** uint16_t Advanced_Controller_Temp(LDx_SetupTypeDef * LDx_curr_setup, LDx_ParamTypeDef * LDx_results + ARM GAS /tmp/ccwR4KB7.s page 107 + + +3093:Src/main.c **** { +3094:Src/main.c **** // Main idea: +3095:Src/main.c **** // I is responsible to maintaining constant temperature difference between laser and room temperat +3096:Src/main.c **** // As room temperature can be approximated as constant at current-varying time -- I should be kept +3097:Src/main.c **** // As current through laser diode heats it -- we can estimate excessive power on laser diode and t +3098:Src/main.c **** // So, equation should be look like this: +3099:Src/main.c **** // x_output = x_output_original + I(laser)*(a + (t - b)c) +3100:Src/main.c **** // t -- cycle phase +3101:Src/main.c **** // a,b,c -- constants +3102:Src/main.c **** // +3103:Src/main.c **** // How can we control laser diode temperature? +3104:Src/main.c **** // -- We can set laser to fixed current at the time we need to measure. +3105:Src/main.c **** // Then we should measure wavelength. +3106:Src/main.c **** // Calibration sequence: +3107:Src/main.c **** // 1) n +3108:Src/main.c **** +3109:Src/main.c **** +3110:Src/main.c **** +3111:Src/main.c **** int e_pid; +3112:Src/main.c **** float P_coef_current;//, I_coef_current; +3113:Src/main.c **** float e_integral; +3114:Src/main.c **** int x_output; +3115:Src/main.c **** +3116:Src/main.c **** e_pid = (int) LDx_results->LD_CURR_TEMP - (int) LDx_curr_setup->LD_TEMP; +3117:Src/main.c **** +3118:Src/main.c **** e_integral = LDx_results->e_integral; +3119:Src/main.c **** +3120:Src/main.c **** if((e_pid < 3000) && (e_pid > - 3000)){ +3121:Src/main.c **** e_integral += LDx_curr_setup->I_coef_temp * (float)(e_pid) * (float)(TO7 - TO7_PID) / (float) 100 +3122:Src/main.c **** } +3123:Src/main.c **** P_coef_current = LDx_curr_setup->P_coef_temp; +3124:Src/main.c **** +3125:Src/main.c **** if (e_integral > 32000){ +3126:Src/main.c **** e_integral = 32000; +3127:Src/main.c **** } +3128:Src/main.c **** else if (e_integral < - 32000){ +3129:Src/main.c **** e_integral = -32000; +3130:Src/main.c **** } +3131:Src/main.c **** LDx_results->e_integral = e_integral; +3132:Src/main.c **** +3133:Src/main.c **** x_output = 32768 + P_coef_current * e_pid + (int)e_integral;//32768 - P_coef_current * e_pid - (in +3134:Src/main.c **** +3135:Src/main.c **** if(x_output < 1000){ +3136:Src/main.c **** x_output = 8800; +3137:Src/main.c **** } +3138:Src/main.c **** else if(x_output > 56800){ +3139:Src/main.c **** x_output = 56800; +3140:Src/main.c **** } +3141:Src/main.c **** +3142:Src/main.c **** if (num==2) +3143:Src/main.c **** TO7_PID = TO7;//Save current time only on 2nd laser +3144:Src/main.c **** +3145:Src/main.c **** return (uint16_t)x_output; +3146:Src/main.c **** } +3147:Src/main.c **** +3148:Src/main.c **** +3149:Src/main.c **** uint16_t PID_Controller_Temp(LDx_SetupTypeDef * LDx_curr_setup, LDx_ParamTypeDef * LDx_results, uin + ARM GAS /tmp/ccwR4KB7.s page 108 + + +3150:Src/main.c **** { + 545 .loc 1 3150 1 is_stmt 1 view -0 546 .cfi_startproc 547 @ args = 0, pretend = 0, frame = 0 548 @ frame_needed = 0, uses_anonymous_args = 0 549 @ link register save eliminated. - 550 .loc 1 2871 1 is_stmt 0 view .LVU201 + 550 .loc 1 3150 1 is_stmt 0 view .LVU201 551 0000 30B4 push {r4, r5} 552 .LCFI6: 553 .cfi_def_cfa_offset 8 554 .cfi_offset 4, -8 555 .cfi_offset 5, -4 -2872:Src/main.c **** int e_pid; - 556 .loc 1 2872 2 is_stmt 1 view .LVU202 -2873:Src/main.c **** float P_coef_current;//, I_coef_current; - 557 .loc 1 2873 2 view .LVU203 -2874:Src/main.c **** float e_integral; - 558 .loc 1 2874 2 view .LVU204 -2875:Src/main.c **** int x_output; - 559 .loc 1 2875 2 view .LVU205 -2876:Src/main.c **** -2877:Src/main.c **** e_pid = (int) LDx_results->LD_CURR_TEMP - (int) LDx_curr_setup->LD_TEMP; - 560 .loc 1 2877 2 view .LVU206 - 561 .loc 1 2877 28 is_stmt 0 view .LVU207 +3151:Src/main.c **** int e_pid; + 556 .loc 1 3151 2 is_stmt 1 view .LVU202 +3152:Src/main.c **** float P_coef_current;//, I_coef_current; + 557 .loc 1 3152 2 view .LVU203 +3153:Src/main.c **** float e_integral; + 558 .loc 1 3153 2 view .LVU204 +3154:Src/main.c **** int x_output; + 559 .loc 1 3154 2 view .LVU205 +3155:Src/main.c **** +3156:Src/main.c **** e_pid = (int) LDx_results->LD_CURR_TEMP - (int) LDx_curr_setup->LD_TEMP; + 560 .loc 1 3156 2 view .LVU206 + 561 .loc 1 3156 28 is_stmt 0 view .LVU207 562 0002 0B88 ldrh r3, [r1] - 563 .loc 1 2877 65 view .LVU208 + 563 .loc 1 3156 65 view .LVU208 564 0004 0488 ldrh r4, [r0] - 565 .loc 1 2877 8 view .LVU209 + 565 .loc 1 3156 8 view .LVU209 566 0006 1B1B subs r3, r3, r4 567 .LVL34: -2878:Src/main.c **** -2879:Src/main.c **** e_integral = LDx_results->e_integral; - 568 .loc 1 2879 2 is_stmt 1 view .LVU210 - 569 .loc 1 2879 13 is_stmt 0 view .LVU211 +3157:Src/main.c **** +3158:Src/main.c **** e_integral = LDx_results->e_integral; + 568 .loc 1 3158 2 is_stmt 1 view .LVU210 + 569 .loc 1 3158 13 is_stmt 0 view .LVU211 570 0008 D1ED017A vldr.32 s15, [r1, #4] 571 .LVL35: -2880:Src/main.c **** -2881:Src/main.c **** if((e_pid < 3000) && (e_pid > - 3000)){ - 572 .loc 1 2881 2 is_stmt 1 view .LVU212 - 573 .loc 1 2881 20 is_stmt 0 view .LVU213 +3159:Src/main.c **** +3160:Src/main.c **** if((e_pid < 3000) && (e_pid > - 3000)){ + 572 .loc 1 3160 2 is_stmt 1 view .LVU212 + 573 .loc 1 3160 20 is_stmt 0 view .LVU213 574 000c 03F6B73C addw ip, r3, #2999 - 575 .loc 1 2881 4 view .LVU214 + 575 .loc 1 3160 4 view .LVU214 576 0010 41F26E74 movw r4, #5998 577 0014 A445 cmp ip, r4 578 0016 18D8 bhi .L17 -2882:Src/main.c **** e_integral += LDx_curr_setup->I_coef_temp * (float)(e_pid) * (float)(TO7 - TO7_PID) / (float) 100 - 579 .loc 1 2882 3 is_stmt 1 view .LVU215 - 580 .loc 1 2882 31 is_stmt 0 view .LVU216 +3161:Src/main.c **** e_integral += LDx_curr_setup->I_coef_temp * (float)(e_pid) * (float)(TO7 - TO7_PID) / (float) 100 + 579 .loc 1 3161 3 is_stmt 1 view .LVU215 + 580 .loc 1 3161 31 is_stmt 0 view .LVU216 581 0018 90ED027A vldr.32 s14, [r0, #8] - 582 .loc 1 2882 47 view .LVU217 + 582 .loc 1 3161 47 view .LVU217 583 001c 06EE903A vmov s13, r3 @ int - ARM GAS /tmp/ccYgfTud.s page 104 - - 584 0020 F8EEE66A vcvt.f32.s32 s13, s13 - 585 .loc 1 2882 45 view .LVU218 + 585 .loc 1 3161 45 view .LVU218 586 0024 27EE267A vmul.f32 s14, s14, s13 - 587 .loc 1 2882 76 view .LVU219 + 587 .loc 1 3161 76 view .LVU219 588 0028 284C ldr r4, .L27 589 002a 2468 ldr r4, [r4] + ARM GAS /tmp/ccwR4KB7.s page 109 + + 590 002c 284D ldr r5, .L27+4 591 002e 2D68 ldr r5, [r5] 592 0030 641B subs r4, r4, r5 - 593 .loc 1 2882 64 view .LVU220 + 593 .loc 1 3161 64 view .LVU220 594 0032 06EE904A vmov s13, r4 @ int 595 0036 F8EE666A vcvt.f32.u32 s13, s13 - 596 .loc 1 2882 62 view .LVU221 + 596 .loc 1 3161 62 view .LVU221 597 003a 27EE267A vmul.f32 s14, s14, s13 - 598 .loc 1 2882 87 view .LVU222 + 598 .loc 1 3161 87 view .LVU222 599 003e 9FED256A vldr.32 s12, .L27+8 600 0042 C7EE066A vdiv.f32 s13, s14, s12 - 601 .loc 1 2882 14 view .LVU223 + 601 .loc 1 3161 14 view .LVU223 602 0046 77EEA67A vadd.f32 s15, s15, s13 603 .LVL36: 604 .L17: -2883:Src/main.c **** } -2884:Src/main.c **** P_coef_current = LDx_curr_setup->P_coef_temp; - 605 .loc 1 2884 2 is_stmt 1 view .LVU224 - 606 .loc 1 2884 17 is_stmt 0 view .LVU225 +3162:Src/main.c **** } +3163:Src/main.c **** P_coef_current = LDx_curr_setup->P_coef_temp; + 605 .loc 1 3163 2 is_stmt 1 view .LVU224 + 606 .loc 1 3163 17 is_stmt 0 view .LVU225 607 004a D0ED016A vldr.32 s13, [r0, #4] 608 .LVL37: -2885:Src/main.c **** -2886:Src/main.c **** if (e_integral > 32000){ - 609 .loc 1 2886 2 is_stmt 1 view .LVU226 - 610 .loc 1 2886 5 is_stmt 0 view .LVU227 +3164:Src/main.c **** +3165:Src/main.c **** if (e_integral > 32000){ + 609 .loc 1 3165 2 is_stmt 1 view .LVU226 + 610 .loc 1 3165 5 is_stmt 0 view .LVU227 611 004e 9FED227A vldr.32 s14, .L27+12 612 0052 F4EEC77A vcmpe.f32 s15, s14 613 0056 F1EE10FA vmrs APSR_nzcv, FPSCR 614 005a 09DC bgt .L21 -2887:Src/main.c **** e_integral = 32000; -2888:Src/main.c **** } -2889:Src/main.c **** else if (e_integral < - 32000){ - 615 .loc 1 2889 7 is_stmt 1 view .LVU228 - 616 .loc 1 2889 10 is_stmt 0 view .LVU229 +3166:Src/main.c **** e_integral = 32000; +3167:Src/main.c **** } +3168:Src/main.c **** else if (e_integral < - 32000){ + 615 .loc 1 3168 7 is_stmt 1 view .LVU228 + 616 .loc 1 3168 10 is_stmt 0 view .LVU229 617 005c 9FED1F7A vldr.32 s14, .L27+16 618 0060 F4EEC77A vcmpe.f32 s15, s14 619 0064 F1EE10FA vmrs APSR_nzcv, FPSCR 620 0068 04D5 bpl .L18 -2890:Src/main.c **** e_integral = -32000; - 621 .loc 1 2890 15 view .LVU230 +3169:Src/main.c **** e_integral = -32000; + 621 .loc 1 3169 15 view .LVU230 622 006a DFED1C7A vldr.32 s15, .L27+16 623 .LVL38: - 624 .loc 1 2890 15 view .LVU231 + 624 .loc 1 3169 15 view .LVU231 625 006e 01E0 b .L18 626 .LVL39: 627 .L21: -2887:Src/main.c **** e_integral = 32000; - 628 .loc 1 2887 15 view .LVU232 +3166:Src/main.c **** e_integral = 32000; + 628 .loc 1 3166 15 view .LVU232 629 0070 DFED197A vldr.32 s15, .L27+12 630 .LVL40: 631 .L18: - ARM GAS /tmp/ccYgfTud.s page 105 - - -2891:Src/main.c **** } -2892:Src/main.c **** LDx_results->e_integral = e_integral; - 632 .loc 1 2892 2 is_stmt 1 view .LVU233 - 633 .loc 1 2892 26 is_stmt 0 view .LVU234 +3170:Src/main.c **** } +3171:Src/main.c **** LDx_results->e_integral = e_integral; + 632 .loc 1 3171 2 is_stmt 1 view .LVU233 + 633 .loc 1 3171 26 is_stmt 0 view .LVU234 634 0074 C1ED017A vstr.32 s15, [r1, #4] -2893:Src/main.c **** -2894:Src/main.c **** x_output = 32768 + P_coef_current * e_pid + (int)e_integral;//32768 - P_coef_current * e_pid - (in - 635 .loc 1 2894 2 is_stmt 1 view .LVU235 - 636 .loc 1 2894 36 is_stmt 0 view .LVU236 +3172:Src/main.c **** + ARM GAS /tmp/ccwR4KB7.s page 110 + + +3173:Src/main.c **** x_output = 32768 + P_coef_current * e_pid + (int)e_integral;//32768 - P_coef_current * e_pid - (in + 635 .loc 1 3173 2 is_stmt 1 view .LVU235 + 636 .loc 1 3173 36 is_stmt 0 view .LVU236 637 0078 07EE103A vmov s14, r3 @ int 638 007c B8EEC77A vcvt.f32.s32 s14, s14 639 0080 27EE267A vmul.f32 s14, s14, s13 - 640 .loc 1 2894 19 view .LVU237 + 640 .loc 1 3173 19 view .LVU237 641 0084 DFED166A vldr.32 s13, .L27+20 642 .LVL41: - 643 .loc 1 2894 19 view .LVU238 + 643 .loc 1 3173 19 view .LVU238 644 0088 37EE267A vadd.f32 s14, s14, s13 - 645 .loc 1 2894 46 view .LVU239 + 645 .loc 1 3173 46 view .LVU239 646 008c FDEEE77A vcvt.s32.f32 s15, s15 647 .LVL42: - 648 .loc 1 2894 44 view .LVU240 + 648 .loc 1 3173 44 view .LVU240 649 0090 F8EEE77A vcvt.f32.s32 s15, s15 650 0094 77EE877A vadd.f32 s15, s15, s14 - 651 .loc 1 2894 11 view .LVU241 + 651 .loc 1 3173 11 view .LVU241 652 0098 FDEEE77A vcvt.s32.f32 s15, s15 653 009c 17EE900A vmov r0, s15 @ int 654 .LVL43: -2895:Src/main.c **** -2896:Src/main.c **** if(x_output < 1000){ - 655 .loc 1 2896 2 is_stmt 1 view .LVU242 - 656 .loc 1 2896 4 is_stmt 0 view .LVU243 +3174:Src/main.c **** +3175:Src/main.c **** if(x_output < 1000){ + 655 .loc 1 3175 2 is_stmt 1 view .LVU242 + 656 .loc 1 3175 4 is_stmt 0 view .LVU243 657 00a0 B0F57A7F cmp r0, #1000 658 00a4 06DB blt .L23 -2897:Src/main.c **** x_output = 8800; -2898:Src/main.c **** } -2899:Src/main.c **** else if(x_output > 56800){ - 659 .loc 1 2899 7 is_stmt 1 view .LVU244 - 660 .loc 1 2899 9 is_stmt 0 view .LVU245 +3176:Src/main.c **** x_output = 8800; +3177:Src/main.c **** } +3178:Src/main.c **** else if(x_output > 56800){ + 659 .loc 1 3178 7 is_stmt 1 view .LVU244 + 660 .loc 1 3178 9 is_stmt 0 view .LVU245 661 00a6 4DF6E053 movw r3, #56800 662 .LVL44: - 663 .loc 1 2899 9 view .LVU246 + 663 .loc 1 3178 9 view .LVU246 664 00aa 9842 cmp r0, r3 665 00ac 04DD ble .L19 -2900:Src/main.c **** x_output = 56800; - 666 .loc 1 2900 12 view .LVU247 +3179:Src/main.c **** x_output = 56800; + 666 .loc 1 3179 12 view .LVU247 667 00ae 4DF6E050 movw r0, #56800 668 .LVL45: - 669 .loc 1 2900 12 view .LVU248 + 669 .loc 1 3179 12 view .LVU248 670 00b2 01E0 b .L19 671 .LVL46: 672 .L23: -2897:Src/main.c **** x_output = 8800; - 673 .loc 1 2897 12 view .LVU249 +3176:Src/main.c **** x_output = 8800; + 673 .loc 1 3176 12 view .LVU249 674 00b4 42F26020 movw r0, #8800 675 .LVL47: 676 .L19: -2901:Src/main.c **** } - ARM GAS /tmp/ccYgfTud.s page 106 - - -2902:Src/main.c **** -2903:Src/main.c **** if (num==2) - 677 .loc 1 2903 2 is_stmt 1 view .LVU250 - 678 .loc 1 2903 5 is_stmt 0 view .LVU251 +3180:Src/main.c **** } +3181:Src/main.c **** +3182:Src/main.c **** if (num==2) + 677 .loc 1 3182 2 is_stmt 1 view .LVU250 + 678 .loc 1 3182 5 is_stmt 0 view .LVU251 679 00b8 022A cmp r2, #2 680 00ba 02D0 beq .L26 + ARM GAS /tmp/ccwR4KB7.s page 111 + + 681 .LVL48: 682 .L20: -2904:Src/main.c **** TO7_PID = TO7;//Save current time only on 2nd laser -2905:Src/main.c **** -2906:Src/main.c **** return (uint16_t)x_output; - 683 .loc 1 2906 2 is_stmt 1 view .LVU252 -2907:Src/main.c **** } - 684 .loc 1 2907 1 is_stmt 0 view .LVU253 +3183:Src/main.c **** TO7_PID = TO7;//Save current time only on 2nd laser +3184:Src/main.c **** +3185:Src/main.c **** return (uint16_t)x_output; + 683 .loc 1 3185 2 is_stmt 1 view .LVU252 +3186:Src/main.c **** } + 684 .loc 1 3186 1 is_stmt 0 view .LVU253 685 00bc 80B2 uxth r0, r0 686 .LVL49: - 687 .loc 1 2907 1 view .LVU254 + 687 .loc 1 3186 1 view .LVU254 688 00be 30BC pop {r4, r5} 689 .LCFI7: 690 .cfi_remember_state @@ -6329,15 +6623,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 696 .L26: 697 .LCFI8: 698 .cfi_restore_state -2904:Src/main.c **** TO7_PID = TO7;//Save current time only on 2nd laser - 699 .loc 1 2904 3 is_stmt 1 view .LVU255 -2904:Src/main.c **** TO7_PID = TO7;//Save current time only on 2nd laser - 700 .loc 1 2904 11 is_stmt 0 view .LVU256 +3183:Src/main.c **** TO7_PID = TO7;//Save current time only on 2nd laser + 699 .loc 1 3183 3 is_stmt 1 view .LVU255 +3183:Src/main.c **** TO7_PID = TO7;//Save current time only on 2nd laser + 700 .loc 1 3183 11 is_stmt 0 view .LVU256 701 00c2 024B ldr r3, .L27 702 00c4 1A68 ldr r2, [r3] 703 .LVL51: -2904:Src/main.c **** TO7_PID = TO7;//Save current time only on 2nd laser - 704 .loc 1 2904 11 view .LVU257 +3183:Src/main.c **** TO7_PID = TO7;//Save current time only on 2nd laser + 704 .loc 1 3183 11 view .LVU257 705 00c6 024B ldr r3, .L27+4 706 00c8 1A60 str r2, [r3] 707 00ca F7E7 b .L20 @@ -6351,25 +6645,25 @@ ARM GAS /tmp/ccYgfTud.s page 1 715 00dc 0000FAC6 .word -956694528 716 00e0 00000047 .word 1191182336 717 .cfi_endproc - 718 .LFE1221: + 718 .LFE1224: 720 .section .text.AD9102_WriteReg,"ax",%progbits 721 .align 1 722 .syntax unified 723 .thumb 724 .thumb_func 726 AD9102_WriteReg: - ARM GAS /tmp/ccYgfTud.s page 107 - - 727 .LVL52: 728 .LFB1212: -2415:Src/main.c **** uint32_t tmp32 = 0; - 729 .loc 1 2415 1 is_stmt 1 view -0 +2465:Src/main.c **** uint32_t tmp32 = 0; + 729 .loc 1 2465 1 is_stmt 1 view -0 730 .cfi_startproc 731 @ args = 0, pretend = 0, frame = 0 + ARM GAS /tmp/ccwR4KB7.s page 112 + + 732 @ frame_needed = 0, uses_anonymous_args = 0 -2415:Src/main.c **** uint32_t tmp32 = 0; - 733 .loc 1 2415 1 is_stmt 0 view .LVU259 +2465:Src/main.c **** uint32_t tmp32 = 0; + 733 .loc 1 2465 1 is_stmt 0 view .LVU259 734 0000 38B5 push {r3, r4, r5, lr} 735 .LCFI9: 736 .cfi_def_cfa_offset 16 @@ -6378,19 +6672,19 @@ ARM GAS /tmp/ccYgfTud.s page 1 739 .cfi_offset 5, -8 740 .cfi_offset 14, -4 741 0002 0C46 mov r4, r1 -2416:Src/main.c **** uint16_t cmd = (uint16_t)(addr & 0x7FFFu); // R/W = 0 (write), 15-bit address - 742 .loc 1 2416 2 is_stmt 1 view .LVU260 +2466:Src/main.c **** uint16_t cmd = (uint16_t)(addr & 0x7FFFu); // R/W = 0 (write), 15-bit address + 742 .loc 1 2466 2 is_stmt 1 view .LVU260 743 .LVL53: -2417:Src/main.c **** - 744 .loc 1 2417 2 view .LVU261 -2417:Src/main.c **** - 745 .loc 1 2417 11 is_stmt 0 view .LVU262 +2467:Src/main.c **** + 744 .loc 1 2467 2 view .LVU261 +2467:Src/main.c **** + 745 .loc 1 2467 11 is_stmt 0 view .LVU262 746 0004 C0F30E05 ubfx r5, r0, #0, #15 747 .LVL54: -2419:Src/main.c **** { - 748 .loc 1 2419 2 is_stmt 1 view .LVU263 - 749 .LBB337: - 750 .LBI337: +2469:Src/main.c **** { + 748 .loc 1 2469 2 is_stmt 1 view .LVU263 + 749 .LBB339: + 750 .LBI339: 751 .file 4 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h" 1:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 2:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** ****************************************************************************** @@ -6418,15 +6712,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 24:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** extern "C" { 25:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** #endif 26:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** - ARM GAS /tmp/ccYgfTud.s page 108 - - 27:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /* Includes ------------------------------------------------------------------*/ 28:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** #include "stm32f7xx.h" 29:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 30:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** @addtogroup STM32F7xx_LL_Driver 31:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @{ 32:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 113 + + 33:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 34:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** #if defined (SPI1) || defined (SPI2) || defined (SPI3) || defined (SPI4) || defined (SPI5) || defin 35:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** @@ -6478,15 +6772,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 81:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** This parameter can be a value of @ref SPI_LL_EC_NSS_MODE. 82:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 83:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** This feature can be modified afterwards using unitary func - ARM GAS /tmp/ccYgfTud.s page 109 - - 84:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 85:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** uint32_t BaudRate; /*!< Specifies the BaudRate prescaler value which will be used 86:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** This parameter can be a value of @ref SPI_LL_EC_BAUDRATEPR 87:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** @note The communication clock is derived from the master c 88:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 89:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** This feature can be modified afterwards using unitary func + ARM GAS /tmp/ccwR4KB7.s page 114 + + 90:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 91:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** uint32_t BitOrder; /*!< Specifies whether data transfers start from MSB or LSB bit 92:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** This parameter can be a value of @ref SPI_LL_EC_BIT_ORDER. @@ -6538,15 +6832,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 138:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** #define LL_SPI_CR2_TXEIE SPI_CR2_TXEIE /*!< Tx buffer empty interrupt 139:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** #define LL_SPI_CR2_ERRIE SPI_CR2_ERRIE /*!< Error interrupt enable 140:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** - ARM GAS /tmp/ccYgfTud.s page 110 - - 141:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @} 142:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 143:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 144:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** @defgroup SPI_LL_EC_MODE Operation Mode 145:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @{ 146:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 115 + + 147:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** #define LL_SPI_MODE_MASTER (SPI_CR1_MSTR | SPI_CR1_SSI) /*!< Master configuratio 148:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** #define LL_SPI_MODE_SLAVE 0x00000000U /*!< Slave configuration 149:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** @@ -6598,15 +6892,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 195:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** @defgroup SPI_LL_EC_BIT_ORDER Transmission Bit Order 196:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @{ 197:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ - ARM GAS /tmp/ccYgfTud.s page 111 - - 198:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** #define LL_SPI_LSB_FIRST (SPI_CR1_LSBFIRST) /*!< Data is transmitted/recei 199:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** #define LL_SPI_MSB_FIRST 0x00000000U /*!< Data is transmitted/recei 200:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 201:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @} 202:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 203:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** + ARM GAS /tmp/ccwR4KB7.s page 116 + + 204:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** @defgroup SPI_LL_EC_TRANSFER_MODE Transfer Mode 205:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @{ 206:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ @@ -6658,15 +6952,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 252:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @} 253:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 254:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** #endif /* USE_FULL_LL_DRIVER */ - ARM GAS /tmp/ccYgfTud.s page 112 - - 255:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 256:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** @defgroup SPI_LL_EC_CRC_LENGTH CRC Length 257:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @{ 258:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 259:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** #define LL_SPI_CRC_8BIT 0x00000000U /*!< 8-bit CRC length */ 260:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** #define LL_SPI_CRC_16BIT (SPI_CR1_CRCL) /*!< 16-bit CRC length */ + ARM GAS /tmp/ccwR4KB7.s page 117 + + 261:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 262:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @} 263:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ @@ -6718,15 +7012,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 309:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 310:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /* Exported macro ------------------------------------------------------------*/ 311:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** @defgroup SPI_LL_Exported_Macros SPI Exported Macros - ARM GAS /tmp/ccYgfTud.s page 113 - - 312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @{ 313:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** @defgroup SPI_LL_EM_WRITE_READ Common Write and read registers Macros 316:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @{ 317:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 118 + + 318:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 319:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 320:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Write a value in SPI register @@ -6778,15 +7072,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 366:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll CR1 SPE LL_SPI_Disable 367:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance 368:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @retval None - ARM GAS /tmp/ccYgfTud.s page 114 - - 369:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 370:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE void LL_SPI_Disable(SPI_TypeDef *SPIx) 371:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** CLEAR_BIT(SPIx->CR1, SPI_CR1_SPE); 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 374:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** + ARM GAS /tmp/ccwR4KB7.s page 119 + + 375:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 376:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Check if SPI peripheral is enabled 377:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll CR1 SPE LL_SPI_IsEnabled @@ -6795,7 +7089,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 380:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 381:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE uint32_t LL_SPI_IsEnabled(SPI_TypeDef *SPIx) 752 .loc 4 381 26 view .LVU264 - 753 .LBB338: + 753 .LBB340: 382:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 383:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** return ((READ_BIT(SPIx->CR1, SPI_CR1_SPE) == (SPI_CR1_SPE)) ? 1UL : 0UL); 754 .loc 4 383 3 view .LVU265 @@ -6807,15 +7101,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 760 0010 04D1 bne .L30 761 .LVL55: 762 .loc 4 383 69 view .LVU268 - 763 .LBE338: - 764 .LBE337: -2421:Src/main.c **** } - 765 .loc 1 2421 3 is_stmt 1 view .LVU269 - 766 .LBB339: - 767 .LBI339: + 763 .LBE340: + 764 .LBE339: +2471:Src/main.c **** } + 765 .loc 1 2471 3 is_stmt 1 view .LVU269 + 766 .LBB341: + 767 .LBI341: 358:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 768 .loc 4 358 22 view .LVU270 - 769 .LBB340: + 769 .LBB342: 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 770 .loc 4 360 3 view .LVU271 771 0012 254A ldr r2, .L44 @@ -6826,37 +7120,37 @@ ARM GAS /tmp/ccYgfTud.s page 1 776 .L30: 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 777 .loc 4 360 3 is_stmt 0 view .LVU272 - 778 .LBE340: - 779 .LBE339: -2424:Src/main.c **** - 780 .loc 1 2424 2 is_stmt 1 view .LVU273 + 778 .LBE342: + 779 .LBE341: +2474:Src/main.c **** + 780 .loc 1 2474 2 is_stmt 1 view .LVU273 781 001c 0022 movs r2, #0 782 001e 4FF48051 mov r1, #4096 783 .LVL57: -2424:Src/main.c **** - 784 .loc 1 2424 2 is_stmt 0 view .LVU274 +2474:Src/main.c **** + 784 .loc 1 2474 2 is_stmt 0 view .LVU274 785 0022 2248 ldr r0, .L44+4 786 .LVL58: -2424:Src/main.c **** - ARM GAS /tmp/ccYgfTud.s page 115 - - - 787 .loc 1 2424 2 view .LVU275 +2474:Src/main.c **** + 787 .loc 1 2474 2 view .LVU275 788 0024 FFF7FEFF bl HAL_GPIO_WritePin 789 .LVL59: -2426:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); - 790 .loc 1 2426 2 is_stmt 1 view .LVU276 -2416:Src/main.c **** uint16_t cmd = (uint16_t)(addr & 0x7FFFu); // R/W = 0 (write), 15-bit address - 791 .loc 1 2416 11 is_stmt 0 view .LVU277 +2476:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); + 790 .loc 1 2476 2 is_stmt 1 view .LVU276 +2466:Src/main.c **** uint16_t cmd = (uint16_t)(addr & 0x7FFFu); // R/W = 0 (write), 15-bit address + ARM GAS /tmp/ccwR4KB7.s page 120 + + + 791 .loc 1 2466 11 is_stmt 0 view .LVU277 792 0028 0023 movs r3, #0 793 .LVL60: 794 .L32: -2426:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); - 795 .loc 1 2426 63 is_stmt 1 discriminator 2 view .LVU278 -2426:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); - 796 .loc 1 2426 41 discriminator 2 view .LVU279 - 797 .LBB341: - 798 .LBI341: +2476:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); + 795 .loc 1 2476 63 is_stmt 1 discriminator 2 view .LVU278 +2476:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); + 796 .loc 1 2476 41 discriminator 2 view .LVU279 + 797 .LBB343: + 798 .LBI343: 384:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 385:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 386:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** @@ -6898,15 +7192,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 422:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @arg @ref LL_SPI_PROTOCOL_MOTOROLA 423:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @arg @ref LL_SPI_PROTOCOL_TI 424:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @retval None - ARM GAS /tmp/ccYgfTud.s page 116 - - 425:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 426:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE void LL_SPI_SetStandard(SPI_TypeDef *SPIx, uint32_t Standard) 427:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** MODIFY_REG(SPIx->CR2, SPI_CR2_FRF, Standard); 429:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 430:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** + ARM GAS /tmp/ccwR4KB7.s page 121 + + 431:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 432:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Get serial protocol used 433:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll CR2 FRF LL_SPI_GetStandard @@ -6958,15 +7252,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 479:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param ClockPolarity This parameter can be one of the following values: 480:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @arg @ref LL_SPI_POLARITY_LOW 481:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @arg @ref LL_SPI_POLARITY_HIGH - ARM GAS /tmp/ccYgfTud.s page 117 - - 482:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @retval None 483:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 484:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE void LL_SPI_SetClockPolarity(SPI_TypeDef *SPIx, uint32_t ClockPolarity) 485:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 486:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** MODIFY_REG(SPIx->CR1, SPI_CR1_CPOL, ClockPolarity); 487:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + ARM GAS /tmp/ccwR4KB7.s page 122 + + 488:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 489:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 490:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Get clock polarity @@ -7018,15 +7312,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 536:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 537:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE uint32_t LL_SPI_GetBaudRatePrescaler(SPI_TypeDef *SPIx) 538:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - ARM GAS /tmp/ccYgfTud.s page 118 - - 539:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** return (uint32_t)(READ_BIT(SPIx->CR1, SPI_CR1_BR)); 540:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 541:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 542:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 543:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Set transfer bit order 544:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @note This bit should not be changed when communication is ongoing. This bit is not used in S + ARM GAS /tmp/ccwR4KB7.s page 123 + + 545:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll CR1 LSBFIRST LL_SPI_SetTransferBitOrder 546:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance 547:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param BitOrder This parameter can be one of the following values: @@ -7078,15 +7372,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 593:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * CR1 BIDIMODE LL_SPI_GetTransferDirection\n 594:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * CR1 BIDIOE LL_SPI_GetTransferDirection 595:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance - ARM GAS /tmp/ccYgfTud.s page 119 - - 596:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @retval Returned value can be one of the following values: 597:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @arg @ref LL_SPI_FULL_DUPLEX 598:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @arg @ref LL_SPI_SIMPLEX_RX 599:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @arg @ref LL_SPI_HALF_DUPLEX_RX 600:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @arg @ref LL_SPI_HALF_DUPLEX_TX 601:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 124 + + 602:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE uint32_t LL_SPI_GetTransferDirection(SPI_TypeDef *SPIx) 603:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 604:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** return (uint32_t)(READ_BIT(SPIx->CR1, SPI_CR1_RXONLY | SPI_CR1_BIDIMODE | SPI_CR1_BIDIOE)); @@ -7138,15 +7432,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 650:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 651:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE uint32_t LL_SPI_GetDataWidth(SPI_TypeDef *SPIx) 652:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - ARM GAS /tmp/ccYgfTud.s page 120 - - 653:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** return (uint32_t)(READ_BIT(SPIx->CR2, SPI_CR2_DS)); 654:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 655:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 656:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 657:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Set threshold of RXFIFO that triggers an RXNE event 658:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll CR2 FRXTH LL_SPI_SetRxFIFOThreshold + ARM GAS /tmp/ccwR4KB7.s page 125 + + 659:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance 660:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param Threshold This parameter can be one of the following values: 661:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @arg @ref LL_SPI_RX_FIFO_TH_HALF @@ -7198,15 +7492,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 707:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance 708:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @retval None 709:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ - ARM GAS /tmp/ccYgfTud.s page 121 - - 710:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE void LL_SPI_DisableCRC(SPI_TypeDef *SPIx) 711:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 712:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** CLEAR_BIT(SPIx->CR1, SPI_CR1_CRCEN); 713:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 714:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 715:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 126 + + 716:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Check if CRC is enabled 717:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @note This bit should be written only when SPI is disabled (SPE = 0) for correct operation. 718:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll CR1 CRCEN LL_SPI_IsEnabledCRC @@ -7258,15 +7552,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 764:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** SET_BIT(SPIx->CR1, SPI_CR1_CRCNEXT); 765:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 766:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** - ARM GAS /tmp/ccYgfTud.s page 122 - - 767:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 768:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Set polynomial for CRC calculation 769:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll CRCPR CRCPOLY LL_SPI_SetCRCPolynomial 770:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance 771:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param CRCPoly This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFFFF 772:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @retval None + ARM GAS /tmp/ccwR4KB7.s page 127 + + 773:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 774:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE void LL_SPI_SetCRCPolynomial(SPI_TypeDef *SPIx, uint32_t CRCPoly) 775:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { @@ -7318,15 +7612,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 821:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Set NSS mode 822:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @note LL_SPI_NSS_SOFT Mode is not used in SPI TI mode. 823:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll CR1 SSM LL_SPI_SetNSSMode\n - ARM GAS /tmp/ccYgfTud.s page 123 - - 824:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll CR2 SSOE LL_SPI_SetNSSMode 825:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance 826:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param NSS This parameter can be one of the following values: 827:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @arg @ref LL_SPI_NSS_SOFT 828:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @arg @ref LL_SPI_NSS_HARD_INPUT 829:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @arg @ref LL_SPI_NSS_HARD_OUTPUT + ARM GAS /tmp/ccwR4KB7.s page 128 + + 830:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @retval None 831:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 832:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE void LL_SPI_SetNSSMode(SPI_TypeDef *SPIx, uint32_t NSS) @@ -7378,15 +7672,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 878:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 879:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 880:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Check if NSS pulse is enabled - ARM GAS /tmp/ccYgfTud.s page 124 - - 881:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @note This bit should not be changed when communication is ongoing. This bit is not used in S 882:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll CR2 NSSP LL_SPI_IsEnabledNSSPulse 883:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance 884:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @retval State of bit (1 or 0). 885:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 886:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE uint32_t LL_SPI_IsEnabledNSSPulse(SPI_TypeDef *SPIx) + ARM GAS /tmp/ccwR4KB7.s page 129 + + 887:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 888:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** return ((READ_BIT(SPIx->CR2, SPI_CR2_NSSP) == (SPI_CR2_NSSP)) ? 1UL : 0UL); 889:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } @@ -7418,7 +7712,7 @@ ARM GAS /tmp/ccYgfTud.s page 1 915:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 916:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE uint32_t LL_SPI_IsActiveFlag_TXE(SPI_TypeDef *SPIx) 799 .loc 4 916 26 view .LVU280 - 800 .LBB342: + 800 .LBB344: 917:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** return ((READ_BIT(SPIx->SR, SPI_SR_TXE) == (SPI_SR_TXE)) ? 1UL : 0UL); 801 .loc 4 918 3 view .LVU281 @@ -7430,29 +7724,29 @@ ARM GAS /tmp/ccYgfTud.s page 1 807 0032 05D1 bne .L31 808 .LVL61: 809 .loc 4 918 66 view .LVU284 - 810 .LBE342: - 811 .LBE341: -2426:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); - 812 .loc 1 2426 50 discriminator 1 view .LVU285 + 810 .LBE344: + 811 .LBE343: +2476:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); + 812 .loc 1 2476 50 discriminator 1 view .LVU285 813 0034 5A1C adds r2, r3, #1 814 .LVL62: -2426:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); - 815 .loc 1 2426 41 discriminator 1 view .LVU286 - ARM GAS /tmp/ccYgfTud.s page 125 - - +2476:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); + 815 .loc 1 2476 41 discriminator 1 view .LVU286 816 0036 B3F57A7F cmp r3, #1000 817 003a 01D2 bcs .L31 -2426:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); - 818 .loc 1 2426 50 discriminator 1 view .LVU287 +2476:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); + 818 .loc 1 2476 50 discriminator 1 view .LVU287 819 003c 1346 mov r3, r2 820 003e F4E7 b .L32 + ARM GAS /tmp/ccwR4KB7.s page 130 + + 821 .LVL63: 822 .L31: -2427:Src/main.c **** tmp32 = 0; - 823 .loc 1 2427 2 is_stmt 1 view .LVU288 - 824 .LBB343: - 825 .LBI343: +2477:Src/main.c **** tmp32 = 0; + 823 .loc 1 2477 2 is_stmt 1 view .LVU288 + 824 .LBB345: + 825 .LBI345: 919:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 920:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 921:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** @@ -7498,15 +7792,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 961:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * -In Slave mode, when the BSY flag is set to '0' for at least one SPI clock cycle between 962:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * each data transfer. 963:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll SR BSY LL_SPI_IsActiveFlag_BSY - ARM GAS /tmp/ccYgfTud.s page 126 - - 964:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance 965:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @retval State of bit (1 or 0). 966:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 967:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE uint32_t LL_SPI_IsActiveFlag_BSY(SPI_TypeDef *SPIx) 968:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 969:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** return ((READ_BIT(SPIx->SR, SPI_SR_BSY) == (SPI_SR_BSY)) ? 1UL : 0UL); + ARM GAS /tmp/ccwR4KB7.s page 131 + + 970:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 971:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 972:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** @@ -7558,15 +7852,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 1018:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 1019:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE void LL_SPI_ClearFlag_CRCERR(SPI_TypeDef *SPIx) 1020:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - ARM GAS /tmp/ccYgfTud.s page 127 - - 1021:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** CLEAR_BIT(SPIx->SR, SPI_SR_CRCERR); 1022:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 1023:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 1024:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 1025:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Clear mode fault error flag 1026:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @note Clearing this flag is done by a read access to the SPIx_SR + ARM GAS /tmp/ccwR4KB7.s page 132 + + 1027:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * register followed by a write access to the SPIx_CR1 register 1028:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll SR MODF LL_SPI_ClearFlag_MODF 1029:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance @@ -7618,15 +7912,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 1075:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** @defgroup SPI_LL_EF_IT_Management Interrupt Management 1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @{ 1077:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ - ARM GAS /tmp/ccYgfTud.s page 128 - - 1078:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 1079:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 1080:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Enable error interrupt 1081:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @note This bit controls the generation of an interrupt when an error condition occurs (CRCERR 1082:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll CR2 ERRIE LL_SPI_EnableIT_ERR 1083:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance + ARM GAS /tmp/ccwR4KB7.s page 133 + + 1084:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @retval None 1085:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 1086:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE void LL_SPI_EnableIT_ERR(SPI_TypeDef *SPIx) @@ -7678,15 +7972,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 1132:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 1133:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** CLEAR_BIT(SPIx->CR2, SPI_CR2_RXNEIE); 1134:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - ARM GAS /tmp/ccYgfTud.s page 129 - - 1135:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 1136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 1137:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Disable Tx buffer empty interrupt 1138:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll CR2 TXEIE LL_SPI_DisableIT_TXE 1139:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance 1140:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @retval None + ARM GAS /tmp/ccwR4KB7.s page 134 + + 1141:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 1142:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE void LL_SPI_DisableIT_TXE(SPI_TypeDef *SPIx) 1143:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { @@ -7738,15 +8032,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 1189:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Enable DMA Rx 1190:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll CR2 RXDMAEN LL_SPI_EnableDMAReq_RX 1191:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance - ARM GAS /tmp/ccYgfTud.s page 130 - - 1192:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @retval None 1193:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 1194:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE void LL_SPI_EnableDMAReq_RX(SPI_TypeDef *SPIx) 1195:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 1196:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** SET_BIT(SPIx->CR2, SPI_CR2_RXDMAEN); 1197:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + ARM GAS /tmp/ccwR4KB7.s page 135 + + 1198:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 1199:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 1200:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Disable DMA Rx @@ -7798,15 +8092,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 1246:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance 1247:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @retval State of bit (1 or 0). 1248:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ - ARM GAS /tmp/ccYgfTud.s page 131 - - 1249:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE uint32_t LL_SPI_IsEnabledDMAReq_TX(SPI_TypeDef *SPIx) 1250:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 1251:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** return ((READ_BIT(SPIx->CR2, SPI_CR2_TXDMAEN) == (SPI_CR2_TXDMAEN)) ? 1UL : 0UL); 1252:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 1253:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 1254:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 136 + + 1255:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Set parity of Last DMA reception 1256:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll CR2 LDMARX LL_SPI_SetDMAParity_RX 1257:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance @@ -7858,15 +8152,15 @@ ARM GAS /tmp/ccYgfTud.s page 1 1303:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE uint32_t LL_SPI_GetDMAParity_TX(SPI_TypeDef *SPIx) 1304:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 1305:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** return (uint32_t)(READ_BIT(SPIx->CR2, SPI_CR2_LDMATX) >> SPI_CR2_LDMATX_Pos); - ARM GAS /tmp/ccYgfTud.s page 132 - - 1306:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 1307:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 1308:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 1309:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Get the data register address used for DMA transfer 1310:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll DR DR LL_SPI_DMA_GetRegAddr 1311:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance + ARM GAS /tmp/ccwR4KB7.s page 137 + + 1312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @retval Address of data register 1313:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 1314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE uint32_t LL_SPI_DMA_GetRegAddr(SPI_TypeDef *SPIx) @@ -7918,22 +8212,22 @@ ARM GAS /tmp/ccYgfTud.s page 1 1360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** *spidr = TxData; 1361:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** #else 1362:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** *((__IO uint8_t *)&SPIx->DR) = TxData; - ARM GAS /tmp/ccYgfTud.s page 133 - - 1363:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** #endif /* __GNUC__ */ 1364:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 1365:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** 1366:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** /** 1367:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @brief Write 16-Bits in the data register 1368:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @rmtoll DR DR LL_SPI_TransmitData16 + ARM GAS /tmp/ccwR4KB7.s page 138 + + 1369:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param SPIx SPI Instance 1370:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @param TxData Value between Min_Data=0x00 and Max_Data=0xFFFF 1371:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** * @retval None 1372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** */ 1373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __STATIC_INLINE void LL_SPI_TransmitData16(SPI_TypeDef *SPIx, uint16_t TxData) 826 .loc 4 1373 22 view .LVU289 - 827 .LBB344: + 827 .LBB346: 1374:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 1375:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** #if defined (__GNUC__) 1376:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** __IO uint16_t *spidr = ((__IO uint16_t *)&SPIx->DR); @@ -7945,26 +8239,26 @@ ARM GAS /tmp/ccYgfTud.s page 1 832 0042 9D81 strh r5, [r3, #12] @ movhi 833 .LVL64: 834 .loc 4 1377 10 view .LVU293 - 835 .LBE344: - 836 .LBE343: -2428:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} - 837 .loc 1 2428 2 is_stmt 1 view .LVU294 -2429:Src/main.c **** (void) SPI2->DR; - 838 .loc 1 2429 2 view .LVU295 -2428:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} - 839 .loc 1 2428 8 is_stmt 0 view .LVU296 + 835 .LBE346: + 836 .LBE345: +2478:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} + 837 .loc 1 2478 2 is_stmt 1 view .LVU294 +2479:Src/main.c **** (void) SPI2->DR; + 838 .loc 1 2479 2 view .LVU295 +2478:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} + 839 .loc 1 2478 8 is_stmt 0 view .LVU296 840 0044 0023 movs r3, #0 841 .LVL65: 842 .L34: -2429:Src/main.c **** (void) SPI2->DR; - 843 .loc 1 2429 64 is_stmt 1 discriminator 2 view .LVU297 -2429:Src/main.c **** (void) SPI2->DR; - 844 .loc 1 2429 42 discriminator 2 view .LVU298 - 845 .LBB345: - 846 .LBI345: +2479:Src/main.c **** (void) SPI2->DR; + 843 .loc 1 2479 64 is_stmt 1 discriminator 2 view .LVU297 +2479:Src/main.c **** (void) SPI2->DR; + 844 .loc 1 2479 42 discriminator 2 view .LVU298 + 845 .LBB347: + 846 .LBI347: 905:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 847 .loc 4 905 26 view .LVU299 - 848 .LBB346: + 848 .LBB348: 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 849 .loc 4 907 3 view .LVU300 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } @@ -7978,48 +8272,48 @@ ARM GAS /tmp/ccYgfTud.s page 1 856 .LVL66: 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 857 .loc 4 907 68 view .LVU303 - ARM GAS /tmp/ccYgfTud.s page 134 - - - 858 .LBE346: - 859 .LBE345: -2429:Src/main.c **** (void) SPI2->DR; - 860 .loc 1 2429 51 discriminator 1 view .LVU304 + 858 .LBE348: + 859 .LBE347: +2479:Src/main.c **** (void) SPI2->DR; + 860 .loc 1 2479 51 discriminator 1 view .LVU304 861 0050 5A1C adds r2, r3, #1 862 .LVL67: -2429:Src/main.c **** (void) SPI2->DR; - 863 .loc 1 2429 42 discriminator 1 view .LVU305 + ARM GAS /tmp/ccwR4KB7.s page 139 + + +2479:Src/main.c **** (void) SPI2->DR; + 863 .loc 1 2479 42 discriminator 1 view .LVU305 864 0052 B3F57A7F cmp r3, #1000 865 0056 01D2 bcs .L33 -2429:Src/main.c **** (void) SPI2->DR; - 866 .loc 1 2429 51 discriminator 1 view .LVU306 +2479:Src/main.c **** (void) SPI2->DR; + 866 .loc 1 2479 51 discriminator 1 view .LVU306 867 0058 1346 mov r3, r2 868 005a F4E7 b .L34 869 .LVL68: 870 .L33: -2430:Src/main.c **** - 871 .loc 1 2430 2 is_stmt 1 view .LVU307 +2480:Src/main.c **** + 871 .loc 1 2480 2 is_stmt 1 view .LVU307 872 005c 124B ldr r3, .L44 873 005e DB68 ldr r3, [r3, #12] -2432:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} - 874 .loc 1 2432 2 view .LVU308 +2482:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} + 874 .loc 1 2482 2 view .LVU308 875 .LVL69: -2433:Src/main.c **** LL_SPI_TransmitData16(SPI2, value); - 876 .loc 1 2433 2 view .LVU309 -2432:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} - 877 .loc 1 2432 8 is_stmt 0 view .LVU310 +2483:Src/main.c **** LL_SPI_TransmitData16(SPI2, value); + 876 .loc 1 2483 2 view .LVU309 +2482:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} + 877 .loc 1 2482 8 is_stmt 0 view .LVU310 878 0060 0023 movs r3, #0 879 .LVL70: 880 .L36: -2433:Src/main.c **** LL_SPI_TransmitData16(SPI2, value); - 881 .loc 1 2433 63 is_stmt 1 discriminator 2 view .LVU311 -2433:Src/main.c **** LL_SPI_TransmitData16(SPI2, value); - 882 .loc 1 2433 41 discriminator 2 view .LVU312 - 883 .LBB347: - 884 .LBI347: +2483:Src/main.c **** LL_SPI_TransmitData16(SPI2, value); + 881 .loc 1 2483 63 is_stmt 1 discriminator 2 view .LVU311 +2483:Src/main.c **** LL_SPI_TransmitData16(SPI2, value); + 882 .loc 1 2483 41 discriminator 2 view .LVU312 + 883 .LBB349: + 884 .LBI349: 916:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 885 .loc 4 916 26 view .LVU313 - 886 .LBB348: + 886 .LBB350: 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 887 .loc 4 918 3 view .LVU314 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } @@ -8033,32 +8327,32 @@ ARM GAS /tmp/ccYgfTud.s page 1 894 .LVL71: 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 895 .loc 4 918 66 view .LVU317 - 896 .LBE348: - 897 .LBE347: -2433:Src/main.c **** LL_SPI_TransmitData16(SPI2, value); - 898 .loc 1 2433 50 discriminator 1 view .LVU318 + 896 .LBE350: + 897 .LBE349: +2483:Src/main.c **** LL_SPI_TransmitData16(SPI2, value); + 898 .loc 1 2483 50 discriminator 1 view .LVU318 899 006c 5A1C adds r2, r3, #1 - ARM GAS /tmp/ccYgfTud.s page 135 - - 900 .LVL72: -2433:Src/main.c **** LL_SPI_TransmitData16(SPI2, value); - 901 .loc 1 2433 41 discriminator 1 view .LVU319 +2483:Src/main.c **** LL_SPI_TransmitData16(SPI2, value); + 901 .loc 1 2483 41 discriminator 1 view .LVU319 902 006e B3F57A7F cmp r3, #1000 903 0072 01D2 bcs .L35 -2433:Src/main.c **** LL_SPI_TransmitData16(SPI2, value); - 904 .loc 1 2433 50 discriminator 1 view .LVU320 +2483:Src/main.c **** LL_SPI_TransmitData16(SPI2, value); + ARM GAS /tmp/ccwR4KB7.s page 140 + + + 904 .loc 1 2483 50 discriminator 1 view .LVU320 905 0074 1346 mov r3, r2 906 0076 F4E7 b .L36 907 .LVL73: 908 .L35: -2434:Src/main.c **** tmp32 = 0; - 909 .loc 1 2434 2 is_stmt 1 view .LVU321 - 910 .LBB349: - 911 .LBI349: +2484:Src/main.c **** tmp32 = 0; + 909 .loc 1 2484 2 is_stmt 1 view .LVU321 + 910 .LBB351: + 911 .LBI351: 1373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 912 .loc 4 1373 22 view .LVU322 - 913 .LBB350: + 913 .LBB352: 1376:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** *spidr = TxData; 914 .loc 4 1376 3 view .LVU323 915 .loc 4 1377 3 view .LVU324 @@ -8067,26 +8361,26 @@ ARM GAS /tmp/ccYgfTud.s page 1 918 007a 9C81 strh r4, [r3, #12] @ movhi 919 .LVL74: 920 .loc 4 1377 10 view .LVU326 - 921 .LBE350: - 922 .LBE349: -2435:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} - 923 .loc 1 2435 2 is_stmt 1 view .LVU327 -2436:Src/main.c **** (void) SPI2->DR; - 924 .loc 1 2436 2 view .LVU328 -2435:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} - 925 .loc 1 2435 8 is_stmt 0 view .LVU329 + 921 .LBE352: + 922 .LBE351: +2485:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} + 923 .loc 1 2485 2 is_stmt 1 view .LVU327 +2486:Src/main.c **** (void) SPI2->DR; + 924 .loc 1 2486 2 view .LVU328 +2485:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} + 925 .loc 1 2485 8 is_stmt 0 view .LVU329 926 007c 0023 movs r3, #0 927 .LVL75: 928 .L38: -2436:Src/main.c **** (void) SPI2->DR; - 929 .loc 1 2436 64 is_stmt 1 discriminator 2 view .LVU330 -2436:Src/main.c **** (void) SPI2->DR; - 930 .loc 1 2436 42 discriminator 2 view .LVU331 - 931 .LBB351: - 932 .LBI351: +2486:Src/main.c **** (void) SPI2->DR; + 929 .loc 1 2486 64 is_stmt 1 discriminator 2 view .LVU330 +2486:Src/main.c **** (void) SPI2->DR; + 930 .loc 1 2486 42 discriminator 2 view .LVU331 + 931 .LBB353: + 932 .LBI353: 905:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { 933 .loc 4 905 26 view .LVU332 - 934 .LBB352: + 934 .LBB354: 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 935 .loc 4 907 3 view .LVU333 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } @@ -8098,45 +8392,45 @@ ARM GAS /tmp/ccYgfTud.s page 1 940 0082 12F0010F tst r2, #1 941 0086 05D1 bne .L37 942 .LVL76: - ARM GAS /tmp/ccYgfTud.s page 136 - - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } 943 .loc 4 907 68 view .LVU336 - 944 .LBE352: - 945 .LBE351: -2436:Src/main.c **** (void) SPI2->DR; - 946 .loc 1 2436 51 discriminator 1 view .LVU337 + 944 .LBE354: + 945 .LBE353: +2486:Src/main.c **** (void) SPI2->DR; + 946 .loc 1 2486 51 discriminator 1 view .LVU337 + ARM GAS /tmp/ccwR4KB7.s page 141 + + 947 0088 5A1C adds r2, r3, #1 948 .LVL77: -2436:Src/main.c **** (void) SPI2->DR; - 949 .loc 1 2436 42 discriminator 1 view .LVU338 +2486:Src/main.c **** (void) SPI2->DR; + 949 .loc 1 2486 42 discriminator 1 view .LVU338 950 008a B3F57A7F cmp r3, #1000 951 008e 01D2 bcs .L37 -2436:Src/main.c **** (void) SPI2->DR; - 952 .loc 1 2436 51 discriminator 1 view .LVU339 +2486:Src/main.c **** (void) SPI2->DR; + 952 .loc 1 2486 51 discriminator 1 view .LVU339 953 0090 1346 mov r3, r2 954 0092 F4E7 b .L38 955 .LVL78: 956 .L37: -2437:Src/main.c **** - 957 .loc 1 2437 2 is_stmt 1 view .LVU340 +2487:Src/main.c **** + 957 .loc 1 2487 2 is_stmt 1 view .LVU340 958 0094 044B ldr r3, .L44 959 0096 DB68 ldr r3, [r3, #12] -2439:Src/main.c **** } - 960 .loc 1 2439 2 view .LVU341 +2489:Src/main.c **** } + 960 .loc 1 2489 2 view .LVU341 961 0098 0122 movs r2, #1 962 009a 4FF48051 mov r1, #4096 963 009e 0348 ldr r0, .L44+4 964 00a0 FFF7FEFF bl HAL_GPIO_WritePin 965 .LVL79: -2440:Src/main.c **** - 966 .loc 1 2440 1 is_stmt 0 view .LVU342 +2490:Src/main.c **** + 966 .loc 1 2490 1 is_stmt 0 view .LVU342 967 00a4 38BD pop {r3, r4, r5, pc} 968 .LVL80: 969 .L45: -2440:Src/main.c **** - 970 .loc 1 2440 1 view .LVU343 +2490:Src/main.c **** + 970 .loc 1 2490 1 view .LVU343 971 00a6 00BF .align 2 972 .L44: 973 00a8 00380040 .word 1073756160 @@ -8151,3265 +8445,4385 @@ ARM GAS /tmp/ccYgfTud.s page 1 984 AD9102_WriteRegTable: 985 .LVL81: 986 .LFB1214: -2473:Src/main.c **** for (uint16_t i = 0; i < count; i++) - 987 .loc 1 2473 1 is_stmt 1 view -0 +2523:Src/main.c **** for (uint16_t i = 0; i < count; i++) + 987 .loc 1 2523 1 is_stmt 1 view -0 988 .cfi_startproc 989 @ args = 0, pretend = 0, frame = 0 990 @ frame_needed = 0, uses_anonymous_args = 0 -2473:Src/main.c **** for (uint16_t i = 0; i < count; i++) - 991 .loc 1 2473 1 is_stmt 0 view .LVU345 - ARM GAS /tmp/ccYgfTud.s page 137 - - +2523:Src/main.c **** for (uint16_t i = 0; i < count; i++) + 991 .loc 1 2523 1 is_stmt 0 view .LVU345 992 0000 70B5 push {r4, r5, r6, lr} 993 .LCFI10: 994 .cfi_def_cfa_offset 16 995 .cfi_offset 4, -16 996 .cfi_offset 5, -12 997 .cfi_offset 6, -8 + ARM GAS /tmp/ccwR4KB7.s page 142 + + 998 .cfi_offset 14, -4 999 0002 0646 mov r6, r0 1000 0004 0D46 mov r5, r1 -2474:Src/main.c **** { - 1001 .loc 1 2474 2 is_stmt 1 view .LVU346 - 1002 .LBB353: -2474:Src/main.c **** { - 1003 .loc 1 2474 7 view .LVU347 +2524:Src/main.c **** { + 1001 .loc 1 2524 2 is_stmt 1 view .LVU346 + 1002 .LBB355: +2524:Src/main.c **** { + 1003 .loc 1 2524 7 view .LVU347 1004 .LVL82: -2474:Src/main.c **** { - 1005 .loc 1 2474 16 is_stmt 0 view .LVU348 +2524:Src/main.c **** { + 1005 .loc 1 2524 16 is_stmt 0 view .LVU348 1006 0006 0024 movs r4, #0 -2474:Src/main.c **** { - 1007 .loc 1 2474 2 view .LVU349 +2524:Src/main.c **** { + 1007 .loc 1 2524 2 view .LVU349 1008 0008 08E0 b .L47 1009 .LVL83: 1010 .L48: -2476:Src/main.c **** } - 1011 .loc 1 2476 3 is_stmt 1 view .LVU350 +2526:Src/main.c **** } + 1011 .loc 1 2526 3 is_stmt 1 view .LVU350 1012 000a 36F81410 ldrh r1, [r6, r4, lsl #1] 1013 000e 054B ldr r3, .L50 1014 0010 33F81400 ldrh r0, [r3, r4, lsl #1] 1015 0014 FFF7FEFF bl AD9102_WriteReg 1016 .LVL84: -2474:Src/main.c **** { - 1017 .loc 1 2474 35 discriminator 3 view .LVU351 +2524:Src/main.c **** { + 1017 .loc 1 2524 35 discriminator 3 view .LVU351 1018 0018 0134 adds r4, r4, #1 1019 .LVL85: -2474:Src/main.c **** { - 1020 .loc 1 2474 35 is_stmt 0 discriminator 3 view .LVU352 +2524:Src/main.c **** { + 1020 .loc 1 2524 35 is_stmt 0 discriminator 3 view .LVU352 1021 001a A4B2 uxth r4, r4 1022 .LVL86: 1023 .L47: -2474:Src/main.c **** { - 1024 .loc 1 2474 25 is_stmt 1 discriminator 1 view .LVU353 +2524:Src/main.c **** { + 1024 .loc 1 2524 25 is_stmt 1 discriminator 1 view .LVU353 1025 001c AC42 cmp r4, r5 1026 001e F4D3 bcc .L48 - 1027 .LBE353: -2478:Src/main.c **** - 1028 .loc 1 2478 1 is_stmt 0 view .LVU354 + 1027 .LBE355: +2528:Src/main.c **** + 1028 .loc 1 2528 1 is_stmt 0 view .LVU354 1029 0020 70BD pop {r4, r5, r6, pc} 1030 .LVL87: 1031 .L51: -2478:Src/main.c **** - 1032 .loc 1 2478 1 view .LVU355 +2528:Src/main.c **** + 1032 .loc 1 2528 1 view .LVU355 1033 0022 00BF .align 2 1034 .L50: 1035 0024 00000000 .word ad9102_reg_addr 1036 .cfi_endproc 1037 .LFE1214: - 1039 .section .text.AD9102_Init,"ax",%progbits - ARM GAS /tmp/ccYgfTud.s page 138 - - + 1039 .section .text.AD9102_LoadSramRamp,"ax",%progbits 1040 .align 1 1041 .syntax unified 1042 .thumb 1043 .thumb_func - 1045 AD9102_Init: - 1046 .LFB1211: -2402:Src/main.c **** HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_SET); - 1047 .loc 1 2402 1 is_stmt 1 view -0 - 1048 .cfi_startproc - 1049 @ args = 0, pretend = 0, frame = 8 - 1050 @ frame_needed = 0, uses_anonymous_args = 0 - 1051 0000 00B5 push {lr} - 1052 .LCFI11: - 1053 .cfi_def_cfa_offset 4 - 1054 .cfi_offset 14, -4 - 1055 0002 83B0 sub sp, sp, #12 - 1056 .LCFI12: - 1057 .cfi_def_cfa_offset 16 -2403:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_RESET); - 1058 .loc 1 2403 2 view .LVU357 - 1059 0004 0122 movs r2, #1 - 1060 0006 4FF48051 mov r1, #4096 - 1061 000a 1648 ldr r0, .L56 - 1062 000c FFF7FEFF bl HAL_GPIO_WritePin - 1063 .LVL88: -2404:Src/main.c **** for (volatile uint32_t d = 0; d < 1000; d++) {} - 1064 .loc 1 2404 2 view .LVU358 - 1065 0010 0022 movs r2, #0 - 1066 0012 4021 movs r1, #64 - 1067 0014 1448 ldr r0, .L56+4 - 1068 0016 FFF7FEFF bl HAL_GPIO_WritePin - 1069 .LVL89: -2405:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); - 1070 .loc 1 2405 2 view .LVU359 - 1071 .LBB354: -2405:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); - 1072 .loc 1 2405 7 view .LVU360 -2405:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); - 1073 .loc 1 2405 25 is_stmt 0 view .LVU361 - 1074 001a 0023 movs r3, #0 - 1075 001c 0193 str r3, [sp, #4] -2405:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); - 1076 .loc 1 2405 2 view .LVU362 - 1077 001e 02E0 b .L53 - 1078 .L54: -2405:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); - 1079 .loc 1 2405 48 is_stmt 1 discriminator 3 view .LVU363 -2405:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); - 1080 .loc 1 2405 43 discriminator 3 view .LVU364 - 1081 0020 019B ldr r3, [sp, #4] - 1082 0022 0133 adds r3, r3, #1 - 1083 0024 0193 str r3, [sp, #4] - 1084 .L53: -2405:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); - 1085 .loc 1 2405 34 discriminator 1 view .LVU365 - 1086 0026 019B ldr r3, [sp, #4] - 1087 0028 B3F57A7F cmp r3, #1000 - ARM GAS /tmp/ccYgfTud.s page 139 + 1045 AD9102_LoadSramRamp: + 1046 .LVL88: + ARM GAS /tmp/ccwR4KB7.s page 143 - 1088 002c F8D3 bcc .L54 - 1089 .LBE354: -2406:Src/main.c **** - 1090 .loc 1 2406 2 view .LVU366 - 1091 002e 0122 movs r2, #1 - 1092 0030 4021 movs r1, #64 - 1093 0032 0D48 ldr r0, .L56+4 - 1094 0034 FFF7FEFF bl HAL_GPIO_WritePin - 1095 .LVL90: -2408:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u); - 1096 .loc 1 2408 2 view .LVU367 - 1097 0038 4221 movs r1, #66 - 1098 003a 0C48 ldr r0, .L56+8 - 1099 003c FFF7FEFF bl AD9102_WriteRegTable - 1100 .LVL91: -2409:Src/main.c **** AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); - 1101 .loc 1 2409 2 view .LVU368 - 1102 0040 0021 movs r1, #0 - 1103 0042 1E20 movs r0, #30 - 1104 0044 FFF7FEFF bl AD9102_WriteReg - 1105 .LVL92: -2410:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); - 1106 .loc 1 2410 2 view .LVU369 - 1107 0048 0121 movs r1, #1 - 1108 004a 1D20 movs r0, #29 - 1109 004c FFF7FEFF bl AD9102_WriteReg - 1110 .LVL93: -2411:Src/main.c **** } - 1111 .loc 1 2411 2 view .LVU370 - 1112 0050 0122 movs r2, #1 - 1113 0052 4FF40061 mov r1, #2048 - 1114 0056 0648 ldr r0, .L56+12 - 1115 0058 FFF7FEFF bl HAL_GPIO_WritePin - 1116 .LVL94: -2412:Src/main.c **** - 1117 .loc 1 2412 1 is_stmt 0 view .LVU371 - 1118 005c 03B0 add sp, sp, #12 - 1119 .LCFI13: - 1120 .cfi_def_cfa_offset 4 - 1121 @ sp needed - 1122 005e 5DF804FB ldr pc, [sp], #4 - 1123 .L57: - 1124 0062 00BF .align 2 - 1125 .L56: - 1126 0064 00040240 .word 1073873920 - 1127 0068 00080240 .word 1073874944 - 1128 006c 00000000 .word ad9102_example4_regval - 1129 0070 000C0240 .word 1073875968 - 1130 .cfi_endproc - 1131 .LFE1211: - 1133 .section .text.AD9102_ReadReg,"ax",%progbits - 1134 .align 1 - 1135 .syntax unified - 1136 .thumb - 1137 .thumb_func - 1139 AD9102_ReadReg: - 1140 .LVL95: - ARM GAS /tmp/ccYgfTud.s page 140 - - - 1141 .LFB1213: -2443:Src/main.c **** uint32_t tmp32 = 0; - 1142 .loc 1 2443 1 is_stmt 1 view -0 - 1143 .cfi_startproc - 1144 @ args = 0, pretend = 0, frame = 0 - 1145 @ frame_needed = 0, uses_anonymous_args = 0 -2443:Src/main.c **** uint32_t tmp32 = 0; - 1146 .loc 1 2443 1 is_stmt 0 view .LVU373 - 1147 0000 10B5 push {r4, lr} - 1148 .LCFI14: - 1149 .cfi_def_cfa_offset 8 - 1150 .cfi_offset 4, -8 - 1151 .cfi_offset 14, -4 -2444:Src/main.c **** uint16_t cmd = (uint16_t)(0x8000u | (addr & 0x7FFFu)); // R/W = 1 (read) - 1152 .loc 1 2444 2 is_stmt 1 view .LVU374 - 1153 .LVL96: -2445:Src/main.c **** uint16_t value; - 1154 .loc 1 2445 2 view .LVU375 -2445:Src/main.c **** uint16_t value; - 1155 .loc 1 2445 11 is_stmt 0 view .LVU376 - 1156 0002 40F40044 orr r4, r0, #32768 - 1157 .LVL97: -2446:Src/main.c **** - 1158 .loc 1 2446 2 is_stmt 1 view .LVU377 -2448:Src/main.c **** { - 1159 .loc 1 2448 2 view .LVU378 - 1160 .LBB355: - 1161 .LBI355: - 381:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 1162 .loc 4 381 26 view .LVU379 - 1163 .LBB356: - 383:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1164 .loc 4 383 3 view .LVU380 - 383:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1165 .loc 4 383 12 is_stmt 0 view .LVU381 - 1166 0006 284B ldr r3, .L73 - 1167 0008 1B68 ldr r3, [r3] - 383:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1168 .loc 4 383 69 view .LVU382 - 1169 000a 13F0400F tst r3, #64 - 1170 000e 04D1 bne .L59 - 1171 .LVL98: - 383:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1172 .loc 4 383 69 view .LVU383 - 1173 .LBE356: - 1174 .LBE355: -2450:Src/main.c **** } - 1175 .loc 1 2450 3 is_stmt 1 view .LVU384 - 1176 .LBB357: - 1177 .LBI357: - 358:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 1178 .loc 4 358 22 view .LVU385 - 1179 .LBB358: - 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1180 .loc 4 360 3 view .LVU386 - 1181 0010 254A ldr r2, .L73 - 1182 0012 1368 ldr r3, [r2] - ARM GAS /tmp/ccYgfTud.s page 141 - - - 1183 0014 43F04003 orr r3, r3, #64 - 1184 0018 1360 str r3, [r2] - 1185 .LVL99: - 1186 .L59: - 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1187 .loc 4 360 3 is_stmt 0 view .LVU387 - 1188 .LBE358: - 1189 .LBE357: -2453:Src/main.c **** - 1190 .loc 1 2453 2 is_stmt 1 view .LVU388 - 1191 001a 0022 movs r2, #0 - 1192 001c 4FF48051 mov r1, #4096 - 1193 0020 2248 ldr r0, .L73+4 - 1194 .LVL100: -2453:Src/main.c **** - 1195 .loc 1 2453 2 is_stmt 0 view .LVU389 - 1196 0022 FFF7FEFF bl HAL_GPIO_WritePin - 1197 .LVL101: -2455:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); - 1198 .loc 1 2455 2 is_stmt 1 view .LVU390 -2444:Src/main.c **** uint16_t cmd = (uint16_t)(0x8000u | (addr & 0x7FFFu)); // R/W = 1 (read) - 1199 .loc 1 2444 11 is_stmt 0 view .LVU391 - 1200 0026 0023 movs r3, #0 - 1201 .LVL102: - 1202 .L61: -2455:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); - 1203 .loc 1 2455 63 is_stmt 1 discriminator 2 view .LVU392 -2455:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); - 1204 .loc 1 2455 41 discriminator 2 view .LVU393 - 1205 .LBB359: - 1206 .LBI359: - 916:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 1207 .loc 4 916 26 view .LVU394 - 1208 .LBB360: - 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1209 .loc 4 918 3 view .LVU395 - 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1210 .loc 4 918 12 is_stmt 0 view .LVU396 - 1211 0028 1F4A ldr r2, .L73 - 1212 002a 9268 ldr r2, [r2, #8] - 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1213 .loc 4 918 66 view .LVU397 - 1214 002c 12F0020F tst r2, #2 - 1215 0030 05D1 bne .L60 - 1216 .LVL103: - 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1217 .loc 4 918 66 view .LVU398 - 1218 .LBE360: - 1219 .LBE359: -2455:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); - 1220 .loc 1 2455 50 discriminator 1 view .LVU399 - 1221 0032 5A1C adds r2, r3, #1 - 1222 .LVL104: -2455:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); - 1223 .loc 1 2455 41 discriminator 1 view .LVU400 - 1224 0034 B3F57A7F cmp r3, #1000 - 1225 0038 01D2 bcs .L60 - ARM GAS /tmp/ccYgfTud.s page 142 - - -2455:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); - 1226 .loc 1 2455 50 discriminator 1 view .LVU401 - 1227 003a 1346 mov r3, r2 - 1228 003c F4E7 b .L61 - 1229 .LVL105: - 1230 .L60: -2456:Src/main.c **** tmp32 = 0; - 1231 .loc 1 2456 2 is_stmt 1 view .LVU402 - 1232 .LBB361: - 1233 .LBI361: -1373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 1234 .loc 4 1373 22 view .LVU403 - 1235 .LBB362: -1376:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** *spidr = TxData; - 1236 .loc 4 1376 3 view .LVU404 - 1237 .loc 4 1377 3 view .LVU405 - 1238 .loc 4 1377 10 is_stmt 0 view .LVU406 - 1239 003e 1A4B ldr r3, .L73 - 1240 0040 9C81 strh r4, [r3, #12] @ movhi - 1241 .LVL106: - 1242 .loc 4 1377 10 view .LVU407 - 1243 .LBE362: - 1244 .LBE361: -2457:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} - 1245 .loc 1 2457 2 is_stmt 1 view .LVU408 -2458:Src/main.c **** (void) SPI2->DR; - 1246 .loc 1 2458 2 view .LVU409 -2457:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} - 1247 .loc 1 2457 8 is_stmt 0 view .LVU410 - 1248 0042 0023 movs r3, #0 - 1249 .LVL107: - 1250 .L63: -2458:Src/main.c **** (void) SPI2->DR; - 1251 .loc 1 2458 64 is_stmt 1 discriminator 2 view .LVU411 -2458:Src/main.c **** (void) SPI2->DR; - 1252 .loc 1 2458 42 discriminator 2 view .LVU412 - 1253 .LBB363: - 1254 .LBI363: - 905:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 1255 .loc 4 905 26 view .LVU413 - 1256 .LBB364: - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1257 .loc 4 907 3 view .LVU414 - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1258 .loc 4 907 12 is_stmt 0 view .LVU415 - 1259 0044 184A ldr r2, .L73 - 1260 0046 9268 ldr r2, [r2, #8] - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1261 .loc 4 907 68 view .LVU416 - 1262 0048 12F0010F tst r2, #1 - 1263 004c 05D1 bne .L62 - 1264 .LVL108: - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1265 .loc 4 907 68 view .LVU417 - 1266 .LBE364: - 1267 .LBE363: -2458:Src/main.c **** (void) SPI2->DR; - ARM GAS /tmp/ccYgfTud.s page 143 - - - 1268 .loc 1 2458 51 discriminator 1 view .LVU418 - 1269 004e 5A1C adds r2, r3, #1 - 1270 .LVL109: -2458:Src/main.c **** (void) SPI2->DR; - 1271 .loc 1 2458 42 discriminator 1 view .LVU419 - 1272 0050 B3F57A7F cmp r3, #1000 - 1273 0054 01D2 bcs .L62 -2458:Src/main.c **** (void) SPI2->DR; - 1274 .loc 1 2458 51 discriminator 1 view .LVU420 - 1275 0056 1346 mov r3, r2 - 1276 0058 F4E7 b .L63 - 1277 .LVL110: - 1278 .L62: -2459:Src/main.c **** - 1279 .loc 1 2459 2 is_stmt 1 view .LVU421 - 1280 005a 134B ldr r3, .L73 - 1281 005c DB68 ldr r3, [r3, #12] -2461:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} - 1282 .loc 1 2461 2 view .LVU422 - 1283 .LVL111: -2462:Src/main.c **** LL_SPI_TransmitData16(SPI2, 0x0000u); - 1284 .loc 1 2462 2 view .LVU423 -2461:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} - 1285 .loc 1 2461 8 is_stmt 0 view .LVU424 - 1286 005e 0023 movs r3, #0 - 1287 .LVL112: - 1288 .L65: -2462:Src/main.c **** LL_SPI_TransmitData16(SPI2, 0x0000u); - 1289 .loc 1 2462 63 is_stmt 1 discriminator 2 view .LVU425 -2462:Src/main.c **** LL_SPI_TransmitData16(SPI2, 0x0000u); - 1290 .loc 1 2462 41 discriminator 2 view .LVU426 - 1291 .LBB365: - 1292 .LBI365: - 916:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 1293 .loc 4 916 26 view .LVU427 - 1294 .LBB366: - 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1295 .loc 4 918 3 view .LVU428 - 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1296 .loc 4 918 12 is_stmt 0 view .LVU429 - 1297 0060 114A ldr r2, .L73 - 1298 0062 9268 ldr r2, [r2, #8] - 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1299 .loc 4 918 66 view .LVU430 - 1300 0064 12F0020F tst r2, #2 - 1301 0068 05D1 bne .L64 - 1302 .LVL113: - 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1303 .loc 4 918 66 view .LVU431 - 1304 .LBE366: - 1305 .LBE365: -2462:Src/main.c **** LL_SPI_TransmitData16(SPI2, 0x0000u); - 1306 .loc 1 2462 50 discriminator 1 view .LVU432 - 1307 006a 5A1C adds r2, r3, #1 - 1308 .LVL114: -2462:Src/main.c **** LL_SPI_TransmitData16(SPI2, 0x0000u); - 1309 .loc 1 2462 41 discriminator 1 view .LVU433 - ARM GAS /tmp/ccYgfTud.s page 144 - - - 1310 006c B3F57A7F cmp r3, #1000 - 1311 0070 01D2 bcs .L64 -2462:Src/main.c **** LL_SPI_TransmitData16(SPI2, 0x0000u); - 1312 .loc 1 2462 50 discriminator 1 view .LVU434 - 1313 0072 1346 mov r3, r2 - 1314 0074 F4E7 b .L65 - 1315 .LVL115: - 1316 .L64: -2463:Src/main.c **** tmp32 = 0; - 1317 .loc 1 2463 2 is_stmt 1 view .LVU435 - 1318 .LBB367: - 1319 .LBI367: -1373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 1320 .loc 4 1373 22 view .LVU436 - 1321 .LBB368: -1376:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** *spidr = TxData; - 1322 .loc 4 1376 3 view .LVU437 - 1323 .loc 4 1377 3 view .LVU438 - 1324 .loc 4 1377 10 is_stmt 0 view .LVU439 - 1325 0076 0023 movs r3, #0 - 1326 0078 0B4A ldr r2, .L73 - 1327 007a 9381 strh r3, [r2, #12] @ movhi - 1328 .LVL116: - 1329 .loc 4 1377 10 view .LVU440 - 1330 .LBE368: - 1331 .LBE367: -2464:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} - 1332 .loc 1 2464 2 is_stmt 1 view .LVU441 -2465:Src/main.c **** value = LL_SPI_ReceiveData16(SPI2); - 1333 .loc 1 2465 2 view .LVU442 - 1334 .L67: -2465:Src/main.c **** value = LL_SPI_ReceiveData16(SPI2); - 1335 .loc 1 2465 64 discriminator 2 view .LVU443 -2465:Src/main.c **** value = LL_SPI_ReceiveData16(SPI2); - 1336 .loc 1 2465 42 discriminator 2 view .LVU444 - 1337 .LBB369: - 1338 .LBI369: - 905:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 1339 .loc 4 905 26 view .LVU445 - 1340 .LBB370: - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1341 .loc 4 907 3 view .LVU446 - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1342 .loc 4 907 12 is_stmt 0 view .LVU447 - 1343 007c 0A4A ldr r2, .L73 - 1344 007e 9268 ldr r2, [r2, #8] - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1345 .loc 4 907 68 view .LVU448 - 1346 0080 12F0010F tst r2, #1 - 1347 0084 05D1 bne .L66 - 1348 .LVL117: - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1349 .loc 4 907 68 view .LVU449 - 1350 .LBE370: - 1351 .LBE369: -2465:Src/main.c **** value = LL_SPI_ReceiveData16(SPI2); - 1352 .loc 1 2465 51 discriminator 1 view .LVU450 - ARM GAS /tmp/ccYgfTud.s page 145 - - - 1353 0086 5A1C adds r2, r3, #1 - 1354 .LVL118: -2465:Src/main.c **** value = LL_SPI_ReceiveData16(SPI2); - 1355 .loc 1 2465 42 discriminator 1 view .LVU451 - 1356 0088 B3F57A7F cmp r3, #1000 - 1357 008c 01D2 bcs .L66 -2465:Src/main.c **** value = LL_SPI_ReceiveData16(SPI2); - 1358 .loc 1 2465 51 discriminator 1 view .LVU452 - 1359 008e 1346 mov r3, r2 - 1360 0090 F4E7 b .L67 - 1361 .LVL119: - 1362 .L66: -2466:Src/main.c **** - 1363 .loc 1 2466 2 is_stmt 1 view .LVU453 - 1364 .LBB371: - 1365 .LBI371: -1344:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 1366 .loc 4 1344 26 view .LVU454 - 1367 .LBB372: -1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1368 .loc 4 1346 3 view .LVU455 -1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1369 .loc 4 1346 21 is_stmt 0 view .LVU456 - 1370 0092 054B ldr r3, .L73 - 1371 0094 DC68 ldr r4, [r3, #12] - 1372 .LVL120: -1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1373 .loc 4 1346 10 view .LVU457 - 1374 0096 A4B2 uxth r4, r4 - 1375 .LVL121: -1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 1376 .loc 4 1346 10 view .LVU458 - 1377 .LBE372: - 1378 .LBE371: -2468:Src/main.c **** return value; - 1379 .loc 1 2468 2 is_stmt 1 view .LVU459 - 1380 0098 0122 movs r2, #1 - 1381 009a 4FF48051 mov r1, #4096 - 1382 009e 0348 ldr r0, .L73+4 - 1383 00a0 FFF7FEFF bl HAL_GPIO_WritePin - 1384 .LVL122: -2469:Src/main.c **** } - 1385 .loc 1 2469 2 view .LVU460 -2470:Src/main.c **** - 1386 .loc 1 2470 1 is_stmt 0 view .LVU461 - 1387 00a4 2046 mov r0, r4 - 1388 00a6 10BD pop {r4, pc} - 1389 .LVL123: - 1390 .L74: -2470:Src/main.c **** - 1391 .loc 1 2470 1 view .LVU462 - 1392 .align 2 - 1393 .L73: - 1394 00a8 00380040 .word 1073756160 - 1395 00ac 00040240 .word 1073873920 - 1396 .cfi_endproc - 1397 .LFE1213: - ARM GAS /tmp/ccYgfTud.s page 146 - - - 1399 .section .text.AD9102_CheckFlags,"ax",%progbits - 1400 .align 1 - 1401 .syntax unified - 1402 .thumb - 1403 .thumb_func - 1405 AD9102_CheckFlags: - 1406 .LVL124: - 1407 .LFB1216: -2525:Src/main.c **** uint16_t spiconfig = AD9102_ReadReg(AD9102_REG_SPICONFIG); - 1408 .loc 1 2525 1 is_stmt 1 view -0 - 1409 .cfi_startproc - 1410 @ args = 8, pretend = 0, frame = 8 - 1411 @ frame_needed = 0, uses_anonymous_args = 0 -2525:Src/main.c **** uint16_t spiconfig = AD9102_ReadReg(AD9102_REG_SPICONFIG); - 1412 .loc 1 2525 1 is_stmt 0 view .LVU464 - 1413 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} - 1414 .LCFI15: - 1415 .cfi_def_cfa_offset 36 - 1416 .cfi_offset 4, -36 - 1417 .cfi_offset 5, -32 - 1418 .cfi_offset 6, -28 - 1419 .cfi_offset 7, -24 - 1420 .cfi_offset 8, -20 - 1421 .cfi_offset 9, -16 - 1422 .cfi_offset 10, -12 - 1423 .cfi_offset 11, -8 - 1424 .cfi_offset 14, -4 - 1425 0004 83B0 sub sp, sp, #12 - 1426 .LCFI16: - 1427 .cfi_def_cfa_offset 48 - 1428 0006 0190 str r0, [sp, #4] - 1429 0008 0F46 mov r7, r1 - 1430 000a 1546 mov r5, r2 - 1431 000c 1C46 mov r4, r3 - 1432 000e BDF834B0 ldrh fp, [sp, #52] -2526:Src/main.c **** uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); - 1433 .loc 1 2526 2 is_stmt 1 view .LVU465 -2526:Src/main.c **** uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); - 1434 .loc 1 2526 23 is_stmt 0 view .LVU466 - 1435 0012 0020 movs r0, #0 - 1436 .LVL125: -2526:Src/main.c **** uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); - 1437 .loc 1 2526 23 view .LVU467 - 1438 0014 FFF7FEFF bl AD9102_ReadReg - 1439 .LVL126: -2526:Src/main.c **** uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); - 1440 .loc 1 2526 23 view .LVU468 - 1441 0018 8246 mov r10, r0 - 1442 .LVL127: -2527:Src/main.c **** uint16_t clockcfg = AD9102_ReadReg(AD9102_REG_CLOCKCONFIG); - 1443 .loc 1 2527 2 is_stmt 1 view .LVU469 -2527:Src/main.c **** uint16_t clockcfg = AD9102_ReadReg(AD9102_REG_CLOCKCONFIG); - 1444 .loc 1 2527 22 is_stmt 0 view .LVU470 - 1445 001a 0120 movs r0, #1 - 1446 001c FFF7FEFF bl AD9102_ReadReg - 1447 .LVL128: - 1448 0020 8146 mov r9, r0 - ARM GAS /tmp/ccYgfTud.s page 147 - - - 1449 .LVL129: -2528:Src/main.c **** uint16_t cfg_err = AD9102_ReadReg(AD9102_REG_CFG_ERROR); - 1450 .loc 1 2528 2 is_stmt 1 view .LVU471 -2528:Src/main.c **** uint16_t cfg_err = AD9102_ReadReg(AD9102_REG_CFG_ERROR); - 1451 .loc 1 2528 22 is_stmt 0 view .LVU472 - 1452 0022 0220 movs r0, #2 - 1453 0024 FFF7FEFF bl AD9102_ReadReg - 1454 .LVL130: - 1455 0028 8046 mov r8, r0 - 1456 .LVL131: -2529:Src/main.c **** uint16_t pat_timebase = (uint16_t)(((AD9102_PAT_TIMEBASE_HOLD_DEFAULT & 0x0Fu) << 8) | - 1457 .loc 1 2529 2 is_stmt 1 view .LVU473 -2529:Src/main.c **** uint16_t pat_timebase = (uint16_t)(((AD9102_PAT_TIMEBASE_HOLD_DEFAULT & 0x0Fu) << 8) | - 1458 .loc 1 2529 21 is_stmt 0 view .LVU474 - 1459 002a 6020 movs r0, #96 - 1460 002c FFF7FEFF bl AD9102_ReadReg - 1461 .LVL132: -2530:Src/main.c **** ((pat_base & 0x0Fu) << 4) | - 1462 .loc 1 2530 2 is_stmt 1 view .LVU475 -2531:Src/main.c **** (AD9102_START_DELAY_BASE_DEFAULT & 0x0Fu)); - 1463 .loc 1 2531 57 is_stmt 0 view .LVU476 - 1464 0030 9DF83030 ldrb r3, [sp, #48] @ zero_extendqisi2 - 1465 0034 1B01 lsls r3, r3, #4 - 1466 0036 03F0F003 and r3, r3, #240 -2530:Src/main.c **** ((pat_base & 0x0Fu) << 4) | - 1467 .loc 1 2530 11 view .LVU477 - 1468 003a 40F20116 movw r6, #257 - 1469 003e 1E43 orrs r6, r6, r3 - 1470 .LVL133: -2534:Src/main.c **** { - 1471 .loc 1 2534 2 is_stmt 1 view .LVU478 -2534:Src/main.c **** { - 1472 .loc 1 2534 5 is_stmt 0 view .LVU479 - 1473 0040 1CB1 cbz r4, .L88 -2538:Src/main.c **** { - 1474 .loc 1 2538 2 is_stmt 1 view .LVU480 -2538:Src/main.c **** { - 1475 .loc 1 2538 5 is_stmt 0 view .LVU481 - 1476 0042 3F2C cmp r4, #63 - 1477 0044 02D9 bls .L76 -2540:Src/main.c **** } - 1478 .loc 1 2540 12 view .LVU482 - 1479 0046 3F24 movs r4, #63 - 1480 .LVL134: -2540:Src/main.c **** } - 1481 .loc 1 2540 12 view .LVU483 - 1482 0048 00E0 b .L76 - 1483 .LVL135: - 1484 .L88: -2536:Src/main.c **** } - 1485 .loc 1 2536 12 view .LVU484 - 1486 004a 0124 movs r4, #1 - 1487 .LVL136: - 1488 .L76: -2542:Src/main.c **** { - 1489 .loc 1 2542 2 is_stmt 1 view .LVU485 -2542:Src/main.c **** { - ARM GAS /tmp/ccYgfTud.s page 148 - - - 1490 .loc 1 2542 5 is_stmt 0 view .LVU486 - 1491 004c BBF1000F cmp fp, #0 - 1492 0050 01D1 bne .L77 -2544:Src/main.c **** } - 1493 .loc 1 2544 14 view .LVU487 - 1494 0052 4FF6FF7B movw fp, #65535 - 1495 .L77: - 1496 .LVL137: -2546:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); - 1497 .loc 1 2546 2 is_stmt 1 view .LVU488 -2547:Src/main.c **** - 1498 .loc 1 2547 35 is_stmt 0 view .LVU489 - 1499 0056 05F00305 and r5, r5, #3 - 1500 .LVL138: -2546:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); - 1501 .loc 1 2546 71 view .LVU490 - 1502 005a A400 lsls r4, r4, #2 - 1503 .LVL139: -2546:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); - 1504 .loc 1 2546 71 view .LVU491 - 1505 005c E4B2 uxtb r4, r4 -2546:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); - 1506 .loc 1 2546 11 view .LVU492 - 1507 005e 2543 orrs r5, r5, r4 - 1508 .LVL140: -2549:Src/main.c **** - 1509 .loc 1 2549 2 is_stmt 1 view .LVU493 -2552:Src/main.c **** { - 1510 .loc 1 2552 2 view .LVU494 -2552:Src/main.c **** { - 1511 .loc 1 2552 5 is_stmt 0 view .LVU495 - 1512 0060 BAF1000F cmp r10, #0 - 1513 0064 36D1 bne .L91 -2549:Src/main.c **** - 1514 .loc 1 2549 10 view .LVU496 - 1515 0066 0124 movs r4, #1 - 1516 .L78: - 1517 .LVL141: -2558:Src/main.c **** { - 1518 .loc 1 2558 2 is_stmt 1 view .LVU497 -2558:Src/main.c **** { - 1519 .loc 1 2558 5 is_stmt 0 view .LVU498 - 1520 0068 19F4F47F tst r9, #488 - 1521 006c 00D0 beq .L79 -2560:Src/main.c **** } - 1522 .loc 1 2560 6 view .LVU499 - 1523 006e 0024 movs r4, #0 - 1524 .LVL142: - 1525 .L79: -2564:Src/main.c **** { - 1526 .loc 1 2564 2 is_stmt 1 view .LVU500 -2564:Src/main.c **** { - 1527 .loc 1 2564 5 is_stmt 0 view .LVU501 - 1528 0070 18F40E6F tst r8, #2272 - 1529 0074 00D0 beq .L80 -2566:Src/main.c **** } - 1530 .loc 1 2566 6 view .LVU502 - ARM GAS /tmp/ccYgfTud.s page 149 - - - 1531 0076 0024 movs r4, #0 - 1532 .LVL143: - 1533 .L80: -2570:Src/main.c **** { - 1534 .loc 1 2570 2 is_stmt 1 view .LVU503 -2570:Src/main.c **** { - 1535 .loc 1 2570 5 is_stmt 0 view .LVU504 - 1536 0078 10F03F0F tst r0, #63 - 1537 007c 00D0 beq .L81 -2572:Src/main.c **** } - 1538 .loc 1 2572 6 view .LVU505 - 1539 007e 0024 movs r4, #0 - 1540 .LVL144: - 1541 .L81: -2575:Src/main.c **** { - 1542 .loc 1 2575 2 is_stmt 1 view .LVU506 -2575:Src/main.c **** { - 1543 .loc 1 2575 5 is_stmt 0 view .LVU507 - 1544 0080 27B1 cbz r7, .L82 -2575:Src/main.c **** { - 1545 .loc 1 2575 17 discriminator 1 view .LVU508 - 1546 0082 019B ldr r3, [sp, #4] - 1547 0084 13F0010F tst r3, #1 - 1548 0088 00D1 bne .L82 -2577:Src/main.c **** } - 1549 .loc 1 2577 6 view .LVU509 - 1550 008a 0024 movs r4, #0 - 1551 .LVL145: - 1552 .L82: + 1047 .LFB1216: +2575:Src/main.c **** if (samples < 2u) + 1048 .loc 1 2575 1 is_stmt 1 view -0 + 1049 .cfi_startproc + 1050 @ args = 0, pretend = 0, frame = 0 + 1051 @ frame_needed = 0, uses_anonymous_args = 0 +2575:Src/main.c **** if (samples < 2u) + 1052 .loc 1 2575 1 is_stmt 0 view .LVU357 + 1053 0000 70B5 push {r4, r5, r6, lr} + 1054 .LCFI11: + 1055 .cfi_def_cfa_offset 16 + 1056 .cfi_offset 4, -16 + 1057 .cfi_offset 5, -12 + 1058 .cfi_offset 6, -8 + 1059 .cfi_offset 14, -4 + 1060 0002 0E46 mov r6, r1 +2576:Src/main.c **** { + 1061 .loc 1 2576 2 is_stmt 1 view .LVU358 +2576:Src/main.c **** { + 1062 .loc 1 2576 5 is_stmt 0 view .LVU359 + 1063 0004 0128 cmp r0, #1 + 1064 0006 06D9 bls .L64 + 1065 0008 0546 mov r5, r0 2580:Src/main.c **** { - 1553 .loc 1 2580 2 is_stmt 1 view .LVU510 + 1066 .loc 1 2580 2 is_stmt 1 view .LVU360 2580:Src/main.c **** { - 1554 .loc 1 2580 6 is_stmt 0 view .LVU511 - 1555 008c 2720 movs r0, #39 - 1556 .LVL146: -2580:Src/main.c **** { - 1557 .loc 1 2580 6 view .LVU512 - 1558 008e FFF7FEFF bl AD9102_ReadReg - 1559 .LVL147: -2580:Src/main.c **** { - 1560 .loc 1 2580 5 discriminator 1 view .LVU513 - 1561 0092 43F21223 movw r3, #12818 - 1562 0096 9842 cmp r0, r3 - 1563 0098 00D0 beq .L83 + 1067 .loc 1 2580 5 is_stmt 0 view .LVU361 + 1068 000a B0F5805F cmp r0, #4096 + 1069 000e 03D9 bls .L53 2582:Src/main.c **** } - 1564 .loc 1 2582 6 view .LVU514 - 1565 009a 0024 movs r4, #0 - 1566 .LVL148: - 1567 .L83: -2584:Src/main.c **** { - 1568 .loc 1 2584 2 is_stmt 1 view .LVU515 -2584:Src/main.c **** { - 1569 .loc 1 2584 6 is_stmt 0 view .LVU516 - 1570 009c 2820 movs r0, #40 - 1571 009e FFF7FEFF bl AD9102_ReadReg - 1572 .LVL149: -2584:Src/main.c **** { - ARM GAS /tmp/ccYgfTud.s page 150 - - - 1573 .loc 1 2584 5 discriminator 1 view .LVU517 - 1574 00a2 B042 cmp r0, r6 - 1575 00a4 00D0 beq .L84 -2586:Src/main.c **** } - 1576 .loc 1 2586 6 view .LVU518 - 1577 00a6 0024 movs r4, #0 - 1578 .LVL150: - 1579 .L84: + 1070 .loc 1 2582 11 view .LVU362 + 1071 0010 4FF48055 mov r5, #4096 + 1072 0014 00E0 b .L53 + 1073 .L64: +2578:Src/main.c **** } + 1074 .loc 1 2578 11 view .LVU363 + 1075 0016 0225 movs r5, #2 + 1076 .L53: + 1077 .LVL89: +2586:Src/main.c **** + 1078 .loc 1 2586 2 is_stmt 1 view .LVU364 + 1079 0018 0421 movs r1, #4 + 1080 .LVL90: +2586:Src/main.c **** + 1081 .loc 1 2586 2 is_stmt 0 view .LVU365 + 1082 001a 1E20 movs r0, #30 + 1083 001c FFF7FEFF bl AD9102_WriteReg + 1084 .LVL91: 2588:Src/main.c **** { - 1580 .loc 1 2588 2 is_stmt 1 view .LVU519 + 1085 .loc 1 2588 2 is_stmt 1 view .LVU366 + 1086 .LBB356: 2588:Src/main.c **** { - 1581 .loc 1 2588 6 is_stmt 0 view .LVU520 - 1582 00a8 2920 movs r0, #41 - 1583 00aa FFF7FEFF bl AD9102_ReadReg - 1584 .LVL151: + 1087 .loc 1 2588 7 view .LVU367 2588:Src/main.c **** { - 1585 .loc 1 2588 5 discriminator 1 view .LVU521 - 1586 00ae 5845 cmp r0, fp - 1587 00b0 00D0 beq .L85 -2590:Src/main.c **** } - 1588 .loc 1 2590 6 view .LVU522 - 1589 00b2 0024 movs r4, #0 - 1590 .LVL152: - 1591 .L85: -2592:Src/main.c **** { - 1592 .loc 1 2592 2 is_stmt 1 view .LVU523 -2592:Src/main.c **** { - 1593 .loc 1 2592 6 is_stmt 0 view .LVU524 - 1594 00b4 1F20 movs r0, #31 - 1595 00b6 FFF7FEFF bl AD9102_ReadReg - 1596 .LVL153: -2592:Src/main.c **** { - 1597 .loc 1 2592 5 discriminator 1 view .LVU525 - 1598 00ba 00B1 cbz r0, .L86 -2594:Src/main.c **** } - 1599 .loc 1 2594 6 view .LVU526 - 1600 00bc 0024 movs r4, #0 - 1601 .LVL154: - 1602 .L86: -2596:Src/main.c **** { - 1603 .loc 1 2596 2 is_stmt 1 view .LVU527 -2596:Src/main.c **** { - 1604 .loc 1 2596 6 is_stmt 0 view .LVU528 - 1605 00be 3720 movs r0, #55 - 1606 00c0 FFF7FEFF bl AD9102_ReadReg - 1607 .LVL155: -2596:Src/main.c **** { - 1608 .loc 1 2596 5 discriminator 1 view .LVU529 - 1609 00c4 A842 cmp r0, r5 - 1610 00c6 00D0 beq .L87 -2598:Src/main.c **** } - 1611 .loc 1 2598 6 view .LVU530 - 1612 00c8 0024 movs r4, #0 - 1613 .LVL156: - 1614 .L87: -2601:Src/main.c **** } - 1615 .loc 1 2601 2 is_stmt 1 view .LVU531 - ARM GAS /tmp/ccYgfTud.s page 151 + 1088 .loc 1 2588 16 is_stmt 0 view .LVU368 + 1089 0020 0024 movs r4, #0 +2588:Src/main.c **** { + ARM GAS /tmp/ccwR4KB7.s page 144 -2602:Src/main.c **** - 1616 .loc 1 2602 1 is_stmt 0 view .LVU532 - 1617 00ca 84F00100 eor r0, r4, #1 - 1618 00ce 03B0 add sp, sp, #12 - 1619 .LCFI17: - 1620 .cfi_remember_state - 1621 .cfi_def_cfa_offset 36 - 1622 @ sp needed - 1623 00d0 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} - 1624 .LVL157: - 1625 .L91: - 1626 .LCFI18: - 1627 .cfi_restore_state -2554:Src/main.c **** } - 1628 .loc 1 2554 6 view .LVU533 - 1629 00d4 0024 movs r4, #0 - 1630 00d6 C7E7 b .L78 - 1631 .cfi_endproc - 1632 .LFE1216: - 1634 .section .text.AD9102_Apply,"ax",%progbits - 1635 .align 1 - 1636 .syntax unified - 1637 .thumb - 1638 .thumb_func - 1640 AD9102_Apply: - 1641 .LVL158: - 1642 .LFB1215: -2481:Src/main.c **** if (enable) - 1643 .loc 1 2481 1 is_stmt 1 view -0 - 1644 .cfi_startproc - 1645 @ args = 4, pretend = 0, frame = 8 - 1646 @ frame_needed = 0, uses_anonymous_args = 0 -2481:Src/main.c **** if (enable) - 1647 .loc 1 2481 1 is_stmt 0 view .LVU535 - 1648 0000 30B5 push {r4, r5, lr} - 1649 .LCFI19: - 1650 .cfi_def_cfa_offset 12 - 1651 .cfi_offset 4, -12 - 1652 .cfi_offset 5, -8 - 1653 .cfi_offset 14, -4 - 1654 0002 83B0 sub sp, sp, #12 - 1655 .LCFI20: - 1656 .cfi_def_cfa_offset 24 -2482:Src/main.c **** { - 1657 .loc 1 2482 2 is_stmt 1 view .LVU536 -2482:Src/main.c **** { - 1658 .loc 1 2482 5 is_stmt 0 view .LVU537 - 1659 0004 0029 cmp r1, #0 - 1660 0006 4AD0 beq .L103 - 1661 .LBB373: -2484:Src/main.c **** uint16_t pat_timebase; - 1662 .loc 1 2484 3 is_stmt 1 view .LVU538 -2485:Src/main.c **** - 1663 .loc 1 2485 3 view .LVU539 -2487:Src/main.c **** { - 1664 .loc 1 2487 3 view .LVU540 -2487:Src/main.c **** { - ARM GAS /tmp/ccYgfTud.s page 152 + 1090 .loc 1 2588 2 view .LVU369 + 1091 0022 2FE0 b .L54 + 1092 .LVL92: + 1093 .L74: + 1094 .LBB357: + 1095 .LBB358: +2596:Src/main.c **** } + 1096 .loc 1 2596 10 view .LVU370 + 1097 0024 0123 movs r3, #1 + 1098 .LVL93: +2596:Src/main.c **** } + 1099 .loc 1 2596 10 view .LVU371 + 1100 0026 34E0 b .L56 + 1101 .LVL94: + 1102 .L67: + 1103 .LBB359: +2600:Src/main.c **** value = AD9102_SRAM_RAMP_MIN + + 1104 .loc 1 2600 14 discriminator 2 view .LVU372 + 1105 0028 0122 movs r2, #1 + 1106 002a 38E0 b .L58 + 1107 .L57: + 1108 .LBE359: + 1109 .LBB360: +2606:Src/main.c **** uint16_t denom = (tail > 1u) ? (uint16_t)(tail - 1u) : 1u; + 1110 .loc 1 2606 5 is_stmt 1 view .LVU373 +2606:Src/main.c **** uint16_t denom = (tail > 1u) ? (uint16_t)(tail - 1u) : 1u; + 1111 .loc 1 2606 14 is_stmt 0 view .LVU374 + 1112 002c EA1A subs r2, r5, r3 + 1113 002e 92B2 uxth r2, r2 + 1114 .LVL95: +2607:Src/main.c **** value = AD9102_SRAM_RAMP_MAX - + 1115 .loc 1 2607 5 is_stmt 1 view .LVU375 +2607:Src/main.c **** value = AD9102_SRAM_RAMP_MAX - + 1116 .loc 1 2607 14 is_stmt 0 view .LVU376 + 1117 0030 012A cmp r2, #1 + 1118 0032 0ED9 bls .L68 +2607:Src/main.c **** value = AD9102_SRAM_RAMP_MAX - + 1119 .loc 1 2607 14 discriminator 1 view .LVU377 + 1120 0034 013A subs r2, r2, #1 + 1121 .LVL96: +2607:Src/main.c **** value = AD9102_SRAM_RAMP_MAX - + 1122 .loc 1 2607 14 discriminator 1 view .LVU378 + 1123 0036 92B2 uxth r2, r2 + 1124 .LVL97: + 1125 .L60: +2608:Src/main.c **** ((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)(i - half)) / (int32_t)denom; + 1126 .loc 1 2608 5 is_stmt 1 view .LVU379 +2609:Src/main.c **** } + 1127 .loc 1 2609 59 is_stmt 0 view .LVU380 + 1128 0038 E31A subs r3, r4, r3 + 1129 .LVL98: +2609:Src/main.c **** } + 1130 .loc 1 2609 45 view .LVU381 + 1131 003a C3EB8333 rsb r3, r3, r3, lsl #14 +2609:Src/main.c **** } + 1132 .loc 1 2609 68 view .LVU382 + 1133 003e 93FBF2F2 sdiv r2, r3, r2 + ARM GAS /tmp/ccwR4KB7.s page 145 - 1665 .loc 1 2487 6 is_stmt 0 view .LVU541 - 1666 0008 1AB1 cbz r2, .L108 -2491:Src/main.c **** { - 1667 .loc 1 2491 3 is_stmt 1 view .LVU542 -2491:Src/main.c **** { - 1668 .loc 1 2491 6 is_stmt 0 view .LVU543 - 1669 000a 3F2A cmp r2, #63 - 1670 000c 02D9 bls .L104 -2493:Src/main.c **** } - 1671 .loc 1 2493 13 view .LVU544 - 1672 000e 3F22 movs r2, #63 - 1673 .LVL159: -2493:Src/main.c **** } - 1674 .loc 1 2493 13 view .LVU545 - 1675 0010 00E0 b .L104 - 1676 .LVL160: - 1677 .L108: -2489:Src/main.c **** } - 1678 .loc 1 2489 13 view .LVU546 - 1679 0012 0122 movs r2, #1 - 1680 .LVL161: - 1681 .L104: -2495:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); - 1682 .loc 1 2495 3 is_stmt 1 view .LVU547 -2496:Src/main.c **** pat_timebase = (uint16_t)(((AD9102_PAT_TIMEBASE_HOLD_DEFAULT & 0x0Fu) << 8) | - 1683 .loc 1 2496 25 is_stmt 0 view .LVU548 - 1684 0014 00F00300 and r0, r0, #3 - 1685 .LVL162: -2495:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); - 1686 .loc 1 2495 60 view .LVU549 - 1687 0018 9200 lsls r2, r2, #2 - 1688 .LVL163: -2495:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); - 1689 .loc 1 2495 60 view .LVU550 - 1690 001a D2B2 uxtb r2, r2 -2495:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); - 1691 .loc 1 2495 11 view .LVU551 - 1692 001c 40EA0204 orr r4, r0, r2 - 1693 .LVL164: -2497:Src/main.c **** ((pat_base & 0x0Fu) << 4) | - 1694 .loc 1 2497 3 is_stmt 1 view .LVU552 -2498:Src/main.c **** (AD9102_START_DELAY_BASE_DEFAULT & 0x0Fu)); - 1695 .loc 1 2498 49 is_stmt 0 view .LVU553 - 1696 0020 1B01 lsls r3, r3, #4 - 1697 .LVL165: -2498:Src/main.c **** (AD9102_START_DELAY_BASE_DEFAULT & 0x0Fu)); - 1698 .loc 1 2498 49 view .LVU554 - 1699 0022 03F0F003 and r3, r3, #240 -2497:Src/main.c **** ((pat_base & 0x0Fu) << 4) | - 1700 .loc 1 2497 16 view .LVU555 - 1701 0026 40F20115 movw r5, #257 - 1702 002a 1D43 orrs r5, r5, r3 - 1703 .LVL166: -2501:Src/main.c **** AD9102_WriteReg(AD9102_REG_SAW_CONFIG, saw_cfg); - 1704 .loc 1 2501 3 is_stmt 1 view .LVU556 - 1705 002c 43F21221 movw r1, #12818 - 1706 .LVL167: - ARM GAS /tmp/ccYgfTud.s page 153 + 1134 .LVL99: +2608:Src/main.c **** ((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)(i - half)) / (int32_t)denom; + 1135 .loc 1 2608 11 view .LVU383 + 1136 0042 41F6FF71 movw r1, #8191 + 1137 0046 891A subs r1, r1, r2 + 1138 .LVL100: +2608:Src/main.c **** ((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)(i - half)) / (int32_t)denom; + 1139 .loc 1 2608 11 view .LVU384 + 1140 .LBE360: + 1141 .LBE358: +2619:Src/main.c **** { + 1142 .loc 1 2619 3 is_stmt 1 view .LVU385 +2619:Src/main.c **** { + 1143 .loc 1 2619 6 is_stmt 0 view .LVU386 + 1144 0048 11F5005F cmn r1, #8192 + 1145 004c 0DDA bge .L59 +2621:Src/main.c **** } + 1146 .loc 1 2621 10 view .LVU387 + 1147 004e 1C49 ldr r1, .L75 + 1148 .LVL101: +2621:Src/main.c **** } + 1149 .loc 1 2621 10 view .LVU388 + 1150 0050 0EE0 b .L61 + 1151 .LVL102: + 1152 .L68: + 1153 .LBB363: + 1154 .LBB361: +2607:Src/main.c **** value = AD9102_SRAM_RAMP_MAX - + 1155 .loc 1 2607 14 discriminator 2 view .LVU389 + 1156 0052 0122 movs r2, #1 + 1157 .LVL103: +2607:Src/main.c **** value = AD9102_SRAM_RAMP_MAX - + 1158 .loc 1 2607 14 discriminator 2 view .LVU390 + 1159 0054 F0E7 b .L60 + 1160 .LVL104: + 1161 .L55: +2607:Src/main.c **** value = AD9102_SRAM_RAMP_MAX - + 1162 .loc 1 2607 14 discriminator 2 view .LVU391 + 1163 .LBE361: + 1164 .LBE363: + 1165 .LBB364: +2614:Src/main.c **** value = AD9102_SRAM_RAMP_MIN + + 1166 .loc 1 2614 4 is_stmt 1 view .LVU392 +2614:Src/main.c **** value = AD9102_SRAM_RAMP_MIN + + 1167 .loc 1 2614 13 is_stmt 0 view .LVU393 + 1168 0056 012D cmp r5, #1 + 1169 0058 28D9 bls .L70 +2614:Src/main.c **** value = AD9102_SRAM_RAMP_MIN + + 1170 .loc 1 2614 13 discriminator 1 view .LVU394 + 1171 005a 6A1E subs r2, r5, #1 + 1172 005c 92B2 uxth r2, r2 + 1173 .L62: + 1174 .LVL105: +2615:Src/main.c **** ((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)i) / (int32_t)denom; + 1175 .loc 1 2615 4 is_stmt 1 view .LVU395 +2616:Src/main.c **** } + 1176 .loc 1 2616 44 is_stmt 0 view .LVU396 + ARM GAS /tmp/ccwR4KB7.s page 146 -2501:Src/main.c **** AD9102_WriteReg(AD9102_REG_SAW_CONFIG, saw_cfg); - 1707 .loc 1 2501 3 is_stmt 0 view .LVU557 - 1708 0030 2720 movs r0, #39 - 1709 0032 FFF7FEFF bl AD9102_WriteReg - 1710 .LVL168: -2502:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_TIMEBASE, pat_timebase); - 1711 .loc 1 2502 3 is_stmt 1 view .LVU558 - 1712 0036 2146 mov r1, r4 - 1713 0038 3720 movs r0, #55 - 1714 003a FFF7FEFF bl AD9102_WriteReg - 1715 .LVL169: -2503:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_PERIOD, pat_period); - 1716 .loc 1 2503 3 view .LVU559 - 1717 003e 2946 mov r1, r5 - 1718 0040 2820 movs r0, #40 - 1719 0042 FFF7FEFF bl AD9102_WriteReg - 1720 .LVL170: -2504:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_TYPE, 0x0000u); // continuous pattern repeat - 1721 .loc 1 2504 3 view .LVU560 - 1722 0046 BDF81810 ldrh r1, [sp, #24] - 1723 004a 2920 movs r0, #41 - 1724 004c FFF7FEFF bl AD9102_WriteReg - 1725 .LVL171: -2505:Src/main.c **** - 1726 .loc 1 2505 3 view .LVU561 - 1727 0050 0021 movs r1, #0 - 1728 0052 1F20 movs r0, #31 - 1729 0054 FFF7FEFF bl AD9102_WriteReg - 1730 .LVL172: -2509:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, AD9102_PAT_STATUS_RUN); - 1731 .loc 1 2509 3 view .LVU562 - 1732 0058 0122 movs r2, #1 - 1733 005a 4FF40061 mov r1, #2048 - 1734 005e 1548 ldr r0, .L111 - 1735 0060 FFF7FEFF bl HAL_GPIO_WritePin - 1736 .LVL173: -2510:Src/main.c **** AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); - 1737 .loc 1 2510 3 view .LVU563 - 1738 0064 0121 movs r1, #1 - 1739 0066 1E20 movs r0, #30 - 1740 0068 FFF7FEFF bl AD9102_WriteReg - 1741 .LVL174: -2511:Src/main.c **** for (volatile uint32_t d = 0; d < 1000; d++) {} - 1742 .loc 1 2511 3 view .LVU564 - 1743 006c 0121 movs r1, #1 - 1744 006e 1D20 movs r0, #29 - 1745 0070 FFF7FEFF bl AD9102_WriteReg - 1746 .LVL175: -2512:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); - 1747 .loc 1 2512 3 view .LVU565 - 1748 .LBB374: -2512:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); - 1749 .loc 1 2512 8 view .LVU566 -2512:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); - 1750 .loc 1 2512 26 is_stmt 0 view .LVU567 - 1751 0074 0023 movs r3, #0 - 1752 0076 0193 str r3, [sp, #4] - ARM GAS /tmp/ccYgfTud.s page 154 + 1177 005e C4EB8433 rsb r3, r4, r4, lsl #14 +2616:Src/main.c **** } + 1178 .loc 1 2616 58 view .LVU397 + 1179 0062 93FBF2F3 sdiv r3, r3, r2 +2615:Src/main.c **** ((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)i) / (int32_t)denom; + 1180 .loc 1 2615 10 view .LVU398 + 1181 0066 A3F50051 sub r1, r3, #8192 + 1182 .LVL106: +2615:Src/main.c **** ((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)i) / (int32_t)denom; + 1183 .loc 1 2615 10 view .LVU399 + 1184 .LBE364: +2619:Src/main.c **** { + 1185 .loc 1 2619 3 is_stmt 1 view .LVU400 + 1186 .L59: +2623:Src/main.c **** { + 1187 .loc 1 2623 8 view .LVU401 +2623:Src/main.c **** { + 1188 .loc 1 2623 11 is_stmt 0 view .LVU402 + 1189 006a B1F5005F cmp r1, #8192 + 1190 006e 1FDA bge .L71 + 1191 .LVL107: + 1192 .L61: +2628:Src/main.c **** uint16_t word = (uint16_t)(sample_u14 << 2); + 1193 .loc 1 2628 3 is_stmt 1 view .LVU403 +2628:Src/main.c **** uint16_t word = (uint16_t)(sample_u14 << 2); + 1194 .loc 1 2628 25 is_stmt 0 view .LVU404 + 1195 0070 89B2 uxth r1, r1 + 1196 .LVL108: +2629:Src/main.c **** AD9102_WriteReg((uint16_t)(AD9102_REG_SRAM_DATA_BASE + i), word); + 1197 .loc 1 2629 3 is_stmt 1 view .LVU405 +2630:Src/main.c **** } + 1198 .loc 1 2630 3 view .LVU406 + 1199 0072 8900 lsls r1, r1, #2 + 1200 .LVL109: +2630:Src/main.c **** } + 1201 .loc 1 2630 3 is_stmt 0 view .LVU407 + 1202 0074 89B2 uxth r1, r1 + 1203 0076 04F5C040 add r0, r4, #24576 + 1204 007a 80B2 uxth r0, r0 + 1205 007c FFF7FEFF bl AD9102_WriteReg + 1206 .LVL110: + 1207 .LBE357: +2588:Src/main.c **** { + 1208 .loc 1 2588 37 is_stmt 1 discriminator 2 view .LVU408 + 1209 0080 0134 adds r4, r4, #1 + 1210 .LVL111: +2588:Src/main.c **** { + 1211 .loc 1 2588 37 is_stmt 0 discriminator 2 view .LVU409 + 1212 0082 A4B2 uxth r4, r4 + 1213 .LVL112: + 1214 .L54: +2588:Src/main.c **** { + 1215 .loc 1 2588 25 is_stmt 1 discriminator 1 view .LVU410 + 1216 0084 A542 cmp r5, r4 + 1217 0086 16D9 bls .L73 + 1218 .LBB367: +2590:Src/main.c **** if (triangle) + ARM GAS /tmp/ccwR4KB7.s page 147 -2512:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); - 1753 .loc 1 2512 3 view .LVU568 - 1754 0078 02E0 b .L105 - 1755 .L106: -2512:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); - 1756 .loc 1 2512 49 is_stmt 1 discriminator 3 view .LVU569 -2512:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); - 1757 .loc 1 2512 44 discriminator 3 view .LVU570 - 1758 007a 019B ldr r3, [sp, #4] - 1759 007c 0133 adds r3, r3, #1 - 1760 007e 0193 str r3, [sp, #4] - 1761 .L105: -2512:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); - 1762 .loc 1 2512 35 discriminator 1 view .LVU571 - 1763 0080 019B ldr r3, [sp, #4] - 1764 0082 B3F57A7F cmp r3, #1000 - 1765 0086 F8D3 bcc .L106 - 1766 .LBE374: -2513:Src/main.c **** } - 1767 .loc 1 2513 3 view .LVU572 - 1768 0088 0022 movs r2, #0 - 1769 008a 4FF40061 mov r1, #2048 - 1770 008e 0948 ldr r0, .L111 - 1771 0090 FFF7FEFF bl HAL_GPIO_WritePin - 1772 .LVL176: - 1773 .L107: -2513:Src/main.c **** } - 1774 .loc 1 2513 3 is_stmt 0 view .LVU573 - 1775 .LBE373: -2521:Src/main.c **** } - 1776 .loc 1 2521 2 is_stmt 1 view .LVU574 -2521:Src/main.c **** } - 1777 .loc 1 2521 9 is_stmt 0 view .LVU575 - 1778 0094 1E20 movs r0, #30 - 1779 0096 FFF7FEFF bl AD9102_ReadReg - 1780 .LVL177: -2522:Src/main.c **** - 1781 .loc 1 2522 1 view .LVU576 - 1782 009a 03B0 add sp, sp, #12 - 1783 .LCFI21: - 1784 .cfi_remember_state - 1785 .cfi_def_cfa_offset 12 - 1786 @ sp needed - 1787 009c 30BD pop {r4, r5, pc} - 1788 .LVL178: - 1789 .L103: - 1790 .LCFI22: - 1791 .cfi_restore_state -2517:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); - 1792 .loc 1 2517 3 is_stmt 1 view .LVU577 - 1793 009e 0021 movs r1, #0 - 1794 .LVL179: -2517:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); - 1795 .loc 1 2517 3 is_stmt 0 view .LVU578 - 1796 00a0 1E20 movs r0, #30 - 1797 .LVL180: -2517:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); - ARM GAS /tmp/ccYgfTud.s page 155 + 1219 .loc 1 2590 3 view .LVU411 +2591:Src/main.c **** { + 1220 .loc 1 2591 3 view .LVU412 +2591:Src/main.c **** { + 1221 .loc 1 2591 6 is_stmt 0 view .LVU413 + 1222 0088 002E cmp r6, #0 + 1223 008a E4D0 beq .L55 + 1224 .LBB365: +2593:Src/main.c **** if (half == 0u) + 1225 .loc 1 2593 4 is_stmt 1 view .LVU414 +2593:Src/main.c **** if (half == 0u) + 1226 .loc 1 2593 13 is_stmt 0 view .LVU415 + 1227 008c 6B08 lsrs r3, r5, #1 + 1228 .LVL113: +2594:Src/main.c **** { + 1229 .loc 1 2594 4 is_stmt 1 view .LVU416 +2594:Src/main.c **** { + 1230 .loc 1 2594 7 is_stmt 0 view .LVU417 + 1231 008e 012D cmp r5, #1 + 1232 0090 C8D9 bls .L74 + 1233 .LVL114: + 1234 .L56: +2598:Src/main.c **** { + 1235 .loc 1 2598 4 is_stmt 1 view .LVU418 +2598:Src/main.c **** { + 1236 .loc 1 2598 7 is_stmt 0 view .LVU419 + 1237 0092 9C42 cmp r4, r3 + 1238 0094 CAD2 bcs .L57 + 1239 .LBB362: +2600:Src/main.c **** value = AD9102_SRAM_RAMP_MIN + + 1240 .loc 1 2600 5 is_stmt 1 view .LVU420 +2600:Src/main.c **** value = AD9102_SRAM_RAMP_MIN + + 1241 .loc 1 2600 14 is_stmt 0 view .LVU421 + 1242 0096 012B cmp r3, #1 + 1243 0098 C6D9 bls .L67 +2600:Src/main.c **** value = AD9102_SRAM_RAMP_MIN + + 1244 .loc 1 2600 14 discriminator 1 view .LVU422 + 1245 009a 013B subs r3, r3, #1 + 1246 .LVL115: +2600:Src/main.c **** value = AD9102_SRAM_RAMP_MIN + + 1247 .loc 1 2600 14 discriminator 1 view .LVU423 + 1248 009c 9AB2 uxth r2, r3 + 1249 .LVL116: + 1250 .L58: +2601:Src/main.c **** ((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)i) / (int32_t)denom; + 1251 .loc 1 2601 5 is_stmt 1 view .LVU424 +2602:Src/main.c **** } + 1252 .loc 1 2602 45 is_stmt 0 view .LVU425 + 1253 009e C4EB8433 rsb r3, r4, r4, lsl #14 +2602:Src/main.c **** } + 1254 .loc 1 2602 59 view .LVU426 + 1255 00a2 93FBF2F3 sdiv r3, r3, r2 +2601:Src/main.c **** ((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)i) / (int32_t)denom; + 1256 .loc 1 2601 11 view .LVU427 + 1257 00a6 A3F50051 sub r1, r3, #8192 + 1258 .LVL117: +2601:Src/main.c **** ((int32_t)AD9102_SRAM_RAMP_SPAN * (int32_t)i) / (int32_t)denom; + ARM GAS /tmp/ccwR4KB7.s page 148 - 1798 .loc 1 2517 3 view .LVU579 - 1799 00a2 FFF7FEFF bl AD9102_WriteReg - 1800 .LVL181: -2518:Src/main.c **** } - 1801 .loc 1 2518 3 is_stmt 1 view .LVU580 - 1802 00a6 0122 movs r2, #1 - 1803 00a8 4FF40061 mov r1, #2048 - 1804 00ac 0148 ldr r0, .L111 - 1805 00ae FFF7FEFF bl HAL_GPIO_WritePin - 1806 .LVL182: - 1807 00b2 EFE7 b .L107 - 1808 .L112: - 1809 .align 2 - 1810 .L111: - 1811 00b4 000C0240 .word 1073875968 - 1812 .cfi_endproc - 1813 .LFE1215: - 1815 .section .text.OUT_trigger,"ax",%progbits - 1816 .align 1 - 1817 .syntax unified - 1818 .thumb - 1819 .thumb_func - 1821 OUT_trigger: - 1822 .LVL183: - 1823 .LFB1210: -2346:Src/main.c **** switch (out_n) - 1824 .loc 1 2346 1 view -0 - 1825 .cfi_startproc - 1826 @ args = 0, pretend = 0, frame = 0 - 1827 @ frame_needed = 0, uses_anonymous_args = 0 -2346:Src/main.c **** switch (out_n) - 1828 .loc 1 2346 1 is_stmt 0 view .LVU582 - 1829 0000 10B5 push {r4, lr} - 1830 .LCFI23: - 1831 .cfi_def_cfa_offset 8 - 1832 .cfi_offset 4, -8 - 1833 .cfi_offset 14, -4 -2347:Src/main.c **** { - 1834 .loc 1 2347 2 is_stmt 1 view .LVU583 - 1835 0002 0928 cmp r0, #9 - 1836 0004 13D8 bhi .L113 - 1837 0006 DFE800F0 tbb [pc, r0] - 1838 .L116: - 1839 000a 05 .byte (.L125-.L116)/2 - 1840 000b 13 .byte (.L124-.L116)/2 - 1841 000c 21 .byte (.L123-.L116)/2 - 1842 000d 2F .byte (.L122-.L116)/2 - 1843 000e 3D .byte (.L121-.L116)/2 - 1844 000f 4B .byte (.L120-.L116)/2 - 1845 0010 59 .byte (.L119-.L116)/2 - 1846 0011 65 .byte (.L118-.L116)/2 - 1847 0012 71 .byte (.L117-.L116)/2 - 1848 0013 7D .byte (.L115-.L116)/2 - 1849 .p2align 1 - 1850 .L125: -2350:Src/main.c **** HAL_GPIO_WritePin(OUT_0_GPIO_Port, OUT_0_Pin, GPIO_PIN_RESET); - 1851 .loc 1 2350 3 view .LVU584 - ARM GAS /tmp/ccYgfTud.s page 156 + 1259 .loc 1 2601 11 view .LVU428 + 1260 .LBE362: + 1261 .LBE365: +2619:Src/main.c **** { + 1262 .loc 1 2619 3 is_stmt 1 view .LVU429 + 1263 00aa DEE7 b .L59 + 1264 .LVL118: + 1265 .L70: + 1266 .LBB366: +2614:Src/main.c **** value = AD9102_SRAM_RAMP_MIN + + 1267 .loc 1 2614 13 is_stmt 0 discriminator 2 view .LVU430 + 1268 00ac 0122 movs r2, #1 + 1269 00ae D6E7 b .L62 + 1270 .LVL119: + 1271 .L71: +2614:Src/main.c **** value = AD9102_SRAM_RAMP_MIN + + 1272 .loc 1 2614 13 discriminator 2 view .LVU431 + 1273 .LBE366: +2625:Src/main.c **** } + 1274 .loc 1 2625 10 view .LVU432 + 1275 00b0 41F6FF71 movw r1, #8191 + 1276 .LVL120: +2625:Src/main.c **** } + 1277 .loc 1 2625 10 view .LVU433 + 1278 00b4 DCE7 b .L61 + 1279 .LVL121: + 1280 .L73: +2625:Src/main.c **** } + 1281 .loc 1 2625 10 view .LVU434 + 1282 .LBE367: + 1283 .LBE356: +2634:Src/main.c **** } + 1284 .loc 1 2634 2 is_stmt 1 view .LVU435 + 1285 00b6 0021 movs r1, #0 + 1286 00b8 1E20 movs r0, #30 + 1287 00ba FFF7FEFF bl AD9102_WriteReg + 1288 .LVL122: +2635:Src/main.c **** + 1289 .loc 1 2635 1 is_stmt 0 view .LVU436 + 1290 00be 70BD pop {r4, r5, r6, pc} + 1291 .LVL123: + 1292 .L76: +2635:Src/main.c **** + 1293 .loc 1 2635 1 view .LVU437 + 1294 .align 2 + 1295 .L75: + 1296 00c0 00E0FFFF .word -8192 + 1297 .cfi_endproc + 1298 .LFE1216: + 1300 .section .text.AD9102_Init,"ax",%progbits + 1301 .align 1 + 1302 .syntax unified + 1303 .thumb + 1304 .thumb_func + 1306 AD9102_Init: + 1307 .LFB1211: +2452:Src/main.c **** HAL_GPIO_WritePin(AD9102_CS_GPIO_Port, AD9102_CS_Pin, GPIO_PIN_SET); + ARM GAS /tmp/ccwR4KB7.s page 149 - 1852 0014 414C ldr r4, .L128 - 1853 0016 0122 movs r2, #1 - 1854 0018 4FF48061 mov r1, #1024 - 1855 001c 2046 mov r0, r4 - 1856 .LVL184: -2350:Src/main.c **** HAL_GPIO_WritePin(OUT_0_GPIO_Port, OUT_0_Pin, GPIO_PIN_RESET); - 1857 .loc 1 2350 3 is_stmt 0 view .LVU585 - 1858 001e FFF7FEFF bl HAL_GPIO_WritePin - 1859 .LVL185: -2351:Src/main.c **** break; - 1860 .loc 1 2351 3 is_stmt 1 view .LVU586 - 1861 0022 0022 movs r2, #0 - 1862 0024 4FF48061 mov r1, #1024 - 1863 0028 2046 mov r0, r4 - 1864 002a FFF7FEFF bl HAL_GPIO_WritePin - 1865 .LVL186: -2352:Src/main.c **** - 1866 .loc 1 2352 2 view .LVU587 - 1867 .L113: -2399:Src/main.c **** - 1868 .loc 1 2399 1 is_stmt 0 view .LVU588 - 1869 002e 10BD pop {r4, pc} - 1870 .LVL187: - 1871 .L124: -2355:Src/main.c **** HAL_GPIO_WritePin(OUT_1_GPIO_Port, OUT_1_Pin, GPIO_PIN_RESET); - 1872 .loc 1 2355 3 is_stmt 1 view .LVU589 - 1873 0030 3A4C ldr r4, .L128 - 1874 0032 0122 movs r2, #1 - 1875 0034 4FF40061 mov r1, #2048 - 1876 0038 2046 mov r0, r4 - 1877 .LVL188: -2355:Src/main.c **** HAL_GPIO_WritePin(OUT_1_GPIO_Port, OUT_1_Pin, GPIO_PIN_RESET); - 1878 .loc 1 2355 3 is_stmt 0 view .LVU590 - 1879 003a FFF7FEFF bl HAL_GPIO_WritePin - 1880 .LVL189: -2356:Src/main.c **** break; - 1881 .loc 1 2356 3 is_stmt 1 view .LVU591 - 1882 003e 0022 movs r2, #0 - 1883 0040 4FF40061 mov r1, #2048 - 1884 0044 2046 mov r0, r4 - 1885 0046 FFF7FEFF bl HAL_GPIO_WritePin - 1886 .LVL190: -2357:Src/main.c **** - 1887 .loc 1 2357 2 view .LVU592 - 1888 004a F0E7 b .L113 - 1889 .LVL191: - 1890 .L123: -2360:Src/main.c **** HAL_GPIO_WritePin(OUT_2_GPIO_Port, OUT_2_Pin, GPIO_PIN_RESET); - 1891 .loc 1 2360 3 view .LVU593 - 1892 004c 334C ldr r4, .L128 - 1893 004e 0122 movs r2, #1 - 1894 0050 4FF48051 mov r1, #4096 - 1895 0054 2046 mov r0, r4 - 1896 .LVL192: -2360:Src/main.c **** HAL_GPIO_WritePin(OUT_2_GPIO_Port, OUT_2_Pin, GPIO_PIN_RESET); - 1897 .loc 1 2360 3 is_stmt 0 view .LVU594 - 1898 0056 FFF7FEFF bl HAL_GPIO_WritePin - ARM GAS /tmp/ccYgfTud.s page 157 + 1308 .loc 1 2452 1 is_stmt 1 view -0 + 1309 .cfi_startproc + 1310 @ args = 0, pretend = 0, frame = 8 + 1311 @ frame_needed = 0, uses_anonymous_args = 0 + 1312 0000 00B5 push {lr} + 1313 .LCFI12: + 1314 .cfi_def_cfa_offset 4 + 1315 .cfi_offset 14, -4 + 1316 0002 83B0 sub sp, sp, #12 + 1317 .LCFI13: + 1318 .cfi_def_cfa_offset 16 +2453:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_RESET); + 1319 .loc 1 2453 2 view .LVU439 + 1320 0004 0122 movs r2, #1 + 1321 0006 4FF48051 mov r1, #4096 + 1322 000a 1648 ldr r0, .L81 + 1323 000c FFF7FEFF bl HAL_GPIO_WritePin + 1324 .LVL124: +2454:Src/main.c **** for (volatile uint32_t d = 0; d < 1000; d++) {} + 1325 .loc 1 2454 2 view .LVU440 + 1326 0010 0022 movs r2, #0 + 1327 0012 4021 movs r1, #64 + 1328 0014 1448 ldr r0, .L81+4 + 1329 0016 FFF7FEFF bl HAL_GPIO_WritePin + 1330 .LVL125: +2455:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); + 1331 .loc 1 2455 2 view .LVU441 + 1332 .LBB368: +2455:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); + 1333 .loc 1 2455 7 view .LVU442 +2455:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); + 1334 .loc 1 2455 25 is_stmt 0 view .LVU443 + 1335 001a 0023 movs r3, #0 + 1336 001c 0193 str r3, [sp, #4] +2455:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); + 1337 .loc 1 2455 2 view .LVU444 + 1338 001e 02E0 b .L78 + 1339 .L79: +2455:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); + 1340 .loc 1 2455 48 is_stmt 1 discriminator 3 view .LVU445 +2455:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); + 1341 .loc 1 2455 43 discriminator 3 view .LVU446 + 1342 0020 019B ldr r3, [sp, #4] + 1343 0022 0133 adds r3, r3, #1 + 1344 0024 0193 str r3, [sp, #4] + 1345 .L78: +2455:Src/main.c **** HAL_GPIO_WritePin(AD9102_RESET_GPIO_Port, AD9102_RESET_Pin, GPIO_PIN_SET); + 1346 .loc 1 2455 34 discriminator 1 view .LVU447 + 1347 0026 019B ldr r3, [sp, #4] + 1348 0028 B3F57A7F cmp r3, #1000 + 1349 002c F8D3 bcc .L79 + 1350 .LBE368: +2456:Src/main.c **** + 1351 .loc 1 2456 2 view .LVU448 + 1352 002e 0122 movs r2, #1 + 1353 0030 4021 movs r1, #64 + 1354 0032 0D48 ldr r0, .L81+4 + ARM GAS /tmp/ccwR4KB7.s page 150 - 1899 .LVL193: -2361:Src/main.c **** break; - 1900 .loc 1 2361 3 is_stmt 1 view .LVU595 - 1901 005a 0022 movs r2, #0 - 1902 005c 4FF48051 mov r1, #4096 - 1903 0060 2046 mov r0, r4 - 1904 0062 FFF7FEFF bl HAL_GPIO_WritePin - 1905 .LVL194: -2362:Src/main.c **** - 1906 .loc 1 2362 2 view .LVU596 - 1907 0066 E2E7 b .L113 - 1908 .LVL195: - 1909 .L122: -2365:Src/main.c **** HAL_GPIO_WritePin(OUT_3_GPIO_Port, OUT_3_Pin, GPIO_PIN_RESET); - 1910 .loc 1 2365 3 view .LVU597 - 1911 0068 2C4C ldr r4, .L128 - 1912 006a 0122 movs r2, #1 - 1913 006c 4FF40051 mov r1, #8192 - 1914 0070 2046 mov r0, r4 - 1915 .LVL196: -2365:Src/main.c **** HAL_GPIO_WritePin(OUT_3_GPIO_Port, OUT_3_Pin, GPIO_PIN_RESET); - 1916 .loc 1 2365 3 is_stmt 0 view .LVU598 - 1917 0072 FFF7FEFF bl HAL_GPIO_WritePin - 1918 .LVL197: -2366:Src/main.c **** break; - 1919 .loc 1 2366 3 is_stmt 1 view .LVU599 - 1920 0076 0022 movs r2, #0 - 1921 0078 4FF40051 mov r1, #8192 - 1922 007c 2046 mov r0, r4 - 1923 007e FFF7FEFF bl HAL_GPIO_WritePin - 1924 .LVL198: -2367:Src/main.c **** - 1925 .loc 1 2367 2 view .LVU600 - 1926 0082 D4E7 b .L113 - 1927 .LVL199: - 1928 .L121: -2370:Src/main.c **** HAL_GPIO_WritePin(OUT_4_GPIO_Port, OUT_4_Pin, GPIO_PIN_RESET); - 1929 .loc 1 2370 3 view .LVU601 - 1930 0084 254C ldr r4, .L128 - 1931 0086 0122 movs r2, #1 - 1932 0088 4FF48041 mov r1, #16384 - 1933 008c 2046 mov r0, r4 - 1934 .LVL200: -2370:Src/main.c **** HAL_GPIO_WritePin(OUT_4_GPIO_Port, OUT_4_Pin, GPIO_PIN_RESET); - 1935 .loc 1 2370 3 is_stmt 0 view .LVU602 - 1936 008e FFF7FEFF bl HAL_GPIO_WritePin - 1937 .LVL201: -2371:Src/main.c **** break; - 1938 .loc 1 2371 3 is_stmt 1 view .LVU603 - 1939 0092 0022 movs r2, #0 - 1940 0094 4FF48041 mov r1, #16384 - 1941 0098 2046 mov r0, r4 - 1942 009a FFF7FEFF bl HAL_GPIO_WritePin - 1943 .LVL202: -2372:Src/main.c **** - 1944 .loc 1 2372 2 view .LVU604 - 1945 009e C6E7 b .L113 - ARM GAS /tmp/ccYgfTud.s page 158 + 1355 0034 FFF7FEFF bl HAL_GPIO_WritePin + 1356 .LVL126: +2458:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u); + 1357 .loc 1 2458 2 view .LVU449 + 1358 0038 4221 movs r1, #66 + 1359 003a 0C48 ldr r0, .L81+8 + 1360 003c FFF7FEFF bl AD9102_WriteRegTable + 1361 .LVL127: +2459:Src/main.c **** AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); + 1362 .loc 1 2459 2 view .LVU450 + 1363 0040 0021 movs r1, #0 + 1364 0042 1E20 movs r0, #30 + 1365 0044 FFF7FEFF bl AD9102_WriteReg + 1366 .LVL128: +2460:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); + 1367 .loc 1 2460 2 view .LVU451 + 1368 0048 0121 movs r1, #1 + 1369 004a 1D20 movs r0, #29 + 1370 004c FFF7FEFF bl AD9102_WriteReg + 1371 .LVL129: +2461:Src/main.c **** } + 1372 .loc 1 2461 2 view .LVU452 + 1373 0050 0122 movs r2, #1 + 1374 0052 4FF40061 mov r1, #2048 + 1375 0056 0648 ldr r0, .L81+12 + 1376 0058 FFF7FEFF bl HAL_GPIO_WritePin + 1377 .LVL130: +2462:Src/main.c **** + 1378 .loc 1 2462 1 is_stmt 0 view .LVU453 + 1379 005c 03B0 add sp, sp, #12 + 1380 .LCFI14: + 1381 .cfi_def_cfa_offset 4 + 1382 @ sp needed + 1383 005e 5DF804FB ldr pc, [sp], #4 + 1384 .L82: + 1385 0062 00BF .align 2 + 1386 .L81: + 1387 0064 00040240 .word 1073873920 + 1388 0068 00080240 .word 1073874944 + 1389 006c 00000000 .word ad9102_example4_regval + 1390 0070 000C0240 .word 1073875968 + 1391 .cfi_endproc + 1392 .LFE1211: + 1394 .section .text.AD9102_ReadReg,"ax",%progbits + 1395 .align 1 + 1396 .syntax unified + 1397 .thumb + 1398 .thumb_func + 1400 AD9102_ReadReg: + 1401 .LVL131: + 1402 .LFB1213: +2493:Src/main.c **** uint32_t tmp32 = 0; + 1403 .loc 1 2493 1 is_stmt 1 view -0 + 1404 .cfi_startproc + 1405 @ args = 0, pretend = 0, frame = 0 + 1406 @ frame_needed = 0, uses_anonymous_args = 0 +2493:Src/main.c **** uint32_t tmp32 = 0; + ARM GAS /tmp/ccwR4KB7.s page 151 - 1946 .LVL203: - 1947 .L120: -2375:Src/main.c **** HAL_GPIO_WritePin(OUT_5_GPIO_Port, OUT_5_Pin, GPIO_PIN_RESET); - 1948 .loc 1 2375 3 view .LVU605 - 1949 00a0 1E4C ldr r4, .L128 - 1950 00a2 0122 movs r2, #1 - 1951 00a4 4FF40041 mov r1, #32768 - 1952 00a8 2046 mov r0, r4 - 1953 .LVL204: -2375:Src/main.c **** HAL_GPIO_WritePin(OUT_5_GPIO_Port, OUT_5_Pin, GPIO_PIN_RESET); - 1954 .loc 1 2375 3 is_stmt 0 view .LVU606 - 1955 00aa FFF7FEFF bl HAL_GPIO_WritePin - 1956 .LVL205: -2376:Src/main.c **** break; - 1957 .loc 1 2376 3 is_stmt 1 view .LVU607 - 1958 00ae 0022 movs r2, #0 - 1959 00b0 4FF40041 mov r1, #32768 - 1960 00b4 2046 mov r0, r4 - 1961 00b6 FFF7FEFF bl HAL_GPIO_WritePin - 1962 .LVL206: -2377:Src/main.c **** - 1963 .loc 1 2377 2 view .LVU608 - 1964 00ba B8E7 b .L113 - 1965 .LVL207: - 1966 .L119: -2380:Src/main.c **** HAL_GPIO_WritePin(OUT_6_GPIO_Port, OUT_6_Pin, GPIO_PIN_RESET); - 1967 .loc 1 2380 3 view .LVU609 - 1968 00bc 184C ldr r4, .L128+4 - 1969 00be 0122 movs r2, #1 - 1970 00c0 1021 movs r1, #16 - 1971 00c2 2046 mov r0, r4 - 1972 .LVL208: -2380:Src/main.c **** HAL_GPIO_WritePin(OUT_6_GPIO_Port, OUT_6_Pin, GPIO_PIN_RESET); - 1973 .loc 1 2380 3 is_stmt 0 view .LVU610 - 1974 00c4 FFF7FEFF bl HAL_GPIO_WritePin - 1975 .LVL209: -2381:Src/main.c **** break; - 1976 .loc 1 2381 3 is_stmt 1 view .LVU611 - 1977 00c8 0022 movs r2, #0 - 1978 00ca 1021 movs r1, #16 - 1979 00cc 2046 mov r0, r4 - 1980 00ce FFF7FEFF bl HAL_GPIO_WritePin - 1981 .LVL210: -2382:Src/main.c **** - 1982 .loc 1 2382 2 view .LVU612 - 1983 00d2 ACE7 b .L113 - 1984 .LVL211: - 1985 .L118: -2385:Src/main.c **** HAL_GPIO_WritePin(OUT_7_GPIO_Port, OUT_7_Pin, GPIO_PIN_RESET); - 1986 .loc 1 2385 3 view .LVU613 - 1987 00d4 124C ldr r4, .L128+4 - 1988 00d6 0122 movs r2, #1 - 1989 00d8 2021 movs r1, #32 - 1990 00da 2046 mov r0, r4 - 1991 .LVL212: -2385:Src/main.c **** HAL_GPIO_WritePin(OUT_7_GPIO_Port, OUT_7_Pin, GPIO_PIN_RESET); - 1992 .loc 1 2385 3 is_stmt 0 view .LVU614 - ARM GAS /tmp/ccYgfTud.s page 159 - - - 1993 00dc FFF7FEFF bl HAL_GPIO_WritePin - 1994 .LVL213: -2386:Src/main.c **** break; - 1995 .loc 1 2386 3 is_stmt 1 view .LVU615 - 1996 00e0 0022 movs r2, #0 - 1997 00e2 2021 movs r1, #32 - 1998 00e4 2046 mov r0, r4 - 1999 00e6 FFF7FEFF bl HAL_GPIO_WritePin - 2000 .LVL214: -2387:Src/main.c **** - 2001 .loc 1 2387 2 view .LVU616 - 2002 00ea A0E7 b .L113 - 2003 .LVL215: - 2004 .L117: -2390:Src/main.c **** HAL_GPIO_WritePin(OUT_8_GPIO_Port, OUT_8_Pin, GPIO_PIN_RESET); - 2005 .loc 1 2390 3 view .LVU617 - 2006 00ec 0C4C ldr r4, .L128+4 - 2007 00ee 0122 movs r2, #1 - 2008 00f0 4021 movs r1, #64 - 2009 00f2 2046 mov r0, r4 - 2010 .LVL216: -2390:Src/main.c **** HAL_GPIO_WritePin(OUT_8_GPIO_Port, OUT_8_Pin, GPIO_PIN_RESET); - 2011 .loc 1 2390 3 is_stmt 0 view .LVU618 - 2012 00f4 FFF7FEFF bl HAL_GPIO_WritePin - 2013 .LVL217: -2391:Src/main.c **** break; - 2014 .loc 1 2391 3 is_stmt 1 view .LVU619 - 2015 00f8 0022 movs r2, #0 - 2016 00fa 4021 movs r1, #64 - 2017 00fc 2046 mov r0, r4 - 2018 00fe FFF7FEFF bl HAL_GPIO_WritePin - 2019 .LVL218: -2392:Src/main.c **** - 2020 .loc 1 2392 2 view .LVU620 - 2021 0102 94E7 b .L113 - 2022 .LVL219: - 2023 .L115: -2395:Src/main.c **** HAL_GPIO_WritePin(OUT_9_GPIO_Port, OUT_9_Pin, GPIO_PIN_RESET); - 2024 .loc 1 2395 3 view .LVU621 - 2025 0104 064C ldr r4, .L128+4 - 2026 0106 0122 movs r2, #1 - 2027 0108 8021 movs r1, #128 - 2028 010a 2046 mov r0, r4 - 2029 .LVL220: -2395:Src/main.c **** HAL_GPIO_WritePin(OUT_9_GPIO_Port, OUT_9_Pin, GPIO_PIN_RESET); - 2030 .loc 1 2395 3 is_stmt 0 view .LVU622 - 2031 010c FFF7FEFF bl HAL_GPIO_WritePin - 2032 .LVL221: -2396:Src/main.c **** break; - 2033 .loc 1 2396 3 is_stmt 1 view .LVU623 - 2034 0110 0022 movs r2, #0 - 2035 0112 8021 movs r1, #128 - 2036 0114 2046 mov r0, r4 - 2037 0116 FFF7FEFF bl HAL_GPIO_WritePin - 2038 .LVL222: -2397:Src/main.c **** } - 2039 .loc 1 2397 2 view .LVU624 - ARM GAS /tmp/ccYgfTud.s page 160 - - -2399:Src/main.c **** - 2040 .loc 1 2399 1 is_stmt 0 view .LVU625 - 2041 011a 88E7 b .L113 - 2042 .L129: - 2043 .align 2 - 2044 .L128: - 2045 011c 00180240 .word 1073879040 - 2046 0120 00040240 .word 1073873920 - 2047 .cfi_endproc - 2048 .LFE1210: - 2050 .section .text.MPhD_T,"ax",%progbits - 2051 .align 1 - 2052 .syntax unified - 2053 .thumb - 2054 .thumb_func - 2056 MPhD_T: - 2057 .LVL223: - 2058 .LFB1218: -2670:Src/main.c **** uint16_t P; - 2059 .loc 1 2670 1 is_stmt 1 view -0 - 2060 .cfi_startproc - 2061 @ args = 0, pretend = 0, frame = 0 - 2062 @ frame_needed = 0, uses_anonymous_args = 0 -2670:Src/main.c **** uint16_t P; - 2063 .loc 1 2670 1 is_stmt 0 view .LVU627 - 2064 0000 38B5 push {r3, r4, r5, lr} - 2065 .LCFI24: - 2066 .cfi_def_cfa_offset 16 - 2067 .cfi_offset 3, -16 - 2068 .cfi_offset 4, -12 - 2069 .cfi_offset 5, -8 - 2070 .cfi_offset 14, -4 - 2071 0002 0446 mov r4, r0 -2671:Src/main.c **** uint32_t tmp32; - 2072 .loc 1 2671 2 is_stmt 1 view .LVU628 -2672:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_RESET);//Prepare conversion - 2073 .loc 1 2672 2 view .LVU629 -2673:Src/main.c **** HAL_GPIO_WritePin(SPI5_CNV_GPIO_Port, SPI5_CNV_Pin, GPIO_PIN_RESET);//Prepare conversion - 2074 .loc 1 2673 2 view .LVU630 - 2075 0004 0022 movs r2, #0 - 2076 0006 4FF48041 mov r1, #16384 - 2077 000a 8148 ldr r0, .L171 - 2078 .LVL224: -2673:Src/main.c **** HAL_GPIO_WritePin(SPI5_CNV_GPIO_Port, SPI5_CNV_Pin, GPIO_PIN_RESET);//Prepare conversion - 2079 .loc 1 2673 2 is_stmt 0 view .LVU631 - 2080 000c FFF7FEFF bl HAL_GPIO_WritePin - 2081 .LVL225: -2674:Src/main.c **** tmp32=0; - 2082 .loc 1 2674 2 is_stmt 1 view .LVU632 - 2083 0010 0022 movs r2, #0 - 2084 0012 4FF40071 mov r1, #512 - 2085 0016 7F48 ldr r0, .L171+4 - 2086 0018 FFF7FEFF bl HAL_GPIO_WritePin - 2087 .LVL226: -2675:Src/main.c **** while(tmp32<500){tmp32++;} - 2088 .loc 1 2675 2 view .LVU633 -2676:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver - ARM GAS /tmp/ccYgfTud.s page 161 - - - 2089 .loc 1 2676 2 view .LVU634 -2675:Src/main.c **** while(tmp32<500){tmp32++;} - 2090 .loc 1 2675 7 is_stmt 0 view .LVU635 - 2091 001c 0023 movs r3, #0 -2676:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver - 2092 .loc 1 2676 7 view .LVU636 - 2093 001e 00E0 b .L131 - 2094 .LVL227: - 2095 .L132: -2676:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver - 2096 .loc 1 2676 19 is_stmt 1 discriminator 2 view .LVU637 -2676:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver - 2097 .loc 1 2676 24 is_stmt 0 discriminator 2 view .LVU638 - 2098 0020 0133 adds r3, r3, #1 - 2099 .LVL228: - 2100 .L131: -2676:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver - 2101 .loc 1 2676 13 is_stmt 1 discriminator 1 view .LVU639 - 2102 0022 B3F5FA7F cmp r3, #500 - 2103 0026 FBD3 bcc .L132 -2677:Src/main.c **** HAL_GPIO_WritePin(SPI5_CNV_GPIO_Port, SPI5_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver - 2104 .loc 1 2677 2 view .LVU640 - 2105 0028 0122 movs r2, #1 - 2106 002a 4FF48041 mov r1, #16384 - 2107 002e 7848 ldr r0, .L171 - 2108 0030 FFF7FEFF bl HAL_GPIO_WritePin - 2109 .LVL229: -2678:Src/main.c **** tmp32=0; - 2110 .loc 1 2678 2 view .LVU641 - 2111 0034 0122 movs r2, #1 - 2112 0036 4FF40071 mov r1, #512 - 2113 003a 7648 ldr r0, .L171+4 - 2114 003c FFF7FEFF bl HAL_GPIO_WritePin - 2115 .LVL230: -2679:Src/main.c **** while(tmp32<500){tmp32++;} - 2116 .loc 1 2679 2 view .LVU642 -2680:Src/main.c **** if (num==1)//MPD1 - 2117 .loc 1 2680 2 view .LVU643 -2679:Src/main.c **** while(tmp32<500){tmp32++;} - 2118 .loc 1 2679 7 is_stmt 0 view .LVU644 - 2119 0040 0023 movs r3, #0 -2680:Src/main.c **** if (num==1)//MPD1 - 2120 .loc 1 2680 7 view .LVU645 - 2121 0042 00E0 b .L133 - 2122 .LVL231: - 2123 .L134: -2680:Src/main.c **** if (num==1)//MPD1 - 2124 .loc 1 2680 19 is_stmt 1 discriminator 2 view .LVU646 -2680:Src/main.c **** if (num==1)//MPD1 - 2125 .loc 1 2680 24 is_stmt 0 discriminator 2 view .LVU647 - 2126 0044 0133 adds r3, r3, #1 - 2127 .LVL232: - 2128 .L133: -2680:Src/main.c **** if (num==1)//MPD1 - 2129 .loc 1 2680 13 is_stmt 1 discriminator 1 view .LVU648 - 2130 0046 B3F5FA7F cmp r3, #500 - 2131 004a FBD3 bcc .L134 - ARM GAS /tmp/ccYgfTud.s page 162 - - -2681:Src/main.c **** { - 2132 .loc 1 2681 2 view .LVU649 - 2133 004c 631E subs r3, r4, #1 - 2134 .LVL233: -2681:Src/main.c **** { - 2135 .loc 1 2681 2 is_stmt 0 view .LVU650 - 2136 004e 032B cmp r3, #3 - 2137 0050 39D8 bhi .L135 - 2138 0052 DFE803F0 tbb [pc, r3] - 2139 .L137: - 2140 0056 02 .byte (.L140-.L137)/2 - 2141 0057 3A .byte (.L139-.L137)/2 - 2142 0058 6F .byte (.L138-.L137)/2 - 2143 0059 A6 .byte (.L136-.L137)/2 - 2144 .p2align 1 - 2145 .L140: -2683:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD1_CS_GPIO_Port, ADC_MPD1_CS_Pin, GPIO_PIN_RESET); - 2146 .loc 1 2683 3 is_stmt 1 view .LVU651 - 2147 005a 6D4C ldr r4, .L171 - 2148 .LVL234: -2683:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD1_CS_GPIO_Port, ADC_MPD1_CS_Pin, GPIO_PIN_RESET); - 2149 .loc 1 2683 3 is_stmt 0 view .LVU652 - 2150 005c 0122 movs r2, #1 - 2151 005e 4FF40061 mov r1, #2048 - 2152 0062 2046 mov r0, r4 - 2153 0064 FFF7FEFF bl HAL_GPIO_WritePin - 2154 .LVL235: -2684:Src/main.c **** tmp32=0; - 2155 .loc 1 2684 3 is_stmt 1 view .LVU653 - 2156 0068 0022 movs r2, #0 - 2157 006a 4FF48061 mov r1, #1024 - 2158 006e 2046 mov r0, r4 - 2159 0070 FFF7FEFF bl HAL_GPIO_WritePin - 2160 .LVL236: -2685:Src/main.c **** while(tmp32<500){tmp32++;} - 2161 .loc 1 2685 3 view .LVU654 -2686:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2162 .loc 1 2686 3 view .LVU655 -2685:Src/main.c **** while(tmp32<500){tmp32++;} - 2163 .loc 1 2685 8 is_stmt 0 view .LVU656 - 2164 0074 0023 movs r3, #0 -2686:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2165 .loc 1 2686 8 view .LVU657 - 2166 0076 00E0 b .L141 - 2167 .LVL237: - 2168 .L142: -2686:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2169 .loc 1 2686 20 is_stmt 1 discriminator 2 view .LVU658 -2686:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2170 .loc 1 2686 25 is_stmt 0 discriminator 2 view .LVU659 - 2171 0078 0133 adds r3, r3, #1 - 2172 .LVL238: - 2173 .L141: -2686:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2174 .loc 1 2686 14 is_stmt 1 discriminator 1 view .LVU660 - 2175 007a B3F5FA7F cmp r3, #500 - 2176 007e FBD3 bcc .L142 - ARM GAS /tmp/ccYgfTud.s page 163 - - -2688:Src/main.c **** tmp32 = 0; - 2177 .loc 1 2688 3 view .LVU661 - 2178 .LVL239: - 2179 .LBB375: - 2180 .LBI375: + 1407 .loc 1 2493 1 is_stmt 0 view .LVU455 + 1408 0000 10B5 push {r4, lr} + 1409 .LCFI15: + 1410 .cfi_def_cfa_offset 8 + 1411 .cfi_offset 4, -8 + 1412 .cfi_offset 14, -4 +2494:Src/main.c **** uint16_t cmd = (uint16_t)(0x8000u | (addr & 0x7FFFu)); // R/W = 1 (read) + 1413 .loc 1 2494 2 is_stmt 1 view .LVU456 + 1414 .LVL132: +2495:Src/main.c **** uint16_t value; + 1415 .loc 1 2495 2 view .LVU457 +2495:Src/main.c **** uint16_t value; + 1416 .loc 1 2495 11 is_stmt 0 view .LVU458 + 1417 0002 40F40044 orr r4, r0, #32768 + 1418 .LVL133: +2496:Src/main.c **** + 1419 .loc 1 2496 2 is_stmt 1 view .LVU459 +2498:Src/main.c **** { + 1420 .loc 1 2498 2 view .LVU460 + 1421 .LBB369: + 1422 .LBI369: + 381:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 1423 .loc 4 381 26 view .LVU461 + 1424 .LBB370: + 383:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1425 .loc 4 383 3 view .LVU462 + 383:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1426 .loc 4 383 12 is_stmt 0 view .LVU463 + 1427 0006 284B ldr r3, .L98 + 1428 0008 1B68 ldr r3, [r3] + 383:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1429 .loc 4 383 69 view .LVU464 + 1430 000a 13F0400F tst r3, #64 + 1431 000e 04D1 bne .L84 + 1432 .LVL134: + 383:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1433 .loc 4 383 69 view .LVU465 + 1434 .LBE370: + 1435 .LBE369: +2500:Src/main.c **** } + 1436 .loc 1 2500 3 is_stmt 1 view .LVU466 + 1437 .LBB371: + 1438 .LBI371: 358:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2181 .loc 4 358 22 view .LVU662 - 2182 .LBB376: + 1439 .loc 4 358 22 view .LVU467 + 1440 .LBB372: 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2183 .loc 4 360 3 view .LVU663 - 2184 0080 654A ldr r2, .L171+8 - 2185 0082 1368 ldr r3, [r2] - 2186 .LVL240: + 1441 .loc 4 360 3 view .LVU468 + 1442 0010 254A ldr r2, .L98 + 1443 0012 1368 ldr r3, [r2] + 1444 0014 43F04003 orr r3, r3, #64 + 1445 0018 1360 str r3, [r2] + 1446 .LVL135: + 1447 .L84: 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2187 .loc 4 360 3 is_stmt 0 view .LVU664 - 2188 0084 43F04003 orr r3, r3, #64 - 2189 0088 1360 str r3, [r2] - 2190 .LVL241: - 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2191 .loc 4 360 3 view .LVU665 - 2192 .LBE376: - 2193 .LBE375: -2689:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI4))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w - 2194 .loc 1 2689 3 is_stmt 1 view .LVU666 -2690:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for MPhD1 ADC - 2195 .loc 1 2690 3 view .LVU667 -2689:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI4))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w - 2196 .loc 1 2689 9 is_stmt 0 view .LVU668 - 2197 008a 0023 movs r3, #0 - 2198 .LVL242: - 2199 .L143: -2690:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for MPhD1 ADC - 2200 .loc 1 2690 43 is_stmt 1 discriminator 1 view .LVU669 - 2201 .LBB377: - 2202 .LBI377: + 1448 .loc 4 360 3 is_stmt 0 view .LVU469 + 1449 .LBE372: + ARM GAS /tmp/ccwR4KB7.s page 152 + + + 1450 .LBE371: +2503:Src/main.c **** + 1451 .loc 1 2503 2 is_stmt 1 view .LVU470 + 1452 001a 0022 movs r2, #0 + 1453 001c 4FF48051 mov r1, #4096 + 1454 0020 2248 ldr r0, .L98+4 + 1455 .LVL136: +2503:Src/main.c **** + 1456 .loc 1 2503 2 is_stmt 0 view .LVU471 + 1457 0022 FFF7FEFF bl HAL_GPIO_WritePin + 1458 .LVL137: +2505:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); + 1459 .loc 1 2505 2 is_stmt 1 view .LVU472 +2494:Src/main.c **** uint16_t cmd = (uint16_t)(0x8000u | (addr & 0x7FFFu)); // R/W = 1 (read) + 1460 .loc 1 2494 11 is_stmt 0 view .LVU473 + 1461 0026 0023 movs r3, #0 + 1462 .LVL138: + 1463 .L86: +2505:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); + 1464 .loc 1 2505 63 is_stmt 1 discriminator 2 view .LVU474 +2505:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); + 1465 .loc 1 2505 41 discriminator 2 view .LVU475 + 1466 .LBB373: + 1467 .LBI373: + 916:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 1468 .loc 4 916 26 view .LVU476 + 1469 .LBB374: + 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1470 .loc 4 918 3 view .LVU477 + 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1471 .loc 4 918 12 is_stmt 0 view .LVU478 + 1472 0028 1F4A ldr r2, .L98 + 1473 002a 9268 ldr r2, [r2, #8] + 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1474 .loc 4 918 66 view .LVU479 + 1475 002c 12F0020F tst r2, #2 + 1476 0030 05D1 bne .L85 + 1477 .LVL139: + 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1478 .loc 4 918 66 view .LVU480 + 1479 .LBE374: + 1480 .LBE373: +2505:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); + 1481 .loc 1 2505 50 discriminator 1 view .LVU481 + 1482 0032 5A1C adds r2, r3, #1 + 1483 .LVL140: +2505:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); + 1484 .loc 1 2505 41 discriminator 1 view .LVU482 + 1485 0034 B3F57A7F cmp r3, #1000 + 1486 0038 01D2 bcs .L85 +2505:Src/main.c **** LL_SPI_TransmitData16(SPI2, cmd); + 1487 .loc 1 2505 50 discriminator 1 view .LVU483 + 1488 003a 1346 mov r3, r2 + 1489 003c F4E7 b .L86 + 1490 .LVL141: + 1491 .L85: +2506:Src/main.c **** tmp32 = 0; + ARM GAS /tmp/ccwR4KB7.s page 153 + + + 1492 .loc 1 2506 2 is_stmt 1 view .LVU484 + 1493 .LBB375: + 1494 .LBI375: +1373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 1495 .loc 4 1373 22 view .LVU485 + 1496 .LBB376: +1376:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** *spidr = TxData; + 1497 .loc 4 1376 3 view .LVU486 + 1498 .loc 4 1377 3 view .LVU487 + 1499 .loc 4 1377 10 is_stmt 0 view .LVU488 + 1500 003e 1A4B ldr r3, .L98 + 1501 0040 9C81 strh r4, [r3, #12] @ movhi + 1502 .LVL142: + 1503 .loc 4 1377 10 view .LVU489 + 1504 .LBE376: + 1505 .LBE375: +2507:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} + 1506 .loc 1 2507 2 is_stmt 1 view .LVU490 +2508:Src/main.c **** (void) SPI2->DR; + 1507 .loc 1 2508 2 view .LVU491 +2507:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} + 1508 .loc 1 2507 8 is_stmt 0 view .LVU492 + 1509 0042 0023 movs r3, #0 + 1510 .LVL143: + 1511 .L88: +2508:Src/main.c **** (void) SPI2->DR; + 1512 .loc 1 2508 64 is_stmt 1 discriminator 2 view .LVU493 +2508:Src/main.c **** (void) SPI2->DR; + 1513 .loc 1 2508 42 discriminator 2 view .LVU494 + 1514 .LBB377: + 1515 .LBI377: 905:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2203 .loc 4 905 26 view .LVU670 - 2204 .LBB378: + 1516 .loc 4 905 26 view .LVU495 + 1517 .LBB378: 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2205 .loc 4 907 3 view .LVU671 + 1518 .loc 4 907 3 view .LVU496 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2206 .loc 4 907 12 is_stmt 0 view .LVU672 - 2207 008c 624A ldr r2, .L171+8 - 2208 008e 9268 ldr r2, [r2, #8] + 1519 .loc 4 907 12 is_stmt 0 view .LVU497 + 1520 0044 184A ldr r2, .L98 + 1521 0046 9268 ldr r2, [r2, #8] 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2209 .loc 4 907 68 view .LVU673 - 2210 0090 12F0010F tst r2, #1 - 2211 0094 04D1 bne .L144 - 2212 .LVL243: + 1522 .loc 4 907 68 view .LVU498 + 1523 0048 12F0010F tst r2, #1 + 1524 004c 05D1 bne .L87 + 1525 .LVL144: 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2213 .loc 4 907 68 view .LVU674 - 2214 .LBE378: - 2215 .LBE377: -2690:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for MPhD1 ADC - 2216 .loc 1 2690 43 discriminator 2 view .LVU675 - 2217 0096 B3F57A7F cmp r3, #1000 - 2218 009a 01D8 bhi .L144 - ARM GAS /tmp/ccYgfTud.s page 164 + 1526 .loc 4 907 68 view .LVU499 + 1527 .LBE378: + 1528 .LBE377: +2508:Src/main.c **** (void) SPI2->DR; + 1529 .loc 1 2508 51 discriminator 1 view .LVU500 + 1530 004e 5A1C adds r2, r3, #1 + 1531 .LVL145: +2508:Src/main.c **** (void) SPI2->DR; + 1532 .loc 1 2508 42 discriminator 1 view .LVU501 + 1533 0050 B3F57A7F cmp r3, #1000 + 1534 0054 01D2 bcs .L87 + ARM GAS /tmp/ccwR4KB7.s page 154 -2690:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for MPhD1 ADC - 2219 .loc 1 2690 62 is_stmt 1 discriminator 3 view .LVU676 -2690:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for MPhD1 ADC - 2220 .loc 1 2690 67 is_stmt 0 discriminator 3 view .LVU677 - 2221 009c 0133 adds r3, r3, #1 - 2222 .LVL244: -2690:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for MPhD1 ADC - 2223 .loc 1 2690 67 discriminator 3 view .LVU678 - 2224 009e F5E7 b .L143 - 2225 .L144: -2691:Src/main.c **** while(tmp32<500){tmp32++;} - 2226 .loc 1 2691 3 is_stmt 1 view .LVU679 - 2227 .LVL245: - 2228 .LBB379: - 2229 .LBI379: - 370:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2230 .loc 4 370 22 view .LVU680 - 2231 .LBB380: - 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2232 .loc 4 372 3 view .LVU681 - 2233 00a0 5D49 ldr r1, .L171+8 - 2234 00a2 0A68 ldr r2, [r1] - 2235 00a4 22F04002 bic r2, r2, #64 - 2236 00a8 0A60 str r2, [r1] - 2237 .LVL246: - 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2238 .loc 4 372 3 is_stmt 0 view .LVU682 - 2239 .LBE380: - 2240 .LBE379: -2692:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - 2241 .loc 1 2692 3 is_stmt 1 view .LVU683 - 2242 .LBB382: - 2243 .LBB381: - 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** - 2244 .loc 4 373 1 is_stmt 0 view .LVU684 - 2245 00aa 00E0 b .L146 - 2246 .L147: - 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** - 2247 .loc 4 373 1 view .LVU685 - 2248 .LBE381: - 2249 .LBE382: -2692:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - 2250 .loc 1 2692 20 is_stmt 1 discriminator 2 view .LVU686 -2692:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - 2251 .loc 1 2692 25 is_stmt 0 discriminator 2 view .LVU687 - 2252 00ac 0133 adds r3, r3, #1 - 2253 .LVL247: - 2254 .L146: -2692:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - 2255 .loc 1 2692 14 is_stmt 1 discriminator 1 view .LVU688 - 2256 00ae B3F5FA7F cmp r3, #500 - 2257 00b2 FBD3 bcc .L147 -2694:Src/main.c **** P = LL_SPI_ReceiveData16(SPI4); - 2258 .loc 1 2694 3 view .LVU689 - 2259 00b4 0122 movs r2, #1 - 2260 00b6 4FF48061 mov r1, #1024 - 2261 00ba 5548 ldr r0, .L171 - ARM GAS /tmp/ccYgfTud.s page 165 +2508:Src/main.c **** (void) SPI2->DR; + 1535 .loc 1 2508 51 discriminator 1 view .LVU502 + 1536 0056 1346 mov r3, r2 + 1537 0058 F4E7 b .L88 + 1538 .LVL146: + 1539 .L87: +2509:Src/main.c **** + 1540 .loc 1 2509 2 is_stmt 1 view .LVU503 + 1541 005a 134B ldr r3, .L98 + 1542 005c DB68 ldr r3, [r3, #12] +2511:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} + 1543 .loc 1 2511 2 view .LVU504 + 1544 .LVL147: +2512:Src/main.c **** LL_SPI_TransmitData16(SPI2, 0x0000u); + 1545 .loc 1 2512 2 view .LVU505 +2511:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2)) && (tmp32++ < 1000)) {} + 1546 .loc 1 2511 8 is_stmt 0 view .LVU506 + 1547 005e 0023 movs r3, #0 + 1548 .LVL148: + 1549 .L90: +2512:Src/main.c **** LL_SPI_TransmitData16(SPI2, 0x0000u); + 1550 .loc 1 2512 63 is_stmt 1 discriminator 2 view .LVU507 +2512:Src/main.c **** LL_SPI_TransmitData16(SPI2, 0x0000u); + 1551 .loc 1 2512 41 discriminator 2 view .LVU508 + 1552 .LBB379: + 1553 .LBI379: + 916:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 1554 .loc 4 916 26 view .LVU509 + 1555 .LBB380: + 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1556 .loc 4 918 3 view .LVU510 + 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1557 .loc 4 918 12 is_stmt 0 view .LVU511 + 1558 0060 114A ldr r2, .L98 + 1559 0062 9268 ldr r2, [r2, #8] + 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1560 .loc 4 918 66 view .LVU512 + 1561 0064 12F0020F tst r2, #2 + 1562 0068 05D1 bne .L89 + 1563 .LVL149: + 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1564 .loc 4 918 66 view .LVU513 + 1565 .LBE380: + 1566 .LBE379: +2512:Src/main.c **** LL_SPI_TransmitData16(SPI2, 0x0000u); + 1567 .loc 1 2512 50 discriminator 1 view .LVU514 + 1568 006a 5A1C adds r2, r3, #1 + 1569 .LVL150: +2512:Src/main.c **** LL_SPI_TransmitData16(SPI2, 0x0000u); + 1570 .loc 1 2512 41 discriminator 1 view .LVU515 + 1571 006c B3F57A7F cmp r3, #1000 + 1572 0070 01D2 bcs .L89 +2512:Src/main.c **** LL_SPI_TransmitData16(SPI2, 0x0000u); + 1573 .loc 1 2512 50 discriminator 1 view .LVU516 + 1574 0072 1346 mov r3, r2 + 1575 0074 F4E7 b .L90 + 1576 .LVL151: + ARM GAS /tmp/ccwR4KB7.s page 155 - 2262 00bc FFF7FEFF bl HAL_GPIO_WritePin - 2263 .LVL248: -2695:Src/main.c **** } - 2264 .loc 1 2695 3 view .LVU690 - 2265 .LBB383: - 2266 .LBI383: + 1577 .L89: +2513:Src/main.c **** tmp32 = 0; + 1578 .loc 1 2513 2 is_stmt 1 view .LVU517 + 1579 .LBB381: + 1580 .LBI381: +1373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 1581 .loc 4 1373 22 view .LVU518 + 1582 .LBB382: +1376:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** *spidr = TxData; + 1583 .loc 4 1376 3 view .LVU519 + 1584 .loc 4 1377 3 view .LVU520 + 1585 .loc 4 1377 10 is_stmt 0 view .LVU521 + 1586 0076 0023 movs r3, #0 + 1587 0078 0B4A ldr r2, .L98 + 1588 007a 9381 strh r3, [r2, #12] @ movhi + 1589 .LVL152: + 1590 .loc 4 1377 10 view .LVU522 + 1591 .LBE382: + 1592 .LBE381: +2514:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2)) && (tmp32++ < 1000)) {} + 1593 .loc 1 2514 2 is_stmt 1 view .LVU523 +2515:Src/main.c **** value = LL_SPI_ReceiveData16(SPI2); + 1594 .loc 1 2515 2 view .LVU524 + 1595 .L92: +2515:Src/main.c **** value = LL_SPI_ReceiveData16(SPI2); + 1596 .loc 1 2515 64 discriminator 2 view .LVU525 +2515:Src/main.c **** value = LL_SPI_ReceiveData16(SPI2); + 1597 .loc 1 2515 42 discriminator 2 view .LVU526 + 1598 .LBB383: + 1599 .LBI383: + 905:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 1600 .loc 4 905 26 view .LVU527 + 1601 .LBB384: + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1602 .loc 4 907 3 view .LVU528 + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1603 .loc 4 907 12 is_stmt 0 view .LVU529 + 1604 007c 0A4A ldr r2, .L98 + 1605 007e 9268 ldr r2, [r2, #8] + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1606 .loc 4 907 68 view .LVU530 + 1607 0080 12F0010F tst r2, #1 + 1608 0084 05D1 bne .L91 + 1609 .LVL153: + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 1610 .loc 4 907 68 view .LVU531 + 1611 .LBE384: + 1612 .LBE383: +2515:Src/main.c **** value = LL_SPI_ReceiveData16(SPI2); + 1613 .loc 1 2515 51 discriminator 1 view .LVU532 + 1614 0086 5A1C adds r2, r3, #1 + 1615 .LVL154: +2515:Src/main.c **** value = LL_SPI_ReceiveData16(SPI2); + 1616 .loc 1 2515 42 discriminator 1 view .LVU533 + 1617 0088 B3F57A7F cmp r3, #1000 + 1618 008c 01D2 bcs .L91 +2515:Src/main.c **** value = LL_SPI_ReceiveData16(SPI2); + ARM GAS /tmp/ccwR4KB7.s page 156 + + + 1619 .loc 1 2515 51 discriminator 1 view .LVU534 + 1620 008e 1346 mov r3, r2 + 1621 0090 F4E7 b .L92 + 1622 .LVL155: + 1623 .L91: +2516:Src/main.c **** + 1624 .loc 1 2516 2 is_stmt 1 view .LVU535 + 1625 .LBB385: + 1626 .LBI385: 1344:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2267 .loc 4 1344 26 view .LVU691 - 2268 .LBB384: + 1627 .loc 4 1344 26 view .LVU536 + 1628 .LBB386: 1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2269 .loc 4 1346 3 view .LVU692 + 1629 .loc 4 1346 3 view .LVU537 1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2270 .loc 4 1346 21 is_stmt 0 view .LVU693 - 2271 00c0 554B ldr r3, .L171+8 - 2272 00c2 DD68 ldr r5, [r3, #12] + 1630 .loc 4 1346 21 is_stmt 0 view .LVU538 + 1631 0092 054B ldr r3, .L98 + 1632 0094 DC68 ldr r4, [r3, #12] + 1633 .LVL156: 1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2273 .loc 4 1346 10 view .LVU694 - 2274 00c4 ADB2 uxth r5, r5 - 2275 .LVL249: - 2276 .L135: + 1634 .loc 4 1346 10 view .LVU539 + 1635 0096 A4B2 uxth r4, r4 + 1636 .LVL157: 1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2277 .loc 4 1346 10 view .LVU695 - 2278 .LBE384: - 2279 .LBE383: -2767:Src/main.c **** } - 2280 .loc 1 2767 2 is_stmt 1 view .LVU696 -2768:Src/main.c **** /*static uint16_t Temp_LD(uint16_t T_LD_before, uint16_t T_LD, uint32_t Timer_before, uint32_t Time - 2281 .loc 1 2768 1 is_stmt 0 view .LVU697 - 2282 00c6 2846 mov r0, r5 - 2283 00c8 38BD pop {r3, r4, r5, pc} - 2284 .LVL250: - 2285 .L139: -2699:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD2_CS_GPIO_Port, ADC_MPD2_CS_Pin, GPIO_PIN_RESET); - 2286 .loc 1 2699 3 is_stmt 1 view .LVU698 - 2287 00ca 524C ldr r4, .L171+4 - 2288 00cc 0122 movs r2, #1 - 2289 00ce 4FF48061 mov r1, #1024 - 2290 00d2 2046 mov r0, r4 - 2291 00d4 FFF7FEFF bl HAL_GPIO_WritePin - 2292 .LVL251: -2700:Src/main.c **** tmp32=0; - 2293 .loc 1 2700 3 view .LVU699 - 2294 00d8 0022 movs r2, #0 - 2295 00da 4021 movs r1, #64 - 2296 00dc 2046 mov r0, r4 - 2297 00de FFF7FEFF bl HAL_GPIO_WritePin - 2298 .LVL252: -2701:Src/main.c **** while(tmp32<500){tmp32++;} - 2299 .loc 1 2701 3 view .LVU700 -2702:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2300 .loc 1 2702 3 view .LVU701 -2701:Src/main.c **** while(tmp32<500){tmp32++;} - 2301 .loc 1 2701 8 is_stmt 0 view .LVU702 - 2302 00e2 0023 movs r3, #0 -2702:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2303 .loc 1 2702 8 view .LVU703 - 2304 00e4 00E0 b .L148 - ARM GAS /tmp/ccYgfTud.s page 166 + 1637 .loc 4 1346 10 view .LVU540 + 1638 .LBE386: + 1639 .LBE385: +2518:Src/main.c **** return value; + 1640 .loc 1 2518 2 is_stmt 1 view .LVU541 + 1641 0098 0122 movs r2, #1 + 1642 009a 4FF48051 mov r1, #4096 + 1643 009e 0348 ldr r0, .L98+4 + 1644 00a0 FFF7FEFF bl HAL_GPIO_WritePin + 1645 .LVL158: +2519:Src/main.c **** } + 1646 .loc 1 2519 2 view .LVU542 +2520:Src/main.c **** + 1647 .loc 1 2520 1 is_stmt 0 view .LVU543 + 1648 00a4 2046 mov r0, r4 + 1649 00a6 10BD pop {r4, pc} + 1650 .LVL159: + 1651 .L99: +2520:Src/main.c **** + 1652 .loc 1 2520 1 view .LVU544 + 1653 .align 2 + 1654 .L98: + 1655 00a8 00380040 .word 1073756160 + 1656 00ac 00040240 .word 1073873920 + 1657 .cfi_endproc + 1658 .LFE1213: + 1660 .section .text.AD9102_CheckFlagsSram,"ax",%progbits + 1661 .align 1 + 1662 .syntax unified + 1663 .thumb + 1664 .thumb_func + 1666 AD9102_CheckFlagsSram: + 1667 .LVL160: + ARM GAS /tmp/ccwR4KB7.s page 157 + 1668 .LFB1219: +2786:Src/main.c **** uint16_t spiconfig = AD9102_ReadReg(AD9102_REG_SPICONFIG); + 1669 .loc 1 2786 1 is_stmt 1 view -0 + 1670 .cfi_startproc + 1671 @ args = 0, pretend = 0, frame = 8 + 1672 @ frame_needed = 0, uses_anonymous_args = 0 +2786:Src/main.c **** uint16_t spiconfig = AD9102_ReadReg(AD9102_REG_SPICONFIG); + 1673 .loc 1 2786 1 is_stmt 0 view .LVU546 + 1674 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} + 1675 .LCFI16: + 1676 .cfi_def_cfa_offset 36 + 1677 .cfi_offset 4, -36 + 1678 .cfi_offset 5, -32 + 1679 .cfi_offset 6, -28 + 1680 .cfi_offset 7, -24 + 1681 .cfi_offset 8, -20 + 1682 .cfi_offset 9, -16 + 1683 .cfi_offset 10, -12 + 1684 .cfi_offset 11, -8 + 1685 .cfi_offset 14, -4 + 1686 0004 83B0 sub sp, sp, #12 + 1687 .LCFI17: + 1688 .cfi_def_cfa_offset 48 + 1689 0006 8346 mov fp, r0 + 1690 0008 0F46 mov r7, r1 + 1691 000a 1446 mov r4, r2 + 1692 000c 1D46 mov r5, r3 +2787:Src/main.c **** uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); + 1693 .loc 1 2787 2 is_stmt 1 view .LVU547 +2787:Src/main.c **** uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); + 1694 .loc 1 2787 23 is_stmt 0 view .LVU548 + 1695 000e 0020 movs r0, #0 + 1696 .LVL161: +2787:Src/main.c **** uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); + 1697 .loc 1 2787 23 view .LVU549 + 1698 0010 FFF7FEFF bl AD9102_ReadReg + 1699 .LVL162: +2787:Src/main.c **** uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); + 1700 .loc 1 2787 23 view .LVU550 + 1701 0014 8246 mov r10, r0 + 1702 .LVL163: +2788:Src/main.c **** uint16_t clockcfg = AD9102_ReadReg(AD9102_REG_CLOCKCONFIG); + 1703 .loc 1 2788 2 is_stmt 1 view .LVU551 +2788:Src/main.c **** uint16_t clockcfg = AD9102_ReadReg(AD9102_REG_CLOCKCONFIG); + 1704 .loc 1 2788 22 is_stmt 0 view .LVU552 + 1705 0016 0120 movs r0, #1 + 1706 0018 FFF7FEFF bl AD9102_ReadReg + 1707 .LVL164: + 1708 001c 8146 mov r9, r0 + 1709 .LVL165: +2789:Src/main.c **** uint16_t cfg_err = AD9102_ReadReg(AD9102_REG_CFG_ERROR); + 1710 .loc 1 2789 2 is_stmt 1 view .LVU553 +2789:Src/main.c **** uint16_t cfg_err = AD9102_ReadReg(AD9102_REG_CFG_ERROR); + 1711 .loc 1 2789 22 is_stmt 0 view .LVU554 + 1712 001e 0220 movs r0, #2 + 1713 0020 FFF7FEFF bl AD9102_ReadReg + 1714 .LVL166: + ARM GAS /tmp/ccwR4KB7.s page 158 + + + 1715 0024 8046 mov r8, r0 + 1716 .LVL167: +2790:Src/main.c **** + 1717 .loc 1 2790 2 is_stmt 1 view .LVU555 +2790:Src/main.c **** + 1718 .loc 1 2790 21 is_stmt 0 view .LVU556 + 1719 0026 6020 movs r0, #96 + 1720 0028 FFF7FEFF bl AD9102_ReadReg + 1721 .LVL168: +2792:Src/main.c **** { + 1722 .loc 1 2792 2 is_stmt 1 view .LVU557 +2792:Src/main.c **** { + 1723 .loc 1 2792 5 is_stmt 0 view .LVU558 + 1724 002c 1CB1 cbz r4, .L117 +2796:Src/main.c **** { + 1725 .loc 1 2796 2 is_stmt 1 view .LVU559 +2796:Src/main.c **** { + 1726 .loc 1 2796 5 is_stmt 0 view .LVU560 + 1727 002e 012C cmp r4, #1 + 1728 0030 02D8 bhi .L101 +2798:Src/main.c **** } + 1729 .loc 1 2798 11 view .LVU561 + 1730 0032 0224 movs r4, #2 + 1731 .LVL169: +2798:Src/main.c **** } + 1732 .loc 1 2798 11 view .LVU562 + 1733 0034 03E0 b .L102 + 1734 .LVL170: + 1735 .L117: +2794:Src/main.c **** } + 1736 .loc 1 2794 11 view .LVU563 + 1737 0036 1024 movs r4, #16 + 1738 .LVL171: + 1739 .L101: +2800:Src/main.c **** { + 1740 .loc 1 2800 2 is_stmt 1 view .LVU564 +2800:Src/main.c **** { + 1741 .loc 1 2800 5 is_stmt 0 view .LVU565 + 1742 0038 B4F5805F cmp r4, #4096 + 1743 003c 04D8 bhi .L119 + 1744 .LVL172: + 1745 .L102: +2804:Src/main.c **** { + 1746 .loc 1 2804 2 is_stmt 1 view .LVU566 +2804:Src/main.c **** { + 1747 .loc 1 2804 5 is_stmt 0 view .LVU567 + 1748 003e 35B1 cbz r5, .L120 +2808:Src/main.c **** { + 1749 .loc 1 2808 2 is_stmt 1 view .LVU568 +2808:Src/main.c **** { + 1750 .loc 1 2808 5 is_stmt 0 view .LVU569 + 1751 0040 0F2D cmp r5, #15 + 1752 0042 05D9 bls .L103 +2810:Src/main.c **** } + 1753 .loc 1 2810 8 view .LVU570 + 1754 0044 0F25 movs r5, #15 + 1755 .LVL173: + ARM GAS /tmp/ccwR4KB7.s page 159 + + +2810:Src/main.c **** } + 1756 .loc 1 2810 8 view .LVU571 + 1757 0046 03E0 b .L103 + 1758 .LVL174: + 1759 .L119: +2802:Src/main.c **** } + 1760 .loc 1 2802 11 view .LVU572 + 1761 0048 4FF48054 mov r4, #4096 + 1762 .LVL175: +2802:Src/main.c **** } + 1763 .loc 1 2802 11 view .LVU573 + 1764 004c F7E7 b .L102 + 1765 .LVL176: + 1766 .L120: +2806:Src/main.c **** } + 1767 .loc 1 2806 8 view .LVU574 + 1768 004e 0125 movs r5, #1 + 1769 .LVL177: + 1770 .L103: +2813:Src/main.c **** ((AD9102_SRAM_PAT_PERIOD_BASE_DEFAULT & 0x0Fu) << 4) | + 1771 .loc 1 2813 2 is_stmt 1 view .LVU575 +2813:Src/main.c **** ((AD9102_SRAM_PAT_PERIOD_BASE_DEFAULT & 0x0Fu) << 4) | + 1772 .loc 1 2813 63 is_stmt 0 view .LVU576 + 1773 0050 2E02 lsls r6, r5, #8 + 1774 0052 06F47066 and r6, r6, #3840 +2813:Src/main.c **** ((AD9102_SRAM_PAT_PERIOD_BASE_DEFAULT & 0x0Fu) << 4) | + 1775 .loc 1 2813 11 view .LVU577 + 1776 0056 46F01106 orr r6, r6, #17 + 1777 .LVL178: +2816:Src/main.c **** if (pat_period == 0u) + 1778 .loc 1 2816 2 is_stmt 1 view .LVU578 +2816:Src/main.c **** if (pat_period == 0u) + 1779 .loc 1 2816 24 is_stmt 0 view .LVU579 + 1780 005a 0194 str r4, [sp, #4] +2816:Src/main.c **** if (pat_period == 0u) + 1781 .loc 1 2816 44 view .LVU580 + 1782 005c 05F00F05 and r5, r5, #15 + 1783 .LVL179: +2816:Src/main.c **** if (pat_period == 0u) + 1784 .loc 1 2816 11 view .LVU581 + 1785 0060 04FB05F5 mul r5, r4, r5 + 1786 .LVL180: +2817:Src/main.c **** { + 1787 .loc 1 2817 2 is_stmt 1 view .LVU582 +2817:Src/main.c **** { + 1788 .loc 1 2817 5 is_stmt 0 view .LVU583 + 1789 0064 1DB1 cbz r5, .L104 +2821:Src/main.c **** { + 1790 .loc 1 2821 2 is_stmt 1 view .LVU584 +2821:Src/main.c **** { + 1791 .loc 1 2821 5 is_stmt 0 view .LVU585 + 1792 0066 B5F5803F cmp r5, #65536 + 1793 006a 4CD2 bcs .L122 + 1794 006c 0195 str r5, [sp, #4] + 1795 .L104: + 1796 .LVL181: +2826:Src/main.c **** + ARM GAS /tmp/ccwR4KB7.s page 160 + + + 1797 .loc 1 2826 2 is_stmt 1 view .LVU586 +2826:Src/main.c **** + 1798 .loc 1 2826 43 is_stmt 0 view .LVU587 + 1799 006e 013C subs r4, r4, #1 + 1800 .LVL182: +2826:Src/main.c **** + 1801 .loc 1 2826 43 view .LVU588 + 1802 0070 A4B2 uxth r4, r4 +2826:Src/main.c **** + 1803 .loc 1 2826 11 view .LVU589 + 1804 0072 2401 lsls r4, r4, #4 + 1805 0074 A4B2 uxth r4, r4 + 1806 .LVL183: +2828:Src/main.c **** + 1807 .loc 1 2828 2 is_stmt 1 view .LVU590 +2830:Src/main.c **** { + 1808 .loc 1 2830 2 view .LVU591 +2830:Src/main.c **** { + 1809 .loc 1 2830 5 is_stmt 0 view .LVU592 + 1810 0076 BAF1000F cmp r10, #0 + 1811 007a 48D1 bne .L123 +2828:Src/main.c **** + 1812 .loc 1 2828 10 view .LVU593 + 1813 007c 0125 movs r5, #1 + 1814 .L105: + 1815 .LVL184: +2834:Src/main.c **** { + 1816 .loc 1 2834 2 is_stmt 1 view .LVU594 +2834:Src/main.c **** { + 1817 .loc 1 2834 5 is_stmt 0 view .LVU595 + 1818 007e 19F4F47F tst r9, #488 + 1819 0082 00D0 beq .L106 +2836:Src/main.c **** } + 1820 .loc 1 2836 6 view .LVU596 + 1821 0084 0025 movs r5, #0 + 1822 .LVL185: + 1823 .L106: +2838:Src/main.c **** { + 1824 .loc 1 2838 2 is_stmt 1 view .LVU597 +2838:Src/main.c **** { + 1825 .loc 1 2838 5 is_stmt 0 view .LVU598 + 1826 0086 18F40E6F tst r8, #2272 + 1827 008a 00D0 beq .L107 +2840:Src/main.c **** } + 1828 .loc 1 2840 6 view .LVU599 + 1829 008c 0025 movs r5, #0 + 1830 .LVL186: + 1831 .L107: +2842:Src/main.c **** { + 1832 .loc 1 2842 2 is_stmt 1 view .LVU600 +2842:Src/main.c **** { + 1833 .loc 1 2842 5 is_stmt 0 view .LVU601 + 1834 008e 10F03F0F tst r0, #63 + 1835 0092 00D0 beq .L108 +2844:Src/main.c **** } + 1836 .loc 1 2844 6 view .LVU602 + 1837 0094 0025 movs r5, #0 + ARM GAS /tmp/ccwR4KB7.s page 161 + + + 1838 .LVL187: + 1839 .L108: +2846:Src/main.c **** { + 1840 .loc 1 2846 2 is_stmt 1 view .LVU603 +2846:Src/main.c **** { + 1841 .loc 1 2846 5 is_stmt 0 view .LVU604 + 1842 0096 1FB1 cbz r7, .L109 +2846:Src/main.c **** { + 1843 .loc 1 2846 17 discriminator 1 view .LVU605 + 1844 0098 1BF0010F tst fp, #1 + 1845 009c 00D1 bne .L109 +2848:Src/main.c **** } + 1846 .loc 1 2848 6 view .LVU606 + 1847 009e 0025 movs r5, #0 + 1848 .LVL188: + 1849 .L109: +2851:Src/main.c **** { + 1850 .loc 1 2851 2 is_stmt 1 view .LVU607 +2851:Src/main.c **** { + 1851 .loc 1 2851 6 is_stmt 0 view .LVU608 + 1852 00a0 2720 movs r0, #39 + 1853 .LVL189: +2851:Src/main.c **** { + 1854 .loc 1 2851 6 view .LVU609 + 1855 00a2 FFF7FEFF bl AD9102_ReadReg + 1856 .LVL190: +2851:Src/main.c **** { + 1857 .loc 1 2851 5 discriminator 1 view .LVU610 + 1858 00a6 43F23003 movw r3, #12336 + 1859 00aa 9842 cmp r0, r3 + 1860 00ac 00D0 beq .L110 +2853:Src/main.c **** } + 1861 .loc 1 2853 6 view .LVU611 + 1862 00ae 0025 movs r5, #0 + 1863 .LVL191: + 1864 .L110: +2855:Src/main.c **** { + 1865 .loc 1 2855 2 is_stmt 1 view .LVU612 +2855:Src/main.c **** { + 1866 .loc 1 2855 6 is_stmt 0 view .LVU613 + 1867 00b0 2820 movs r0, #40 + 1868 00b2 FFF7FEFF bl AD9102_ReadReg + 1869 .LVL192: +2855:Src/main.c **** { + 1870 .loc 1 2855 5 discriminator 1 view .LVU614 + 1871 00b6 B042 cmp r0, r6 + 1872 00b8 00D0 beq .L111 +2857:Src/main.c **** } + 1873 .loc 1 2857 6 view .LVU615 + 1874 00ba 0025 movs r5, #0 + 1875 .LVL193: + 1876 .L111: +2859:Src/main.c **** { + 1877 .loc 1 2859 2 is_stmt 1 view .LVU616 +2859:Src/main.c **** { + 1878 .loc 1 2859 6 is_stmt 0 view .LVU617 + 1879 00bc 2920 movs r0, #41 + ARM GAS /tmp/ccwR4KB7.s page 162 + + + 1880 00be FFF7FEFF bl AD9102_ReadReg + 1881 .LVL194: +2859:Src/main.c **** { + 1882 .loc 1 2859 44 discriminator 1 view .LVU618 + 1883 00c2 BDF80430 ldrh r3, [sp, #4] +2859:Src/main.c **** { + 1884 .loc 1 2859 5 discriminator 1 view .LVU619 + 1885 00c6 9842 cmp r0, r3 + 1886 00c8 00D0 beq .L112 +2861:Src/main.c **** } + 1887 .loc 1 2861 6 view .LVU620 + 1888 00ca 0025 movs r5, #0 + 1889 .LVL195: + 1890 .L112: +2863:Src/main.c **** { + 1891 .loc 1 2863 2 is_stmt 1 view .LVU621 +2863:Src/main.c **** { + 1892 .loc 1 2863 6 is_stmt 0 view .LVU622 + 1893 00cc 1F20 movs r0, #31 + 1894 00ce FFF7FEFF bl AD9102_ReadReg + 1895 .LVL196: +2863:Src/main.c **** { + 1896 .loc 1 2863 5 discriminator 1 view .LVU623 + 1897 00d2 00B1 cbz r0, .L113 +2865:Src/main.c **** } + 1898 .loc 1 2865 6 view .LVU624 + 1899 00d4 0025 movs r5, #0 + 1900 .LVL197: + 1901 .L113: +2867:Src/main.c **** { + 1902 .loc 1 2867 2 is_stmt 1 view .LVU625 +2867:Src/main.c **** { + 1903 .loc 1 2867 6 is_stmt 0 view .LVU626 + 1904 00d6 5D20 movs r0, #93 + 1905 00d8 FFF7FEFF bl AD9102_ReadReg + 1906 .LVL198: +2867:Src/main.c **** { + 1907 .loc 1 2867 5 discriminator 1 view .LVU627 + 1908 00dc 00B1 cbz r0, .L114 +2869:Src/main.c **** } + 1909 .loc 1 2869 6 view .LVU628 + 1910 00de 0025 movs r5, #0 + 1911 .LVL199: + 1912 .L114: +2871:Src/main.c **** { + 1913 .loc 1 2871 2 is_stmt 1 view .LVU629 +2871:Src/main.c **** { + 1914 .loc 1 2871 6 is_stmt 0 view .LVU630 + 1915 00e0 5E20 movs r0, #94 + 1916 00e2 FFF7FEFF bl AD9102_ReadReg + 1917 .LVL200: +2871:Src/main.c **** { + 1918 .loc 1 2871 5 discriminator 1 view .LVU631 + 1919 00e6 A042 cmp r0, r4 + 1920 00e8 00D0 beq .L115 +2873:Src/main.c **** } + 1921 .loc 1 2873 6 view .LVU632 + ARM GAS /tmp/ccwR4KB7.s page 163 + + + 1922 00ea 0025 movs r5, #0 + 1923 .LVL201: + 1924 .L115: +2875:Src/main.c **** { + 1925 .loc 1 2875 2 is_stmt 1 view .LVU633 +2875:Src/main.c **** { + 1926 .loc 1 2875 6 is_stmt 0 view .LVU634 + 1927 00ec 2B20 movs r0, #43 + 1928 00ee FFF7FEFF bl AD9102_ReadReg + 1929 .LVL202: +2875:Src/main.c **** { + 1930 .loc 1 2875 5 discriminator 1 view .LVU635 + 1931 00f2 40F20113 movw r3, #257 + 1932 00f6 9842 cmp r0, r3 + 1933 00f8 00D0 beq .L116 +2877:Src/main.c **** } + 1934 .loc 1 2877 6 view .LVU636 + 1935 00fa 0025 movs r5, #0 + 1936 .LVL203: + 1937 .L116: +2880:Src/main.c **** } + 1938 .loc 1 2880 2 is_stmt 1 view .LVU637 +2881:Src/main.c **** + 1939 .loc 1 2881 1 is_stmt 0 view .LVU638 + 1940 00fc 85F00100 eor r0, r5, #1 + 1941 0100 03B0 add sp, sp, #12 + 1942 .LCFI18: + 1943 .cfi_remember_state + 1944 .cfi_def_cfa_offset 36 + 1945 @ sp needed + 1946 0102 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} + 1947 .LVL204: + 1948 .L122: + 1949 .LCFI19: + 1950 .cfi_restore_state +2823:Src/main.c **** } + 1951 .loc 1 2823 14 view .LVU639 + 1952 0106 4FF6FF73 movw r3, #65535 + 1953 010a 0193 str r3, [sp, #4] + 1954 010c AFE7 b .L104 + 1955 .LVL205: + 1956 .L123: +2832:Src/main.c **** } + 1957 .loc 1 2832 6 view .LVU640 + 1958 010e 0025 movs r5, #0 + 1959 0110 B5E7 b .L105 + 1960 .cfi_endproc + 1961 .LFE1219: + 1963 .section .text.AD9102_CheckFlags,"ax",%progbits + 1964 .align 1 + 1965 .syntax unified + 1966 .thumb + 1967 .thumb_func + 1969 AD9102_CheckFlags: + 1970 .LVL206: + 1971 .LFB1218: +2706:Src/main.c **** uint16_t spiconfig = AD9102_ReadReg(AD9102_REG_SPICONFIG); + ARM GAS /tmp/ccwR4KB7.s page 164 + + + 1972 .loc 1 2706 1 is_stmt 1 view -0 + 1973 .cfi_startproc + 1974 @ args = 8, pretend = 0, frame = 8 + 1975 @ frame_needed = 0, uses_anonymous_args = 0 +2706:Src/main.c **** uint16_t spiconfig = AD9102_ReadReg(AD9102_REG_SPICONFIG); + 1976 .loc 1 2706 1 is_stmt 0 view .LVU642 + 1977 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} + 1978 .LCFI20: + 1979 .cfi_def_cfa_offset 36 + 1980 .cfi_offset 4, -36 + 1981 .cfi_offset 5, -32 + 1982 .cfi_offset 6, -28 + 1983 .cfi_offset 7, -24 + 1984 .cfi_offset 8, -20 + 1985 .cfi_offset 9, -16 + 1986 .cfi_offset 10, -12 + 1987 .cfi_offset 11, -8 + 1988 .cfi_offset 14, -4 + 1989 0004 83B0 sub sp, sp, #12 + 1990 .LCFI21: + 1991 .cfi_def_cfa_offset 48 + 1992 0006 0190 str r0, [sp, #4] + 1993 0008 0F46 mov r7, r1 + 1994 000a 1546 mov r5, r2 + 1995 000c 1C46 mov r4, r3 + 1996 000e BDF834B0 ldrh fp, [sp, #52] +2707:Src/main.c **** uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); + 1997 .loc 1 2707 2 is_stmt 1 view .LVU643 +2707:Src/main.c **** uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); + 1998 .loc 1 2707 23 is_stmt 0 view .LVU644 + 1999 0012 0020 movs r0, #0 + 2000 .LVL207: +2707:Src/main.c **** uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); + 2001 .loc 1 2707 23 view .LVU645 + 2002 0014 FFF7FEFF bl AD9102_ReadReg + 2003 .LVL208: +2707:Src/main.c **** uint16_t powercfg = AD9102_ReadReg(AD9102_REG_POWERCONFIG); + 2004 .loc 1 2707 23 view .LVU646 + 2005 0018 8246 mov r10, r0 + 2006 .LVL209: +2708:Src/main.c **** uint16_t clockcfg = AD9102_ReadReg(AD9102_REG_CLOCKCONFIG); + 2007 .loc 1 2708 2 is_stmt 1 view .LVU647 +2708:Src/main.c **** uint16_t clockcfg = AD9102_ReadReg(AD9102_REG_CLOCKCONFIG); + 2008 .loc 1 2708 22 is_stmt 0 view .LVU648 + 2009 001a 0120 movs r0, #1 + 2010 001c FFF7FEFF bl AD9102_ReadReg + 2011 .LVL210: + 2012 0020 8146 mov r9, r0 + 2013 .LVL211: +2709:Src/main.c **** uint16_t cfg_err = AD9102_ReadReg(AD9102_REG_CFG_ERROR); + 2014 .loc 1 2709 2 is_stmt 1 view .LVU649 +2709:Src/main.c **** uint16_t cfg_err = AD9102_ReadReg(AD9102_REG_CFG_ERROR); + 2015 .loc 1 2709 22 is_stmt 0 view .LVU650 + 2016 0022 0220 movs r0, #2 + 2017 0024 FFF7FEFF bl AD9102_ReadReg + 2018 .LVL212: + 2019 0028 8046 mov r8, r0 + ARM GAS /tmp/ccwR4KB7.s page 165 + + + 2020 .LVL213: +2710:Src/main.c **** uint16_t pat_timebase = (uint16_t)(((AD9102_PAT_TIMEBASE_HOLD_DEFAULT & 0x0Fu) << 8) | + 2021 .loc 1 2710 2 is_stmt 1 view .LVU651 +2710:Src/main.c **** uint16_t pat_timebase = (uint16_t)(((AD9102_PAT_TIMEBASE_HOLD_DEFAULT & 0x0Fu) << 8) | + 2022 .loc 1 2710 21 is_stmt 0 view .LVU652 + 2023 002a 6020 movs r0, #96 + 2024 002c FFF7FEFF bl AD9102_ReadReg + 2025 .LVL214: +2711:Src/main.c **** ((pat_base & 0x0Fu) << 4) | + 2026 .loc 1 2711 2 is_stmt 1 view .LVU653 +2712:Src/main.c **** (AD9102_START_DELAY_BASE_DEFAULT & 0x0Fu)); + 2027 .loc 1 2712 57 is_stmt 0 view .LVU654 + 2028 0030 9DF83030 ldrb r3, [sp, #48] @ zero_extendqisi2 + 2029 0034 1B01 lsls r3, r3, #4 + 2030 0036 03F0F003 and r3, r3, #240 +2711:Src/main.c **** ((pat_base & 0x0Fu) << 4) | + 2031 .loc 1 2711 11 view .LVU655 + 2032 003a 40F20116 movw r6, #257 + 2033 003e 1E43 orrs r6, r6, r3 + 2034 .LVL215: +2715:Src/main.c **** { + 2035 .loc 1 2715 2 is_stmt 1 view .LVU656 +2715:Src/main.c **** { + 2036 .loc 1 2715 5 is_stmt 0 view .LVU657 + 2037 0040 1CB1 cbz r4, .L149 +2719:Src/main.c **** { + 2038 .loc 1 2719 2 is_stmt 1 view .LVU658 +2719:Src/main.c **** { + 2039 .loc 1 2719 5 is_stmt 0 view .LVU659 + 2040 0042 3F2C cmp r4, #63 + 2041 0044 02D9 bls .L137 +2721:Src/main.c **** } + 2042 .loc 1 2721 12 view .LVU660 + 2043 0046 3F24 movs r4, #63 + 2044 .LVL216: +2721:Src/main.c **** } + 2045 .loc 1 2721 12 view .LVU661 + 2046 0048 00E0 b .L137 + 2047 .LVL217: + 2048 .L149: +2717:Src/main.c **** } + 2049 .loc 1 2717 12 view .LVU662 + 2050 004a 0124 movs r4, #1 + 2051 .LVL218: + 2052 .L137: +2723:Src/main.c **** { + 2053 .loc 1 2723 2 is_stmt 1 view .LVU663 +2723:Src/main.c **** { + 2054 .loc 1 2723 5 is_stmt 0 view .LVU664 + 2055 004c BBF1000F cmp fp, #0 + 2056 0050 01D1 bne .L138 +2725:Src/main.c **** } + 2057 .loc 1 2725 14 view .LVU665 + 2058 0052 4FF6FF7B movw fp, #65535 + 2059 .L138: + 2060 .LVL219: +2727:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); + ARM GAS /tmp/ccwR4KB7.s page 166 + + + 2061 .loc 1 2727 2 is_stmt 1 view .LVU666 +2728:Src/main.c **** + 2062 .loc 1 2728 35 is_stmt 0 view .LVU667 + 2063 0056 05F00305 and r5, r5, #3 + 2064 .LVL220: +2727:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); + 2065 .loc 1 2727 71 view .LVU668 + 2066 005a A400 lsls r4, r4, #2 + 2067 .LVL221: +2727:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); + 2068 .loc 1 2727 71 view .LVU669 + 2069 005c E4B2 uxtb r4, r4 +2727:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); + 2070 .loc 1 2727 11 view .LVU670 + 2071 005e 2543 orrs r5, r5, r4 + 2072 .LVL222: +2730:Src/main.c **** + 2073 .loc 1 2730 2 is_stmt 1 view .LVU671 +2733:Src/main.c **** { + 2074 .loc 1 2733 2 view .LVU672 +2733:Src/main.c **** { + 2075 .loc 1 2733 5 is_stmt 0 view .LVU673 + 2076 0060 BAF1000F cmp r10, #0 + 2077 0064 36D1 bne .L152 +2730:Src/main.c **** + 2078 .loc 1 2730 10 view .LVU674 + 2079 0066 0124 movs r4, #1 + 2080 .L139: + 2081 .LVL223: +2739:Src/main.c **** { + 2082 .loc 1 2739 2 is_stmt 1 view .LVU675 +2739:Src/main.c **** { + 2083 .loc 1 2739 5 is_stmt 0 view .LVU676 + 2084 0068 19F4F47F tst r9, #488 + 2085 006c 00D0 beq .L140 +2741:Src/main.c **** } + 2086 .loc 1 2741 6 view .LVU677 + 2087 006e 0024 movs r4, #0 + 2088 .LVL224: + 2089 .L140: +2745:Src/main.c **** { + 2090 .loc 1 2745 2 is_stmt 1 view .LVU678 +2745:Src/main.c **** { + 2091 .loc 1 2745 5 is_stmt 0 view .LVU679 + 2092 0070 18F40E6F tst r8, #2272 + 2093 0074 00D0 beq .L141 +2747:Src/main.c **** } + 2094 .loc 1 2747 6 view .LVU680 + 2095 0076 0024 movs r4, #0 + 2096 .LVL225: + 2097 .L141: +2751:Src/main.c **** { + 2098 .loc 1 2751 2 is_stmt 1 view .LVU681 +2751:Src/main.c **** { + 2099 .loc 1 2751 5 is_stmt 0 view .LVU682 + 2100 0078 10F03F0F tst r0, #63 + 2101 007c 00D0 beq .L142 + ARM GAS /tmp/ccwR4KB7.s page 167 + + +2753:Src/main.c **** } + 2102 .loc 1 2753 6 view .LVU683 + 2103 007e 0024 movs r4, #0 + 2104 .LVL226: + 2105 .L142: +2756:Src/main.c **** { + 2106 .loc 1 2756 2 is_stmt 1 view .LVU684 +2756:Src/main.c **** { + 2107 .loc 1 2756 5 is_stmt 0 view .LVU685 + 2108 0080 27B1 cbz r7, .L143 +2756:Src/main.c **** { + 2109 .loc 1 2756 17 discriminator 1 view .LVU686 + 2110 0082 019B ldr r3, [sp, #4] + 2111 0084 13F0010F tst r3, #1 + 2112 0088 00D1 bne .L143 +2758:Src/main.c **** } + 2113 .loc 1 2758 6 view .LVU687 + 2114 008a 0024 movs r4, #0 + 2115 .LVL227: + 2116 .L143: +2761:Src/main.c **** { + 2117 .loc 1 2761 2 is_stmt 1 view .LVU688 +2761:Src/main.c **** { + 2118 .loc 1 2761 6 is_stmt 0 view .LVU689 + 2119 008c 2720 movs r0, #39 + 2120 .LVL228: +2761:Src/main.c **** { + 2121 .loc 1 2761 6 view .LVU690 + 2122 008e FFF7FEFF bl AD9102_ReadReg + 2123 .LVL229: +2761:Src/main.c **** { + 2124 .loc 1 2761 5 discriminator 1 view .LVU691 + 2125 0092 43F21223 movw r3, #12818 + 2126 0096 9842 cmp r0, r3 + 2127 0098 00D0 beq .L144 +2763:Src/main.c **** } + 2128 .loc 1 2763 6 view .LVU692 + 2129 009a 0024 movs r4, #0 + 2130 .LVL230: + 2131 .L144: +2765:Src/main.c **** { + 2132 .loc 1 2765 2 is_stmt 1 view .LVU693 +2765:Src/main.c **** { + 2133 .loc 1 2765 6 is_stmt 0 view .LVU694 + 2134 009c 2820 movs r0, #40 + 2135 009e FFF7FEFF bl AD9102_ReadReg + 2136 .LVL231: +2765:Src/main.c **** { + 2137 .loc 1 2765 5 discriminator 1 view .LVU695 + 2138 00a2 B042 cmp r0, r6 + 2139 00a4 00D0 beq .L145 +2767:Src/main.c **** } + 2140 .loc 1 2767 6 view .LVU696 + 2141 00a6 0024 movs r4, #0 + 2142 .LVL232: + 2143 .L145: +2769:Src/main.c **** { + ARM GAS /tmp/ccwR4KB7.s page 168 + + + 2144 .loc 1 2769 2 is_stmt 1 view .LVU697 +2769:Src/main.c **** { + 2145 .loc 1 2769 6 is_stmt 0 view .LVU698 + 2146 00a8 2920 movs r0, #41 + 2147 00aa FFF7FEFF bl AD9102_ReadReg + 2148 .LVL233: +2769:Src/main.c **** { + 2149 .loc 1 2769 5 discriminator 1 view .LVU699 + 2150 00ae 5845 cmp r0, fp + 2151 00b0 00D0 beq .L146 +2771:Src/main.c **** } + 2152 .loc 1 2771 6 view .LVU700 + 2153 00b2 0024 movs r4, #0 + 2154 .LVL234: + 2155 .L146: +2773:Src/main.c **** { + 2156 .loc 1 2773 2 is_stmt 1 view .LVU701 +2773:Src/main.c **** { + 2157 .loc 1 2773 6 is_stmt 0 view .LVU702 + 2158 00b4 1F20 movs r0, #31 + 2159 00b6 FFF7FEFF bl AD9102_ReadReg + 2160 .LVL235: +2773:Src/main.c **** { + 2161 .loc 1 2773 5 discriminator 1 view .LVU703 + 2162 00ba 00B1 cbz r0, .L147 +2775:Src/main.c **** } + 2163 .loc 1 2775 6 view .LVU704 + 2164 00bc 0024 movs r4, #0 + 2165 .LVL236: + 2166 .L147: +2777:Src/main.c **** { + 2167 .loc 1 2777 2 is_stmt 1 view .LVU705 +2777:Src/main.c **** { + 2168 .loc 1 2777 6 is_stmt 0 view .LVU706 + 2169 00be 3720 movs r0, #55 + 2170 00c0 FFF7FEFF bl AD9102_ReadReg + 2171 .LVL237: +2777:Src/main.c **** { + 2172 .loc 1 2777 5 discriminator 1 view .LVU707 + 2173 00c4 A842 cmp r0, r5 + 2174 00c6 00D0 beq .L148 +2779:Src/main.c **** } + 2175 .loc 1 2779 6 view .LVU708 + 2176 00c8 0024 movs r4, #0 + 2177 .LVL238: + 2178 .L148: +2782:Src/main.c **** } + 2179 .loc 1 2782 2 is_stmt 1 view .LVU709 +2783:Src/main.c **** + 2180 .loc 1 2783 1 is_stmt 0 view .LVU710 + 2181 00ca 84F00100 eor r0, r4, #1 + 2182 00ce 03B0 add sp, sp, #12 + 2183 .LCFI22: + 2184 .cfi_remember_state + 2185 .cfi_def_cfa_offset 36 + 2186 @ sp needed + 2187 00d0 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} + ARM GAS /tmp/ccwR4KB7.s page 169 + + + 2188 .LVL239: + 2189 .L152: + 2190 .LCFI23: + 2191 .cfi_restore_state +2735:Src/main.c **** } + 2192 .loc 1 2735 6 view .LVU711 + 2193 00d4 0024 movs r4, #0 + 2194 00d6 C7E7 b .L139 + 2195 .cfi_endproc + 2196 .LFE1218: + 2198 .section .text.AD9102_ApplySram,"ax",%progbits + 2199 .align 1 + 2200 .syntax unified + 2201 .thumb + 2202 .thumb_func + 2204 AD9102_ApplySram: + 2205 .LVL240: + 2206 .LFB1217: +2638:Src/main.c **** if (samples == 0u) + 2207 .loc 1 2638 1 is_stmt 1 view -0 + 2208 .cfi_startproc + 2209 @ args = 0, pretend = 0, frame = 8 + 2210 @ frame_needed = 0, uses_anonymous_args = 0 +2638:Src/main.c **** if (samples == 0u) + 2211 .loc 1 2638 1 is_stmt 0 view .LVU713 + 2212 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} + 2213 .LCFI24: + 2214 .cfi_def_cfa_offset 24 + 2215 .cfi_offset 4, -24 + 2216 .cfi_offset 5, -20 + 2217 .cfi_offset 6, -16 + 2218 .cfi_offset 7, -12 + 2219 .cfi_offset 8, -8 + 2220 .cfi_offset 14, -4 + 2221 0004 82B0 sub sp, sp, #8 + 2222 .LCFI25: + 2223 .cfi_def_cfa_offset 32 + 2224 0006 0546 mov r5, r0 + 2225 0008 1E46 mov r6, r3 +2639:Src/main.c **** { + 2226 .loc 1 2639 2 is_stmt 1 view .LVU714 +2639:Src/main.c **** { + 2227 .loc 1 2639 5 is_stmt 0 view .LVU715 + 2228 000a 21B1 cbz r1, .L172 + 2229 000c 0C46 mov r4, r1 +2643:Src/main.c **** { + 2230 .loc 1 2643 2 is_stmt 1 view .LVU716 +2643:Src/main.c **** { + 2231 .loc 1 2643 5 is_stmt 0 view .LVU717 + 2232 000e 0129 cmp r1, #1 + 2233 0010 02D8 bhi .L164 +2645:Src/main.c **** } + 2234 .loc 1 2645 11 view .LVU718 + 2235 0012 0224 movs r4, #2 + 2236 0014 03E0 b .L165 + 2237 .L172: +2641:Src/main.c **** } + ARM GAS /tmp/ccwR4KB7.s page 170 + + + 2238 .loc 1 2641 11 view .LVU719 + 2239 0016 1024 movs r4, #16 + 2240 .L164: + 2241 .LVL241: +2647:Src/main.c **** { + 2242 .loc 1 2647 2 is_stmt 1 view .LVU720 +2647:Src/main.c **** { + 2243 .loc 1 2647 5 is_stmt 0 view .LVU721 + 2244 0018 B4F5805F cmp r4, #4096 + 2245 001c 04D8 bhi .L174 + 2246 .LVL242: + 2247 .L165: +2651:Src/main.c **** { + 2248 .loc 1 2651 2 is_stmt 1 view .LVU722 +2651:Src/main.c **** { + 2249 .loc 1 2651 5 is_stmt 0 view .LVU723 + 2250 001e 32B1 cbz r2, .L175 +2655:Src/main.c **** { + 2251 .loc 1 2655 2 is_stmt 1 view .LVU724 +2655:Src/main.c **** { + 2252 .loc 1 2655 5 is_stmt 0 view .LVU725 + 2253 0020 0F2A cmp r2, #15 + 2254 0022 05D9 bls .L166 +2657:Src/main.c **** } + 2255 .loc 1 2657 8 view .LVU726 + 2256 0024 0F22 movs r2, #15 + 2257 .LVL243: +2657:Src/main.c **** } + 2258 .loc 1 2657 8 view .LVU727 + 2259 0026 03E0 b .L166 + 2260 .LVL244: + 2261 .L174: +2649:Src/main.c **** } + 2262 .loc 1 2649 11 view .LVU728 + 2263 0028 4FF48054 mov r4, #4096 + 2264 .LVL245: +2649:Src/main.c **** } + 2265 .loc 1 2649 11 view .LVU729 + 2266 002c F7E7 b .L165 + 2267 .LVL246: + 2268 .L175: +2653:Src/main.c **** } + 2269 .loc 1 2653 8 view .LVU730 + 2270 002e 0122 movs r2, #1 + 2271 .LVL247: + 2272 .L166: +2660:Src/main.c **** ((AD9102_SRAM_PAT_PERIOD_BASE_DEFAULT & 0x0Fu) << 4) | + 2273 .loc 1 2660 2 is_stmt 1 view .LVU731 +2660:Src/main.c **** ((AD9102_SRAM_PAT_PERIOD_BASE_DEFAULT & 0x0Fu) << 4) | + 2274 .loc 1 2660 63 is_stmt 0 view .LVU732 + 2275 0030 1702 lsls r7, r2, #8 + 2276 0032 07F47067 and r7, r7, #3840 +2660:Src/main.c **** ((AD9102_SRAM_PAT_PERIOD_BASE_DEFAULT & 0x0Fu) << 4) | + 2277 .loc 1 2660 11 view .LVU733 + 2278 0036 47F01107 orr r7, r7, #17 + 2279 .LVL248: +2663:Src/main.c **** if (pat_period == 0u) + ARM GAS /tmp/ccwR4KB7.s page 171 + + + 2280 .loc 1 2663 2 is_stmt 1 view .LVU734 +2663:Src/main.c **** if (pat_period == 0u) + 2281 .loc 1 2663 24 is_stmt 0 view .LVU735 + 2282 003a A046 mov r8, r4 +2663:Src/main.c **** if (pat_period == 0u) + 2283 .loc 1 2663 44 view .LVU736 + 2284 003c 02F00F02 and r2, r2, #15 + 2285 .LVL249: +2663:Src/main.c **** if (pat_period == 0u) + 2286 .loc 1 2663 11 view .LVU737 + 2287 0040 04FB02F2 mul r2, r4, r2 + 2288 .LVL250: +2664:Src/main.c **** { + 2289 .loc 1 2664 2 is_stmt 1 view .LVU738 +2664:Src/main.c **** { + 2290 .loc 1 2664 5 is_stmt 0 view .LVU739 + 2291 0044 1AB1 cbz r2, .L167 +2668:Src/main.c **** { + 2292 .loc 1 2668 2 is_stmt 1 view .LVU740 +2668:Src/main.c **** { + 2293 .loc 1 2668 5 is_stmt 0 view .LVU741 + 2294 0046 B2F5803F cmp r2, #65536 + 2295 004a 4DD2 bcs .L177 + 2296 004c 9046 mov r8, r2 + 2297 .L167: + 2298 .LVL251: +2673:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u); + 2299 .loc 1 2673 2 is_stmt 1 view .LVU742 + 2300 004e 4221 movs r1, #66 + 2301 0050 3648 ldr r0, .L179 + 2302 .LVL252: +2673:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, 0x0000u); + 2303 .loc 1 2673 2 is_stmt 0 view .LVU743 + 2304 0052 FFF7FEFF bl AD9102_WriteRegTable 2305 .LVL253: - 2306 .L149: -2702:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2307 .loc 1 2702 20 is_stmt 1 discriminator 2 view .LVU704 -2702:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2308 .loc 1 2702 25 is_stmt 0 discriminator 2 view .LVU705 - 2309 00e6 0133 adds r3, r3, #1 +2674:Src/main.c **** AD9102_WriteReg(AD9102_REG_WAV_CONFIG, AD9102_EX2_WAV_CONFIG); + 2306 .loc 1 2674 2 is_stmt 1 view .LVU744 + 2307 0056 0021 movs r1, #0 + 2308 0058 1E20 movs r0, #30 + 2309 005a FFF7FEFF bl AD9102_WriteReg 2310 .LVL254: - 2311 .L148: -2702:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2312 .loc 1 2702 14 is_stmt 1 discriminator 1 view .LVU706 - 2313 00e8 B3F5FA7F cmp r3, #500 - 2314 00ec FBD3 bcc .L149 -2704:Src/main.c **** tmp32 = 0; - 2315 .loc 1 2704 3 view .LVU707 - 2316 .LVL255: - 2317 .LBB385: - 2318 .LBI385: +2675:Src/main.c **** AD9102_WriteReg(AD9102_REG_SAW_CONFIG, AD9102_EX2_SAW_CONFIG); + 2311 .loc 1 2675 2 view .LVU745 + 2312 005e 43F23001 movw r1, #12336 + 2313 0062 2720 movs r0, #39 + 2314 0064 FFF7FEFF bl AD9102_WriteReg + 2315 .LVL255: +2676:Src/main.c **** AD9102_WriteReg(AD9102_REG_DAC_PAT, AD9102_EX2_DAC_PAT); + 2316 .loc 1 2676 2 view .LVU746 + 2317 0068 4FF40071 mov r1, #512 + 2318 006c 3720 movs r0, #55 + 2319 006e FFF7FEFF bl AD9102_WriteReg + 2320 .LVL256: +2677:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_TIMEBASE, pat_timebase); + 2321 .loc 1 2677 2 view .LVU747 + 2322 0072 40F20111 movw r1, #257 + 2323 0076 2B20 movs r0, #43 + ARM GAS /tmp/ccwR4KB7.s page 172 + + + 2324 0078 FFF7FEFF bl AD9102_WriteReg + 2325 .LVL257: +2678:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_PERIOD, (uint16_t)pat_period); + 2326 .loc 1 2678 2 view .LVU748 + 2327 007c 3946 mov r1, r7 + 2328 007e 2820 movs r0, #40 + 2329 0080 FFF7FEFF bl AD9102_WriteReg + 2330 .LVL258: +2679:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_TYPE, 0x0000u); // continuous pattern repeat + 2331 .loc 1 2679 2 view .LVU749 + 2332 0084 1FFA88F1 uxth r1, r8 + 2333 0088 2920 movs r0, #41 + 2334 008a FFF7FEFF bl AD9102_WriteReg + 2335 .LVL259: +2680:Src/main.c **** AD9102_WriteReg(AD9102_REG_START_DLY, AD9102_SRAM_START_DLY_DEFAULT); + 2336 .loc 1 2680 2 view .LVU750 + 2337 008e 0021 movs r1, #0 + 2338 0090 1F20 movs r0, #31 + 2339 0092 FFF7FEFF bl AD9102_WriteReg + 2340 .LVL260: +2681:Src/main.c **** AD9102_WriteReg(AD9102_REG_START_ADDR, 0x0000u); + 2341 .loc 1 2681 2 view .LVU751 + 2342 0096 0021 movs r1, #0 + 2343 0098 5C20 movs r0, #92 + 2344 009a FFF7FEFF bl AD9102_WriteReg + 2345 .LVL261: +2682:Src/main.c **** AD9102_WriteReg(AD9102_REG_STOP_ADDR, (uint16_t)((samples - 1u) << 4)); + 2346 .loc 1 2682 2 view .LVU752 + 2347 009e 0021 movs r1, #0 + 2348 00a0 5D20 movs r0, #93 + 2349 00a2 FFF7FEFF bl AD9102_WriteReg + 2350 .LVL262: +2683:Src/main.c **** AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); + 2351 .loc 1 2683 2 view .LVU753 +2683:Src/main.c **** AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); + 2352 .loc 1 2683 60 is_stmt 0 view .LVU754 + 2353 00a6 611E subs r1, r4, #1 + 2354 00a8 89B2 uxth r1, r1 +2683:Src/main.c **** AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); + 2355 .loc 1 2683 2 view .LVU755 + 2356 00aa 0901 lsls r1, r1, #4 + 2357 00ac 89B2 uxth r1, r1 + 2358 00ae 5E20 movs r0, #94 + 2359 00b0 FFF7FEFF bl AD9102_WriteReg + 2360 .LVL263: +2684:Src/main.c **** + 2361 .loc 1 2684 2 is_stmt 1 view .LVU756 + 2362 00b4 0121 movs r1, #1 + 2363 00b6 1D20 movs r0, #29 + 2364 00b8 FFF7FEFF bl AD9102_WriteReg + 2365 .LVL264: +2686:Src/main.c **** + 2366 .loc 1 2686 2 view .LVU757 + 2367 00bc 3146 mov r1, r6 + 2368 00be 2046 mov r0, r4 + 2369 00c0 FFF7FEFF bl AD9102_LoadSramRamp + 2370 .LVL265: + ARM GAS /tmp/ccwR4KB7.s page 173 + + +2688:Src/main.c **** { + 2371 .loc 1 2688 2 view .LVU758 +2688:Src/main.c **** { + 2372 .loc 1 2688 5 is_stmt 0 view .LVU759 + 2373 00c4 35B3 cbz r5, .L168 +2690:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, AD9102_PAT_STATUS_RUN); + 2374 .loc 1 2690 3 is_stmt 1 view .LVU760 + 2375 00c6 0122 movs r2, #1 + 2376 00c8 4FF40061 mov r1, #2048 + 2377 00cc 1848 ldr r0, .L179+4 + 2378 00ce FFF7FEFF bl HAL_GPIO_WritePin + 2379 .LVL266: +2691:Src/main.c **** AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); + 2380 .loc 1 2691 3 view .LVU761 + 2381 00d2 0121 movs r1, #1 + 2382 00d4 1E20 movs r0, #30 + 2383 00d6 FFF7FEFF bl AD9102_WriteReg + 2384 .LVL267: +2692:Src/main.c **** for (volatile uint32_t d = 0; d < 1000; d++) {} + 2385 .loc 1 2692 3 view .LVU762 + 2386 00da 0121 movs r1, #1 + 2387 00dc 1D20 movs r0, #29 + 2388 00de FFF7FEFF bl AD9102_WriteReg + 2389 .LVL268: +2693:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + 2390 .loc 1 2693 3 view .LVU763 + 2391 .LBB387: +2693:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + 2392 .loc 1 2693 8 view .LVU764 +2693:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + 2393 .loc 1 2693 26 is_stmt 0 view .LVU765 + 2394 00e2 0023 movs r3, #0 + 2395 00e4 0193 str r3, [sp, #4] +2693:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + 2396 .loc 1 2693 3 view .LVU766 + 2397 00e6 05E0 b .L169 + 2398 .LVL269: + 2399 .L177: +2693:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + 2400 .loc 1 2693 3 view .LVU767 + 2401 .LBE387: +2670:Src/main.c **** } + 2402 .loc 1 2670 14 view .LVU768 + 2403 00e8 4FF6FF78 movw r8, #65535 + 2404 00ec AFE7 b .L167 + 2405 .LVL270: + 2406 .L170: + 2407 .LBB388: +2693:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + 2408 .loc 1 2693 49 is_stmt 1 discriminator 3 view .LVU769 +2693:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + 2409 .loc 1 2693 44 discriminator 3 view .LVU770 + 2410 00ee 019B ldr r3, [sp, #4] + 2411 00f0 0133 adds r3, r3, #1 + 2412 00f2 0193 str r3, [sp, #4] + 2413 .L169: +2693:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + ARM GAS /tmp/ccwR4KB7.s page 174 + + + 2414 .loc 1 2693 35 discriminator 1 view .LVU771 + 2415 00f4 019B ldr r3, [sp, #4] + 2416 00f6 B3F57A7F cmp r3, #1000 + 2417 00fa F8D3 bcc .L170 + 2418 .LBE388: +2694:Src/main.c **** } + 2419 .loc 1 2694 3 view .LVU772 + 2420 00fc 0022 movs r2, #0 + 2421 00fe 4FF40061 mov r1, #2048 + 2422 0102 0B48 ldr r0, .L179+4 + 2423 0104 FFF7FEFF bl HAL_GPIO_WritePin + 2424 .LVL271: + 2425 .L171: +2702:Src/main.c **** } + 2426 .loc 1 2702 2 view .LVU773 +2702:Src/main.c **** } + 2427 .loc 1 2702 9 is_stmt 0 view .LVU774 + 2428 0108 1E20 movs r0, #30 + 2429 010a FFF7FEFF bl AD9102_ReadReg + 2430 .LVL272: +2703:Src/main.c **** + 2431 .loc 1 2703 1 view .LVU775 + 2432 010e 02B0 add sp, sp, #8 + 2433 .LCFI26: + 2434 .cfi_remember_state + 2435 .cfi_def_cfa_offset 24 + 2436 @ sp needed + 2437 0110 BDE8F081 pop {r4, r5, r6, r7, r8, pc} + 2438 .LVL273: + 2439 .L168: + 2440 .LCFI27: + 2441 .cfi_restore_state +2698:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); + 2442 .loc 1 2698 3 is_stmt 1 view .LVU776 + 2443 0114 0021 movs r1, #0 + 2444 0116 1E20 movs r0, #30 + 2445 0118 FFF7FEFF bl AD9102_WriteReg + 2446 .LVL274: +2699:Src/main.c **** } + 2447 .loc 1 2699 3 view .LVU777 + 2448 011c 0122 movs r2, #1 + 2449 011e 4FF40061 mov r1, #2048 + 2450 0122 0348 ldr r0, .L179+4 + 2451 0124 FFF7FEFF bl HAL_GPIO_WritePin + 2452 .LVL275: + 2453 0128 EEE7 b .L171 + 2454 .L180: + 2455 012a 00BF .align 2 + 2456 .L179: + 2457 012c 00000000 .word ad9102_example2_regval + 2458 0130 000C0240 .word 1073875968 + 2459 .cfi_endproc + 2460 .LFE1217: + 2462 .section .text.AD9102_Apply,"ax",%progbits + 2463 .align 1 + 2464 .syntax unified + 2465 .thumb + ARM GAS /tmp/ccwR4KB7.s page 175 + + + 2466 .thumb_func + 2468 AD9102_Apply: + 2469 .LVL276: + 2470 .LFB1215: +2531:Src/main.c **** if (enable) + 2471 .loc 1 2531 1 view -0 + 2472 .cfi_startproc + 2473 @ args = 4, pretend = 0, frame = 8 + 2474 @ frame_needed = 0, uses_anonymous_args = 0 +2531:Src/main.c **** if (enable) + 2475 .loc 1 2531 1 is_stmt 0 view .LVU779 + 2476 0000 30B5 push {r4, r5, lr} + 2477 .LCFI28: + 2478 .cfi_def_cfa_offset 12 + 2479 .cfi_offset 4, -12 + 2480 .cfi_offset 5, -8 + 2481 .cfi_offset 14, -4 + 2482 0002 83B0 sub sp, sp, #12 + 2483 .LCFI29: + 2484 .cfi_def_cfa_offset 24 +2532:Src/main.c **** { + 2485 .loc 1 2532 2 is_stmt 1 view .LVU780 +2532:Src/main.c **** { + 2486 .loc 1 2532 5 is_stmt 0 view .LVU781 + 2487 0004 0029 cmp r1, #0 + 2488 0006 4AD0 beq .L182 + 2489 .LBB389: +2534:Src/main.c **** uint16_t pat_timebase; + 2490 .loc 1 2534 3 is_stmt 1 view .LVU782 +2535:Src/main.c **** + 2491 .loc 1 2535 3 view .LVU783 +2537:Src/main.c **** { + 2492 .loc 1 2537 3 view .LVU784 +2537:Src/main.c **** { + 2493 .loc 1 2537 6 is_stmt 0 view .LVU785 + 2494 0008 1AB1 cbz r2, .L187 +2541:Src/main.c **** { + 2495 .loc 1 2541 3 is_stmt 1 view .LVU786 +2541:Src/main.c **** { + 2496 .loc 1 2541 6 is_stmt 0 view .LVU787 + 2497 000a 3F2A cmp r2, #63 + 2498 000c 02D9 bls .L183 +2543:Src/main.c **** } + 2499 .loc 1 2543 13 view .LVU788 + 2500 000e 3F22 movs r2, #63 + 2501 .LVL277: +2543:Src/main.c **** } + 2502 .loc 1 2543 13 view .LVU789 + 2503 0010 00E0 b .L183 + 2504 .LVL278: + 2505 .L187: +2539:Src/main.c **** } + 2506 .loc 1 2539 13 view .LVU790 + 2507 0012 0122 movs r2, #1 + 2508 .LVL279: + 2509 .L183: +2545:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); + ARM GAS /tmp/ccwR4KB7.s page 176 + + + 2510 .loc 1 2545 3 is_stmt 1 view .LVU791 +2546:Src/main.c **** pat_timebase = (uint16_t)(((AD9102_PAT_TIMEBASE_HOLD_DEFAULT & 0x0Fu) << 8) | + 2511 .loc 1 2546 25 is_stmt 0 view .LVU792 + 2512 0014 00F00300 and r0, r0, #3 + 2513 .LVL280: +2545:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); + 2514 .loc 1 2545 60 view .LVU793 + 2515 0018 9200 lsls r2, r2, #2 + 2516 .LVL281: +2545:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); + 2517 .loc 1 2545 60 view .LVU794 + 2518 001a D2B2 uxtb r2, r2 +2545:Src/main.c **** ((uint16_t)(saw_type & 0x3u))); + 2519 .loc 1 2545 11 view .LVU795 + 2520 001c 40EA0204 orr r4, r0, r2 + 2521 .LVL282: +2547:Src/main.c **** ((pat_base & 0x0Fu) << 4) | + 2522 .loc 1 2547 3 is_stmt 1 view .LVU796 +2548:Src/main.c **** (AD9102_START_DELAY_BASE_DEFAULT & 0x0Fu)); + 2523 .loc 1 2548 49 is_stmt 0 view .LVU797 + 2524 0020 1B01 lsls r3, r3, #4 + 2525 .LVL283: +2548:Src/main.c **** (AD9102_START_DELAY_BASE_DEFAULT & 0x0Fu)); + 2526 .loc 1 2548 49 view .LVU798 + 2527 0022 03F0F003 and r3, r3, #240 +2547:Src/main.c **** ((pat_base & 0x0Fu) << 4) | + 2528 .loc 1 2547 16 view .LVU799 + 2529 0026 40F20115 movw r5, #257 + 2530 002a 1D43 orrs r5, r5, r3 + 2531 .LVL284: +2551:Src/main.c **** AD9102_WriteReg(AD9102_REG_SAW_CONFIG, saw_cfg); + 2532 .loc 1 2551 3 is_stmt 1 view .LVU800 + 2533 002c 43F21221 movw r1, #12818 + 2534 .LVL285: +2551:Src/main.c **** AD9102_WriteReg(AD9102_REG_SAW_CONFIG, saw_cfg); + 2535 .loc 1 2551 3 is_stmt 0 view .LVU801 + 2536 0030 2720 movs r0, #39 + 2537 0032 FFF7FEFF bl AD9102_WriteReg + 2538 .LVL286: +2552:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_TIMEBASE, pat_timebase); + 2539 .loc 1 2552 3 is_stmt 1 view .LVU802 + 2540 0036 2146 mov r1, r4 + 2541 0038 3720 movs r0, #55 + 2542 003a FFF7FEFF bl AD9102_WriteReg + 2543 .LVL287: +2553:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_PERIOD, pat_period); + 2544 .loc 1 2553 3 view .LVU803 + 2545 003e 2946 mov r1, r5 + 2546 0040 2820 movs r0, #40 + 2547 0042 FFF7FEFF bl AD9102_WriteReg + 2548 .LVL288: +2554:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_TYPE, 0x0000u); // continuous pattern repeat + 2549 .loc 1 2554 3 view .LVU804 + 2550 0046 BDF81810 ldrh r1, [sp, #24] + 2551 004a 2920 movs r0, #41 + 2552 004c FFF7FEFF bl AD9102_WriteReg + 2553 .LVL289: + ARM GAS /tmp/ccwR4KB7.s page 177 + + +2555:Src/main.c **** + 2554 .loc 1 2555 3 view .LVU805 + 2555 0050 0021 movs r1, #0 + 2556 0052 1F20 movs r0, #31 + 2557 0054 FFF7FEFF bl AD9102_WriteReg + 2558 .LVL290: +2559:Src/main.c **** AD9102_WriteReg(AD9102_REG_PAT_STATUS, AD9102_PAT_STATUS_RUN); + 2559 .loc 1 2559 3 view .LVU806 + 2560 0058 0122 movs r2, #1 + 2561 005a 4FF40061 mov r1, #2048 + 2562 005e 1548 ldr r0, .L190 + 2563 0060 FFF7FEFF bl HAL_GPIO_WritePin + 2564 .LVL291: +2560:Src/main.c **** AD9102_WriteReg(AD9102_REG_RAMUPDATE, 0x0001u); + 2565 .loc 1 2560 3 view .LVU807 + 2566 0064 0121 movs r1, #1 + 2567 0066 1E20 movs r0, #30 + 2568 0068 FFF7FEFF bl AD9102_WriteReg + 2569 .LVL292: +2561:Src/main.c **** for (volatile uint32_t d = 0; d < 1000; d++) {} + 2570 .loc 1 2561 3 view .LVU808 + 2571 006c 0121 movs r1, #1 + 2572 006e 1D20 movs r0, #29 + 2573 0070 FFF7FEFF bl AD9102_WriteReg + 2574 .LVL293: +2562:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + 2575 .loc 1 2562 3 view .LVU809 + 2576 .LBB390: +2562:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + 2577 .loc 1 2562 8 view .LVU810 +2562:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + 2578 .loc 1 2562 26 is_stmt 0 view .LVU811 + 2579 0074 0023 movs r3, #0 + 2580 0076 0193 str r3, [sp, #4] +2562:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + 2581 .loc 1 2562 3 view .LVU812 + 2582 0078 02E0 b .L184 + 2583 .L185: +2562:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + 2584 .loc 1 2562 49 is_stmt 1 discriminator 3 view .LVU813 +2562:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + 2585 .loc 1 2562 44 discriminator 3 view .LVU814 + 2586 007a 019B ldr r3, [sp, #4] + 2587 007c 0133 adds r3, r3, #1 + 2588 007e 0193 str r3, [sp, #4] + 2589 .L184: +2562:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_RESET); + 2590 .loc 1 2562 35 discriminator 1 view .LVU815 + 2591 0080 019B ldr r3, [sp, #4] + 2592 0082 B3F57A7F cmp r3, #1000 + 2593 0086 F8D3 bcc .L185 + 2594 .LBE390: +2563:Src/main.c **** } + 2595 .loc 1 2563 3 view .LVU816 + 2596 0088 0022 movs r2, #0 + 2597 008a 4FF40061 mov r1, #2048 + 2598 008e 0948 ldr r0, .L190 + ARM GAS /tmp/ccwR4KB7.s page 178 + + + 2599 0090 FFF7FEFF bl HAL_GPIO_WritePin + 2600 .LVL294: + 2601 .L186: +2563:Src/main.c **** } + 2602 .loc 1 2563 3 is_stmt 0 view .LVU817 + 2603 .LBE389: +2571:Src/main.c **** } + 2604 .loc 1 2571 2 is_stmt 1 view .LVU818 +2571:Src/main.c **** } + 2605 .loc 1 2571 9 is_stmt 0 view .LVU819 + 2606 0094 1E20 movs r0, #30 + 2607 0096 FFF7FEFF bl AD9102_ReadReg + 2608 .LVL295: +2572:Src/main.c **** + 2609 .loc 1 2572 1 view .LVU820 + 2610 009a 03B0 add sp, sp, #12 + 2611 .LCFI30: + 2612 .cfi_remember_state + 2613 .cfi_def_cfa_offset 12 + 2614 @ sp needed + 2615 009c 30BD pop {r4, r5, pc} + 2616 .LVL296: + 2617 .L182: + 2618 .LCFI31: + 2619 .cfi_restore_state +2567:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); + 2620 .loc 1 2567 3 is_stmt 1 view .LVU821 + 2621 009e 0021 movs r1, #0 + 2622 .LVL297: +2567:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); + 2623 .loc 1 2567 3 is_stmt 0 view .LVU822 + 2624 00a0 1E20 movs r0, #30 + 2625 .LVL298: +2567:Src/main.c **** HAL_GPIO_WritePin(AD9102_TRIG_GPIO_Port, AD9102_TRIG_Pin, GPIO_PIN_SET); + 2626 .loc 1 2567 3 view .LVU823 + 2627 00a2 FFF7FEFF bl AD9102_WriteReg + 2628 .LVL299: +2568:Src/main.c **** } + 2629 .loc 1 2568 3 is_stmt 1 view .LVU824 + 2630 00a6 0122 movs r2, #1 + 2631 00a8 4FF40061 mov r1, #2048 + 2632 00ac 0148 ldr r0, .L190 + 2633 00ae FFF7FEFF bl HAL_GPIO_WritePin + 2634 .LVL300: + 2635 00b2 EFE7 b .L186 + 2636 .L191: + 2637 .align 2 + 2638 .L190: + 2639 00b4 000C0240 .word 1073875968 + 2640 .cfi_endproc + 2641 .LFE1215: + 2643 .section .text.OUT_trigger,"ax",%progbits + 2644 .align 1 + 2645 .syntax unified + 2646 .thumb + 2647 .thumb_func + 2649 OUT_trigger: + ARM GAS /tmp/ccwR4KB7.s page 179 + + + 2650 .LVL301: + 2651 .LFB1210: +2396:Src/main.c **** switch (out_n) + 2652 .loc 1 2396 1 view -0 + 2653 .cfi_startproc + 2654 @ args = 0, pretend = 0, frame = 0 + 2655 @ frame_needed = 0, uses_anonymous_args = 0 +2396:Src/main.c **** switch (out_n) + 2656 .loc 1 2396 1 is_stmt 0 view .LVU826 + 2657 0000 10B5 push {r4, lr} + 2658 .LCFI32: + 2659 .cfi_def_cfa_offset 8 + 2660 .cfi_offset 4, -8 + 2661 .cfi_offset 14, -4 +2397:Src/main.c **** { + 2662 .loc 1 2397 2 is_stmt 1 view .LVU827 + 2663 0002 0928 cmp r0, #9 + 2664 0004 13D8 bhi .L192 + 2665 0006 DFE800F0 tbb [pc, r0] + 2666 .L195: + 2667 000a 05 .byte (.L204-.L195)/2 + 2668 000b 13 .byte (.L203-.L195)/2 + 2669 000c 21 .byte (.L202-.L195)/2 + 2670 000d 2F .byte (.L201-.L195)/2 + 2671 000e 3D .byte (.L200-.L195)/2 + 2672 000f 4B .byte (.L199-.L195)/2 + 2673 0010 59 .byte (.L198-.L195)/2 + 2674 0011 65 .byte (.L197-.L195)/2 + 2675 0012 71 .byte (.L196-.L195)/2 + 2676 0013 7D .byte (.L194-.L195)/2 + 2677 .p2align 1 + 2678 .L204: +2400:Src/main.c **** HAL_GPIO_WritePin(OUT_0_GPIO_Port, OUT_0_Pin, GPIO_PIN_RESET); + 2679 .loc 1 2400 3 view .LVU828 + 2680 0014 414C ldr r4, .L207 + 2681 0016 0122 movs r2, #1 + 2682 0018 4FF48061 mov r1, #1024 + 2683 001c 2046 mov r0, r4 + 2684 .LVL302: +2400:Src/main.c **** HAL_GPIO_WritePin(OUT_0_GPIO_Port, OUT_0_Pin, GPIO_PIN_RESET); + 2685 .loc 1 2400 3 is_stmt 0 view .LVU829 + 2686 001e FFF7FEFF bl HAL_GPIO_WritePin + 2687 .LVL303: +2401:Src/main.c **** break; + 2688 .loc 1 2401 3 is_stmt 1 view .LVU830 + 2689 0022 0022 movs r2, #0 + 2690 0024 4FF48061 mov r1, #1024 + 2691 0028 2046 mov r0, r4 + 2692 002a FFF7FEFF bl HAL_GPIO_WritePin + 2693 .LVL304: +2402:Src/main.c **** + 2694 .loc 1 2402 2 view .LVU831 + 2695 .L192: +2449:Src/main.c **** + 2696 .loc 1 2449 1 is_stmt 0 view .LVU832 + 2697 002e 10BD pop {r4, pc} + 2698 .LVL305: + ARM GAS /tmp/ccwR4KB7.s page 180 + + + 2699 .L203: +2405:Src/main.c **** HAL_GPIO_WritePin(OUT_1_GPIO_Port, OUT_1_Pin, GPIO_PIN_RESET); + 2700 .loc 1 2405 3 is_stmt 1 view .LVU833 + 2701 0030 3A4C ldr r4, .L207 + 2702 0032 0122 movs r2, #1 + 2703 0034 4FF40061 mov r1, #2048 + 2704 0038 2046 mov r0, r4 + 2705 .LVL306: +2405:Src/main.c **** HAL_GPIO_WritePin(OUT_1_GPIO_Port, OUT_1_Pin, GPIO_PIN_RESET); + 2706 .loc 1 2405 3 is_stmt 0 view .LVU834 + 2707 003a FFF7FEFF bl HAL_GPIO_WritePin + 2708 .LVL307: +2406:Src/main.c **** break; + 2709 .loc 1 2406 3 is_stmt 1 view .LVU835 + 2710 003e 0022 movs r2, #0 + 2711 0040 4FF40061 mov r1, #2048 + 2712 0044 2046 mov r0, r4 + 2713 0046 FFF7FEFF bl HAL_GPIO_WritePin + 2714 .LVL308: +2407:Src/main.c **** + 2715 .loc 1 2407 2 view .LVU836 + 2716 004a F0E7 b .L192 + 2717 .LVL309: + 2718 .L202: +2410:Src/main.c **** HAL_GPIO_WritePin(OUT_2_GPIO_Port, OUT_2_Pin, GPIO_PIN_RESET); + 2719 .loc 1 2410 3 view .LVU837 + 2720 004c 334C ldr r4, .L207 + 2721 004e 0122 movs r2, #1 + 2722 0050 4FF48051 mov r1, #4096 + 2723 0054 2046 mov r0, r4 + 2724 .LVL310: +2410:Src/main.c **** HAL_GPIO_WritePin(OUT_2_GPIO_Port, OUT_2_Pin, GPIO_PIN_RESET); + 2725 .loc 1 2410 3 is_stmt 0 view .LVU838 + 2726 0056 FFF7FEFF bl HAL_GPIO_WritePin + 2727 .LVL311: +2411:Src/main.c **** break; + 2728 .loc 1 2411 3 is_stmt 1 view .LVU839 + 2729 005a 0022 movs r2, #0 + 2730 005c 4FF48051 mov r1, #4096 + 2731 0060 2046 mov r0, r4 + 2732 0062 FFF7FEFF bl HAL_GPIO_WritePin + 2733 .LVL312: +2412:Src/main.c **** + 2734 .loc 1 2412 2 view .LVU840 + 2735 0066 E2E7 b .L192 + 2736 .LVL313: + 2737 .L201: +2415:Src/main.c **** HAL_GPIO_WritePin(OUT_3_GPIO_Port, OUT_3_Pin, GPIO_PIN_RESET); + 2738 .loc 1 2415 3 view .LVU841 + 2739 0068 2C4C ldr r4, .L207 + 2740 006a 0122 movs r2, #1 + 2741 006c 4FF40051 mov r1, #8192 + 2742 0070 2046 mov r0, r4 + 2743 .LVL314: +2415:Src/main.c **** HAL_GPIO_WritePin(OUT_3_GPIO_Port, OUT_3_Pin, GPIO_PIN_RESET); + 2744 .loc 1 2415 3 is_stmt 0 view .LVU842 + 2745 0072 FFF7FEFF bl HAL_GPIO_WritePin + ARM GAS /tmp/ccwR4KB7.s page 181 + + + 2746 .LVL315: +2416:Src/main.c **** break; + 2747 .loc 1 2416 3 is_stmt 1 view .LVU843 + 2748 0076 0022 movs r2, #0 + 2749 0078 4FF40051 mov r1, #8192 + 2750 007c 2046 mov r0, r4 + 2751 007e FFF7FEFF bl HAL_GPIO_WritePin + 2752 .LVL316: +2417:Src/main.c **** + 2753 .loc 1 2417 2 view .LVU844 + 2754 0082 D4E7 b .L192 + 2755 .LVL317: + 2756 .L200: +2420:Src/main.c **** HAL_GPIO_WritePin(OUT_4_GPIO_Port, OUT_4_Pin, GPIO_PIN_RESET); + 2757 .loc 1 2420 3 view .LVU845 + 2758 0084 254C ldr r4, .L207 + 2759 0086 0122 movs r2, #1 + 2760 0088 4FF48041 mov r1, #16384 + 2761 008c 2046 mov r0, r4 + 2762 .LVL318: +2420:Src/main.c **** HAL_GPIO_WritePin(OUT_4_GPIO_Port, OUT_4_Pin, GPIO_PIN_RESET); + 2763 .loc 1 2420 3 is_stmt 0 view .LVU846 + 2764 008e FFF7FEFF bl HAL_GPIO_WritePin + 2765 .LVL319: +2421:Src/main.c **** break; + 2766 .loc 1 2421 3 is_stmt 1 view .LVU847 + 2767 0092 0022 movs r2, #0 + 2768 0094 4FF48041 mov r1, #16384 + 2769 0098 2046 mov r0, r4 + 2770 009a FFF7FEFF bl HAL_GPIO_WritePin + 2771 .LVL320: +2422:Src/main.c **** + 2772 .loc 1 2422 2 view .LVU848 + 2773 009e C6E7 b .L192 + 2774 .LVL321: + 2775 .L199: +2425:Src/main.c **** HAL_GPIO_WritePin(OUT_5_GPIO_Port, OUT_5_Pin, GPIO_PIN_RESET); + 2776 .loc 1 2425 3 view .LVU849 + 2777 00a0 1E4C ldr r4, .L207 + 2778 00a2 0122 movs r2, #1 + 2779 00a4 4FF40041 mov r1, #32768 + 2780 00a8 2046 mov r0, r4 + 2781 .LVL322: +2425:Src/main.c **** HAL_GPIO_WritePin(OUT_5_GPIO_Port, OUT_5_Pin, GPIO_PIN_RESET); + 2782 .loc 1 2425 3 is_stmt 0 view .LVU850 + 2783 00aa FFF7FEFF bl HAL_GPIO_WritePin + 2784 .LVL323: +2426:Src/main.c **** break; + 2785 .loc 1 2426 3 is_stmt 1 view .LVU851 + 2786 00ae 0022 movs r2, #0 + 2787 00b0 4FF40041 mov r1, #32768 + 2788 00b4 2046 mov r0, r4 + 2789 00b6 FFF7FEFF bl HAL_GPIO_WritePin + 2790 .LVL324: +2427:Src/main.c **** + 2791 .loc 1 2427 2 view .LVU852 + 2792 00ba B8E7 b .L192 + ARM GAS /tmp/ccwR4KB7.s page 182 + + + 2793 .LVL325: + 2794 .L198: +2430:Src/main.c **** HAL_GPIO_WritePin(OUT_6_GPIO_Port, OUT_6_Pin, GPIO_PIN_RESET); + 2795 .loc 1 2430 3 view .LVU853 + 2796 00bc 184C ldr r4, .L207+4 + 2797 00be 0122 movs r2, #1 + 2798 00c0 1021 movs r1, #16 + 2799 00c2 2046 mov r0, r4 + 2800 .LVL326: +2430:Src/main.c **** HAL_GPIO_WritePin(OUT_6_GPIO_Port, OUT_6_Pin, GPIO_PIN_RESET); + 2801 .loc 1 2430 3 is_stmt 0 view .LVU854 + 2802 00c4 FFF7FEFF bl HAL_GPIO_WritePin + 2803 .LVL327: +2431:Src/main.c **** break; + 2804 .loc 1 2431 3 is_stmt 1 view .LVU855 + 2805 00c8 0022 movs r2, #0 + 2806 00ca 1021 movs r1, #16 + 2807 00cc 2046 mov r0, r4 + 2808 00ce FFF7FEFF bl HAL_GPIO_WritePin + 2809 .LVL328: +2432:Src/main.c **** + 2810 .loc 1 2432 2 view .LVU856 + 2811 00d2 ACE7 b .L192 + 2812 .LVL329: + 2813 .L197: +2435:Src/main.c **** HAL_GPIO_WritePin(OUT_7_GPIO_Port, OUT_7_Pin, GPIO_PIN_RESET); + 2814 .loc 1 2435 3 view .LVU857 + 2815 00d4 124C ldr r4, .L207+4 + 2816 00d6 0122 movs r2, #1 + 2817 00d8 2021 movs r1, #32 + 2818 00da 2046 mov r0, r4 + 2819 .LVL330: +2435:Src/main.c **** HAL_GPIO_WritePin(OUT_7_GPIO_Port, OUT_7_Pin, GPIO_PIN_RESET); + 2820 .loc 1 2435 3 is_stmt 0 view .LVU858 + 2821 00dc FFF7FEFF bl HAL_GPIO_WritePin + 2822 .LVL331: +2436:Src/main.c **** break; + 2823 .loc 1 2436 3 is_stmt 1 view .LVU859 + 2824 00e0 0022 movs r2, #0 + 2825 00e2 2021 movs r1, #32 + 2826 00e4 2046 mov r0, r4 + 2827 00e6 FFF7FEFF bl HAL_GPIO_WritePin + 2828 .LVL332: +2437:Src/main.c **** + 2829 .loc 1 2437 2 view .LVU860 + 2830 00ea A0E7 b .L192 + 2831 .LVL333: + 2832 .L196: +2440:Src/main.c **** HAL_GPIO_WritePin(OUT_8_GPIO_Port, OUT_8_Pin, GPIO_PIN_RESET); + 2833 .loc 1 2440 3 view .LVU861 + 2834 00ec 0C4C ldr r4, .L207+4 + 2835 00ee 0122 movs r2, #1 + 2836 00f0 4021 movs r1, #64 + 2837 00f2 2046 mov r0, r4 + 2838 .LVL334: +2440:Src/main.c **** HAL_GPIO_WritePin(OUT_8_GPIO_Port, OUT_8_Pin, GPIO_PIN_RESET); + 2839 .loc 1 2440 3 is_stmt 0 view .LVU862 + ARM GAS /tmp/ccwR4KB7.s page 183 + + + 2840 00f4 FFF7FEFF bl HAL_GPIO_WritePin + 2841 .LVL335: +2441:Src/main.c **** break; + 2842 .loc 1 2441 3 is_stmt 1 view .LVU863 + 2843 00f8 0022 movs r2, #0 + 2844 00fa 4021 movs r1, #64 + 2845 00fc 2046 mov r0, r4 + 2846 00fe FFF7FEFF bl HAL_GPIO_WritePin + 2847 .LVL336: +2442:Src/main.c **** + 2848 .loc 1 2442 2 view .LVU864 + 2849 0102 94E7 b .L192 + 2850 .LVL337: + 2851 .L194: +2445:Src/main.c **** HAL_GPIO_WritePin(OUT_9_GPIO_Port, OUT_9_Pin, GPIO_PIN_RESET); + 2852 .loc 1 2445 3 view .LVU865 + 2853 0104 064C ldr r4, .L207+4 + 2854 0106 0122 movs r2, #1 + 2855 0108 8021 movs r1, #128 + 2856 010a 2046 mov r0, r4 + 2857 .LVL338: +2445:Src/main.c **** HAL_GPIO_WritePin(OUT_9_GPIO_Port, OUT_9_Pin, GPIO_PIN_RESET); + 2858 .loc 1 2445 3 is_stmt 0 view .LVU866 + 2859 010c FFF7FEFF bl HAL_GPIO_WritePin + 2860 .LVL339: +2446:Src/main.c **** break; + 2861 .loc 1 2446 3 is_stmt 1 view .LVU867 + 2862 0110 0022 movs r2, #0 + 2863 0112 8021 movs r1, #128 + 2864 0114 2046 mov r0, r4 + 2865 0116 FFF7FEFF bl HAL_GPIO_WritePin + 2866 .LVL340: +2447:Src/main.c **** } + 2867 .loc 1 2447 2 view .LVU868 +2449:Src/main.c **** + 2868 .loc 1 2449 1 is_stmt 0 view .LVU869 + 2869 011a 88E7 b .L192 + 2870 .L208: + 2871 .align 2 + 2872 .L207: + 2873 011c 00180240 .word 1073879040 + 2874 0120 00040240 .word 1073873920 + 2875 .cfi_endproc + 2876 .LFE1210: + 2878 .section .text.MPhD_T,"ax",%progbits + 2879 .align 1 + 2880 .syntax unified + 2881 .thumb + 2882 .thumb_func + 2884 MPhD_T: + 2885 .LVL341: + 2886 .LFB1221: +2949:Src/main.c **** uint16_t P; + 2887 .loc 1 2949 1 is_stmt 1 view -0 + 2888 .cfi_startproc + 2889 @ args = 0, pretend = 0, frame = 0 + 2890 @ frame_needed = 0, uses_anonymous_args = 0 + ARM GAS /tmp/ccwR4KB7.s page 184 + + +2949:Src/main.c **** uint16_t P; + 2891 .loc 1 2949 1 is_stmt 0 view .LVU871 + 2892 0000 38B5 push {r3, r4, r5, lr} + 2893 .LCFI33: + 2894 .cfi_def_cfa_offset 16 + 2895 .cfi_offset 3, -16 + 2896 .cfi_offset 4, -12 + 2897 .cfi_offset 5, -8 + 2898 .cfi_offset 14, -4 + 2899 0002 0446 mov r4, r0 +2950:Src/main.c **** uint32_t tmp32; + 2900 .loc 1 2950 2 is_stmt 1 view .LVU872 +2951:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_RESET);//Prepare conversion + 2901 .loc 1 2951 2 view .LVU873 +2952:Src/main.c **** HAL_GPIO_WritePin(SPI5_CNV_GPIO_Port, SPI5_CNV_Pin, GPIO_PIN_RESET);//Prepare conversion + 2902 .loc 1 2952 2 view .LVU874 + 2903 0004 0022 movs r2, #0 + 2904 0006 4FF48041 mov r1, #16384 + 2905 000a 8148 ldr r0, .L250 + 2906 .LVL342: +2952:Src/main.c **** HAL_GPIO_WritePin(SPI5_CNV_GPIO_Port, SPI5_CNV_Pin, GPIO_PIN_RESET);//Prepare conversion + 2907 .loc 1 2952 2 is_stmt 0 view .LVU875 + 2908 000c FFF7FEFF bl HAL_GPIO_WritePin + 2909 .LVL343: +2953:Src/main.c **** tmp32=0; + 2910 .loc 1 2953 2 is_stmt 1 view .LVU876 + 2911 0010 0022 movs r2, #0 + 2912 0012 4FF40071 mov r1, #512 + 2913 0016 7F48 ldr r0, .L250+4 + 2914 0018 FFF7FEFF bl HAL_GPIO_WritePin + 2915 .LVL344: +2954:Src/main.c **** while(tmp32<500){tmp32++;} + 2916 .loc 1 2954 2 view .LVU877 +2955:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver + 2917 .loc 1 2955 2 view .LVU878 +2954:Src/main.c **** while(tmp32<500){tmp32++;} + 2918 .loc 1 2954 7 is_stmt 0 view .LVU879 + 2919 001c 0023 movs r3, #0 +2955:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver + 2920 .loc 1 2955 7 view .LVU880 + 2921 001e 00E0 b .L210 + 2922 .LVL345: + 2923 .L211: +2955:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver + 2924 .loc 1 2955 19 is_stmt 1 discriminator 2 view .LVU881 +2955:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver + 2925 .loc 1 2955 24 is_stmt 0 discriminator 2 view .LVU882 + 2926 0020 0133 adds r3, r3, #1 + 2927 .LVL346: + 2928 .L210: +2955:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver + 2929 .loc 1 2955 13 is_stmt 1 discriminator 1 view .LVU883 + 2930 0022 B3F5FA7F cmp r3, #500 + 2931 0026 FBD3 bcc .L211 +2956:Src/main.c **** HAL_GPIO_WritePin(SPI5_CNV_GPIO_Port, SPI5_CNV_Pin, GPIO_PIN_SET);//Stop acqusition & start conver + 2932 .loc 1 2956 2 view .LVU884 + 2933 0028 0122 movs r2, #1 + ARM GAS /tmp/ccwR4KB7.s page 185 + + + 2934 002a 4FF48041 mov r1, #16384 + 2935 002e 7848 ldr r0, .L250 + 2936 0030 FFF7FEFF bl HAL_GPIO_WritePin + 2937 .LVL347: +2957:Src/main.c **** tmp32=0; + 2938 .loc 1 2957 2 view .LVU885 + 2939 0034 0122 movs r2, #1 + 2940 0036 4FF40071 mov r1, #512 + 2941 003a 7648 ldr r0, .L250+4 + 2942 003c FFF7FEFF bl HAL_GPIO_WritePin + 2943 .LVL348: +2958:Src/main.c **** while(tmp32<500){tmp32++;} + 2944 .loc 1 2958 2 view .LVU886 +2959:Src/main.c **** if (num==1)//MPD1 + 2945 .loc 1 2959 2 view .LVU887 +2958:Src/main.c **** while(tmp32<500){tmp32++;} + 2946 .loc 1 2958 7 is_stmt 0 view .LVU888 + 2947 0040 0023 movs r3, #0 +2959:Src/main.c **** if (num==1)//MPD1 + 2948 .loc 1 2959 7 view .LVU889 + 2949 0042 00E0 b .L212 + 2950 .LVL349: + 2951 .L213: +2959:Src/main.c **** if (num==1)//MPD1 + 2952 .loc 1 2959 19 is_stmt 1 discriminator 2 view .LVU890 +2959:Src/main.c **** if (num==1)//MPD1 + 2953 .loc 1 2959 24 is_stmt 0 discriminator 2 view .LVU891 + 2954 0044 0133 adds r3, r3, #1 + 2955 .LVL350: + 2956 .L212: +2959:Src/main.c **** if (num==1)//MPD1 + 2957 .loc 1 2959 13 is_stmt 1 discriminator 1 view .LVU892 + 2958 0046 B3F5FA7F cmp r3, #500 + 2959 004a FBD3 bcc .L213 +2960:Src/main.c **** { + 2960 .loc 1 2960 2 view .LVU893 + 2961 004c 631E subs r3, r4, #1 + 2962 .LVL351: +2960:Src/main.c **** { + 2963 .loc 1 2960 2 is_stmt 0 view .LVU894 + 2964 004e 032B cmp r3, #3 + 2965 0050 39D8 bhi .L214 + 2966 0052 DFE803F0 tbb [pc, r3] + 2967 .L216: + 2968 0056 02 .byte (.L219-.L216)/2 + 2969 0057 3A .byte (.L218-.L216)/2 + 2970 0058 6F .byte (.L217-.L216)/2 + 2971 0059 A6 .byte (.L215-.L216)/2 + 2972 .p2align 1 + 2973 .L219: +2962:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD1_CS_GPIO_Port, ADC_MPD1_CS_Pin, GPIO_PIN_RESET); + 2974 .loc 1 2962 3 is_stmt 1 view .LVU895 + 2975 005a 6D4C ldr r4, .L250 + 2976 .LVL352: +2962:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD1_CS_GPIO_Port, ADC_MPD1_CS_Pin, GPIO_PIN_RESET); + 2977 .loc 1 2962 3 is_stmt 0 view .LVU896 + 2978 005c 0122 movs r2, #1 + ARM GAS /tmp/ccwR4KB7.s page 186 + + + 2979 005e 4FF40061 mov r1, #2048 + 2980 0062 2046 mov r0, r4 + 2981 0064 FFF7FEFF bl HAL_GPIO_WritePin + 2982 .LVL353: +2963:Src/main.c **** tmp32=0; + 2983 .loc 1 2963 3 is_stmt 1 view .LVU897 + 2984 0068 0022 movs r2, #0 + 2985 006a 4FF48061 mov r1, #1024 + 2986 006e 2046 mov r0, r4 + 2987 0070 FFF7FEFF bl HAL_GPIO_WritePin + 2988 .LVL354: +2964:Src/main.c **** while(tmp32<500){tmp32++;} + 2989 .loc 1 2964 3 view .LVU898 +2965:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 2990 .loc 1 2965 3 view .LVU899 +2964:Src/main.c **** while(tmp32<500){tmp32++;} + 2991 .loc 1 2964 8 is_stmt 0 view .LVU900 + 2992 0074 0023 movs r3, #0 +2965:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 2993 .loc 1 2965 8 view .LVU901 + 2994 0076 00E0 b .L220 + 2995 .LVL355: + 2996 .L221: +2965:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 2997 .loc 1 2965 20 is_stmt 1 discriminator 2 view .LVU902 +2965:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 2998 .loc 1 2965 25 is_stmt 0 discriminator 2 view .LVU903 + 2999 0078 0133 adds r3, r3, #1 + 3000 .LVL356: + 3001 .L220: +2965:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3002 .loc 1 2965 14 is_stmt 1 discriminator 1 view .LVU904 + 3003 007a B3F5FA7F cmp r3, #500 + 3004 007e FBD3 bcc .L221 +2967:Src/main.c **** tmp32 = 0; + 3005 .loc 1 2967 3 view .LVU905 + 3006 .LVL357: + 3007 .LBB391: + 3008 .LBI391: 358:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2319 .loc 4 358 22 view .LVU708 - 2320 .LBB386: + 3009 .loc 4 358 22 view .LVU906 + 3010 .LBB392: 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2321 .loc 4 360 3 view .LVU709 - 2322 00ee 4B4A ldr r2, .L171+12 - 2323 00f0 1368 ldr r3, [r2] - 2324 .LVL256: + 3011 .loc 4 360 3 view .LVU907 + 3012 0080 654A ldr r2, .L250+8 + 3013 0082 1368 ldr r3, [r2] + 3014 .LVL358: 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2325 .loc 4 360 3 is_stmt 0 view .LVU710 - 2326 00f2 43F04003 orr r3, r3, #64 - 2327 00f6 1360 str r3, [r2] - 2328 .LVL257: + 3015 .loc 4 360 3 is_stmt 0 view .LVU908 + 3016 0084 43F04003 orr r3, r3, #64 + 3017 0088 1360 str r3, [r2] + 3018 .LVL359: 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2329 .loc 4 360 3 view .LVU711 - 2330 .LBE386: - 2331 .LBE385: -2705:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI5))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w - 2332 .loc 1 2705 3 is_stmt 1 view .LVU712 -2706:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for MPhD2 ADC - 2333 .loc 1 2706 3 view .LVU713 -2705:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI5))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w - 2334 .loc 1 2705 9 is_stmt 0 view .LVU714 - 2335 00f8 0023 movs r3, #0 - 2336 .LVL258: - 2337 .L150: -2706:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for MPhD2 ADC - 2338 .loc 1 2706 43 is_stmt 1 discriminator 1 view .LVU715 - 2339 .LBB387: - 2340 .LBI387: + 3019 .loc 4 360 3 view .LVU909 + 3020 .LBE392: + 3021 .LBE391: +2968:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI4))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w + ARM GAS /tmp/ccwR4KB7.s page 187 + + + 3022 .loc 1 2968 3 is_stmt 1 view .LVU910 +2969:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for MPhD1 ADC + 3023 .loc 1 2969 3 view .LVU911 +2968:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI4))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w + 3024 .loc 1 2968 9 is_stmt 0 view .LVU912 + 3025 008a 0023 movs r3, #0 + 3026 .LVL360: + 3027 .L222: +2969:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for MPhD1 ADC + 3028 .loc 1 2969 43 is_stmt 1 discriminator 1 view .LVU913 + 3029 .LBB393: + 3030 .LBI393: 905:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2341 .loc 4 905 26 view .LVU716 - 2342 .LBB388: + 3031 .loc 4 905 26 view .LVU914 + 3032 .LBB394: 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2343 .loc 4 907 3 view .LVU717 + 3033 .loc 4 907 3 view .LVU915 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2344 .loc 4 907 12 is_stmt 0 view .LVU718 - 2345 00fa 484A ldr r2, .L171+12 - 2346 00fc 9268 ldr r2, [r2, #8] - ARM GAS /tmp/ccYgfTud.s page 167 - - + 3034 .loc 4 907 12 is_stmt 0 view .LVU916 + 3035 008c 624A ldr r2, .L250+8 + 3036 008e 9268 ldr r2, [r2, #8] 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2347 .loc 4 907 68 view .LVU719 - 2348 00fe 12F0010F tst r2, #1 - 2349 0102 04D1 bne .L151 - 2350 .LVL259: + 3037 .loc 4 907 68 view .LVU917 + 3038 0090 12F0010F tst r2, #1 + 3039 0094 04D1 bne .L223 + 3040 .LVL361: 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2351 .loc 4 907 68 view .LVU720 - 2352 .LBE388: - 2353 .LBE387: -2706:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for MPhD2 ADC - 2354 .loc 1 2706 43 discriminator 2 view .LVU721 - 2355 0104 B3F57A7F cmp r3, #1000 - 2356 0108 01D8 bhi .L151 -2706:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for MPhD2 ADC - 2357 .loc 1 2706 62 is_stmt 1 discriminator 3 view .LVU722 -2706:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for MPhD2 ADC - 2358 .loc 1 2706 67 is_stmt 0 discriminator 3 view .LVU723 - 2359 010a 0133 adds r3, r3, #1 - 2360 .LVL260: -2706:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for MPhD2 ADC - 2361 .loc 1 2706 67 discriminator 3 view .LVU724 - 2362 010c F5E7 b .L150 - 2363 .L151: -2707:Src/main.c **** while(tmp32<500){tmp32++;} - 2364 .loc 1 2707 3 is_stmt 1 view .LVU725 - 2365 .LVL261: - 2366 .LBB389: - 2367 .LBI389: + 3041 .loc 4 907 68 view .LVU918 + 3042 .LBE394: + 3043 .LBE393: +2969:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for MPhD1 ADC + 3044 .loc 1 2969 43 discriminator 2 view .LVU919 + 3045 0096 B3F57A7F cmp r3, #1000 + 3046 009a 01D8 bhi .L223 +2969:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for MPhD1 ADC + 3047 .loc 1 2969 62 is_stmt 1 discriminator 3 view .LVU920 +2969:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for MPhD1 ADC + 3048 .loc 1 2969 67 is_stmt 0 discriminator 3 view .LVU921 + 3049 009c 0133 adds r3, r3, #1 + 3050 .LVL362: +2969:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for MPhD1 ADC + 3051 .loc 1 2969 67 discriminator 3 view .LVU922 + 3052 009e F5E7 b .L222 + 3053 .L223: +2970:Src/main.c **** while(tmp32<500){tmp32++;} + 3054 .loc 1 2970 3 is_stmt 1 view .LVU923 + 3055 .LVL363: + 3056 .LBB395: + 3057 .LBI395: 370:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2368 .loc 4 370 22 view .LVU726 - 2369 .LBB390: + 3058 .loc 4 370 22 view .LVU924 + 3059 .LBB396: 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2370 .loc 4 372 3 view .LVU727 - 2371 010e 4349 ldr r1, .L171+12 - 2372 0110 0A68 ldr r2, [r1] - 2373 0112 22F04002 bic r2, r2, #64 - 2374 0116 0A60 str r2, [r1] - 2375 .LVL262: - 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2376 .loc 4 372 3 is_stmt 0 view .LVU728 - 2377 .LBE390: - 2378 .LBE389: -2708:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - 2379 .loc 1 2708 3 is_stmt 1 view .LVU729 - 2380 .LBB392: - 2381 .LBB391: - 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** - 2382 .loc 4 373 1 is_stmt 0 view .LVU730 - 2383 0118 00E0 b .L153 - 2384 .L154: - 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** - 2385 .loc 4 373 1 view .LVU731 - 2386 .LBE391: - 2387 .LBE392: -2708:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - 2388 .loc 1 2708 20 is_stmt 1 discriminator 2 view .LVU732 -2708:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - ARM GAS /tmp/ccYgfTud.s page 168 + 3060 .loc 4 372 3 view .LVU925 + 3061 00a0 5D49 ldr r1, .L250+8 + 3062 00a2 0A68 ldr r2, [r1] + 3063 00a4 22F04002 bic r2, r2, #64 + ARM GAS /tmp/ccwR4KB7.s page 188 - 2389 .loc 1 2708 25 is_stmt 0 discriminator 2 view .LVU733 - 2390 011a 0133 adds r3, r3, #1 - 2391 .LVL263: - 2392 .L153: -2708:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - 2393 .loc 1 2708 14 is_stmt 1 discriminator 1 view .LVU734 - 2394 011c B3F5FA7F cmp r3, #500 - 2395 0120 FBD3 bcc .L154 -2710:Src/main.c **** P = LL_SPI_ReceiveData16(SPI5); - 2396 .loc 1 2710 3 view .LVU735 - 2397 0122 0122 movs r2, #1 - 2398 0124 4021 movs r1, #64 - 2399 0126 3B48 ldr r0, .L171+4 - 2400 0128 FFF7FEFF bl HAL_GPIO_WritePin - 2401 .LVL264: -2711:Src/main.c **** } - 2402 .loc 1 2711 3 view .LVU736 - 2403 .LBB393: - 2404 .LBI393: + 3064 00a8 0A60 str r2, [r1] + 3065 .LVL364: + 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3066 .loc 4 372 3 is_stmt 0 view .LVU926 + 3067 .LBE396: + 3068 .LBE395: +2971:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3069 .loc 1 2971 3 is_stmt 1 view .LVU927 + 3070 .LBB398: + 3071 .LBB397: + 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** + 3072 .loc 4 373 1 is_stmt 0 view .LVU928 + 3073 00aa 00E0 b .L225 + 3074 .L226: + 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** + 3075 .loc 4 373 1 view .LVU929 + 3076 .LBE397: + 3077 .LBE398: +2971:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3078 .loc 1 2971 20 is_stmt 1 discriminator 2 view .LVU930 +2971:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3079 .loc 1 2971 25 is_stmt 0 discriminator 2 view .LVU931 + 3080 00ac 0133 adds r3, r3, #1 + 3081 .LVL365: + 3082 .L225: +2971:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3083 .loc 1 2971 14 is_stmt 1 discriminator 1 view .LVU932 + 3084 00ae B3F5FA7F cmp r3, #500 + 3085 00b2 FBD3 bcc .L226 +2973:Src/main.c **** P = LL_SPI_ReceiveData16(SPI4); + 3086 .loc 1 2973 3 view .LVU933 + 3087 00b4 0122 movs r2, #1 + 3088 00b6 4FF48061 mov r1, #1024 + 3089 00ba 5548 ldr r0, .L250 + 3090 00bc FFF7FEFF bl HAL_GPIO_WritePin + 3091 .LVL366: +2974:Src/main.c **** } + 3092 .loc 1 2974 3 view .LVU934 + 3093 .LBB399: + 3094 .LBI399: 1344:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2405 .loc 4 1344 26 view .LVU737 - 2406 .LBB394: + 3095 .loc 4 1344 26 view .LVU935 + 3096 .LBB400: 1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2407 .loc 4 1346 3 view .LVU738 + 3097 .loc 4 1346 3 view .LVU936 1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2408 .loc 4 1346 21 is_stmt 0 view .LVU739 - 2409 012c 3B4B ldr r3, .L171+12 - 2410 012e DD68 ldr r5, [r3, #12] + 3098 .loc 4 1346 21 is_stmt 0 view .LVU937 + 3099 00c0 554B ldr r3, .L250+8 + 3100 00c2 DD68 ldr r5, [r3, #12] 1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2411 .loc 4 1346 10 view .LVU740 - 2412 0130 ADB2 uxth r5, r5 - 2413 .LVL265: + 3101 .loc 4 1346 10 view .LVU938 + 3102 00c4 ADB2 uxth r5, r5 + 3103 .LVL367: + 3104 .L214: 1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2414 .loc 4 1346 10 view .LVU741 - 2415 .LBE394: - 2416 .LBE393: - 2417 0132 C8E7 b .L135 - 2418 .LVL266: - 2419 .L138: -2715:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD1_CS_GPIO_Port, ADC_ThrLD1_CS_Pin, GPIO_PIN_RESET); - 2420 .loc 1 2715 3 is_stmt 1 view .LVU742 - 2421 0134 364C ldr r4, .L171 - 2422 0136 0122 movs r2, #1 - 2423 0138 4FF48061 mov r1, #1024 - 2424 013c 2046 mov r0, r4 - 2425 013e FFF7FEFF bl HAL_GPIO_WritePin - 2426 .LVL267: -2716:Src/main.c **** tmp32=0; - 2427 .loc 1 2716 3 view .LVU743 - 2428 0142 0022 movs r2, #0 - 2429 0144 4FF40061 mov r1, #2048 - 2430 0148 2046 mov r0, r4 - 2431 014a FFF7FEFF bl HAL_GPIO_WritePin - 2432 .LVL268: -2717:Src/main.c **** while(tmp32<500){tmp32++;} - 2433 .loc 1 2717 3 view .LVU744 -2718:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - ARM GAS /tmp/ccYgfTud.s page 169 + 3105 .loc 4 1346 10 view .LVU939 + 3106 .LBE400: + ARM GAS /tmp/ccwR4KB7.s page 189 - 2434 .loc 1 2718 3 view .LVU745 -2717:Src/main.c **** while(tmp32<500){tmp32++;} - 2435 .loc 1 2717 8 is_stmt 0 view .LVU746 - 2436 014e 0023 movs r3, #0 -2718:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2437 .loc 1 2718 8 view .LVU747 - 2438 0150 00E0 b .L155 - 2439 .LVL269: - 2440 .L156: -2718:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2441 .loc 1 2718 20 is_stmt 1 discriminator 2 view .LVU748 -2718:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2442 .loc 1 2718 25 is_stmt 0 discriminator 2 view .LVU749 - 2443 0152 0133 adds r3, r3, #1 - 2444 .LVL270: - 2445 .L155: -2718:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2446 .loc 1 2718 14 is_stmt 1 discriminator 1 view .LVU750 - 2447 0154 B3F5FA7F cmp r3, #500 - 2448 0158 FBD3 bcc .L156 -2720:Src/main.c **** tmp32 = 0; - 2449 .loc 1 2720 3 view .LVU751 - 2450 .LVL271: - 2451 .LBB395: - 2452 .LBI395: + 3107 .LBE399: +3046:Src/main.c **** } + 3108 .loc 1 3046 2 is_stmt 1 view .LVU940 +3047:Src/main.c **** /*static uint16_t Temp_LD(uint16_t T_LD_before, uint16_t T_LD, uint32_t Timer_before, uint32_t Time + 3109 .loc 1 3047 1 is_stmt 0 view .LVU941 + 3110 00c6 2846 mov r0, r5 + 3111 00c8 38BD pop {r3, r4, r5, pc} + 3112 .LVL368: + 3113 .L218: +2978:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD2_CS_GPIO_Port, ADC_MPD2_CS_Pin, GPIO_PIN_RESET); + 3114 .loc 1 2978 3 is_stmt 1 view .LVU942 + 3115 00ca 524C ldr r4, .L250+4 + 3116 00cc 0122 movs r2, #1 + 3117 00ce 4FF48061 mov r1, #1024 + 3118 00d2 2046 mov r0, r4 + 3119 00d4 FFF7FEFF bl HAL_GPIO_WritePin + 3120 .LVL369: +2979:Src/main.c **** tmp32=0; + 3121 .loc 1 2979 3 view .LVU943 + 3122 00d8 0022 movs r2, #0 + 3123 00da 4021 movs r1, #64 + 3124 00dc 2046 mov r0, r4 + 3125 00de FFF7FEFF bl HAL_GPIO_WritePin + 3126 .LVL370: +2980:Src/main.c **** while(tmp32<500){tmp32++;} + 3127 .loc 1 2980 3 view .LVU944 +2981:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3128 .loc 1 2981 3 view .LVU945 +2980:Src/main.c **** while(tmp32<500){tmp32++;} + 3129 .loc 1 2980 8 is_stmt 0 view .LVU946 + 3130 00e2 0023 movs r3, #0 +2981:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3131 .loc 1 2981 8 view .LVU947 + 3132 00e4 00E0 b .L227 + 3133 .LVL371: + 3134 .L228: +2981:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3135 .loc 1 2981 20 is_stmt 1 discriminator 2 view .LVU948 +2981:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3136 .loc 1 2981 25 is_stmt 0 discriminator 2 view .LVU949 + 3137 00e6 0133 adds r3, r3, #1 + 3138 .LVL372: + 3139 .L227: +2981:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3140 .loc 1 2981 14 is_stmt 1 discriminator 1 view .LVU950 + 3141 00e8 B3F5FA7F cmp r3, #500 + 3142 00ec FBD3 bcc .L228 +2983:Src/main.c **** tmp32 = 0; + 3143 .loc 1 2983 3 view .LVU951 + 3144 .LVL373: + 3145 .LBB401: + 3146 .LBI401: 358:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2453 .loc 4 358 22 view .LVU752 - 2454 .LBB396: + 3147 .loc 4 358 22 view .LVU952 + 3148 .LBB402: 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2455 .loc 4 360 3 view .LVU753 - 2456 015a 2F4A ldr r2, .L171+8 - 2457 015c 1368 ldr r3, [r2] - 2458 .LVL272: + 3149 .loc 4 360 3 view .LVU953 + ARM GAS /tmp/ccwR4KB7.s page 190 + + + 3150 00ee 4B4A ldr r2, .L250+12 + 3151 00f0 1368 ldr r3, [r2] + 3152 .LVL374: 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2459 .loc 4 360 3 is_stmt 0 view .LVU754 - 2460 015e 43F04003 orr r3, r3, #64 - 2461 0162 1360 str r3, [r2] - 2462 .LVL273: + 3153 .loc 4 360 3 is_stmt 0 view .LVU954 + 3154 00f2 43F04003 orr r3, r3, #64 + 3155 00f6 1360 str r3, [r2] + 3156 .LVL375: 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2463 .loc 4 360 3 view .LVU755 - 2464 .LBE396: - 2465 .LBE395: -2721:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI4))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w - 2466 .loc 1 2721 3 is_stmt 1 view .LVU756 -2722:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for ThrLD1 ADC - 2467 .loc 1 2722 3 view .LVU757 -2721:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI4))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w - 2468 .loc 1 2721 9 is_stmt 0 view .LVU758 - 2469 0164 0023 movs r3, #0 - 2470 .LVL274: - 2471 .L157: -2722:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for ThrLD1 ADC - 2472 .loc 1 2722 43 is_stmt 1 discriminator 1 view .LVU759 - 2473 .LBB397: - 2474 .LBI397: + 3157 .loc 4 360 3 view .LVU955 + 3158 .LBE402: + 3159 .LBE401: +2984:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI5))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w + 3160 .loc 1 2984 3 is_stmt 1 view .LVU956 +2985:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for MPhD2 ADC + 3161 .loc 1 2985 3 view .LVU957 +2984:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI5))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w + 3162 .loc 1 2984 9 is_stmt 0 view .LVU958 + 3163 00f8 0023 movs r3, #0 + 3164 .LVL376: + 3165 .L229: +2985:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for MPhD2 ADC + 3166 .loc 1 2985 43 is_stmt 1 discriminator 1 view .LVU959 + 3167 .LBB403: + 3168 .LBI403: 905:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2475 .loc 4 905 26 view .LVU760 - ARM GAS /tmp/ccYgfTud.s page 170 + 3169 .loc 4 905 26 view .LVU960 + 3170 .LBB404: + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3171 .loc 4 907 3 view .LVU961 + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3172 .loc 4 907 12 is_stmt 0 view .LVU962 + 3173 00fa 484A ldr r2, .L250+12 + 3174 00fc 9268 ldr r2, [r2, #8] + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3175 .loc 4 907 68 view .LVU963 + 3176 00fe 12F0010F tst r2, #1 + 3177 0102 04D1 bne .L230 + 3178 .LVL377: + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3179 .loc 4 907 68 view .LVU964 + 3180 .LBE404: + 3181 .LBE403: +2985:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for MPhD2 ADC + 3182 .loc 1 2985 43 discriminator 2 view .LVU965 + 3183 0104 B3F57A7F cmp r3, #1000 + 3184 0108 01D8 bhi .L230 +2985:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for MPhD2 ADC + 3185 .loc 1 2985 62 is_stmt 1 discriminator 3 view .LVU966 +2985:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for MPhD2 ADC + 3186 .loc 1 2985 67 is_stmt 0 discriminator 3 view .LVU967 + 3187 010a 0133 adds r3, r3, #1 + 3188 .LVL378: +2985:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for MPhD2 ADC + 3189 .loc 1 2985 67 discriminator 3 view .LVU968 + 3190 010c F5E7 b .L229 + 3191 .L230: + ARM GAS /tmp/ccwR4KB7.s page 191 - 2476 .LBB398: - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2477 .loc 4 907 3 view .LVU761 - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2478 .loc 4 907 12 is_stmt 0 view .LVU762 - 2479 0166 2C4A ldr r2, .L171+8 - 2480 0168 9268 ldr r2, [r2, #8] - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2481 .loc 4 907 68 view .LVU763 - 2482 016a 12F0010F tst r2, #1 - 2483 016e 04D1 bne .L158 - 2484 .LVL275: - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2485 .loc 4 907 68 view .LVU764 - 2486 .LBE398: - 2487 .LBE397: -2722:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for ThrLD1 ADC - 2488 .loc 1 2722 43 discriminator 2 view .LVU765 - 2489 0170 B3F57A7F cmp r3, #1000 - 2490 0174 01D8 bhi .L158 -2722:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for ThrLD1 ADC - 2491 .loc 1 2722 62 is_stmt 1 discriminator 3 view .LVU766 -2722:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for ThrLD1 ADC - 2492 .loc 1 2722 67 is_stmt 0 discriminator 3 view .LVU767 - 2493 0176 0133 adds r3, r3, #1 - 2494 .LVL276: -2722:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for ThrLD1 ADC - 2495 .loc 1 2722 67 discriminator 3 view .LVU768 - 2496 0178 F5E7 b .L157 - 2497 .L158: -2723:Src/main.c **** while(tmp32<500){tmp32++;} - 2498 .loc 1 2723 3 is_stmt 1 view .LVU769 - 2499 .LVL277: - 2500 .LBB399: - 2501 .LBI399: +2986:Src/main.c **** while(tmp32<500){tmp32++;} + 3192 .loc 1 2986 3 is_stmt 1 view .LVU969 + 3193 .LVL379: + 3194 .LBB405: + 3195 .LBI405: 370:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2502 .loc 4 370 22 view .LVU770 - 2503 .LBB400: + 3196 .loc 4 370 22 view .LVU970 + 3197 .LBB406: 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2504 .loc 4 372 3 view .LVU771 - 2505 017a 2749 ldr r1, .L171+8 - 2506 017c 0A68 ldr r2, [r1] - 2507 017e 22F04002 bic r2, r2, #64 - 2508 0182 0A60 str r2, [r1] - 2509 .LVL278: + 3198 .loc 4 372 3 view .LVU971 + 3199 010e 4349 ldr r1, .L250+12 + 3200 0110 0A68 ldr r2, [r1] + 3201 0112 22F04002 bic r2, r2, #64 + 3202 0116 0A60 str r2, [r1] + 3203 .LVL380: 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2510 .loc 4 372 3 is_stmt 0 view .LVU772 - 2511 .LBE400: - 2512 .LBE399: -2724:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - 2513 .loc 1 2724 3 is_stmt 1 view .LVU773 - 2514 .LBB402: - 2515 .LBB401: + 3204 .loc 4 372 3 is_stmt 0 view .LVU972 + 3205 .LBE406: + 3206 .LBE405: +2987:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3207 .loc 1 2987 3 is_stmt 1 view .LVU973 + 3208 .LBB408: + 3209 .LBB407: 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** - 2516 .loc 4 373 1 is_stmt 0 view .LVU774 - 2517 0184 00E0 b .L160 - 2518 .L161: - ARM GAS /tmp/ccYgfTud.s page 171 - - + 3210 .loc 4 373 1 is_stmt 0 view .LVU974 + 3211 0118 00E0 b .L232 + 3212 .L233: 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** - 2519 .loc 4 373 1 view .LVU775 - 2520 .LBE401: - 2521 .LBE402: -2724:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - 2522 .loc 1 2724 20 is_stmt 1 discriminator 2 view .LVU776 -2724:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - 2523 .loc 1 2724 25 is_stmt 0 discriminator 2 view .LVU777 - 2524 0186 0133 adds r3, r3, #1 - 2525 .LVL279: - 2526 .L160: -2724:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - 2527 .loc 1 2724 14 is_stmt 1 discriminator 1 view .LVU778 - 2528 0188 B3F5FA7F cmp r3, #500 - 2529 018c FBD3 bcc .L161 -2726:Src/main.c **** P = LL_SPI_ReceiveData16(SPI4); - 2530 .loc 1 2726 3 view .LVU779 - 2531 018e 0122 movs r2, #1 - 2532 0190 4FF40061 mov r1, #2048 - 2533 0194 1E48 ldr r0, .L171 - 2534 0196 FFF7FEFF bl HAL_GPIO_WritePin - 2535 .LVL280: -2727:Src/main.c **** } - 2536 .loc 1 2727 3 view .LVU780 - 2537 .LBB403: - 2538 .LBI403: + 3213 .loc 4 373 1 view .LVU975 + 3214 .LBE407: + 3215 .LBE408: +2987:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3216 .loc 1 2987 20 is_stmt 1 discriminator 2 view .LVU976 +2987:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3217 .loc 1 2987 25 is_stmt 0 discriminator 2 view .LVU977 + 3218 011a 0133 adds r3, r3, #1 + 3219 .LVL381: + 3220 .L232: +2987:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3221 .loc 1 2987 14 is_stmt 1 discriminator 1 view .LVU978 + 3222 011c B3F5FA7F cmp r3, #500 + 3223 0120 FBD3 bcc .L233 +2989:Src/main.c **** P = LL_SPI_ReceiveData16(SPI5); + 3224 .loc 1 2989 3 view .LVU979 + 3225 0122 0122 movs r2, #1 + 3226 0124 4021 movs r1, #64 + 3227 0126 3B48 ldr r0, .L250+4 + 3228 0128 FFF7FEFF bl HAL_GPIO_WritePin + 3229 .LVL382: +2990:Src/main.c **** } + 3230 .loc 1 2990 3 view .LVU980 + 3231 .LBB409: + 3232 .LBI409: 1344:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2539 .loc 4 1344 26 view .LVU781 - 2540 .LBB404: + 3233 .loc 4 1344 26 view .LVU981 + 3234 .LBB410: 1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2541 .loc 4 1346 3 view .LVU782 -1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2542 .loc 4 1346 21 is_stmt 0 view .LVU783 - 2543 019a 1F4B ldr r3, .L171+8 - 2544 019c DD68 ldr r5, [r3, #12] -1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2545 .loc 4 1346 10 view .LVU784 - 2546 019e ADB2 uxth r5, r5 - 2547 .LVL281: -1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2548 .loc 4 1346 10 view .LVU785 - 2549 .LBE404: - 2550 .LBE403: - 2551 01a0 91E7 b .L135 - 2552 .LVL282: - 2553 .L136: -2731:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD2_CS_GPIO_Port, ADC_ThrLD2_CS_Pin, GPIO_PIN_RESET); - 2554 .loc 1 2731 3 is_stmt 1 view .LVU786 - 2555 01a2 1C4C ldr r4, .L171+4 - 2556 01a4 0122 movs r2, #1 - 2557 01a6 4021 movs r1, #64 - 2558 01a8 2046 mov r0, r4 - 2559 01aa FFF7FEFF bl HAL_GPIO_WritePin - 2560 .LVL283: -2732:Src/main.c **** tmp32=0; - 2561 .loc 1 2732 3 view .LVU787 - 2562 01ae 0022 movs r2, #0 - ARM GAS /tmp/ccYgfTud.s page 172 + ARM GAS /tmp/ccwR4KB7.s page 192 - 2563 01b0 4FF48061 mov r1, #1024 - 2564 01b4 2046 mov r0, r4 - 2565 01b6 FFF7FEFF bl HAL_GPIO_WritePin - 2566 .LVL284: -2733:Src/main.c **** while(tmp32<500){tmp32++;} - 2567 .loc 1 2733 3 view .LVU788 -2734:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2568 .loc 1 2734 3 view .LVU789 -2733:Src/main.c **** while(tmp32<500){tmp32++;} - 2569 .loc 1 2733 8 is_stmt 0 view .LVU790 - 2570 01ba 0023 movs r3, #0 -2734:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2571 .loc 1 2734 8 view .LVU791 - 2572 01bc 00E0 b .L162 - 2573 .LVL285: - 2574 .L163: -2734:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2575 .loc 1 2734 20 is_stmt 1 discriminator 2 view .LVU792 -2734:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2576 .loc 1 2734 25 is_stmt 0 discriminator 2 view .LVU793 - 2577 01be 0133 adds r3, r3, #1 - 2578 .LVL286: - 2579 .L162: -2734:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c - 2580 .loc 1 2734 14 is_stmt 1 discriminator 1 view .LVU794 - 2581 01c0 B3F5FA7F cmp r3, #500 - 2582 01c4 FBD3 bcc .L163 -2736:Src/main.c **** tmp32 = 0; - 2583 .loc 1 2736 3 view .LVU795 - 2584 .LVL287: - 2585 .LBB405: - 2586 .LBI405: + 3235 .loc 4 1346 3 view .LVU982 +1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3236 .loc 4 1346 21 is_stmt 0 view .LVU983 + 3237 012c 3B4B ldr r3, .L250+12 + 3238 012e DD68 ldr r5, [r3, #12] +1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3239 .loc 4 1346 10 view .LVU984 + 3240 0130 ADB2 uxth r5, r5 + 3241 .LVL383: +1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3242 .loc 4 1346 10 view .LVU985 + 3243 .LBE410: + 3244 .LBE409: + 3245 0132 C8E7 b .L214 + 3246 .LVL384: + 3247 .L217: +2994:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD1_CS_GPIO_Port, ADC_ThrLD1_CS_Pin, GPIO_PIN_RESET); + 3248 .loc 1 2994 3 is_stmt 1 view .LVU986 + 3249 0134 364C ldr r4, .L250 + 3250 0136 0122 movs r2, #1 + 3251 0138 4FF48061 mov r1, #1024 + 3252 013c 2046 mov r0, r4 + 3253 013e FFF7FEFF bl HAL_GPIO_WritePin + 3254 .LVL385: +2995:Src/main.c **** tmp32=0; + 3255 .loc 1 2995 3 view .LVU987 + 3256 0142 0022 movs r2, #0 + 3257 0144 4FF40061 mov r1, #2048 + 3258 0148 2046 mov r0, r4 + 3259 014a FFF7FEFF bl HAL_GPIO_WritePin + 3260 .LVL386: +2996:Src/main.c **** while(tmp32<500){tmp32++;} + 3261 .loc 1 2996 3 view .LVU988 +2997:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3262 .loc 1 2997 3 view .LVU989 +2996:Src/main.c **** while(tmp32<500){tmp32++;} + 3263 .loc 1 2996 8 is_stmt 0 view .LVU990 + 3264 014e 0023 movs r3, #0 +2997:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3265 .loc 1 2997 8 view .LVU991 + 3266 0150 00E0 b .L234 + 3267 .LVL387: + 3268 .L235: +2997:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3269 .loc 1 2997 20 is_stmt 1 discriminator 2 view .LVU992 +2997:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3270 .loc 1 2997 25 is_stmt 0 discriminator 2 view .LVU993 + 3271 0152 0133 adds r3, r3, #1 + 3272 .LVL388: + 3273 .L234: +2997:Src/main.c **** //LL_SPI_TransmitData16(SPI4, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3274 .loc 1 2997 14 is_stmt 1 discriminator 1 view .LVU994 + 3275 0154 B3F5FA7F cmp r3, #500 + 3276 0158 FBD3 bcc .L235 +2999:Src/main.c **** tmp32 = 0; + 3277 .loc 1 2999 3 view .LVU995 + 3278 .LVL389: + ARM GAS /tmp/ccwR4KB7.s page 193 + + + 3279 .LBB411: + 3280 .LBI411: 358:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2587 .loc 4 358 22 view .LVU796 - 2588 .LBB406: + 3281 .loc 4 358 22 view .LVU996 + 3282 .LBB412: 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2589 .loc 4 360 3 view .LVU797 - 2590 01c6 154A ldr r2, .L171+12 - 2591 01c8 1368 ldr r3, [r2] - 2592 .LVL288: + 3283 .loc 4 360 3 view .LVU997 + 3284 015a 2F4A ldr r2, .L250+8 + 3285 015c 1368 ldr r3, [r2] + 3286 .LVL390: 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2593 .loc 4 360 3 is_stmt 0 view .LVU798 - 2594 01ca 43F04003 orr r3, r3, #64 - 2595 01ce 1360 str r3, [r2] - 2596 .LVL289: + 3287 .loc 4 360 3 is_stmt 0 view .LVU998 + 3288 015e 43F04003 orr r3, r3, #64 + 3289 0162 1360 str r3, [r2] + 3290 .LVL391: 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2597 .loc 4 360 3 view .LVU799 - 2598 .LBE406: - 2599 .LBE405: -2737:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI5))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w - 2600 .loc 1 2737 3 is_stmt 1 view .LVU800 -2738:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for ThrLD2 ADC - 2601 .loc 1 2738 3 view .LVU801 -2737:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI5))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w - 2602 .loc 1 2737 9 is_stmt 0 view .LVU802 - 2603 01d0 0023 movs r3, #0 - 2604 .LVL290: - ARM GAS /tmp/ccYgfTud.s page 173 - - - 2605 .L164: -2738:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for ThrLD2 ADC - 2606 .loc 1 2738 43 is_stmt 1 discriminator 1 view .LVU803 - 2607 .LBB407: - 2608 .LBI407: + 3291 .loc 4 360 3 view .LVU999 + 3292 .LBE412: + 3293 .LBE411: +3000:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI4))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w + 3294 .loc 1 3000 3 is_stmt 1 view .LVU1000 +3001:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for ThrLD1 ADC + 3295 .loc 1 3001 3 view .LVU1001 +3000:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI4))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w + 3296 .loc 1 3000 9 is_stmt 0 view .LVU1002 + 3297 0164 0023 movs r3, #0 + 3298 .LVL392: + 3299 .L236: +3001:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for ThrLD1 ADC + 3300 .loc 1 3001 43 is_stmt 1 discriminator 1 view .LVU1003 + 3301 .LBB413: + 3302 .LBI413: 905:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2609 .loc 4 905 26 view .LVU804 - 2610 .LBB408: + 3303 .loc 4 905 26 view .LVU1004 + 3304 .LBB414: 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2611 .loc 4 907 3 view .LVU805 + 3305 .loc 4 907 3 view .LVU1005 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2612 .loc 4 907 12 is_stmt 0 view .LVU806 - 2613 01d2 124A ldr r2, .L171+12 - 2614 01d4 9268 ldr r2, [r2, #8] + 3306 .loc 4 907 12 is_stmt 0 view .LVU1006 + 3307 0166 2C4A ldr r2, .L250+8 + 3308 0168 9268 ldr r2, [r2, #8] 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2615 .loc 4 907 68 view .LVU807 - 2616 01d6 12F0010F tst r2, #1 - 2617 01da 04D1 bne .L165 - 2618 .LVL291: + 3309 .loc 4 907 68 view .LVU1007 + 3310 016a 12F0010F tst r2, #1 + 3311 016e 04D1 bne .L237 + 3312 .LVL393: 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2619 .loc 4 907 68 view .LVU808 - 2620 .LBE408: - 2621 .LBE407: -2738:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for ThrLD2 ADC - 2622 .loc 1 2738 43 discriminator 2 view .LVU809 - 2623 01dc B3F57A7F cmp r3, #1000 - 2624 01e0 01D8 bhi .L165 -2738:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for ThrLD2 ADC - 2625 .loc 1 2738 62 is_stmt 1 discriminator 3 view .LVU810 -2738:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for ThrLD2 ADC - 2626 .loc 1 2738 67 is_stmt 0 discriminator 3 view .LVU811 - 2627 01e2 0133 adds r3, r3, #1 - 2628 .LVL292: -2738:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for ThrLD2 ADC - 2629 .loc 1 2738 67 discriminator 3 view .LVU812 - 2630 01e4 F5E7 b .L164 - 2631 .L165: -2739:Src/main.c **** while(tmp32<500){tmp32++;} - 2632 .loc 1 2739 3 is_stmt 1 view .LVU813 - 2633 .LVL293: - 2634 .LBB409: - 2635 .LBI409: + 3313 .loc 4 907 68 view .LVU1008 + 3314 .LBE414: + 3315 .LBE413: +3001:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for ThrLD1 ADC + 3316 .loc 1 3001 43 discriminator 2 view .LVU1009 + 3317 0170 B3F57A7F cmp r3, #1000 + 3318 0174 01D8 bhi .L237 +3001:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for ThrLD1 ADC + 3319 .loc 1 3001 62 is_stmt 1 discriminator 3 view .LVU1010 +3001:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for ThrLD1 ADC + ARM GAS /tmp/ccwR4KB7.s page 194 + + + 3320 .loc 1 3001 67 is_stmt 0 discriminator 3 view .LVU1011 + 3321 0176 0133 adds r3, r3, #1 + 3322 .LVL394: +3001:Src/main.c **** LL_SPI_Disable(SPI4);//Enable SPI for ThrLD1 ADC + 3323 .loc 1 3001 67 discriminator 3 view .LVU1012 + 3324 0178 F5E7 b .L236 + 3325 .L237: +3002:Src/main.c **** while(tmp32<500){tmp32++;} + 3326 .loc 1 3002 3 is_stmt 1 view .LVU1013 + 3327 .LVL395: + 3328 .LBB415: + 3329 .LBI415: 370:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2636 .loc 4 370 22 view .LVU814 - 2637 .LBB410: + 3330 .loc 4 370 22 view .LVU1014 + 3331 .LBB416: 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2638 .loc 4 372 3 view .LVU815 - 2639 01e6 0D49 ldr r1, .L171+12 - 2640 01e8 0A68 ldr r2, [r1] - 2641 01ea 22F04002 bic r2, r2, #64 - 2642 01ee 0A60 str r2, [r1] - 2643 .LVL294: + 3332 .loc 4 372 3 view .LVU1015 + 3333 017a 2749 ldr r1, .L250+8 + 3334 017c 0A68 ldr r2, [r1] + 3335 017e 22F04002 bic r2, r2, #64 + 3336 0182 0A60 str r2, [r1] + 3337 .LVL396: 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2644 .loc 4 372 3 is_stmt 0 view .LVU816 - 2645 .LBE410: - 2646 .LBE409: -2740:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - ARM GAS /tmp/ccYgfTud.s page 174 + 3338 .loc 4 372 3 is_stmt 0 view .LVU1016 + 3339 .LBE416: + 3340 .LBE415: +3003:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3341 .loc 1 3003 3 is_stmt 1 view .LVU1017 + 3342 .LBB418: + 3343 .LBB417: + 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** + 3344 .loc 4 373 1 is_stmt 0 view .LVU1018 + 3345 0184 00E0 b .L239 + 3346 .L240: + 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** + 3347 .loc 4 373 1 view .LVU1019 + 3348 .LBE417: + 3349 .LBE418: +3003:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3350 .loc 1 3003 20 is_stmt 1 discriminator 2 view .LVU1020 +3003:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3351 .loc 1 3003 25 is_stmt 0 discriminator 2 view .LVU1021 + 3352 0186 0133 adds r3, r3, #1 + 3353 .LVL397: + 3354 .L239: +3003:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3355 .loc 1 3003 14 is_stmt 1 discriminator 1 view .LVU1022 + 3356 0188 B3F5FA7F cmp r3, #500 + 3357 018c FBD3 bcc .L240 +3005:Src/main.c **** P = LL_SPI_ReceiveData16(SPI4); + 3358 .loc 1 3005 3 view .LVU1023 + 3359 018e 0122 movs r2, #1 + 3360 0190 4FF40061 mov r1, #2048 + 3361 0194 1E48 ldr r0, .L250 + 3362 0196 FFF7FEFF bl HAL_GPIO_WritePin + 3363 .LVL398: +3006:Src/main.c **** } + ARM GAS /tmp/ccwR4KB7.s page 195 - 2647 .loc 1 2740 3 is_stmt 1 view .LVU817 - 2648 .LBB412: - 2649 .LBB411: - 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** - 2650 .loc 4 373 1 is_stmt 0 view .LVU818 - 2651 01f0 00E0 b .L167 - 2652 .L168: - 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** - 2653 .loc 4 373 1 view .LVU819 - 2654 .LBE411: - 2655 .LBE412: -2740:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - 2656 .loc 1 2740 20 is_stmt 1 discriminator 2 view .LVU820 -2740:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - 2657 .loc 1 2740 25 is_stmt 0 discriminator 2 view .LVU821 - 2658 01f2 0133 adds r3, r3, #1 - 2659 .LVL295: - 2660 .L167: -2740:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); - 2661 .loc 1 2740 14 is_stmt 1 discriminator 1 view .LVU822 - 2662 01f4 B3F5FA7F cmp r3, #500 - 2663 01f8 FBD3 bcc .L168 -2742:Src/main.c **** P = LL_SPI_ReceiveData16(SPI5); - 2664 .loc 1 2742 3 view .LVU823 - 2665 01fa 0122 movs r2, #1 - 2666 01fc 4FF48061 mov r1, #1024 - 2667 0200 0448 ldr r0, .L171+4 - 2668 0202 FFF7FEFF bl HAL_GPIO_WritePin - 2669 .LVL296: -2743:Src/main.c **** } - 2670 .loc 1 2743 3 view .LVU824 - 2671 .LBB413: - 2672 .LBI413: + 3364 .loc 1 3006 3 view .LVU1024 + 3365 .LBB419: + 3366 .LBI419: 1344:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 2673 .loc 4 1344 26 view .LVU825 - 2674 .LBB414: + 3367 .loc 4 1344 26 view .LVU1025 + 3368 .LBB420: 1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2675 .loc 4 1346 3 view .LVU826 + 3369 .loc 4 1346 3 view .LVU1026 1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2676 .loc 4 1346 21 is_stmt 0 view .LVU827 - 2677 0206 054B ldr r3, .L171+12 - 2678 0208 DD68 ldr r5, [r3, #12] + 3370 .loc 4 1346 21 is_stmt 0 view .LVU1027 + 3371 019a 1F4B ldr r3, .L250+8 + 3372 019c DD68 ldr r5, [r3, #12] 1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2679 .loc 4 1346 10 view .LVU828 - 2680 020a ADB2 uxth r5, r5 - 2681 .LVL297: + 3373 .loc 4 1346 10 view .LVU1028 + 3374 019e ADB2 uxth r5, r5 + 3375 .LVL399: 1346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 2682 .loc 4 1346 10 view .LVU829 - 2683 020c 5BE7 b .L135 - 2684 .L172: - 2685 020e 00BF .align 2 - 2686 .L171: - 2687 0210 00100240 .word 1073876992 - 2688 0214 00140240 .word 1073878016 - 2689 0218 00340140 .word 1073820672 - 2690 021c 00500140 .word 1073827840 - 2691 .LBE414: - ARM GAS /tmp/ccYgfTud.s page 175 + 3376 .loc 4 1346 10 view .LVU1029 + 3377 .LBE420: + 3378 .LBE419: + 3379 01a0 91E7 b .L214 + 3380 .LVL400: + 3381 .L215: +3010:Src/main.c **** HAL_GPIO_WritePin(ADC_ThrLD2_CS_GPIO_Port, ADC_ThrLD2_CS_Pin, GPIO_PIN_RESET); + 3382 .loc 1 3010 3 is_stmt 1 view .LVU1030 + 3383 01a2 1C4C ldr r4, .L250+4 + 3384 01a4 0122 movs r2, #1 + 3385 01a6 4021 movs r1, #64 + 3386 01a8 2046 mov r0, r4 + 3387 01aa FFF7FEFF bl HAL_GPIO_WritePin + 3388 .LVL401: +3011:Src/main.c **** tmp32=0; + 3389 .loc 1 3011 3 view .LVU1031 + 3390 01ae 0022 movs r2, #0 + 3391 01b0 4FF48061 mov r1, #1024 + 3392 01b4 2046 mov r0, r4 + 3393 01b6 FFF7FEFF bl HAL_GPIO_WritePin + 3394 .LVL402: +3012:Src/main.c **** while(tmp32<500){tmp32++;} + 3395 .loc 1 3012 3 view .LVU1032 +3013:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3396 .loc 1 3013 3 view .LVU1033 +3012:Src/main.c **** while(tmp32<500){tmp32++;} + 3397 .loc 1 3012 8 is_stmt 0 view .LVU1034 + 3398 01ba 0023 movs r3, #0 +3013:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3399 .loc 1 3013 8 view .LVU1035 + 3400 01bc 00E0 b .L241 + 3401 .LVL403: + 3402 .L242: +3013:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3403 .loc 1 3013 20 is_stmt 1 discriminator 2 view .LVU1036 +3013:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3404 .loc 1 3013 25 is_stmt 0 discriminator 2 view .LVU1037 + 3405 01be 0133 adds r3, r3, #1 + 3406 .LVL404: + 3407 .L241: + ARM GAS /tmp/ccwR4KB7.s page 196 - 2692 .LBE413: - 2693 .cfi_endproc - 2694 .LFE1218: - 2696 .section .text.Stop_TIM10,"ax",%progbits - 2697 .align 1 - 2698 .syntax unified - 2699 .thumb - 2700 .thumb_func - 2702 Stop_TIM10: - 2703 .LFB1229: -2908:Src/main.c **** uint8_t CheckChecksum(uint16_t *pbuff) -2909:Src/main.c **** { -2910:Src/main.c **** uint16_t cl_ind; -2911:Src/main.c **** -2912:Src/main.c **** switch (UART_header) -2913:Src/main.c **** { -2914:Src/main.c **** case 0x7777: -2915:Src/main.c **** cl_ind = TSK_16 - 2; -2916:Src/main.c **** break; -2917:Src/main.c **** case 0x1111: -2918:Src/main.c **** cl_ind = CL_16 - 2; -2919:Src/main.c **** break; -2920:Src/main.c **** default: -2921:Src/main.c **** return 0; -2922:Src/main.c **** break; -2923:Src/main.c **** } -2924:Src/main.c **** -2925:Src/main.c **** CS_result = CalculateChecksum(pbuff, cl_ind); -2926:Src/main.c **** -2927:Src/main.c **** return ((CS_result == COMMAND[cl_ind]) ? 1 : 0); -2928:Src/main.c **** } -2929:Src/main.c **** uint16_t CalculateChecksum(uint16_t *pbuff, uint16_t len) -2930:Src/main.c **** { -2931:Src/main.c **** short i; -2932:Src/main.c **** uint16_t cs = *pbuff; -2933:Src/main.c **** -2934:Src/main.c **** for(i = 1; i < len; i++) -2935:Src/main.c **** { -2936:Src/main.c **** cs ^= *(pbuff+i); -2937:Src/main.c **** } -2938:Src/main.c **** return cs; -2939:Src/main.c **** } -2940:Src/main.c **** -2941:Src/main.c **** /*int SD_Init(void) -2942:Src/main.c **** { -2943:Src/main.c **** int test=0; -2944:Src/main.c **** if (HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin)==GPIO_PIN_RESET) -2945:Src/main.c **** { -2946:Src/main.c **** test = Mount_SD("/"); -2947:Src/main.c **** if (test == 0) //0 - suc -2948:Src/main.c **** { -2949:Src/main.c **** //Format_SD(); -2950:Src/main.c **** test = Create_File("FILE1.TXT"); // 0 -suc -2951:Src/main.c **** //Create_File("FILE2.TXT"); -2952:Src/main.c **** Write_File ("FILE1.TXT", "____OSGG main borad information. Program made by Kazakov Viktor. Part -2953:Src/main.c **** test = Unmount_SD("/"); // 0 - succ -2954:Src/main.c **** return test; - ARM GAS /tmp/ccYgfTud.s page 176 +3013:Src/main.c **** //LL_SPI_TransmitData16(SPI5, 0xFFFF);//We must to clock the CLK output for collect RX data. We c + 3408 .loc 1 3013 14 is_stmt 1 discriminator 1 view .LVU1038 + 3409 01c0 B3F5FA7F cmp r3, #500 + 3410 01c4 FBD3 bcc .L242 +3015:Src/main.c **** tmp32 = 0; + 3411 .loc 1 3015 3 view .LVU1039 + 3412 .LVL405: + 3413 .LBB421: + 3414 .LBI421: + 358:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 3415 .loc 4 358 22 view .LVU1040 + 3416 .LBB422: + 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3417 .loc 4 360 3 view .LVU1041 + 3418 01c6 154A ldr r2, .L250+12 + 3419 01c8 1368 ldr r3, [r2] + 3420 .LVL406: + 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3421 .loc 4 360 3 is_stmt 0 view .LVU1042 + 3422 01ca 43F04003 orr r3, r3, #64 + 3423 01ce 1360 str r3, [r2] + 3424 .LVL407: + 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3425 .loc 4 360 3 view .LVU1043 + 3426 .LBE422: + 3427 .LBE421: +3016:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI5))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w + 3428 .loc 1 3016 3 is_stmt 1 view .LVU1044 +3017:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for ThrLD2 ADC + 3429 .loc 1 3017 3 view .LVU1045 +3016:Src/main.c **** while(((!LL_SPI_IsActiveFlag_RXNE(SPI5))&&(tmp32<=1000))) {tmp32++;}//When rec. last data cycle w + 3430 .loc 1 3016 9 is_stmt 0 view .LVU1046 + 3431 01d0 0023 movs r3, #0 + 3432 .LVL408: + 3433 .L243: +3017:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for ThrLD2 ADC + 3434 .loc 1 3017 43 is_stmt 1 discriminator 1 view .LVU1047 + 3435 .LBB423: + 3436 .LBI423: + 905:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 3437 .loc 4 905 26 view .LVU1048 + 3438 .LBB424: + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3439 .loc 4 907 3 view .LVU1049 + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3440 .loc 4 907 12 is_stmt 0 view .LVU1050 + 3441 01d2 124A ldr r2, .L250+12 + 3442 01d4 9268 ldr r2, [r2, #8] + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3443 .loc 4 907 68 view .LVU1051 + 3444 01d6 12F0010F tst r2, #1 + 3445 01da 04D1 bne .L244 + 3446 .LVL409: + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3447 .loc 4 907 68 view .LVU1052 + 3448 .LBE424: + 3449 .LBE423: + ARM GAS /tmp/ccwR4KB7.s page 197 -2955:Src/main.c **** } -2956:Src/main.c **** else -2957:Src/main.c **** { -2958:Src/main.c **** return 1; -2959:Src/main.c **** } -2960:Src/main.c **** } -2961:Src/main.c **** else -2962:Src/main.c **** { -2963:Src/main.c **** return 1; -2964:Src/main.c **** } -2965:Src/main.c **** }*/ -2966:Src/main.c **** -2967:Src/main.c **** int SD_SAVE(uint16_t *pbuff) -2968:Src/main.c **** { -2969:Src/main.c **** int test=0; -2970:Src/main.c **** if (HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin)==GPIO_PIN_RESET) -2971:Src/main.c **** { -2972:Src/main.c **** test = Mount_SD("/"); -2973:Src/main.c **** if (test == 0) //0 - suc -2974:Src/main.c **** { -2975:Src/main.c **** //Format_SD(); -2976:Src/main.c **** test = Update_File_byte("FILE1.TXT", (uint8_t *)pbuff, DL_8); -2977:Src/main.c **** test = Unmount_SD("/"); // 0 - succ -2978:Src/main.c **** return test; -2979:Src/main.c **** } -2980:Src/main.c **** else -2981:Src/main.c **** { -2982:Src/main.c **** return 1; -2983:Src/main.c **** } -2984:Src/main.c **** } -2985:Src/main.c **** else -2986:Src/main.c **** { -2987:Src/main.c **** return 1; -2988:Src/main.c **** } -2989:Src/main.c **** } -2990:Src/main.c **** -2991:Src/main.c **** -2992:Src/main.c **** -2993:Src/main.c **** //uint32_t Get_Length(void) -2994:Src/main.c **** //{ -2995:Src/main.c **** // return SD_matr[0][0] + ((uint32_t) (SD_matr[0][1])<<16); -2996:Src/main.c **** //} -2997:Src/main.c **** -2998:Src/main.c **** int SD_READ(uint16_t *pbuff) -2999:Src/main.c **** { -3000:Src/main.c **** int test=0; -3001:Src/main.c **** if (HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin)==GPIO_PIN_RESET) -3002:Src/main.c **** { -3003:Src/main.c **** test = Mount_SD("/"); -3004:Src/main.c **** if (test == 0) //0 - suc -3005:Src/main.c **** { -3006:Src/main.c **** //Format_SD(); -3007:Src/main.c **** test = Seek_Read_File ("FILE1.TXT", (uint8_t *)pbuff, DL_8, fgoto);//Read next 246 bytes -3008:Src/main.c **** fgoto+=DL_8; -3009:Src/main.c **** test = Unmount_SD("/"); // 0 - succ -3010:Src/main.c **** return test; -3011:Src/main.c **** } - ARM GAS /tmp/ccYgfTud.s page 177 +3017:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for ThrLD2 ADC + 3450 .loc 1 3017 43 discriminator 2 view .LVU1053 + 3451 01dc B3F57A7F cmp r3, #1000 + 3452 01e0 01D8 bhi .L244 +3017:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for ThrLD2 ADC + 3453 .loc 1 3017 62 is_stmt 1 discriminator 3 view .LVU1054 +3017:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for ThrLD2 ADC + 3454 .loc 1 3017 67 is_stmt 0 discriminator 3 view .LVU1055 + 3455 01e2 0133 adds r3, r3, #1 + 3456 .LVL410: +3017:Src/main.c **** LL_SPI_Disable(SPI5);//Enable SPI for ThrLD2 ADC + 3457 .loc 1 3017 67 discriminator 3 view .LVU1056 + 3458 01e4 F5E7 b .L243 + 3459 .L244: +3018:Src/main.c **** while(tmp32<500){tmp32++;} + 3460 .loc 1 3018 3 is_stmt 1 view .LVU1057 + 3461 .LVL411: + 3462 .LBB425: + 3463 .LBI425: + 370:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 3464 .loc 4 370 22 view .LVU1058 + 3465 .LBB426: + 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3466 .loc 4 372 3 view .LVU1059 + 3467 01e6 0D49 ldr r1, .L250+12 + 3468 01e8 0A68 ldr r2, [r1] + 3469 01ea 22F04002 bic r2, r2, #64 + 3470 01ee 0A60 str r2, [r1] + 3471 .LVL412: + 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 3472 .loc 4 372 3 is_stmt 0 view .LVU1060 + 3473 .LBE426: + 3474 .LBE425: +3019:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3475 .loc 1 3019 3 is_stmt 1 view .LVU1061 + 3476 .LBB428: + 3477 .LBB427: + 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** + 3478 .loc 4 373 1 is_stmt 0 view .LVU1062 + 3479 01f0 00E0 b .L246 + 3480 .L247: + 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** + 3481 .loc 4 373 1 view .LVU1063 + 3482 .LBE427: + 3483 .LBE428: +3019:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3484 .loc 1 3019 20 is_stmt 1 discriminator 2 view .LVU1064 +3019:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3485 .loc 1 3019 25 is_stmt 0 discriminator 2 view .LVU1065 + 3486 01f2 0133 adds r3, r3, #1 + 3487 .LVL413: + 3488 .L246: +3019:Src/main.c **** //HAL_SPI_Receive(&hspi4, &P[0], 1, 100); + 3489 .loc 1 3019 14 is_stmt 1 discriminator 1 view .LVU1066 + 3490 01f4 B3F5FA7F cmp r3, #500 + 3491 01f8 FBD3 bcc .L247 +3021:Src/main.c **** P = LL_SPI_ReceiveData16(SPI5); + ARM GAS /tmp/ccwR4KB7.s page 198 -3012:Src/main.c **** else -3013:Src/main.c **** { -3014:Src/main.c **** return 1; -3015:Src/main.c **** } -3016:Src/main.c **** } -3017:Src/main.c **** else -3018:Src/main.c **** { -3019:Src/main.c **** return 1; -3020:Src/main.c **** } -3021:Src/main.c **** -3022:Src/main.c **** /* for (uint16_t j = 0; j < DL_16; j++) -3023:Src/main.c **** { -3024:Src/main.c **** *(pbuff+j) = SD_matr[SD_SLIDE][j]; -3025:Src/main.c **** } -3026:Src/main.c **** if (SD_SLIDEAHB1RSTR, Periphs); 479:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } 480:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** @@ -11604,6 +13018,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 498:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1RSTR ETHMACRST LL_AHB1_GRP1_ReleaseReset\n 499:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1RSTR OTGHSRST LL_AHB1_GRP1_ReleaseReset 500:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @param Periphs This parameter can be a combination of the following values: + ARM GAS /tmp/ccwR4KB7.s page 218 + + 501:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB1_GRP1_PERIPH_ALL 502:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA 503:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB @@ -11638,9 +13055,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 532:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1LPENR GPIOCLPEN LL_AHB1_GRP1_EnableClockLowPower\n 533:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1LPENR GPIODLPEN LL_AHB1_GRP1_EnableClockLowPower\n 534:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1LPENR GPIOELPEN LL_AHB1_GRP1_EnableClockLowPower\n - ARM GAS /tmp/ccYgfTud.s page 195 - - 535:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1LPENR GPIOFLPEN LL_AHB1_GRP1_EnableClockLowPower\n 536:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1LPENR GPIOGLPEN LL_AHB1_GRP1_EnableClockLowPower\n 537:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1LPENR GPIOHLPEN LL_AHB1_GRP1_EnableClockLowPower\n @@ -11664,6 +13078,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 555:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1LPENR OTGHSLPEN LL_AHB1_GRP1_EnableClockLowPower\n 556:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1LPENR OTGHSULPILPEN LL_AHB1_GRP1_EnableClockLowPower 557:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @param Periphs This parameter can be a combination of the following values: + ARM GAS /tmp/ccwR4KB7.s page 219 + + 558:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOA 559:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOB 560:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB1_GRP1_PERIPH_GPIOC @@ -11698,9 +13115,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 589:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** __STATIC_INLINE void LL_AHB1_GRP1_EnableClockLowPower(uint32_t Periphs) 590:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { 591:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** __IO uint32_t tmpreg; - ARM GAS /tmp/ccYgfTud.s page 196 - - 592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->AHB1LPENR, Periphs); 593:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ 594:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** tmpreg = READ_BIT(RCC->AHB1LPENR, Periphs); @@ -11724,6 +13138,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 612:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1LPENR AXILPEN LL_AHB1_GRP1_DisableClockLowPower\n 613:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1LPENR FLITFLPEN LL_AHB1_GRP1_DisableClockLowPower\n 614:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1LPENR SRAM1LPEN LL_AHB1_GRP1_DisableClockLowPower\n + ARM GAS /tmp/ccwR4KB7.s page 220 + + 615:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1LPENR SRAM2LPEN LL_AHB1_GRP1_DisableClockLowPower\n 616:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1LPENR BKPSRAMLPEN LL_AHB1_GRP1_DisableClockLowPower\n 617:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB1LPENR DTCMRAMLPEN LL_AHB1_GRP1_DisableClockLowPower\n @@ -11758,9 +13175,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 646:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB1_GRP1_PERIPH_DMA1 647:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2 648:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB1_GRP1_PERIPH_DMA2D (*) - ARM GAS /tmp/ccYgfTud.s page 197 - - 649:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMAC (*) 650:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACTX (*) 651:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB1_GRP1_PERIPH_ETHMACRX (*) @@ -11784,6 +13198,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 669:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @{ 670:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** */ 671:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** + ARM GAS /tmp/ccwR4KB7.s page 221 + + 672:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /** 673:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @brief Enable AHB2 peripherals clock. 674:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @rmtoll AHB2ENR DCMIEN LL_AHB2_GRP1_EnableClock\n @@ -11818,9 +13235,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 703:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @brief Check if AHB2 peripheral clock is enabled or not 704:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @rmtoll AHB2ENR DCMIEN LL_AHB2_GRP1_IsEnabledClock\n 705:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2ENR JPEGEN LL_AHB2_GRP1_IsEnabledClock\n - ARM GAS /tmp/ccYgfTud.s page 198 - - 706:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2ENR CRYPEN LL_AHB2_GRP1_IsEnabledClock\n 707:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2ENR AESEN LL_AHB2_GRP1_IsEnabledClock\n 708:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2ENR HASHEN LL_AHB2_GRP1_IsEnabledClock\n @@ -11844,6 +13258,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 726:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } 727:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** 728:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 222 + + 729:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @brief Disable AHB2 peripherals clock. 730:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @rmtoll AHB2ENR DCMIEN LL_AHB2_GRP1_DisableClock\n 731:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2ENR JPEGEN LL_AHB2_GRP1_DisableClock\n @@ -11878,9 +13295,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 760:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2RSTR HASHRST LL_AHB2_GRP1_ForceReset\n 761:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2RSTR RNGRST LL_AHB2_GRP1_ForceReset\n 762:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2RSTR OTGFSRST LL_AHB2_GRP1_ForceReset - ARM GAS /tmp/ccYgfTud.s page 199 - - 763:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @param Periphs This parameter can be a combination of the following values: 764:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB2_GRP1_PERIPH_ALL 765:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*) @@ -11904,6 +13318,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 783:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @rmtoll AHB2RSTR DCMIRST LL_AHB2_GRP1_ReleaseReset\n 784:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2RSTR JPEGRST LL_AHB2_GRP1_ReleaseReset\n 785:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2RSTR CRYPRST LL_AHB2_GRP1_ReleaseReset\n + ARM GAS /tmp/ccwR4KB7.s page 223 + + 786:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2RSTR AESRST LL_AHB2_GRP1_ReleaseReset\n 787:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2RSTR HASHRST LL_AHB2_GRP1_ReleaseReset\n 788:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2RSTR RNGRST LL_AHB2_GRP1_ReleaseReset\n @@ -11938,9 +13355,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 817:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @param Periphs This parameter can be a combination of the following values: 818:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB2_GRP1_PERIPH_DCMI (*) 819:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB2_GRP1_PERIPH_JPEG (*) - ARM GAS /tmp/ccYgfTud.s page 200 - - 820:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB2_GRP1_PERIPH_CRYP (*) 821:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB2_GRP1_PERIPH_AES (*) 822:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB2_GRP1_PERIPH_HASH (*) @@ -11964,6 +13378,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 840:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @rmtoll AHB2LPENR DCMILPEN LL_AHB2_GRP1_DisableClockLowPower\n 841:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2LPENR JPEGLPEN LL_AHB2_GRP1_DisableClockLowPower\n 842:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2LPENR CRYPLPEN LL_AHB2_GRP1_DisableClockLowPower\n + ARM GAS /tmp/ccwR4KB7.s page 224 + + 843:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2LPENR AESLPEN LL_AHB2_GRP1_DisableClockLowPower\n 844:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2LPENR HASHLPEN LL_AHB2_GRP1_DisableClockLowPower\n 845:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB2LPENR RNGLPEN LL_AHB2_GRP1_DisableClockLowPower\n @@ -11998,9 +13415,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 874:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @rmtoll AHB3ENR FMCEN LL_AHB3_GRP1_EnableClock\n 875:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * AHB3ENR QSPIEN LL_AHB3_GRP1_EnableClock 876:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @param Periphs This parameter can be a combination of the following values: - ARM GAS /tmp/ccYgfTud.s page 201 - - 877:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*) 878:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI 879:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @@ -12024,6 +13438,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 897:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB3_GRP1_PERIPH_FMC (*) 898:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI 899:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * + ARM GAS /tmp/ccwR4KB7.s page 225 + + 900:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * (*) value not defined in all devices. 901:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @retval State of Periphs (1 or 0). 902:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** */ @@ -12058,9 +13475,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 931:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_AHB3_GRP1_PERIPH_QSPI 932:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * 933:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * (*) value not defined in all devices. - ARM GAS /tmp/ccYgfTud.s page 202 - - 934:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @retval None 935:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** */ 936:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** __STATIC_INLINE void LL_AHB3_GRP1_ForceReset(uint32_t Periphs) @@ -12084,6 +13498,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 954:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { 955:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** CLEAR_BIT(RCC->AHB3RSTR, Periphs); 956:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } + ARM GAS /tmp/ccwR4KB7.s page 226 + + 957:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** 958:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /** 959:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @brief Enable AHB3 peripheral clocks in low-power mode @@ -12118,9 +13535,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 988:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** */ 989:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** __STATIC_INLINE void LL_AHB3_GRP1_DisableClockLowPower(uint32_t Periphs) 990:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { - ARM GAS /tmp/ccYgfTud.s page 203 - - 991:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** CLEAR_BIT(RCC->AHB3LPENR, Periphs); 992:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } 993:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** @@ -12144,6 +13558,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1011:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR TIM13EN LL_APB1_GRP1_EnableClock\n 1012:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR TIM14EN LL_APB1_GRP1_EnableClock\n 1013:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR LPTIM1EN LL_APB1_GRP1_EnableClock\n + ARM GAS /tmp/ccwR4KB7.s page 227 + + 1014:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR WWDGEN LL_APB1_GRP1_EnableClock\n 1015:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR SPI2EN LL_APB1_GRP1_EnableClock\n 1016:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR SPI3EN LL_APB1_GRP1_EnableClock\n @@ -12178,9 +13595,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1045:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1 1046:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_WWDG 1047:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_SPI2 - ARM GAS /tmp/ccYgfTud.s page 204 - - 1048:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_SPI3 1049:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*) 1050:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_USART2 @@ -12204,6 +13618,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1068:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * (*) value not defined in all devices. 1069:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @retval None 1070:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 228 + + 1071:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** __STATIC_INLINE void LL_APB1_GRP1_EnableClock(uint32_t Periphs) 1072:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { 1073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** __IO uint32_t tmpreg; @@ -12238,9 +13655,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1102:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR I2C3EN LL_APB1_GRP1_IsEnabledClock\n 1103:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR I2C4EN LL_APB1_GRP1_IsEnabledClock\n 1104:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR CAN1EN LL_APB1_GRP1_IsEnabledClock\n - ARM GAS /tmp/ccYgfTud.s page 205 - - 1105:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR CAN2EN LL_APB1_GRP1_IsEnabledClock\n 1106:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR CAN3EN LL_APB1_GRP1_IsEnabledClock\n 1107:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR CECEN LL_APB1_GRP1_IsEnabledClock\n @@ -12264,6 +13678,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1125:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_SPI2 1126:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_SPI3 1127:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*) + ARM GAS /tmp/ccwR4KB7.s page 229 + + 1128:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_USART2 1129:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_USART3 1130:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_UART4 @@ -12298,9 +13715,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1159:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR TIM5EN LL_APB1_GRP1_DisableClock\n 1160:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR TIM6EN LL_APB1_GRP1_DisableClock\n 1161:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR TIM7EN LL_APB1_GRP1_DisableClock\n - ARM GAS /tmp/ccYgfTud.s page 206 - - 1162:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR TIM12EN LL_APB1_GRP1_DisableClock\n 1163:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR TIM13EN LL_APB1_GRP1_DisableClock\n 1164:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR TIM14EN LL_APB1_GRP1_DisableClock\n @@ -12324,6 +13738,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1182:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR PWREN LL_APB1_GRP1_DisableClock\n 1183:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR DACEN LL_APB1_GRP1_DisableClock\n 1184:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR UART7EN LL_APB1_GRP1_DisableClock\n + ARM GAS /tmp/ccwR4KB7.s page 230 + + 1185:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR UART8EN LL_APB1_GRP1_DisableClock\n 1186:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1ENR RTCEN LL_APB1_GRP1_DisableClock 1187:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @param Periphs This parameter can be a combination of the following values: @@ -12358,9 +13775,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1216:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_UART7 1217:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_UART8 1218:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_RTCAPB (*) - ARM GAS /tmp/ccYgfTud.s page 207 - - 1219:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * 1220:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * (*) value not defined in all devices. 1221:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @retval None @@ -12384,6 +13798,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1239:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1RSTR LPTIM1RST LL_APB1_GRP1_ForceReset\n 1240:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1RSTR WWDGRST LL_APB1_GRP1_ForceReset\n 1241:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1RSTR SPI2RST LL_APB1_GRP1_ForceReset\n + ARM GAS /tmp/ccwR4KB7.s page 231 + + 1242:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1RSTR SPI3RST LL_APB1_GRP1_ForceReset\n 1243:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1RSTR SPDIFRXRST LL_APB1_GRP1_ForceReset\n 1244:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1RSTR USART2RST LL_APB1_GRP1_ForceReset\n @@ -12418,9 +13835,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1273:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_SPI3 1274:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_SPDIFRX (*) 1275:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_USART2 - ARM GAS /tmp/ccYgfTud.s page 208 - - 1276:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_USART3 1277:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_UART4 1278:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_UART5 @@ -12444,6 +13858,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1296:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { 1297:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->APB1RSTR, Periphs); 1298:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } + ARM GAS /tmp/ccwR4KB7.s page 232 + + 1299:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** 1300:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /** 1301:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @brief Release APB1 peripherals reset. @@ -12478,9 +13895,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1330:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1RSTR UART7RST LL_APB1_GRP1_ReleaseReset\n 1331:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1RSTR UART8RST LL_APB1_GRP1_ReleaseReset 1332:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @param Periphs This parameter can be a combination of the following values: - ARM GAS /tmp/ccYgfTud.s page 209 - - 1333:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_TIM2 1334:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_TIM3 1335:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_TIM4 @@ -12504,6 +13918,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1353:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_I2C3 1354:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_I2C4 (*) 1355:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_CAN1 + ARM GAS /tmp/ccwR4KB7.s page 233 + + 1356:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_CAN2 (*) 1357:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_CAN3 (*) 1358:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_CEC (*) @@ -12538,9 +13955,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1387:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1LPENR SPDIFRXLPEN LL_APB1_GRP1_EnableClockLowPower\n 1388:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1LPENR USART2LPEN LL_APB1_GRP1_EnableClockLowPower\n 1389:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1LPENR USART3LPEN LL_APB1_GRP1_EnableClockLowPower\n - ARM GAS /tmp/ccYgfTud.s page 210 - - 1390:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1LPENR UART4LPEN LL_APB1_GRP1_EnableClockLowPower\n 1391:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1LPENR UART5LPEN LL_APB1_GRP1_EnableClockLowPower\n 1392:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1LPENR I2C1LPEN LL_APB1_GRP1_EnableClockLowPower\n @@ -12564,6 +13978,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1410:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_TIM6 1411:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_TIM7 1412:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_TIM12 + ARM GAS /tmp/ccwR4KB7.s page 234 + + 1413:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_TIM13 1414:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_TIM14 1415:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_LPTIM1 @@ -12598,9 +14015,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1444:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->APB1LPENR, Periphs); 1445:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ 1446:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** tmpreg = READ_BIT(RCC->APB1LPENR, Periphs); - ARM GAS /tmp/ccYgfTud.s page 211 - - 1447:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; 1448:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } 1449:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** @@ -12624,6 +14038,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1467:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1LPENR USART3LPEN LL_APB1_GRP1_DisableClockLowPower\n 1468:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1LPENR UART4LPEN LL_APB1_GRP1_DisableClockLowPower\n 1469:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1LPENR UART5LPEN LL_APB1_GRP1_DisableClockLowPower\n + ARM GAS /tmp/ccwR4KB7.s page 235 + + 1470:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1LPENR I2C1LPEN LL_APB1_GRP1_DisableClockLowPower\n 1471:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1LPENR I2C2LPEN LL_APB1_GRP1_DisableClockLowPower\n 1472:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * APB1LPENR I2C3LPEN LL_APB1_GRP1_DisableClockLowPower\n @@ -12658,9 +14075,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1501:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_UART5 1502:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_I2C1 1503:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_I2C2 - ARM GAS /tmp/ccYgfTud.s page 212 - - 1504:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_I2C3 1505:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_I2C4 (*) 1506:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB1_GRP1_PERIPH_CAN1 @@ -12684,6 +14098,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1524:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /** 1525:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @} 1526:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 236 + + 1527:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** 1528:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /** @defgroup BUS_LL_EF_APB2 APB2 1529:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @{ @@ -12718,9 +14135,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1558:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @param Periphs This parameter can be a combination of the following values: 1559:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB2_GRP1_PERIPH_TIM1 1560:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB2_GRP1_PERIPH_TIM8 - ARM GAS /tmp/ccYgfTud.s page 213 - - 1561:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB2_GRP1_PERIPH_USART1 1562:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB2_GRP1_PERIPH_USART6 1563:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB2_GRP1_PERIPH_ADC1 @@ -12744,1391 +14158,1394 @@ ARM GAS /tmp/ccYgfTud.s page 1 1581:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB2_GRP1_PERIPH_MDIO (*) 1582:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @arg @ref LL_APB2_GRP1_PERIPH_OTGPHYC (*) 1583:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * + ARM GAS /tmp/ccwR4KB7.s page 237 + + 1584:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * (*) value not defined in all devices. 1585:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** * @retval None 1586:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** */ 1587:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** __STATIC_INLINE void LL_APB2_GRP1_EnableClock(uint32_t Periphs) - 3259 .loc 3 1587 22 view .LVU1016 - 3260 .LBB424: + 4087 .loc 3 1587 22 view .LVU1260 + 4088 .LBB440: 1588:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { 1589:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** __IO uint32_t tmpreg; - 3261 .loc 3 1589 3 view .LVU1017 + 4089 .loc 3 1589 3 view .LVU1261 1590:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->APB2ENR, Periphs); - 3262 .loc 3 1590 3 view .LVU1018 - 3263 001e 2A4B ldr r3, .L183 - 3264 0020 5A6C ldr r2, [r3, #68] - 3265 0022 42F40052 orr r2, r2, #8192 - 3266 0026 5A64 str r2, [r3, #68] + 4090 .loc 3 1590 3 view .LVU1262 + 4091 001e 2A4B ldr r3, .L262 + 4092 0020 5A6C ldr r2, [r3, #68] + 4093 0022 42F40052 orr r2, r2, #8192 + 4094 0026 5A64 str r2, [r3, #68] 1591:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ 1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** tmpreg = READ_BIT(RCC->APB2ENR, Periphs); - 3267 .loc 3 1592 3 view .LVU1019 - 3268 .loc 3 1592 12 is_stmt 0 view .LVU1020 - 3269 0028 5A6C ldr r2, [r3, #68] - 3270 002a 02F40052 and r2, r2, #8192 - 3271 .loc 3 1592 10 view .LVU1021 - 3272 002e 0192 str r2, [sp, #4] + 4095 .loc 3 1592 3 view .LVU1263 + 4096 .loc 3 1592 12 is_stmt 0 view .LVU1264 + 4097 0028 5A6C ldr r2, [r3, #68] + 4098 002a 02F40052 and r2, r2, #8192 + 4099 .loc 3 1592 10 view .LVU1265 + 4100 002e 0192 str r2, [sp, #4] 1593:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3273 .loc 3 1593 3 is_stmt 1 view .LVU1022 - 3274 0030 019A ldr r2, [sp, #4] - 3275 .LVL326: - 3276 .loc 3 1593 3 is_stmt 0 view .LVU1023 - 3277 .LBE424: - 3278 .LBE423: -1192:Src/main.c **** /**SPI4 GPIO Configuration - 3279 .loc 1 1192 3 is_stmt 1 view .LVU1024 - 3280 .LBB425: - 3281 .LBI425: - ARM GAS /tmp/ccYgfTud.s page 214 - - + 4101 .loc 3 1593 3 is_stmt 1 view .LVU1266 + 4102 0030 019A ldr r2, [sp, #4] + 4103 .LVL444: + 4104 .loc 3 1593 3 is_stmt 0 view .LVU1267 + 4105 .LBE440: + 4106 .LBE439: +1242:Src/main.c **** /**SPI4 GPIO Configuration + 4107 .loc 1 1242 3 is_stmt 1 view .LVU1268 + 4108 .LBB441: + 4109 .LBI441: 309:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { - 3282 .loc 3 309 22 view .LVU1025 - 3283 .LBB426: + 4110 .loc 3 309 22 view .LVU1269 + 4111 .LBB442: 311:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->AHB1ENR, Periphs); - 3284 .loc 3 311 3 view .LVU1026 + 4112 .loc 3 311 3 view .LVU1270 312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ - 3285 .loc 3 312 3 view .LVU1027 - 3286 0032 1A6B ldr r2, [r3, #48] - 3287 0034 42F01002 orr r2, r2, #16 - 3288 0038 1A63 str r2, [r3, #48] + 4113 .loc 3 312 3 view .LVU1271 + 4114 0032 1A6B ldr r2, [r3, #48] + 4115 0034 42F01002 orr r2, r2, #16 + 4116 0038 1A63 str r2, [r3, #48] 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3289 .loc 3 314 3 view .LVU1028 + 4117 .loc 3 314 3 view .LVU1272 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3290 .loc 3 314 12 is_stmt 0 view .LVU1029 - 3291 003a 1B6B ldr r3, [r3, #48] - 3292 003c 03F01003 and r3, r3, #16 + 4118 .loc 3 314 12 is_stmt 0 view .LVU1273 + 4119 003a 1B6B ldr r3, [r3, #48] + 4120 003c 03F01003 and r3, r3, #16 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3293 .loc 3 314 10 view .LVU1030 - 3294 0040 0093 str r3, [sp] + 4121 .loc 3 314 10 view .LVU1274 + 4122 0040 0093 str r3, [sp] 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 3295 .loc 3 315 3 is_stmt 1 view .LVU1031 - 3296 0042 009B ldr r3, [sp] - 3297 .LVL327: + 4123 .loc 3 315 3 is_stmt 1 view .LVU1275 + 4124 0042 009B ldr r3, [sp] + 4125 .LVL445: + ARM GAS /tmp/ccwR4KB7.s page 238 + + 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 3298 .loc 3 315 3 is_stmt 0 view .LVU1032 - 3299 .LBE426: - 3300 .LBE425: -1197:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3301 .loc 1 1197 3 is_stmt 1 view .LVU1033 -1197:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3302 .loc 1 1197 23 is_stmt 0 view .LVU1034 - 3303 0044 4FF48053 mov r3, #4096 - 3304 0048 0293 str r3, [sp, #8] -1198:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3305 .loc 1 1198 3 is_stmt 1 view .LVU1035 -1198:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3306 .loc 1 1198 24 is_stmt 0 view .LVU1036 - 3307 004a 0225 movs r5, #2 - 3308 004c 0395 str r5, [sp, #12] -1199:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3309 .loc 1 1199 3 is_stmt 1 view .LVU1037 -1199:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3310 .loc 1 1199 25 is_stmt 0 view .LVU1038 - 3311 004e 4FF00308 mov r8, #3 - 3312 0052 CDF81080 str r8, [sp, #16] -1200:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 3313 .loc 1 1200 3 is_stmt 1 view .LVU1039 -1201:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; - 3314 .loc 1 1201 3 view .LVU1040 -1202:Src/main.c **** LL_GPIO_Init(GPIOE, &GPIO_InitStruct); - 3315 .loc 1 1202 3 view .LVU1041 -1202:Src/main.c **** LL_GPIO_Init(GPIOE, &GPIO_InitStruct); - 3316 .loc 1 1202 29 is_stmt 0 view .LVU1042 - 3317 0056 0527 movs r7, #5 - 3318 0058 0797 str r7, [sp, #28] -1203:Src/main.c **** - 3319 .loc 1 1203 3 is_stmt 1 view .LVU1043 - ARM GAS /tmp/ccYgfTud.s page 215 - - - 3320 005a 1C4E ldr r6, .L183+4 - 3321 005c 02A9 add r1, sp, #8 - 3322 005e 3046 mov r0, r6 - 3323 0060 FFF7FEFF bl LL_GPIO_Init - 3324 .LVL328: -1205:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3325 .loc 1 1205 3 view .LVU1044 -1205:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3326 .loc 1 1205 23 is_stmt 0 view .LVU1045 - 3327 0064 4FF40053 mov r3, #8192 - 3328 0068 0293 str r3, [sp, #8] -1206:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3329 .loc 1 1206 3 is_stmt 1 view .LVU1046 -1206:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3330 .loc 1 1206 24 is_stmt 0 view .LVU1047 - 3331 006a 0395 str r5, [sp, #12] -1207:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3332 .loc 1 1207 3 is_stmt 1 view .LVU1048 -1207:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3333 .loc 1 1207 25 is_stmt 0 view .LVU1049 - 3334 006c CDF81080 str r8, [sp, #16] -1208:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 3335 .loc 1 1208 3 is_stmt 1 view .LVU1050 -1208:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 3336 .loc 1 1208 30 is_stmt 0 view .LVU1051 - 3337 0070 0594 str r4, [sp, #20] -1209:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; - 3338 .loc 1 1209 3 is_stmt 1 view .LVU1052 -1209:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; - 3339 .loc 1 1209 24 is_stmt 0 view .LVU1053 - 3340 0072 0694 str r4, [sp, #24] -1210:Src/main.c **** LL_GPIO_Init(GPIOE, &GPIO_InitStruct); - 3341 .loc 1 1210 3 is_stmt 1 view .LVU1054 -1210:Src/main.c **** LL_GPIO_Init(GPIOE, &GPIO_InitStruct); - 3342 .loc 1 1210 29 is_stmt 0 view .LVU1055 - 3343 0074 0797 str r7, [sp, #28] -1211:Src/main.c **** - 3344 .loc 1 1211 3 is_stmt 1 view .LVU1056 - 3345 0076 02A9 add r1, sp, #8 - 3346 0078 3046 mov r0, r6 - 3347 007a FFF7FEFF bl LL_GPIO_Init - 3348 .LVL329: -1217:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; - 3349 .loc 1 1217 3 view .LVU1057 -1217:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; - 3350 .loc 1 1217 36 is_stmt 0 view .LVU1058 - 3351 007e 4FF48063 mov r3, #1024 - 3352 0082 0893 str r3, [sp, #32] -1218:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; - 3353 .loc 1 1218 3 is_stmt 1 view .LVU1059 -1218:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; - 3354 .loc 1 1218 23 is_stmt 0 view .LVU1060 - 3355 0084 4FF48273 mov r3, #260 - 3356 0088 0993 str r3, [sp, #36] -1219:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; - 3357 .loc 1 1219 3 is_stmt 1 view .LVU1061 -1219:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; - ARM GAS /tmp/ccYgfTud.s page 216 - - - 3358 .loc 1 1219 28 is_stmt 0 view .LVU1062 - 3359 008a 4FF47063 mov r3, #3840 - 3360 008e 0A93 str r3, [sp, #40] -1220:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; - 3361 .loc 1 1220 3 is_stmt 1 view .LVU1063 -1220:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; - 3362 .loc 1 1220 32 is_stmt 0 view .LVU1064 - 3363 0090 0B95 str r5, [sp, #44] -1221:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; - 3364 .loc 1 1221 3 is_stmt 1 view .LVU1065 -1221:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; - 3365 .loc 1 1221 29 is_stmt 0 view .LVU1066 - 3366 0092 0C94 str r4, [sp, #48] -1222:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; - 3367 .loc 1 1222 3 is_stmt 1 view .LVU1067 -1222:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; - 3368 .loc 1 1222 22 is_stmt 0 view .LVU1068 - 3369 0094 4FF40073 mov r3, #512 - 3370 0098 0D93 str r3, [sp, #52] -1223:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; - 3371 .loc 1 1223 3 is_stmt 1 view .LVU1069 -1223:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; - 3372 .loc 1 1223 27 is_stmt 0 view .LVU1070 - 3373 009a 1823 movs r3, #24 - 3374 009c 0E93 str r3, [sp, #56] -1224:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; - 3375 .loc 1 1224 3 is_stmt 1 view .LVU1071 -1224:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; - 3376 .loc 1 1224 27 is_stmt 0 view .LVU1072 - 3377 009e 0F94 str r4, [sp, #60] -1225:Src/main.c **** SPI_InitStruct.CRCPoly = 7; - 3378 .loc 1 1225 3 is_stmt 1 view .LVU1073 -1225:Src/main.c **** SPI_InitStruct.CRCPoly = 7; - 3379 .loc 1 1225 33 is_stmt 0 view .LVU1074 - 3380 00a0 1094 str r4, [sp, #64] -1226:Src/main.c **** LL_SPI_Init(SPI4, &SPI_InitStruct); - 3381 .loc 1 1226 3 is_stmt 1 view .LVU1075 -1226:Src/main.c **** LL_SPI_Init(SPI4, &SPI_InitStruct); - 3382 .loc 1 1226 26 is_stmt 0 view .LVU1076 - 3383 00a2 0723 movs r3, #7 - 3384 00a4 1193 str r3, [sp, #68] -1227:Src/main.c **** LL_SPI_SetStandard(SPI4, LL_SPI_PROTOCOL_MOTOROLA); - 3385 .loc 1 1227 3 is_stmt 1 view .LVU1077 - 3386 00a6 0A4C ldr r4, .L183+8 - 3387 00a8 08A9 add r1, sp, #32 - 3388 00aa 2046 mov r0, r4 - 3389 00ac FFF7FEFF bl LL_SPI_Init - 3390 .LVL330: -1228:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI4); - 3391 .loc 1 1228 3 view .LVU1078 - 3392 .LBB427: - 3393 .LBI427: - 426:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 3394 .loc 4 426 22 view .LVU1079 - 3395 .LBB428: - 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 3396 .loc 4 428 3 view .LVU1080 - ARM GAS /tmp/ccYgfTud.s page 217 - - - 3397 00b0 6368 ldr r3, [r4, #4] - 3398 00b2 23F01003 bic r3, r3, #16 - 3399 00b6 6360 str r3, [r4, #4] - 3400 .LVL331: - 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 3401 .loc 4 428 3 is_stmt 0 view .LVU1081 - 3402 .LBE428: - 3403 .LBE427: -1229:Src/main.c **** /* USER CODE BEGIN SPI4_Init 2 */ - 3404 .loc 1 1229 3 is_stmt 1 view .LVU1082 - 3405 .LBB429: - 3406 .LBI429: - 874:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 3407 .loc 4 874 22 view .LVU1083 - 3408 .LBB430: - 876:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 3409 .loc 4 876 3 view .LVU1084 - 3410 00b8 6368 ldr r3, [r4, #4] - 3411 00ba 23F00803 bic r3, r3, #8 - 3412 00be 6360 str r3, [r4, #4] - 3413 .LVL332: - 876:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 3414 .loc 4 876 3 is_stmt 0 view .LVU1085 - 3415 .LBE430: - 3416 .LBE429: -1234:Src/main.c **** - 3417 .loc 1 1234 1 view .LVU1086 - 3418 00c0 12B0 add sp, sp, #72 - 3419 .LCFI31: - 3420 .cfi_def_cfa_offset 24 - 3421 @ sp needed - 3422 00c2 BDE8F081 pop {r4, r5, r6, r7, r8, pc} - 3423 .L184: - 3424 00c6 00BF .align 2 - 3425 .L183: - 3426 00c8 00380240 .word 1073887232 - 3427 00cc 00100240 .word 1073876992 - 3428 00d0 00340140 .word 1073820672 - 3429 .cfi_endproc - 3430 .LFE1192: - 3432 .section .text.MX_SPI2_Init,"ax",%progbits - 3433 .align 1 - 3434 .syntax unified - 3435 .thumb - 3436 .thumb_func - 3438 MX_SPI2_Init: - 3439 .LFB1191: -1107:Src/main.c **** - 3440 .loc 1 1107 1 is_stmt 1 view -0 - 3441 .cfi_startproc - 3442 @ args = 0, pretend = 0, frame = 72 - 3443 @ frame_needed = 0, uses_anonymous_args = 0 - 3444 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} - 3445 .LCFI32: - 3446 .cfi_def_cfa_offset 24 - 3447 .cfi_offset 4, -24 - 3448 .cfi_offset 5, -20 - ARM GAS /tmp/ccYgfTud.s page 218 - - - 3449 .cfi_offset 6, -16 - 3450 .cfi_offset 7, -12 - 3451 .cfi_offset 8, -8 - 3452 .cfi_offset 14, -4 - 3453 0004 92B0 sub sp, sp, #72 - 3454 .LCFI33: - 3455 .cfi_def_cfa_offset 96 -1113:Src/main.c **** - 3456 .loc 1 1113 3 view .LVU1088 -1113:Src/main.c **** - 3457 .loc 1 1113 22 is_stmt 0 view .LVU1089 - 3458 0006 2822 movs r2, #40 - 3459 0008 0021 movs r1, #0 - 3460 000a 08A8 add r0, sp, #32 - 3461 000c FFF7FEFF bl memset - 3462 .LVL333: -1115:Src/main.c **** - 3463 .loc 1 1115 3 is_stmt 1 view .LVU1090 -1115:Src/main.c **** - 3464 .loc 1 1115 23 is_stmt 0 view .LVU1091 - 3465 0010 0024 movs r4, #0 - 3466 0012 0294 str r4, [sp, #8] - 3467 0014 0394 str r4, [sp, #12] - 3468 0016 0494 str r4, [sp, #16] - 3469 0018 0594 str r4, [sp, #20] - 3470 001a 0694 str r4, [sp, #24] - 3471 001c 0794 str r4, [sp, #28] -1118:Src/main.c **** - 3472 .loc 1 1118 3 is_stmt 1 view .LVU1092 - 3473 .LVL334: - 3474 .LBB431: - 3475 .LBI431: -1071:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { - 3476 .loc 3 1071 22 view .LVU1093 - 3477 .LBB432: -1073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->APB1ENR, Periphs); - 3478 .loc 3 1073 3 view .LVU1094 -1074:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ - 3479 .loc 3 1074 3 view .LVU1095 - 3480 001e 2F4B ldr r3, .L187 - 3481 0020 1A6C ldr r2, [r3, #64] - 3482 0022 42F48042 orr r2, r2, #16384 - 3483 0026 1A64 str r2, [r3, #64] -1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3484 .loc 3 1076 3 view .LVU1096 -1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3485 .loc 3 1076 12 is_stmt 0 view .LVU1097 - 3486 0028 1A6C ldr r2, [r3, #64] - 3487 002a 02F48042 and r2, r2, #16384 -1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3488 .loc 3 1076 10 view .LVU1098 - 3489 002e 0192 str r2, [sp, #4] -1077:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 3490 .loc 3 1077 3 is_stmt 1 view .LVU1099 - 3491 0030 019A ldr r2, [sp, #4] - 3492 .LVL335: -1077:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - ARM GAS /tmp/ccYgfTud.s page 219 - - - 3493 .loc 3 1077 3 is_stmt 0 view .LVU1100 - 3494 .LBE432: - 3495 .LBE431: -1120:Src/main.c **** /**SPI2 GPIO Configuration - 3496 .loc 1 1120 3 is_stmt 1 view .LVU1101 - 3497 .LBB433: - 3498 .LBI433: - 309:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { - 3499 .loc 3 309 22 view .LVU1102 - 3500 .LBB434: - 311:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->AHB1ENR, Periphs); - 3501 .loc 3 311 3 view .LVU1103 - 312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ - 3502 .loc 3 312 3 view .LVU1104 - 3503 0032 1A6B ldr r2, [r3, #48] - 3504 0034 42F00202 orr r2, r2, #2 - 3505 0038 1A63 str r2, [r3, #48] - 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3506 .loc 3 314 3 view .LVU1105 - 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3507 .loc 3 314 12 is_stmt 0 view .LVU1106 - 3508 003a 1B6B ldr r3, [r3, #48] - 3509 003c 03F00203 and r3, r3, #2 - 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3510 .loc 3 314 10 view .LVU1107 - 3511 0040 0093 str r3, [sp] - 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 3512 .loc 3 315 3 is_stmt 1 view .LVU1108 - 3513 0042 009B ldr r3, [sp] - 3514 .LVL336: - 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 3515 .loc 3 315 3 is_stmt 0 view .LVU1109 - 3516 .LBE434: - 3517 .LBE433: -1126:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3518 .loc 1 1126 3 is_stmt 1 view .LVU1110 -1126:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3519 .loc 1 1126 23 is_stmt 0 view .LVU1111 - 3520 0044 4FF40053 mov r3, #8192 - 3521 0048 0293 str r3, [sp, #8] -1127:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3522 .loc 1 1127 3 is_stmt 1 view .LVU1112 -1127:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3523 .loc 1 1127 24 is_stmt 0 view .LVU1113 - 3524 004a 4FF00208 mov r8, #2 - 3525 004e CDF80C80 str r8, [sp, #12] -1128:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3526 .loc 1 1128 3 is_stmt 1 view .LVU1114 -1128:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3527 .loc 1 1128 25 is_stmt 0 view .LVU1115 - 3528 0052 0327 movs r7, #3 - 3529 0054 0497 str r7, [sp, #16] -1129:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 3530 .loc 1 1129 3 is_stmt 1 view .LVU1116 -1130:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; - 3531 .loc 1 1130 3 view .LVU1117 -1131:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); - ARM GAS /tmp/ccYgfTud.s page 220 - - - 3532 .loc 1 1131 3 view .LVU1118 -1131:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); - 3533 .loc 1 1131 29 is_stmt 0 view .LVU1119 - 3534 0056 0526 movs r6, #5 - 3535 0058 0796 str r6, [sp, #28] -1132:Src/main.c **** - 3536 .loc 1 1132 3 is_stmt 1 view .LVU1120 - 3537 005a 214D ldr r5, .L187+4 - 3538 005c 02A9 add r1, sp, #8 - 3539 005e 2846 mov r0, r5 - 3540 0060 FFF7FEFF bl LL_GPIO_Init - 3541 .LVL337: -1134:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3542 .loc 1 1134 3 view .LVU1121 -1134:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3543 .loc 1 1134 23 is_stmt 0 view .LVU1122 - 3544 0064 4FF48043 mov r3, #16384 - 3545 0068 0293 str r3, [sp, #8] -1135:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3546 .loc 1 1135 3 is_stmt 1 view .LVU1123 -1135:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3547 .loc 1 1135 24 is_stmt 0 view .LVU1124 - 3548 006a CDF80C80 str r8, [sp, #12] -1136:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3549 .loc 1 1136 3 is_stmt 1 view .LVU1125 -1136:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3550 .loc 1 1136 25 is_stmt 0 view .LVU1126 - 3551 006e 0497 str r7, [sp, #16] -1137:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 3552 .loc 1 1137 3 is_stmt 1 view .LVU1127 -1137:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 3553 .loc 1 1137 30 is_stmt 0 view .LVU1128 - 3554 0070 0594 str r4, [sp, #20] -1138:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; - 3555 .loc 1 1138 3 is_stmt 1 view .LVU1129 -1138:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; - 3556 .loc 1 1138 24 is_stmt 0 view .LVU1130 - 3557 0072 0694 str r4, [sp, #24] -1139:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); - 3558 .loc 1 1139 3 is_stmt 1 view .LVU1131 -1139:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); - 3559 .loc 1 1139 29 is_stmt 0 view .LVU1132 - 3560 0074 0796 str r6, [sp, #28] -1140:Src/main.c **** - 3561 .loc 1 1140 3 is_stmt 1 view .LVU1133 - 3562 0076 02A9 add r1, sp, #8 - 3563 0078 2846 mov r0, r5 - 3564 007a FFF7FEFF bl LL_GPIO_Init - 3565 .LVL338: -1142:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3566 .loc 1 1142 3 view .LVU1134 -1142:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3567 .loc 1 1142 23 is_stmt 0 view .LVU1135 - 3568 007e 4FF40043 mov r3, #32768 - 3569 0082 0293 str r3, [sp, #8] -1143:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3570 .loc 1 1143 3 is_stmt 1 view .LVU1136 - ARM GAS /tmp/ccYgfTud.s page 221 - - -1143:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3571 .loc 1 1143 24 is_stmt 0 view .LVU1137 - 3572 0084 CDF80C80 str r8, [sp, #12] -1144:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3573 .loc 1 1144 3 is_stmt 1 view .LVU1138 -1144:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3574 .loc 1 1144 25 is_stmt 0 view .LVU1139 - 3575 0088 0497 str r7, [sp, #16] -1145:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 3576 .loc 1 1145 3 is_stmt 1 view .LVU1140 -1145:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 3577 .loc 1 1145 30 is_stmt 0 view .LVU1141 - 3578 008a 0594 str r4, [sp, #20] -1146:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; - 3579 .loc 1 1146 3 is_stmt 1 view .LVU1142 -1146:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; - 3580 .loc 1 1146 24 is_stmt 0 view .LVU1143 - 3581 008c 0694 str r4, [sp, #24] -1147:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); - 3582 .loc 1 1147 3 is_stmt 1 view .LVU1144 -1147:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); - 3583 .loc 1 1147 29 is_stmt 0 view .LVU1145 - 3584 008e 0796 str r6, [sp, #28] -1148:Src/main.c **** - 3585 .loc 1 1148 3 is_stmt 1 view .LVU1146 - 3586 0090 02A9 add r1, sp, #8 - 3587 0092 2846 mov r0, r5 - 3588 0094 FFF7FEFF bl LL_GPIO_Init - 3589 .LVL339: -1154:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; - 3590 .loc 1 1154 3 view .LVU1147 -1154:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; - 3591 .loc 1 1154 36 is_stmt 0 view .LVU1148 - 3592 0098 0894 str r4, [sp, #32] -1155:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; - 3593 .loc 1 1155 3 is_stmt 1 view .LVU1149 -1155:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; - 3594 .loc 1 1155 23 is_stmt 0 view .LVU1150 - 3595 009a 4FF48273 mov r3, #260 - 3596 009e 0993 str r3, [sp, #36] -1156:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_LOW; - 3597 .loc 1 1156 3 is_stmt 1 view .LVU1151 -1156:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_LOW; - 3598 .loc 1 1156 28 is_stmt 0 view .LVU1152 - 3599 00a0 4FF47063 mov r3, #3840 - 3600 00a4 0A93 str r3, [sp, #40] -1157:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; - 3601 .loc 1 1157 3 is_stmt 1 view .LVU1153 -1157:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; - 3602 .loc 1 1157 32 is_stmt 0 view .LVU1154 - 3603 00a6 0B94 str r4, [sp, #44] -1158:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; - 3604 .loc 1 1158 3 is_stmt 1 view .LVU1155 -1158:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; - 3605 .loc 1 1158 29 is_stmt 0 view .LVU1156 - 3606 00a8 0C94 str r4, [sp, #48] -1159:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV8; - ARM GAS /tmp/ccYgfTud.s page 222 - - - 3607 .loc 1 1159 3 is_stmt 1 view .LVU1157 -1159:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV8; - 3608 .loc 1 1159 22 is_stmt 0 view .LVU1158 - 3609 00aa 4FF40073 mov r3, #512 - 3610 00ae 0D93 str r3, [sp, #52] -1160:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; - 3611 .loc 1 1160 3 is_stmt 1 view .LVU1159 -1160:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; - 3612 .loc 1 1160 27 is_stmt 0 view .LVU1160 - 3613 00b0 1023 movs r3, #16 - 3614 00b2 0E93 str r3, [sp, #56] -1161:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; - 3615 .loc 1 1161 3 is_stmt 1 view .LVU1161 -1161:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; - 3616 .loc 1 1161 27 is_stmt 0 view .LVU1162 - 3617 00b4 0F94 str r4, [sp, #60] -1162:Src/main.c **** SPI_InitStruct.CRCPoly = 7; - 3618 .loc 1 1162 3 is_stmt 1 view .LVU1163 -1162:Src/main.c **** SPI_InitStruct.CRCPoly = 7; - 3619 .loc 1 1162 33 is_stmt 0 view .LVU1164 - 3620 00b6 1094 str r4, [sp, #64] -1163:Src/main.c **** LL_SPI_Init(SPI2, &SPI_InitStruct); - 3621 .loc 1 1163 3 is_stmt 1 view .LVU1165 -1163:Src/main.c **** LL_SPI_Init(SPI2, &SPI_InitStruct); - 3622 .loc 1 1163 26 is_stmt 0 view .LVU1166 - 3623 00b8 0723 movs r3, #7 - 3624 00ba 1193 str r3, [sp, #68] -1164:Src/main.c **** LL_SPI_SetStandard(SPI2, LL_SPI_PROTOCOL_MOTOROLA); - 3625 .loc 1 1164 3 is_stmt 1 view .LVU1167 - 3626 00bc 094C ldr r4, .L187+8 - 3627 00be 08A9 add r1, sp, #32 - 3628 00c0 2046 mov r0, r4 - 3629 00c2 FFF7FEFF bl LL_SPI_Init - 3630 .LVL340: -1165:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI2); - 3631 .loc 1 1165 3 view .LVU1168 - 3632 .LBB435: - 3633 .LBI435: - 426:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 3634 .loc 4 426 22 view .LVU1169 - 3635 .LBB436: - 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 3636 .loc 4 428 3 view .LVU1170 - 3637 00c6 6368 ldr r3, [r4, #4] - 3638 00c8 23F01003 bic r3, r3, #16 - 3639 00cc 6360 str r3, [r4, #4] - 3640 .LVL341: - 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 3641 .loc 4 428 3 is_stmt 0 view .LVU1171 - 3642 .LBE436: - 3643 .LBE435: -1166:Src/main.c **** /* USER CODE BEGIN SPI2_Init 2 */ - 3644 .loc 1 1166 3 is_stmt 1 view .LVU1172 - 3645 .LBB437: - 3646 .LBI437: - 874:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 3647 .loc 4 874 22 view .LVU1173 - ARM GAS /tmp/ccYgfTud.s page 223 - - - 3648 .LBB438: - 876:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 3649 .loc 4 876 3 view .LVU1174 - 3650 00ce 6368 ldr r3, [r4, #4] - 3651 00d0 23F00803 bic r3, r3, #8 - 3652 00d4 6360 str r3, [r4, #4] - 3653 .LVL342: - 876:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 3654 .loc 4 876 3 is_stmt 0 view .LVU1175 - 3655 .LBE438: - 3656 .LBE437: -1171:Src/main.c **** - 3657 .loc 1 1171 1 view .LVU1176 - 3658 00d6 12B0 add sp, sp, #72 - 3659 .LCFI34: - 3660 .cfi_def_cfa_offset 24 - 3661 @ sp needed - 3662 00d8 BDE8F081 pop {r4, r5, r6, r7, r8, pc} - 3663 .L188: - 3664 .align 2 - 3665 .L187: - 3666 00dc 00380240 .word 1073887232 - 3667 00e0 00040240 .word 1073873920 - 3668 00e4 00380040 .word 1073756160 - 3669 .cfi_endproc - 3670 .LFE1191: - 3672 .section .text.MX_SPI5_Init,"ax",%progbits - 3673 .align 1 - 3674 .syntax unified - 3675 .thumb - 3676 .thumb_func - 3678 MX_SPI5_Init: - 3679 .LFB1193: -1242:Src/main.c **** - 3680 .loc 1 1242 1 is_stmt 1 view -0 - 3681 .cfi_startproc - 3682 @ args = 0, pretend = 0, frame = 72 - 3683 @ frame_needed = 0, uses_anonymous_args = 0 - 3684 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} - 3685 .LCFI35: - 3686 .cfi_def_cfa_offset 24 - 3687 .cfi_offset 4, -24 - 3688 .cfi_offset 5, -20 - 3689 .cfi_offset 6, -16 - 3690 .cfi_offset 7, -12 - 3691 .cfi_offset 8, -8 - 3692 .cfi_offset 14, -4 - 3693 0004 92B0 sub sp, sp, #72 - 3694 .LCFI36: - 3695 .cfi_def_cfa_offset 96 -1248:Src/main.c **** - 3696 .loc 1 1248 3 view .LVU1178 -1248:Src/main.c **** - 3697 .loc 1 1248 22 is_stmt 0 view .LVU1179 - 3698 0006 2822 movs r2, #40 - 3699 0008 0021 movs r1, #0 - 3700 000a 08A8 add r0, sp, #32 - ARM GAS /tmp/ccYgfTud.s page 224 - - - 3701 000c FFF7FEFF bl memset - 3702 .LVL343: -1250:Src/main.c **** - 3703 .loc 1 1250 3 is_stmt 1 view .LVU1180 -1250:Src/main.c **** - 3704 .loc 1 1250 23 is_stmt 0 view .LVU1181 - 3705 0010 0024 movs r4, #0 - 3706 0012 0294 str r4, [sp, #8] - 3707 0014 0394 str r4, [sp, #12] - 3708 0016 0494 str r4, [sp, #16] - 3709 0018 0594 str r4, [sp, #20] - 3710 001a 0694 str r4, [sp, #24] - 3711 001c 0794 str r4, [sp, #28] + 4126 .loc 3 315 3 is_stmt 0 view .LVU1276 + 4127 .LBE442: + 4128 .LBE441: +1247:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4129 .loc 1 1247 3 is_stmt 1 view .LVU1277 +1247:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4130 .loc 1 1247 23 is_stmt 0 view .LVU1278 + 4131 0044 4FF48053 mov r3, #4096 + 4132 0048 0293 str r3, [sp, #8] +1248:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4133 .loc 1 1248 3 is_stmt 1 view .LVU1279 +1248:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4134 .loc 1 1248 24 is_stmt 0 view .LVU1280 + 4135 004a 0225 movs r5, #2 + 4136 004c 0395 str r5, [sp, #12] +1249:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4137 .loc 1 1249 3 is_stmt 1 view .LVU1281 +1249:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4138 .loc 1 1249 25 is_stmt 0 view .LVU1282 + 4139 004e 4FF00308 mov r8, #3 + 4140 0052 CDF81080 str r8, [sp, #16] +1250:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 4141 .loc 1 1250 3 is_stmt 1 view .LVU1283 +1251:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; + 4142 .loc 1 1251 3 view .LVU1284 +1252:Src/main.c **** LL_GPIO_Init(GPIOE, &GPIO_InitStruct); + 4143 .loc 1 1252 3 view .LVU1285 +1252:Src/main.c **** LL_GPIO_Init(GPIOE, &GPIO_InitStruct); + 4144 .loc 1 1252 29 is_stmt 0 view .LVU1286 + 4145 0056 0527 movs r7, #5 + 4146 0058 0797 str r7, [sp, #28] 1253:Src/main.c **** - 3712 .loc 1 1253 3 is_stmt 1 view .LVU1182 - 3713 .LVL344: - 3714 .LBB439: - 3715 .LBI439: -1587:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { - 3716 .loc 3 1587 22 view .LVU1183 - 3717 .LBB440: -1589:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->APB2ENR, Periphs); - 3718 .loc 3 1589 3 view .LVU1184 -1590:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ - 3719 .loc 3 1590 3 view .LVU1185 - 3720 001e 294B ldr r3, .L191 - 3721 0020 5A6C ldr r2, [r3, #68] - 3722 0022 42F48012 orr r2, r2, #1048576 - 3723 0026 5A64 str r2, [r3, #68] -1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3724 .loc 3 1592 3 view .LVU1186 -1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3725 .loc 3 1592 12 is_stmt 0 view .LVU1187 - 3726 0028 5A6C ldr r2, [r3, #68] - 3727 002a 02F48012 and r2, r2, #1048576 -1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3728 .loc 3 1592 10 view .LVU1188 - 3729 002e 0192 str r2, [sp, #4] - 3730 .loc 3 1593 3 is_stmt 1 view .LVU1189 - 3731 0030 019A ldr r2, [sp, #4] - 3732 .LVL345: - 3733 .loc 3 1593 3 is_stmt 0 view .LVU1190 - 3734 .LBE440: - 3735 .LBE439: -1255:Src/main.c **** /**SPI5 GPIO Configuration - 3736 .loc 1 1255 3 is_stmt 1 view .LVU1191 - 3737 .LBB441: - 3738 .LBI441: - 309:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { - 3739 .loc 3 309 22 view .LVU1192 - 3740 .LBB442: - 311:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->AHB1ENR, Periphs); - 3741 .loc 3 311 3 view .LVU1193 - 312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ - 3742 .loc 3 312 3 view .LVU1194 - 3743 0032 1A6B ldr r2, [r3, #48] - 3744 0034 42F02002 orr r2, r2, #32 - ARM GAS /tmp/ccYgfTud.s page 225 + 4147 .loc 1 1253 3 is_stmt 1 view .LVU1287 + 4148 005a 1C4E ldr r6, .L262+4 + 4149 005c 02A9 add r1, sp, #8 + 4150 005e 3046 mov r0, r6 + 4151 0060 FFF7FEFF bl LL_GPIO_Init + 4152 .LVL446: +1255:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4153 .loc 1 1255 3 view .LVU1288 +1255:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4154 .loc 1 1255 23 is_stmt 0 view .LVU1289 + 4155 0064 4FF40053 mov r3, #8192 + 4156 0068 0293 str r3, [sp, #8] +1256:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4157 .loc 1 1256 3 is_stmt 1 view .LVU1290 +1256:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4158 .loc 1 1256 24 is_stmt 0 view .LVU1291 + 4159 006a 0395 str r5, [sp, #12] +1257:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4160 .loc 1 1257 3 is_stmt 1 view .LVU1292 +1257:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4161 .loc 1 1257 25 is_stmt 0 view .LVU1293 + 4162 006c CDF81080 str r8, [sp, #16] +1258:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 4163 .loc 1 1258 3 is_stmt 1 view .LVU1294 + ARM GAS /tmp/ccwR4KB7.s page 239 - 3745 0038 1A63 str r2, [r3, #48] - 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3746 .loc 3 314 3 view .LVU1195 - 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3747 .loc 3 314 12 is_stmt 0 view .LVU1196 - 3748 003a 1B6B ldr r3, [r3, #48] - 3749 003c 03F02003 and r3, r3, #32 - 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3750 .loc 3 314 10 view .LVU1197 - 3751 0040 0093 str r3, [sp] - 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 3752 .loc 3 315 3 is_stmt 1 view .LVU1198 - 3753 0042 009B ldr r3, [sp] - 3754 .LVL346: - 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 3755 .loc 3 315 3 is_stmt 0 view .LVU1199 - 3756 .LBE442: - 3757 .LBE441: -1260:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3758 .loc 1 1260 3 is_stmt 1 view .LVU1200 -1260:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3759 .loc 1 1260 23 is_stmt 0 view .LVU1201 - 3760 0044 8023 movs r3, #128 - 3761 0046 0293 str r3, [sp, #8] -1261:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3762 .loc 1 1261 3 is_stmt 1 view .LVU1202 -1261:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3763 .loc 1 1261 24 is_stmt 0 view .LVU1203 - 3764 0048 0225 movs r5, #2 - 3765 004a 0395 str r5, [sp, #12] -1262:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3766 .loc 1 1262 3 is_stmt 1 view .LVU1204 -1262:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3767 .loc 1 1262 25 is_stmt 0 view .LVU1205 - 3768 004c 4FF00308 mov r8, #3 - 3769 0050 CDF81080 str r8, [sp, #16] -1263:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 3770 .loc 1 1263 3 is_stmt 1 view .LVU1206 -1264:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; - 3771 .loc 1 1264 3 view .LVU1207 -1265:Src/main.c **** LL_GPIO_Init(GPIOF, &GPIO_InitStruct); - 3772 .loc 1 1265 3 view .LVU1208 -1265:Src/main.c **** LL_GPIO_Init(GPIOF, &GPIO_InitStruct); - 3773 .loc 1 1265 29 is_stmt 0 view .LVU1209 - 3774 0054 0527 movs r7, #5 - 3775 0056 0797 str r7, [sp, #28] -1266:Src/main.c **** - 3776 .loc 1 1266 3 is_stmt 1 view .LVU1210 - 3777 0058 1B4E ldr r6, .L191+4 - 3778 005a 02A9 add r1, sp, #8 - 3779 005c 3046 mov r0, r6 - 3780 005e FFF7FEFF bl LL_GPIO_Init - 3781 .LVL347: -1268:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3782 .loc 1 1268 3 view .LVU1211 -1268:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3783 .loc 1 1268 23 is_stmt 0 view .LVU1212 - ARM GAS /tmp/ccYgfTud.s page 226 +1258:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 4164 .loc 1 1258 30 is_stmt 0 view .LVU1295 + 4165 0070 0594 str r4, [sp, #20] +1259:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; + 4166 .loc 1 1259 3 is_stmt 1 view .LVU1296 +1259:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; + 4167 .loc 1 1259 24 is_stmt 0 view .LVU1297 + 4168 0072 0694 str r4, [sp, #24] +1260:Src/main.c **** LL_GPIO_Init(GPIOE, &GPIO_InitStruct); + 4169 .loc 1 1260 3 is_stmt 1 view .LVU1298 +1260:Src/main.c **** LL_GPIO_Init(GPIOE, &GPIO_InitStruct); + 4170 .loc 1 1260 29 is_stmt 0 view .LVU1299 + 4171 0074 0797 str r7, [sp, #28] +1261:Src/main.c **** + 4172 .loc 1 1261 3 is_stmt 1 view .LVU1300 + 4173 0076 02A9 add r1, sp, #8 + 4174 0078 3046 mov r0, r6 + 4175 007a FFF7FEFF bl LL_GPIO_Init + 4176 .LVL447: +1267:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; + 4177 .loc 1 1267 3 view .LVU1301 +1267:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; + 4178 .loc 1 1267 36 is_stmt 0 view .LVU1302 + 4179 007e 4FF48063 mov r3, #1024 + 4180 0082 0893 str r3, [sp, #32] +1268:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; + 4181 .loc 1 1268 3 is_stmt 1 view .LVU1303 +1268:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; + 4182 .loc 1 1268 23 is_stmt 0 view .LVU1304 + 4183 0084 4FF48273 mov r3, #260 + 4184 0088 0993 str r3, [sp, #36] +1269:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; + 4185 .loc 1 1269 3 is_stmt 1 view .LVU1305 +1269:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; + 4186 .loc 1 1269 28 is_stmt 0 view .LVU1306 + 4187 008a 4FF47063 mov r3, #3840 + 4188 008e 0A93 str r3, [sp, #40] +1270:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; + 4189 .loc 1 1270 3 is_stmt 1 view .LVU1307 +1270:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; + 4190 .loc 1 1270 32 is_stmt 0 view .LVU1308 + 4191 0090 0B95 str r5, [sp, #44] +1271:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; + 4192 .loc 1 1271 3 is_stmt 1 view .LVU1309 +1271:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; + 4193 .loc 1 1271 29 is_stmt 0 view .LVU1310 + 4194 0092 0C94 str r4, [sp, #48] +1272:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; + 4195 .loc 1 1272 3 is_stmt 1 view .LVU1311 +1272:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; + 4196 .loc 1 1272 22 is_stmt 0 view .LVU1312 + 4197 0094 4FF40073 mov r3, #512 + 4198 0098 0D93 str r3, [sp, #52] +1273:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; + 4199 .loc 1 1273 3 is_stmt 1 view .LVU1313 +1273:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; + 4200 .loc 1 1273 27 is_stmt 0 view .LVU1314 + ARM GAS /tmp/ccwR4KB7.s page 240 - 3784 0062 4FF48073 mov r3, #256 - 3785 0066 0293 str r3, [sp, #8] -1269:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3786 .loc 1 1269 3 is_stmt 1 view .LVU1213 -1269:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3787 .loc 1 1269 24 is_stmt 0 view .LVU1214 - 3788 0068 0395 str r5, [sp, #12] -1270:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3789 .loc 1 1270 3 is_stmt 1 view .LVU1215 -1270:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3790 .loc 1 1270 25 is_stmt 0 view .LVU1216 - 3791 006a CDF81080 str r8, [sp, #16] -1271:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 3792 .loc 1 1271 3 is_stmt 1 view .LVU1217 -1271:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 3793 .loc 1 1271 30 is_stmt 0 view .LVU1218 - 3794 006e 0594 str r4, [sp, #20] -1272:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; - 3795 .loc 1 1272 3 is_stmt 1 view .LVU1219 -1272:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; - 3796 .loc 1 1272 24 is_stmt 0 view .LVU1220 - 3797 0070 0694 str r4, [sp, #24] -1273:Src/main.c **** LL_GPIO_Init(GPIOF, &GPIO_InitStruct); - 3798 .loc 1 1273 3 is_stmt 1 view .LVU1221 -1273:Src/main.c **** LL_GPIO_Init(GPIOF, &GPIO_InitStruct); - 3799 .loc 1 1273 29 is_stmt 0 view .LVU1222 - 3800 0072 0797 str r7, [sp, #28] -1274:Src/main.c **** - 3801 .loc 1 1274 3 is_stmt 1 view .LVU1223 - 3802 0074 02A9 add r1, sp, #8 - 3803 0076 3046 mov r0, r6 - 3804 0078 FFF7FEFF bl LL_GPIO_Init - 3805 .LVL348: -1280:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; - 3806 .loc 1 1280 3 view .LVU1224 -1280:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; - 3807 .loc 1 1280 36 is_stmt 0 view .LVU1225 - 3808 007c 4FF48063 mov r3, #1024 - 3809 0080 0893 str r3, [sp, #32] -1281:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; - 3810 .loc 1 1281 3 is_stmt 1 view .LVU1226 -1281:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; - 3811 .loc 1 1281 23 is_stmt 0 view .LVU1227 - 3812 0082 4FF48273 mov r3, #260 - 3813 0086 0993 str r3, [sp, #36] -1282:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; - 3814 .loc 1 1282 3 is_stmt 1 view .LVU1228 -1282:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; - 3815 .loc 1 1282 28 is_stmt 0 view .LVU1229 - 3816 0088 4FF47063 mov r3, #3840 - 3817 008c 0A93 str r3, [sp, #40] -1283:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; - 3818 .loc 1 1283 3 is_stmt 1 view .LVU1230 -1283:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; - 3819 .loc 1 1283 32 is_stmt 0 view .LVU1231 - 3820 008e 0B95 str r5, [sp, #44] -1284:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; - ARM GAS /tmp/ccYgfTud.s page 227 - - - 3821 .loc 1 1284 3 is_stmt 1 view .LVU1232 -1284:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; - 3822 .loc 1 1284 29 is_stmt 0 view .LVU1233 - 3823 0090 0C94 str r4, [sp, #48] -1285:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; - 3824 .loc 1 1285 3 is_stmt 1 view .LVU1234 -1285:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; - 3825 .loc 1 1285 22 is_stmt 0 view .LVU1235 - 3826 0092 4FF40073 mov r3, #512 - 3827 0096 0D93 str r3, [sp, #52] -1286:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; - 3828 .loc 1 1286 3 is_stmt 1 view .LVU1236 -1286:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; - 3829 .loc 1 1286 27 is_stmt 0 view .LVU1237 - 3830 0098 1823 movs r3, #24 - 3831 009a 0E93 str r3, [sp, #56] -1287:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; - 3832 .loc 1 1287 3 is_stmt 1 view .LVU1238 -1287:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; - 3833 .loc 1 1287 27 is_stmt 0 view .LVU1239 - 3834 009c 0F94 str r4, [sp, #60] -1288:Src/main.c **** SPI_InitStruct.CRCPoly = 7; - 3835 .loc 1 1288 3 is_stmt 1 view .LVU1240 -1288:Src/main.c **** SPI_InitStruct.CRCPoly = 7; - 3836 .loc 1 1288 33 is_stmt 0 view .LVU1241 - 3837 009e 1094 str r4, [sp, #64] -1289:Src/main.c **** LL_SPI_Init(SPI5, &SPI_InitStruct); - 3838 .loc 1 1289 3 is_stmt 1 view .LVU1242 -1289:Src/main.c **** LL_SPI_Init(SPI5, &SPI_InitStruct); - 3839 .loc 1 1289 26 is_stmt 0 view .LVU1243 - 3840 00a0 0723 movs r3, #7 - 3841 00a2 1193 str r3, [sp, #68] -1290:Src/main.c **** LL_SPI_SetStandard(SPI5, LL_SPI_PROTOCOL_MOTOROLA); - 3842 .loc 1 1290 3 is_stmt 1 view .LVU1244 - 3843 00a4 094C ldr r4, .L191+8 - 3844 00a6 08A9 add r1, sp, #32 - 3845 00a8 2046 mov r0, r4 - 3846 00aa FFF7FEFF bl LL_SPI_Init - 3847 .LVL349: -1291:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI5); - 3848 .loc 1 1291 3 view .LVU1245 - 3849 .LBB443: - 3850 .LBI443: + 4201 009a 1823 movs r3, #24 + 4202 009c 0E93 str r3, [sp, #56] +1274:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; + 4203 .loc 1 1274 3 is_stmt 1 view .LVU1315 +1274:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; + 4204 .loc 1 1274 27 is_stmt 0 view .LVU1316 + 4205 009e 0F94 str r4, [sp, #60] +1275:Src/main.c **** SPI_InitStruct.CRCPoly = 7; + 4206 .loc 1 1275 3 is_stmt 1 view .LVU1317 +1275:Src/main.c **** SPI_InitStruct.CRCPoly = 7; + 4207 .loc 1 1275 33 is_stmt 0 view .LVU1318 + 4208 00a0 1094 str r4, [sp, #64] +1276:Src/main.c **** LL_SPI_Init(SPI4, &SPI_InitStruct); + 4209 .loc 1 1276 3 is_stmt 1 view .LVU1319 +1276:Src/main.c **** LL_SPI_Init(SPI4, &SPI_InitStruct); + 4210 .loc 1 1276 26 is_stmt 0 view .LVU1320 + 4211 00a2 0723 movs r3, #7 + 4212 00a4 1193 str r3, [sp, #68] +1277:Src/main.c **** LL_SPI_SetStandard(SPI4, LL_SPI_PROTOCOL_MOTOROLA); + 4213 .loc 1 1277 3 is_stmt 1 view .LVU1321 + 4214 00a6 0A4C ldr r4, .L262+8 + 4215 00a8 08A9 add r1, sp, #32 + 4216 00aa 2046 mov r0, r4 + 4217 00ac FFF7FEFF bl LL_SPI_Init + 4218 .LVL448: +1278:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI4); + 4219 .loc 1 1278 3 view .LVU1322 + 4220 .LBB443: + 4221 .LBI443: 426:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 3851 .loc 4 426 22 view .LVU1246 - 3852 .LBB444: + 4222 .loc 4 426 22 view .LVU1323 + 4223 .LBB444: 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 3853 .loc 4 428 3 view .LVU1247 - 3854 00ae 6368 ldr r3, [r4, #4] - 3855 00b0 23F01003 bic r3, r3, #16 - 3856 00b4 6360 str r3, [r4, #4] - 3857 .LVL350: + 4224 .loc 4 428 3 view .LVU1324 + 4225 00b0 6368 ldr r3, [r4, #4] + 4226 00b2 23F01003 bic r3, r3, #16 + 4227 00b6 6360 str r3, [r4, #4] + 4228 .LVL449: 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 3858 .loc 4 428 3 is_stmt 0 view .LVU1248 - 3859 .LBE444: - 3860 .LBE443: -1292:Src/main.c **** /* USER CODE BEGIN SPI5_Init 2 */ - ARM GAS /tmp/ccYgfTud.s page 228 - - - 3861 .loc 1 1292 3 is_stmt 1 view .LVU1249 - 3862 .LBB445: - 3863 .LBI445: + 4229 .loc 4 428 3 is_stmt 0 view .LVU1325 + 4230 .LBE444: + 4231 .LBE443: +1279:Src/main.c **** /* USER CODE BEGIN SPI4_Init 2 */ + 4232 .loc 1 1279 3 is_stmt 1 view .LVU1326 + 4233 .LBB445: + 4234 .LBI445: 874:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 3864 .loc 4 874 22 view .LVU1250 - 3865 .LBB446: + 4235 .loc 4 874 22 view .LVU1327 + 4236 .LBB446: 876:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 3866 .loc 4 876 3 view .LVU1251 - 3867 00b6 6368 ldr r3, [r4, #4] - 3868 00b8 23F00803 bic r3, r3, #8 - 3869 00bc 6360 str r3, [r4, #4] - 3870 .LVL351: + 4237 .loc 4 876 3 view .LVU1328 + 4238 00b8 6368 ldr r3, [r4, #4] + 4239 00ba 23F00803 bic r3, r3, #8 + 4240 00be 6360 str r3, [r4, #4] + 4241 .LVL450: 876:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 3871 .loc 4 876 3 is_stmt 0 view .LVU1252 - 3872 .LBE446: - 3873 .LBE445: -1297:Src/main.c **** - 3874 .loc 1 1297 1 view .LVU1253 - 3875 00be 12B0 add sp, sp, #72 - 3876 .LCFI37: - 3877 .cfi_def_cfa_offset 24 - 3878 @ sp needed - 3879 00c0 BDE8F081 pop {r4, r5, r6, r7, r8, pc} - 3880 .L192: - 3881 .align 2 - 3882 .L191: - 3883 00c4 00380240 .word 1073887232 - 3884 00c8 00140240 .word 1073878016 - 3885 00cc 00500140 .word 1073827840 - 3886 .cfi_endproc - 3887 .LFE1193: - 3889 .section .text.MX_SPI6_Init,"ax",%progbits - 3890 .align 1 - 3891 .syntax unified - 3892 .thumb - 3893 .thumb_func - 3895 MX_SPI6_Init: - 3896 .LFB1194: -1305:Src/main.c **** - 3897 .loc 1 1305 1 is_stmt 1 view -0 - 3898 .cfi_startproc - 3899 @ args = 0, pretend = 0, frame = 72 - 3900 @ frame_needed = 0, uses_anonymous_args = 0 - 3901 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} - 3902 .LCFI38: - 3903 .cfi_def_cfa_offset 24 - 3904 .cfi_offset 4, -24 - 3905 .cfi_offset 5, -20 - 3906 .cfi_offset 6, -16 - 3907 .cfi_offset 7, -12 - 3908 .cfi_offset 8, -8 - 3909 .cfi_offset 14, -4 - 3910 0004 92B0 sub sp, sp, #72 - 3911 .LCFI39: - 3912 .cfi_def_cfa_offset 96 -1311:Src/main.c **** - 3913 .loc 1 1311 3 view .LVU1255 - ARM GAS /tmp/ccYgfTud.s page 229 + 4242 .loc 4 876 3 is_stmt 0 view .LVU1329 + ARM GAS /tmp/ccwR4KB7.s page 241 -1311:Src/main.c **** - 3914 .loc 1 1311 22 is_stmt 0 view .LVU1256 - 3915 0006 2822 movs r2, #40 - 3916 0008 0021 movs r1, #0 - 3917 000a 08A8 add r0, sp, #32 - 3918 000c FFF7FEFF bl memset - 3919 .LVL352: -1313:Src/main.c **** - 3920 .loc 1 1313 3 is_stmt 1 view .LVU1257 -1313:Src/main.c **** - 3921 .loc 1 1313 23 is_stmt 0 view .LVU1258 - 3922 0010 0024 movs r4, #0 - 3923 0012 0294 str r4, [sp, #8] - 3924 0014 0394 str r4, [sp, #12] - 3925 0016 0494 str r4, [sp, #16] - 3926 0018 0594 str r4, [sp, #20] - 3927 001a 0694 str r4, [sp, #24] - 3928 001c 0794 str r4, [sp, #28] -1316:Src/main.c **** - 3929 .loc 1 1316 3 is_stmt 1 view .LVU1259 - 3930 .LVL353: - 3931 .LBB447: - 3932 .LBI447: -1587:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { - 3933 .loc 3 1587 22 view .LVU1260 - 3934 .LBB448: -1589:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->APB2ENR, Periphs); - 3935 .loc 3 1589 3 view .LVU1261 -1590:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ - 3936 .loc 3 1590 3 view .LVU1262 - 3937 001e 294B ldr r3, .L195 - 3938 0020 5A6C ldr r2, [r3, #68] - 3939 0022 42F40012 orr r2, r2, #2097152 - 3940 0026 5A64 str r2, [r3, #68] -1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3941 .loc 3 1592 3 view .LVU1263 -1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3942 .loc 3 1592 12 is_stmt 0 view .LVU1264 - 3943 0028 5A6C ldr r2, [r3, #68] - 3944 002a 02F40012 and r2, r2, #2097152 -1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3945 .loc 3 1592 10 view .LVU1265 - 3946 002e 0192 str r2, [sp, #4] - 3947 .loc 3 1593 3 is_stmt 1 view .LVU1266 - 3948 0030 019A ldr r2, [sp, #4] - 3949 .LVL354: - 3950 .loc 3 1593 3 is_stmt 0 view .LVU1267 - 3951 .LBE448: - 3952 .LBE447: -1318:Src/main.c **** /**SPI6 GPIO Configuration - 3953 .loc 1 1318 3 is_stmt 1 view .LVU1268 - 3954 .LBB449: - 3955 .LBI449: - 309:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { - 3956 .loc 3 309 22 view .LVU1269 - 3957 .LBB450: - 311:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->AHB1ENR, Periphs); - ARM GAS /tmp/ccYgfTud.s page 230 + 4243 .LBE446: + 4244 .LBE445: +1284:Src/main.c **** + 4245 .loc 1 1284 1 view .LVU1330 + 4246 00c0 12B0 add sp, sp, #72 + 4247 .LCFI40: + 4248 .cfi_def_cfa_offset 24 + 4249 @ sp needed + 4250 00c2 BDE8F081 pop {r4, r5, r6, r7, r8, pc} + 4251 .L263: + 4252 00c6 00BF .align 2 + 4253 .L262: + 4254 00c8 00380240 .word 1073887232 + 4255 00cc 00100240 .word 1073876992 + 4256 00d0 00340140 .word 1073820672 + 4257 .cfi_endproc + 4258 .LFE1192: + 4260 .section .text.MX_SPI2_Init,"ax",%progbits + 4261 .align 1 + 4262 .syntax unified + 4263 .thumb + 4264 .thumb_func + 4266 MX_SPI2_Init: + 4267 .LFB1191: +1157:Src/main.c **** + 4268 .loc 1 1157 1 is_stmt 1 view -0 + 4269 .cfi_startproc + 4270 @ args = 0, pretend = 0, frame = 72 + 4271 @ frame_needed = 0, uses_anonymous_args = 0 + 4272 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} + 4273 .LCFI41: + 4274 .cfi_def_cfa_offset 24 + 4275 .cfi_offset 4, -24 + 4276 .cfi_offset 5, -20 + 4277 .cfi_offset 6, -16 + 4278 .cfi_offset 7, -12 + 4279 .cfi_offset 8, -8 + 4280 .cfi_offset 14, -4 + 4281 0004 92B0 sub sp, sp, #72 + 4282 .LCFI42: + 4283 .cfi_def_cfa_offset 96 +1163:Src/main.c **** + 4284 .loc 1 1163 3 view .LVU1332 +1163:Src/main.c **** + 4285 .loc 1 1163 22 is_stmt 0 view .LVU1333 + 4286 0006 2822 movs r2, #40 + 4287 0008 0021 movs r1, #0 + 4288 000a 08A8 add r0, sp, #32 + 4289 000c FFF7FEFF bl memset + 4290 .LVL451: +1165:Src/main.c **** + 4291 .loc 1 1165 3 is_stmt 1 view .LVU1334 +1165:Src/main.c **** + 4292 .loc 1 1165 23 is_stmt 0 view .LVU1335 + 4293 0010 0024 movs r4, #0 + 4294 0012 0294 str r4, [sp, #8] + 4295 0014 0394 str r4, [sp, #12] + ARM GAS /tmp/ccwR4KB7.s page 242 - 3958 .loc 3 311 3 view .LVU1270 - 312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ - 3959 .loc 3 312 3 view .LVU1271 - 3960 0032 1A6B ldr r2, [r3, #48] - 3961 0034 42F00102 orr r2, r2, #1 - 3962 0038 1A63 str r2, [r3, #48] - 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3963 .loc 3 314 3 view .LVU1272 - 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3964 .loc 3 314 12 is_stmt 0 view .LVU1273 - 3965 003a 1B6B ldr r3, [r3, #48] - 3966 003c 03F00103 and r3, r3, #1 - 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 3967 .loc 3 314 10 view .LVU1274 - 3968 0040 0093 str r3, [sp] - 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 3969 .loc 3 315 3 is_stmt 1 view .LVU1275 - 3970 0042 009B ldr r3, [sp] - 3971 .LVL355: - 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 3972 .loc 3 315 3 is_stmt 0 view .LVU1276 - 3973 .LBE450: - 3974 .LBE449: -1323:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3975 .loc 1 1323 3 is_stmt 1 view .LVU1277 -1323:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3976 .loc 1 1323 23 is_stmt 0 view .LVU1278 - 3977 0044 2023 movs r3, #32 - 3978 0046 0293 str r3, [sp, #8] -1324:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3979 .loc 1 1324 3 is_stmt 1 view .LVU1279 -1324:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 3980 .loc 1 1324 24 is_stmt 0 view .LVU1280 - 3981 0048 0225 movs r5, #2 - 3982 004a 0395 str r5, [sp, #12] -1325:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3983 .loc 1 1325 3 is_stmt 1 view .LVU1281 -1325:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 3984 .loc 1 1325 25 is_stmt 0 view .LVU1282 - 3985 004c 4FF00308 mov r8, #3 - 3986 0050 CDF81080 str r8, [sp, #16] -1326:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 3987 .loc 1 1326 3 is_stmt 1 view .LVU1283 -1327:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_8; - 3988 .loc 1 1327 3 view .LVU1284 -1328:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 3989 .loc 1 1328 3 view .LVU1285 -1328:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 3990 .loc 1 1328 29 is_stmt 0 view .LVU1286 - 3991 0054 0827 movs r7, #8 - 3992 0056 0797 str r7, [sp, #28] -1329:Src/main.c **** - 3993 .loc 1 1329 3 is_stmt 1 view .LVU1287 - 3994 0058 1B4E ldr r6, .L195+4 - 3995 005a 0DEB0701 add r1, sp, r7 - 3996 005e 3046 mov r0, r6 - 3997 0060 FFF7FEFF bl LL_GPIO_Init - ARM GAS /tmp/ccYgfTud.s page 231 - - - 3998 .LVL356: -1331:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 3999 .loc 1 1331 3 view .LVU1288 -1331:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 4000 .loc 1 1331 23 is_stmt 0 view .LVU1289 - 4001 0064 8023 movs r3, #128 - 4002 0066 0293 str r3, [sp, #8] -1332:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 4003 .loc 1 1332 3 is_stmt 1 view .LVU1290 -1332:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 4004 .loc 1 1332 24 is_stmt 0 view .LVU1291 - 4005 0068 0395 str r5, [sp, #12] -1333:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 4006 .loc 1 1333 3 is_stmt 1 view .LVU1292 -1333:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 4007 .loc 1 1333 25 is_stmt 0 view .LVU1293 - 4008 006a CDF81080 str r8, [sp, #16] -1334:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 4009 .loc 1 1334 3 is_stmt 1 view .LVU1294 -1334:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 4010 .loc 1 1334 30 is_stmt 0 view .LVU1295 - 4011 006e 0594 str r4, [sp, #20] -1335:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_8; - 4012 .loc 1 1335 3 is_stmt 1 view .LVU1296 -1335:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_8; - 4013 .loc 1 1335 24 is_stmt 0 view .LVU1297 - 4014 0070 0694 str r4, [sp, #24] -1336:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 4015 .loc 1 1336 3 is_stmt 1 view .LVU1298 -1336:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 4016 .loc 1 1336 29 is_stmt 0 view .LVU1299 - 4017 0072 0797 str r7, [sp, #28] -1337:Src/main.c **** - 4018 .loc 1 1337 3 is_stmt 1 view .LVU1300 - 4019 0074 0DEB0701 add r1, sp, r7 - 4020 0078 3046 mov r0, r6 - 4021 007a FFF7FEFF bl LL_GPIO_Init - 4022 .LVL357: -1343:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; - 4023 .loc 1 1343 3 view .LVU1301 -1343:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; - 4024 .loc 1 1343 36 is_stmt 0 view .LVU1302 - 4025 007e 0894 str r4, [sp, #32] -1344:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; - 4026 .loc 1 1344 3 is_stmt 1 view .LVU1303 -1344:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; - 4027 .loc 1 1344 23 is_stmt 0 view .LVU1304 - 4028 0080 4FF48273 mov r3, #260 - 4029 0084 0993 str r3, [sp, #36] -1345:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; - 4030 .loc 1 1345 3 is_stmt 1 view .LVU1305 -1345:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; - 4031 .loc 1 1345 28 is_stmt 0 view .LVU1306 - 4032 0086 4FF47063 mov r3, #3840 - 4033 008a 0A93 str r3, [sp, #40] -1346:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_2EDGE; - 4034 .loc 1 1346 3 is_stmt 1 view .LVU1307 - ARM GAS /tmp/ccYgfTud.s page 232 - - -1346:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_2EDGE; - 4035 .loc 1 1346 32 is_stmt 0 view .LVU1308 - 4036 008c 0B95 str r5, [sp, #44] -1347:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; - 4037 .loc 1 1347 3 is_stmt 1 view .LVU1309 -1347:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; - 4038 .loc 1 1347 29 is_stmt 0 view .LVU1310 - 4039 008e 0123 movs r3, #1 - 4040 0090 0C93 str r3, [sp, #48] -1348:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; - 4041 .loc 1 1348 3 is_stmt 1 view .LVU1311 -1348:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; - 4042 .loc 1 1348 22 is_stmt 0 view .LVU1312 - 4043 0092 4FF40073 mov r3, #512 - 4044 0096 0D93 str r3, [sp, #52] -1349:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; - 4045 .loc 1 1349 3 is_stmt 1 view .LVU1313 -1349:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; - 4046 .loc 1 1349 27 is_stmt 0 view .LVU1314 - 4047 0098 1823 movs r3, #24 - 4048 009a 0E93 str r3, [sp, #56] -1350:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; - 4049 .loc 1 1350 3 is_stmt 1 view .LVU1315 -1350:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; - 4050 .loc 1 1350 27 is_stmt 0 view .LVU1316 - 4051 009c 0F94 str r4, [sp, #60] -1351:Src/main.c **** SPI_InitStruct.CRCPoly = 7; - 4052 .loc 1 1351 3 is_stmt 1 view .LVU1317 -1351:Src/main.c **** SPI_InitStruct.CRCPoly = 7; - 4053 .loc 1 1351 33 is_stmt 0 view .LVU1318 - 4054 009e 1094 str r4, [sp, #64] -1352:Src/main.c **** LL_SPI_Init(SPI6, &SPI_InitStruct); - 4055 .loc 1 1352 3 is_stmt 1 view .LVU1319 -1352:Src/main.c **** LL_SPI_Init(SPI6, &SPI_InitStruct); - 4056 .loc 1 1352 26 is_stmt 0 view .LVU1320 - 4057 00a0 0723 movs r3, #7 - 4058 00a2 1193 str r3, [sp, #68] -1353:Src/main.c **** LL_SPI_SetStandard(SPI6, LL_SPI_PROTOCOL_MOTOROLA); - 4059 .loc 1 1353 3 is_stmt 1 view .LVU1321 - 4060 00a4 094C ldr r4, .L195+8 - 4061 00a6 08A9 add r1, sp, #32 - 4062 00a8 2046 mov r0, r4 - 4063 00aa FFF7FEFF bl LL_SPI_Init - 4064 .LVL358: -1354:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI6); - 4065 .loc 1 1354 3 view .LVU1322 - 4066 .LBB451: - 4067 .LBI451: - 426:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 4068 .loc 4 426 22 view .LVU1323 - 4069 .LBB452: - 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 4070 .loc 4 428 3 view .LVU1324 - 4071 00ae 6368 ldr r3, [r4, #4] - 4072 00b0 23F01003 bic r3, r3, #16 - 4073 00b4 6360 str r3, [r4, #4] - 4074 .LVL359: - ARM GAS /tmp/ccYgfTud.s page 233 - - - 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 4075 .loc 4 428 3 is_stmt 0 view .LVU1325 - 4076 .LBE452: - 4077 .LBE451: -1355:Src/main.c **** /* USER CODE BEGIN SPI6_Init 2 */ - 4078 .loc 1 1355 3 is_stmt 1 view .LVU1326 - 4079 .LBB453: - 4080 .LBI453: - 874:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 4081 .loc 4 874 22 view .LVU1327 - 4082 .LBB454: - 876:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 4083 .loc 4 876 3 view .LVU1328 - 4084 00b6 6368 ldr r3, [r4, #4] - 4085 00b8 23F00803 bic r3, r3, #8 - 4086 00bc 6360 str r3, [r4, #4] - 4087 .LVL360: - 876:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 4088 .loc 4 876 3 is_stmt 0 view .LVU1329 - 4089 .LBE454: - 4090 .LBE453: -1360:Src/main.c **** - 4091 .loc 1 1360 1 view .LVU1330 - 4092 00be 12B0 add sp, sp, #72 - 4093 .LCFI40: - 4094 .cfi_def_cfa_offset 24 - 4095 @ sp needed - 4096 00c0 BDE8F081 pop {r4, r5, r6, r7, r8, pc} - 4097 .L196: - 4098 .align 2 - 4099 .L195: - 4100 00c4 00380240 .word 1073887232 - 4101 00c8 00000240 .word 1073872896 - 4102 00cc 00540140 .word 1073828864 - 4103 .cfi_endproc - 4104 .LFE1194: - 4106 .section .text.MX_TIM2_Init,"ax",%progbits - 4107 .align 1 - 4108 .syntax unified - 4109 .thumb - 4110 .thumb_func - 4112 MX_TIM2_Init: - 4113 .LFB1195: -1368:Src/main.c **** - 4114 .loc 1 1368 1 is_stmt 1 view -0 - 4115 .cfi_startproc - 4116 @ args = 0, pretend = 0, frame = 24 - 4117 @ frame_needed = 0, uses_anonymous_args = 0 - 4118 0000 10B5 push {r4, lr} - 4119 .LCFI41: - 4120 .cfi_def_cfa_offset 8 - 4121 .cfi_offset 4, -8 - 4122 .cfi_offset 14, -4 - 4123 0002 86B0 sub sp, sp, #24 - 4124 .LCFI42: - 4125 .cfi_def_cfa_offset 32 -1374:Src/main.c **** - ARM GAS /tmp/ccYgfTud.s page 234 - - - 4126 .loc 1 1374 3 view .LVU1332 -1374:Src/main.c **** - 4127 .loc 1 1374 22 is_stmt 0 view .LVU1333 - 4128 0004 0024 movs r4, #0 - 4129 0006 0194 str r4, [sp, #4] - 4130 0008 0294 str r4, [sp, #8] - 4131 000a 0394 str r4, [sp, #12] - 4132 000c 0494 str r4, [sp, #16] - 4133 000e 0594 str r4, [sp, #20] -1377:Src/main.c **** - 4134 .loc 1 1377 3 is_stmt 1 view .LVU1334 - 4135 .LVL361: - 4136 .LBB455: - 4137 .LBI455: + 4296 0016 0494 str r4, [sp, #16] + 4297 0018 0594 str r4, [sp, #20] + 4298 001a 0694 str r4, [sp, #24] + 4299 001c 0794 str r4, [sp, #28] +1168:Src/main.c **** + 4300 .loc 1 1168 3 is_stmt 1 view .LVU1336 + 4301 .LVL452: + 4302 .LBB447: + 4303 .LBI447: 1071:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { - 4138 .loc 3 1071 22 view .LVU1335 - 4139 .LBB456: + 4304 .loc 3 1071 22 view .LVU1337 + 4305 .LBB448: 1073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->APB1ENR, Periphs); - 4140 .loc 3 1073 3 view .LVU1336 + 4306 .loc 3 1073 3 view .LVU1338 1074:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ - 4141 .loc 3 1074 3 view .LVU1337 - 4142 0010 1D4B ldr r3, .L199 - 4143 0012 1A6C ldr r2, [r3, #64] - 4144 0014 42F00102 orr r2, r2, #1 - 4145 0018 1A64 str r2, [r3, #64] + 4307 .loc 3 1074 3 view .LVU1339 + 4308 001e 2F4B ldr r3, .L266 + 4309 0020 1A6C ldr r2, [r3, #64] + 4310 0022 42F48042 orr r2, r2, #16384 + 4311 0026 1A64 str r2, [r3, #64] 1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 4146 .loc 3 1076 3 view .LVU1338 + 4312 .loc 3 1076 3 view .LVU1340 1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 4147 .loc 3 1076 12 is_stmt 0 view .LVU1339 - 4148 001a 1B6C ldr r3, [r3, #64] - 4149 001c 03F00103 and r3, r3, #1 + 4313 .loc 3 1076 12 is_stmt 0 view .LVU1341 + 4314 0028 1A6C ldr r2, [r3, #64] + 4315 002a 02F48042 and r2, r2, #16384 1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 4150 .loc 3 1076 10 view .LVU1340 - 4151 0020 0093 str r3, [sp] + 4316 .loc 3 1076 10 view .LVU1342 + 4317 002e 0192 str r2, [sp, #4] 1077:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 4152 .loc 3 1077 3 is_stmt 1 view .LVU1341 - 4153 0022 009B ldr r3, [sp] - 4154 .LVL362: + 4318 .loc 3 1077 3 is_stmt 1 view .LVU1343 + 4319 0030 019A ldr r2, [sp, #4] + 4320 .LVL453: 1077:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 4155 .loc 3 1077 3 is_stmt 0 view .LVU1342 - 4156 .LBE456: - 4157 .LBE455: -1380:Src/main.c **** NVIC_EnableIRQ(TIM2_IRQn); - 4158 .loc 1 1380 3 is_stmt 1 view .LVU1343 - 4159 .LBB457: - 4160 .LBI457: + 4321 .loc 3 1077 3 is_stmt 0 view .LVU1344 + 4322 .LBE448: + 4323 .LBE447: +1170:Src/main.c **** /**SPI2 GPIO Configuration + 4324 .loc 1 1170 3 is_stmt 1 view .LVU1345 + 4325 .LBB449: + 4326 .LBI449: + 309:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { + 4327 .loc 3 309 22 view .LVU1346 + 4328 .LBB450: + 311:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->AHB1ENR, Periphs); + 4329 .loc 3 311 3 view .LVU1347 + 312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ + 4330 .loc 3 312 3 view .LVU1348 + 4331 0032 1A6B ldr r2, [r3, #48] + 4332 0034 42F00202 orr r2, r2, #2 + 4333 0038 1A63 str r2, [r3, #48] + 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4334 .loc 3 314 3 view .LVU1349 + 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4335 .loc 3 314 12 is_stmt 0 view .LVU1350 + 4336 003a 1B6B ldr r3, [r3, #48] + 4337 003c 03F00203 and r3, r3, #2 + ARM GAS /tmp/ccwR4KB7.s page 243 + + + 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4338 .loc 3 314 10 view .LVU1351 + 4339 0040 0093 str r3, [sp] + 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } + 4340 .loc 3 315 3 is_stmt 1 view .LVU1352 + 4341 0042 009B ldr r3, [sp] + 4342 .LVL454: + 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } + 4343 .loc 3 315 3 is_stmt 0 view .LVU1353 + 4344 .LBE450: + 4345 .LBE449: +1176:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4346 .loc 1 1176 3 is_stmt 1 view .LVU1354 +1176:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4347 .loc 1 1176 23 is_stmt 0 view .LVU1355 + 4348 0044 4FF40053 mov r3, #8192 + 4349 0048 0293 str r3, [sp, #8] +1177:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4350 .loc 1 1177 3 is_stmt 1 view .LVU1356 +1177:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4351 .loc 1 1177 24 is_stmt 0 view .LVU1357 + 4352 004a 4FF00208 mov r8, #2 + 4353 004e CDF80C80 str r8, [sp, #12] +1178:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4354 .loc 1 1178 3 is_stmt 1 view .LVU1358 +1178:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4355 .loc 1 1178 25 is_stmt 0 view .LVU1359 + 4356 0052 0327 movs r7, #3 + 4357 0054 0497 str r7, [sp, #16] +1179:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 4358 .loc 1 1179 3 is_stmt 1 view .LVU1360 +1180:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; + 4359 .loc 1 1180 3 view .LVU1361 +1181:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); + 4360 .loc 1 1181 3 view .LVU1362 +1181:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); + 4361 .loc 1 1181 29 is_stmt 0 view .LVU1363 + 4362 0056 0526 movs r6, #5 + 4363 0058 0796 str r6, [sp, #28] +1182:Src/main.c **** + 4364 .loc 1 1182 3 is_stmt 1 view .LVU1364 + 4365 005a 214D ldr r5, .L266+4 + 4366 005c 02A9 add r1, sp, #8 + 4367 005e 2846 mov r0, r5 + 4368 0060 FFF7FEFF bl LL_GPIO_Init + 4369 .LVL455: +1184:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4370 .loc 1 1184 3 view .LVU1365 +1184:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4371 .loc 1 1184 23 is_stmt 0 view .LVU1366 + 4372 0064 4FF48043 mov r3, #16384 + 4373 0068 0293 str r3, [sp, #8] +1185:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4374 .loc 1 1185 3 is_stmt 1 view .LVU1367 +1185:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4375 .loc 1 1185 24 is_stmt 0 view .LVU1368 + 4376 006a CDF80C80 str r8, [sp, #12] + ARM GAS /tmp/ccwR4KB7.s page 244 + + +1186:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4377 .loc 1 1186 3 is_stmt 1 view .LVU1369 +1186:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4378 .loc 1 1186 25 is_stmt 0 view .LVU1370 + 4379 006e 0497 str r7, [sp, #16] +1187:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 4380 .loc 1 1187 3 is_stmt 1 view .LVU1371 +1187:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 4381 .loc 1 1187 30 is_stmt 0 view .LVU1372 + 4382 0070 0594 str r4, [sp, #20] +1188:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; + 4383 .loc 1 1188 3 is_stmt 1 view .LVU1373 +1188:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; + 4384 .loc 1 1188 24 is_stmt 0 view .LVU1374 + 4385 0072 0694 str r4, [sp, #24] +1189:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); + 4386 .loc 1 1189 3 is_stmt 1 view .LVU1375 +1189:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); + 4387 .loc 1 1189 29 is_stmt 0 view .LVU1376 + 4388 0074 0796 str r6, [sp, #28] +1190:Src/main.c **** + 4389 .loc 1 1190 3 is_stmt 1 view .LVU1377 + 4390 0076 02A9 add r1, sp, #8 + 4391 0078 2846 mov r0, r5 + 4392 007a FFF7FEFF bl LL_GPIO_Init + 4393 .LVL456: +1192:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4394 .loc 1 1192 3 view .LVU1378 +1192:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4395 .loc 1 1192 23 is_stmt 0 view .LVU1379 + 4396 007e 4FF40043 mov r3, #32768 + 4397 0082 0293 str r3, [sp, #8] +1193:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4398 .loc 1 1193 3 is_stmt 1 view .LVU1380 +1193:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4399 .loc 1 1193 24 is_stmt 0 view .LVU1381 + 4400 0084 CDF80C80 str r8, [sp, #12] +1194:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4401 .loc 1 1194 3 is_stmt 1 view .LVU1382 +1194:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4402 .loc 1 1194 25 is_stmt 0 view .LVU1383 + 4403 0088 0497 str r7, [sp, #16] +1195:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 4404 .loc 1 1195 3 is_stmt 1 view .LVU1384 +1195:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 4405 .loc 1 1195 30 is_stmt 0 view .LVU1385 + 4406 008a 0594 str r4, [sp, #20] +1196:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; + 4407 .loc 1 1196 3 is_stmt 1 view .LVU1386 +1196:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; + 4408 .loc 1 1196 24 is_stmt 0 view .LVU1387 + 4409 008c 0694 str r4, [sp, #24] +1197:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); + 4410 .loc 1 1197 3 is_stmt 1 view .LVU1388 +1197:Src/main.c **** LL_GPIO_Init(GPIOB, &GPIO_InitStruct); + 4411 .loc 1 1197 29 is_stmt 0 view .LVU1389 + 4412 008e 0796 str r6, [sp, #28] + ARM GAS /tmp/ccwR4KB7.s page 245 + + +1198:Src/main.c **** + 4413 .loc 1 1198 3 is_stmt 1 view .LVU1390 + 4414 0090 02A9 add r1, sp, #8 + 4415 0092 2846 mov r0, r5 + 4416 0094 FFF7FEFF bl LL_GPIO_Init + 4417 .LVL457: +1204:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; + 4418 .loc 1 1204 3 view .LVU1391 +1204:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; + 4419 .loc 1 1204 36 is_stmt 0 view .LVU1392 + 4420 0098 0894 str r4, [sp, #32] +1205:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; + 4421 .loc 1 1205 3 is_stmt 1 view .LVU1393 +1205:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; + 4422 .loc 1 1205 23 is_stmt 0 view .LVU1394 + 4423 009a 4FF48273 mov r3, #260 + 4424 009e 0993 str r3, [sp, #36] +1206:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_LOW; + 4425 .loc 1 1206 3 is_stmt 1 view .LVU1395 +1206:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_LOW; + 4426 .loc 1 1206 28 is_stmt 0 view .LVU1396 + 4427 00a0 4FF47063 mov r3, #3840 + 4428 00a4 0A93 str r3, [sp, #40] +1207:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; + 4429 .loc 1 1207 3 is_stmt 1 view .LVU1397 +1207:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; + 4430 .loc 1 1207 32 is_stmt 0 view .LVU1398 + 4431 00a6 0B94 str r4, [sp, #44] +1208:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; + 4432 .loc 1 1208 3 is_stmt 1 view .LVU1399 +1208:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; + 4433 .loc 1 1208 29 is_stmt 0 view .LVU1400 + 4434 00a8 0C94 str r4, [sp, #48] +1209:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV8; + 4435 .loc 1 1209 3 is_stmt 1 view .LVU1401 +1209:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV8; + 4436 .loc 1 1209 22 is_stmt 0 view .LVU1402 + 4437 00aa 4FF40073 mov r3, #512 + 4438 00ae 0D93 str r3, [sp, #52] +1210:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; + 4439 .loc 1 1210 3 is_stmt 1 view .LVU1403 +1210:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; + 4440 .loc 1 1210 27 is_stmt 0 view .LVU1404 + 4441 00b0 1023 movs r3, #16 + 4442 00b2 0E93 str r3, [sp, #56] +1211:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; + 4443 .loc 1 1211 3 is_stmt 1 view .LVU1405 +1211:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; + 4444 .loc 1 1211 27 is_stmt 0 view .LVU1406 + 4445 00b4 0F94 str r4, [sp, #60] +1212:Src/main.c **** SPI_InitStruct.CRCPoly = 7; + 4446 .loc 1 1212 3 is_stmt 1 view .LVU1407 +1212:Src/main.c **** SPI_InitStruct.CRCPoly = 7; + 4447 .loc 1 1212 33 is_stmt 0 view .LVU1408 + 4448 00b6 1094 str r4, [sp, #64] +1213:Src/main.c **** LL_SPI_Init(SPI2, &SPI_InitStruct); + 4449 .loc 1 1213 3 is_stmt 1 view .LVU1409 + ARM GAS /tmp/ccwR4KB7.s page 246 + + +1213:Src/main.c **** LL_SPI_Init(SPI2, &SPI_InitStruct); + 4450 .loc 1 1213 26 is_stmt 0 view .LVU1410 + 4451 00b8 0723 movs r3, #7 + 4452 00ba 1193 str r3, [sp, #68] +1214:Src/main.c **** LL_SPI_SetStandard(SPI2, LL_SPI_PROTOCOL_MOTOROLA); + 4453 .loc 1 1214 3 is_stmt 1 view .LVU1411 + 4454 00bc 094C ldr r4, .L266+8 + 4455 00be 08A9 add r1, sp, #32 + 4456 00c0 2046 mov r0, r4 + 4457 00c2 FFF7FEFF bl LL_SPI_Init + 4458 .LVL458: +1215:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI2); + 4459 .loc 1 1215 3 view .LVU1412 + 4460 .LBB451: + 4461 .LBI451: + 426:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 4462 .loc 4 426 22 view .LVU1413 + 4463 .LBB452: + 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 4464 .loc 4 428 3 view .LVU1414 + 4465 00c6 6368 ldr r3, [r4, #4] + 4466 00c8 23F01003 bic r3, r3, #16 + 4467 00cc 6360 str r3, [r4, #4] + 4468 .LVL459: + 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 4469 .loc 4 428 3 is_stmt 0 view .LVU1415 + 4470 .LBE452: + 4471 .LBE451: +1216:Src/main.c **** /* USER CODE BEGIN SPI2_Init 2 */ + 4472 .loc 1 1216 3 is_stmt 1 view .LVU1416 + 4473 .LBB453: + 4474 .LBI453: + 874:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 4475 .loc 4 874 22 view .LVU1417 + 4476 .LBB454: + 876:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 4477 .loc 4 876 3 view .LVU1418 + 4478 00ce 6368 ldr r3, [r4, #4] + 4479 00d0 23F00803 bic r3, r3, #8 + 4480 00d4 6360 str r3, [r4, #4] + 4481 .LVL460: + 876:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 4482 .loc 4 876 3 is_stmt 0 view .LVU1419 + 4483 .LBE454: + 4484 .LBE453: +1221:Src/main.c **** + 4485 .loc 1 1221 1 view .LVU1420 + 4486 00d6 12B0 add sp, sp, #72 + 4487 .LCFI43: + 4488 .cfi_def_cfa_offset 24 + 4489 @ sp needed + 4490 00d8 BDE8F081 pop {r4, r5, r6, r7, r8, pc} + 4491 .L267: + 4492 .align 2 + 4493 .L266: + 4494 00dc 00380240 .word 1073887232 + 4495 00e0 00040240 .word 1073873920 + ARM GAS /tmp/ccwR4KB7.s page 247 + + + 4496 00e4 00380040 .word 1073756160 + 4497 .cfi_endproc + 4498 .LFE1191: + 4500 .section .text.MX_SPI5_Init,"ax",%progbits + 4501 .align 1 + 4502 .syntax unified + 4503 .thumb + 4504 .thumb_func + 4506 MX_SPI5_Init: + 4507 .LFB1193: +1292:Src/main.c **** + 4508 .loc 1 1292 1 is_stmt 1 view -0 + 4509 .cfi_startproc + 4510 @ args = 0, pretend = 0, frame = 72 + 4511 @ frame_needed = 0, uses_anonymous_args = 0 + 4512 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} + 4513 .LCFI44: + 4514 .cfi_def_cfa_offset 24 + 4515 .cfi_offset 4, -24 + 4516 .cfi_offset 5, -20 + 4517 .cfi_offset 6, -16 + 4518 .cfi_offset 7, -12 + 4519 .cfi_offset 8, -8 + 4520 .cfi_offset 14, -4 + 4521 0004 92B0 sub sp, sp, #72 + 4522 .LCFI45: + 4523 .cfi_def_cfa_offset 96 +1298:Src/main.c **** + 4524 .loc 1 1298 3 view .LVU1422 +1298:Src/main.c **** + 4525 .loc 1 1298 22 is_stmt 0 view .LVU1423 + 4526 0006 2822 movs r2, #40 + 4527 0008 0021 movs r1, #0 + 4528 000a 08A8 add r0, sp, #32 + 4529 000c FFF7FEFF bl memset + 4530 .LVL461: +1300:Src/main.c **** + 4531 .loc 1 1300 3 is_stmt 1 view .LVU1424 +1300:Src/main.c **** + 4532 .loc 1 1300 23 is_stmt 0 view .LVU1425 + 4533 0010 0024 movs r4, #0 + 4534 0012 0294 str r4, [sp, #8] + 4535 0014 0394 str r4, [sp, #12] + 4536 0016 0494 str r4, [sp, #16] + 4537 0018 0594 str r4, [sp, #20] + 4538 001a 0694 str r4, [sp, #24] + 4539 001c 0794 str r4, [sp, #28] +1303:Src/main.c **** + 4540 .loc 1 1303 3 is_stmt 1 view .LVU1426 + 4541 .LVL462: + 4542 .LBB455: + 4543 .LBI455: +1587:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { + 4544 .loc 3 1587 22 view .LVU1427 + 4545 .LBB456: +1589:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->APB2ENR, Periphs); + 4546 .loc 3 1589 3 view .LVU1428 + ARM GAS /tmp/ccwR4KB7.s page 248 + + +1590:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ + 4547 .loc 3 1590 3 view .LVU1429 + 4548 001e 294B ldr r3, .L270 + 4549 0020 5A6C ldr r2, [r3, #68] + 4550 0022 42F48012 orr r2, r2, #1048576 + 4551 0026 5A64 str r2, [r3, #68] +1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4552 .loc 3 1592 3 view .LVU1430 +1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4553 .loc 3 1592 12 is_stmt 0 view .LVU1431 + 4554 0028 5A6C ldr r2, [r3, #68] + 4555 002a 02F48012 and r2, r2, #1048576 +1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4556 .loc 3 1592 10 view .LVU1432 + 4557 002e 0192 str r2, [sp, #4] + 4558 .loc 3 1593 3 is_stmt 1 view .LVU1433 + 4559 0030 019A ldr r2, [sp, #4] + 4560 .LVL463: + 4561 .loc 3 1593 3 is_stmt 0 view .LVU1434 + 4562 .LBE456: + 4563 .LBE455: +1305:Src/main.c **** /**SPI5 GPIO Configuration + 4564 .loc 1 1305 3 is_stmt 1 view .LVU1435 + 4565 .LBB457: + 4566 .LBI457: + 309:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { + 4567 .loc 3 309 22 view .LVU1436 + 4568 .LBB458: + 311:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->AHB1ENR, Periphs); + 4569 .loc 3 311 3 view .LVU1437 + 312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ + 4570 .loc 3 312 3 view .LVU1438 + 4571 0032 1A6B ldr r2, [r3, #48] + 4572 0034 42F02002 orr r2, r2, #32 + 4573 0038 1A63 str r2, [r3, #48] + 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4574 .loc 3 314 3 view .LVU1439 + 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4575 .loc 3 314 12 is_stmt 0 view .LVU1440 + 4576 003a 1B6B ldr r3, [r3, #48] + 4577 003c 03F02003 and r3, r3, #32 + 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4578 .loc 3 314 10 view .LVU1441 + 4579 0040 0093 str r3, [sp] + 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } + 4580 .loc 3 315 3 is_stmt 1 view .LVU1442 + 4581 0042 009B ldr r3, [sp] + 4582 .LVL464: + 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } + 4583 .loc 3 315 3 is_stmt 0 view .LVU1443 + 4584 .LBE458: + 4585 .LBE457: +1310:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4586 .loc 1 1310 3 is_stmt 1 view .LVU1444 +1310:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4587 .loc 1 1310 23 is_stmt 0 view .LVU1445 + 4588 0044 8023 movs r3, #128 + ARM GAS /tmp/ccwR4KB7.s page 249 + + + 4589 0046 0293 str r3, [sp, #8] +1311:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4590 .loc 1 1311 3 is_stmt 1 view .LVU1446 +1311:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4591 .loc 1 1311 24 is_stmt 0 view .LVU1447 + 4592 0048 0225 movs r5, #2 + 4593 004a 0395 str r5, [sp, #12] +1312:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4594 .loc 1 1312 3 is_stmt 1 view .LVU1448 +1312:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4595 .loc 1 1312 25 is_stmt 0 view .LVU1449 + 4596 004c 4FF00308 mov r8, #3 + 4597 0050 CDF81080 str r8, [sp, #16] +1313:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 4598 .loc 1 1313 3 is_stmt 1 view .LVU1450 +1314:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; + 4599 .loc 1 1314 3 view .LVU1451 +1315:Src/main.c **** LL_GPIO_Init(GPIOF, &GPIO_InitStruct); + 4600 .loc 1 1315 3 view .LVU1452 +1315:Src/main.c **** LL_GPIO_Init(GPIOF, &GPIO_InitStruct); + 4601 .loc 1 1315 29 is_stmt 0 view .LVU1453 + 4602 0054 0527 movs r7, #5 + 4603 0056 0797 str r7, [sp, #28] +1316:Src/main.c **** + 4604 .loc 1 1316 3 is_stmt 1 view .LVU1454 + 4605 0058 1B4E ldr r6, .L270+4 + 4606 005a 02A9 add r1, sp, #8 + 4607 005c 3046 mov r0, r6 + 4608 005e FFF7FEFF bl LL_GPIO_Init + 4609 .LVL465: +1318:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4610 .loc 1 1318 3 view .LVU1455 +1318:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4611 .loc 1 1318 23 is_stmt 0 view .LVU1456 + 4612 0062 4FF48073 mov r3, #256 + 4613 0066 0293 str r3, [sp, #8] +1319:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4614 .loc 1 1319 3 is_stmt 1 view .LVU1457 +1319:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4615 .loc 1 1319 24 is_stmt 0 view .LVU1458 + 4616 0068 0395 str r5, [sp, #12] +1320:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4617 .loc 1 1320 3 is_stmt 1 view .LVU1459 +1320:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4618 .loc 1 1320 25 is_stmt 0 view .LVU1460 + 4619 006a CDF81080 str r8, [sp, #16] +1321:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 4620 .loc 1 1321 3 is_stmt 1 view .LVU1461 +1321:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 4621 .loc 1 1321 30 is_stmt 0 view .LVU1462 + 4622 006e 0594 str r4, [sp, #20] +1322:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; + 4623 .loc 1 1322 3 is_stmt 1 view .LVU1463 +1322:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_5; + 4624 .loc 1 1322 24 is_stmt 0 view .LVU1464 + 4625 0070 0694 str r4, [sp, #24] +1323:Src/main.c **** LL_GPIO_Init(GPIOF, &GPIO_InitStruct); + ARM GAS /tmp/ccwR4KB7.s page 250 + + + 4626 .loc 1 1323 3 is_stmt 1 view .LVU1465 +1323:Src/main.c **** LL_GPIO_Init(GPIOF, &GPIO_InitStruct); + 4627 .loc 1 1323 29 is_stmt 0 view .LVU1466 + 4628 0072 0797 str r7, [sp, #28] +1324:Src/main.c **** + 4629 .loc 1 1324 3 is_stmt 1 view .LVU1467 + 4630 0074 02A9 add r1, sp, #8 + 4631 0076 3046 mov r0, r6 + 4632 0078 FFF7FEFF bl LL_GPIO_Init + 4633 .LVL466: +1330:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; + 4634 .loc 1 1330 3 view .LVU1468 +1330:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; + 4635 .loc 1 1330 36 is_stmt 0 view .LVU1469 + 4636 007c 4FF48063 mov r3, #1024 + 4637 0080 0893 str r3, [sp, #32] +1331:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; + 4638 .loc 1 1331 3 is_stmt 1 view .LVU1470 +1331:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; + 4639 .loc 1 1331 23 is_stmt 0 view .LVU1471 + 4640 0082 4FF48273 mov r3, #260 + 4641 0086 0993 str r3, [sp, #36] +1332:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; + 4642 .loc 1 1332 3 is_stmt 1 view .LVU1472 +1332:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; + 4643 .loc 1 1332 28 is_stmt 0 view .LVU1473 + 4644 0088 4FF47063 mov r3, #3840 + 4645 008c 0A93 str r3, [sp, #40] +1333:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; + 4646 .loc 1 1333 3 is_stmt 1 view .LVU1474 +1333:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_1EDGE; + 4647 .loc 1 1333 32 is_stmt 0 view .LVU1475 + 4648 008e 0B95 str r5, [sp, #44] +1334:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; + 4649 .loc 1 1334 3 is_stmt 1 view .LVU1476 +1334:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; + 4650 .loc 1 1334 29 is_stmt 0 view .LVU1477 + 4651 0090 0C94 str r4, [sp, #48] +1335:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; + 4652 .loc 1 1335 3 is_stmt 1 view .LVU1478 +1335:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; + 4653 .loc 1 1335 22 is_stmt 0 view .LVU1479 + 4654 0092 4FF40073 mov r3, #512 + 4655 0096 0D93 str r3, [sp, #52] +1336:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; + 4656 .loc 1 1336 3 is_stmt 1 view .LVU1480 +1336:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; + 4657 .loc 1 1336 27 is_stmt 0 view .LVU1481 + 4658 0098 1823 movs r3, #24 + 4659 009a 0E93 str r3, [sp, #56] +1337:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; + 4660 .loc 1 1337 3 is_stmt 1 view .LVU1482 +1337:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; + 4661 .loc 1 1337 27 is_stmt 0 view .LVU1483 + 4662 009c 0F94 str r4, [sp, #60] +1338:Src/main.c **** SPI_InitStruct.CRCPoly = 7; + 4663 .loc 1 1338 3 is_stmt 1 view .LVU1484 + ARM GAS /tmp/ccwR4KB7.s page 251 + + +1338:Src/main.c **** SPI_InitStruct.CRCPoly = 7; + 4664 .loc 1 1338 33 is_stmt 0 view .LVU1485 + 4665 009e 1094 str r4, [sp, #64] +1339:Src/main.c **** LL_SPI_Init(SPI5, &SPI_InitStruct); + 4666 .loc 1 1339 3 is_stmt 1 view .LVU1486 +1339:Src/main.c **** LL_SPI_Init(SPI5, &SPI_InitStruct); + 4667 .loc 1 1339 26 is_stmt 0 view .LVU1487 + 4668 00a0 0723 movs r3, #7 + 4669 00a2 1193 str r3, [sp, #68] +1340:Src/main.c **** LL_SPI_SetStandard(SPI5, LL_SPI_PROTOCOL_MOTOROLA); + 4670 .loc 1 1340 3 is_stmt 1 view .LVU1488 + 4671 00a4 094C ldr r4, .L270+8 + 4672 00a6 08A9 add r1, sp, #32 + 4673 00a8 2046 mov r0, r4 + 4674 00aa FFF7FEFF bl LL_SPI_Init + 4675 .LVL467: +1341:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI5); + 4676 .loc 1 1341 3 view .LVU1489 + 4677 .LBB459: + 4678 .LBI459: + 426:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 4679 .loc 4 426 22 view .LVU1490 + 4680 .LBB460: + 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 4681 .loc 4 428 3 view .LVU1491 + 4682 00ae 6368 ldr r3, [r4, #4] + 4683 00b0 23F01003 bic r3, r3, #16 + 4684 00b4 6360 str r3, [r4, #4] + 4685 .LVL468: + 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 4686 .loc 4 428 3 is_stmt 0 view .LVU1492 + 4687 .LBE460: + 4688 .LBE459: +1342:Src/main.c **** /* USER CODE BEGIN SPI5_Init 2 */ + 4689 .loc 1 1342 3 is_stmt 1 view .LVU1493 + 4690 .LBB461: + 4691 .LBI461: + 874:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 4692 .loc 4 874 22 view .LVU1494 + 4693 .LBB462: + 876:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 4694 .loc 4 876 3 view .LVU1495 + 4695 00b6 6368 ldr r3, [r4, #4] + 4696 00b8 23F00803 bic r3, r3, #8 + 4697 00bc 6360 str r3, [r4, #4] + 4698 .LVL469: + 876:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 4699 .loc 4 876 3 is_stmt 0 view .LVU1496 + 4700 .LBE462: + 4701 .LBE461: +1347:Src/main.c **** + 4702 .loc 1 1347 1 view .LVU1497 + 4703 00be 12B0 add sp, sp, #72 + 4704 .LCFI46: + 4705 .cfi_def_cfa_offset 24 + 4706 @ sp needed + 4707 00c0 BDE8F081 pop {r4, r5, r6, r7, r8, pc} + ARM GAS /tmp/ccwR4KB7.s page 252 + + + 4708 .L271: + 4709 .align 2 + 4710 .L270: + 4711 00c4 00380240 .word 1073887232 + 4712 00c8 00140240 .word 1073878016 + 4713 00cc 00500140 .word 1073827840 + 4714 .cfi_endproc + 4715 .LFE1193: + 4717 .section .text.MX_SPI6_Init,"ax",%progbits + 4718 .align 1 + 4719 .syntax unified + 4720 .thumb + 4721 .thumb_func + 4723 MX_SPI6_Init: + 4724 .LFB1194: +1355:Src/main.c **** + 4725 .loc 1 1355 1 is_stmt 1 view -0 + 4726 .cfi_startproc + 4727 @ args = 0, pretend = 0, frame = 72 + 4728 @ frame_needed = 0, uses_anonymous_args = 0 + 4729 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} + 4730 .LCFI47: + 4731 .cfi_def_cfa_offset 24 + 4732 .cfi_offset 4, -24 + 4733 .cfi_offset 5, -20 + 4734 .cfi_offset 6, -16 + 4735 .cfi_offset 7, -12 + 4736 .cfi_offset 8, -8 + 4737 .cfi_offset 14, -4 + 4738 0004 92B0 sub sp, sp, #72 + 4739 .LCFI48: + 4740 .cfi_def_cfa_offset 96 +1361:Src/main.c **** + 4741 .loc 1 1361 3 view .LVU1499 +1361:Src/main.c **** + 4742 .loc 1 1361 22 is_stmt 0 view .LVU1500 + 4743 0006 2822 movs r2, #40 + 4744 0008 0021 movs r1, #0 + 4745 000a 08A8 add r0, sp, #32 + 4746 000c FFF7FEFF bl memset + 4747 .LVL470: +1363:Src/main.c **** + 4748 .loc 1 1363 3 is_stmt 1 view .LVU1501 +1363:Src/main.c **** + 4749 .loc 1 1363 23 is_stmt 0 view .LVU1502 + 4750 0010 0024 movs r4, #0 + 4751 0012 0294 str r4, [sp, #8] + 4752 0014 0394 str r4, [sp, #12] + 4753 0016 0494 str r4, [sp, #16] + 4754 0018 0594 str r4, [sp, #20] + 4755 001a 0694 str r4, [sp, #24] + 4756 001c 0794 str r4, [sp, #28] +1366:Src/main.c **** + 4757 .loc 1 1366 3 is_stmt 1 view .LVU1503 + 4758 .LVL471: + 4759 .LBB463: + 4760 .LBI463: + ARM GAS /tmp/ccwR4KB7.s page 253 + + +1587:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { + 4761 .loc 3 1587 22 view .LVU1504 + 4762 .LBB464: +1589:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->APB2ENR, Periphs); + 4763 .loc 3 1589 3 view .LVU1505 +1590:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ + 4764 .loc 3 1590 3 view .LVU1506 + 4765 001e 294B ldr r3, .L274 + 4766 0020 5A6C ldr r2, [r3, #68] + 4767 0022 42F40012 orr r2, r2, #2097152 + 4768 0026 5A64 str r2, [r3, #68] +1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4769 .loc 3 1592 3 view .LVU1507 +1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4770 .loc 3 1592 12 is_stmt 0 view .LVU1508 + 4771 0028 5A6C ldr r2, [r3, #68] + 4772 002a 02F40012 and r2, r2, #2097152 +1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4773 .loc 3 1592 10 view .LVU1509 + 4774 002e 0192 str r2, [sp, #4] + 4775 .loc 3 1593 3 is_stmt 1 view .LVU1510 + 4776 0030 019A ldr r2, [sp, #4] + 4777 .LVL472: + 4778 .loc 3 1593 3 is_stmt 0 view .LVU1511 + 4779 .LBE464: + 4780 .LBE463: +1368:Src/main.c **** /**SPI6 GPIO Configuration + 4781 .loc 1 1368 3 is_stmt 1 view .LVU1512 + 4782 .LBB465: + 4783 .LBI465: + 309:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { + 4784 .loc 3 309 22 view .LVU1513 + 4785 .LBB466: + 311:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->AHB1ENR, Periphs); + 4786 .loc 3 311 3 view .LVU1514 + 312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ + 4787 .loc 3 312 3 view .LVU1515 + 4788 0032 1A6B ldr r2, [r3, #48] + 4789 0034 42F00102 orr r2, r2, #1 + 4790 0038 1A63 str r2, [r3, #48] + 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4791 .loc 3 314 3 view .LVU1516 + 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4792 .loc 3 314 12 is_stmt 0 view .LVU1517 + 4793 003a 1B6B ldr r3, [r3, #48] + 4794 003c 03F00103 and r3, r3, #1 + 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4795 .loc 3 314 10 view .LVU1518 + 4796 0040 0093 str r3, [sp] + 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } + 4797 .loc 3 315 3 is_stmt 1 view .LVU1519 + 4798 0042 009B ldr r3, [sp] + 4799 .LVL473: + 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } + 4800 .loc 3 315 3 is_stmt 0 view .LVU1520 + 4801 .LBE466: + 4802 .LBE465: + ARM GAS /tmp/ccwR4KB7.s page 254 + + +1373:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4803 .loc 1 1373 3 is_stmt 1 view .LVU1521 +1373:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4804 .loc 1 1373 23 is_stmt 0 view .LVU1522 + 4805 0044 2023 movs r3, #32 + 4806 0046 0293 str r3, [sp, #8] +1374:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4807 .loc 1 1374 3 is_stmt 1 view .LVU1523 +1374:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4808 .loc 1 1374 24 is_stmt 0 view .LVU1524 + 4809 0048 0225 movs r5, #2 + 4810 004a 0395 str r5, [sp, #12] +1375:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4811 .loc 1 1375 3 is_stmt 1 view .LVU1525 +1375:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4812 .loc 1 1375 25 is_stmt 0 view .LVU1526 + 4813 004c 4FF00308 mov r8, #3 + 4814 0050 CDF81080 str r8, [sp, #16] +1376:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 4815 .loc 1 1376 3 is_stmt 1 view .LVU1527 +1377:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_8; + 4816 .loc 1 1377 3 view .LVU1528 +1378:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); + 4817 .loc 1 1378 3 view .LVU1529 +1378:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); + 4818 .loc 1 1378 29 is_stmt 0 view .LVU1530 + 4819 0054 0827 movs r7, #8 + 4820 0056 0797 str r7, [sp, #28] +1379:Src/main.c **** + 4821 .loc 1 1379 3 is_stmt 1 view .LVU1531 + 4822 0058 1B4E ldr r6, .L274+4 + 4823 005a 0DEB0701 add r1, sp, r7 + 4824 005e 3046 mov r0, r6 + 4825 0060 FFF7FEFF bl LL_GPIO_Init + 4826 .LVL474: +1381:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4827 .loc 1 1381 3 view .LVU1532 +1381:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 4828 .loc 1 1381 23 is_stmt 0 view .LVU1533 + 4829 0064 8023 movs r3, #128 + 4830 0066 0293 str r3, [sp, #8] +1382:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4831 .loc 1 1382 3 is_stmt 1 view .LVU1534 +1382:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 4832 .loc 1 1382 24 is_stmt 0 view .LVU1535 + 4833 0068 0395 str r5, [sp, #12] +1383:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4834 .loc 1 1383 3 is_stmt 1 view .LVU1536 +1383:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 4835 .loc 1 1383 25 is_stmt 0 view .LVU1537 + 4836 006a CDF81080 str r8, [sp, #16] +1384:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 4837 .loc 1 1384 3 is_stmt 1 view .LVU1538 +1384:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 4838 .loc 1 1384 30 is_stmt 0 view .LVU1539 + 4839 006e 0594 str r4, [sp, #20] +1385:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_8; + ARM GAS /tmp/ccwR4KB7.s page 255 + + + 4840 .loc 1 1385 3 is_stmt 1 view .LVU1540 +1385:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_8; + 4841 .loc 1 1385 24 is_stmt 0 view .LVU1541 + 4842 0070 0694 str r4, [sp, #24] +1386:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); + 4843 .loc 1 1386 3 is_stmt 1 view .LVU1542 +1386:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); + 4844 .loc 1 1386 29 is_stmt 0 view .LVU1543 + 4845 0072 0797 str r7, [sp, #28] +1387:Src/main.c **** + 4846 .loc 1 1387 3 is_stmt 1 view .LVU1544 + 4847 0074 0DEB0701 add r1, sp, r7 + 4848 0078 3046 mov r0, r6 + 4849 007a FFF7FEFF bl LL_GPIO_Init + 4850 .LVL475: +1393:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; + 4851 .loc 1 1393 3 view .LVU1545 +1393:Src/main.c **** SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; + 4852 .loc 1 1393 36 is_stmt 0 view .LVU1546 + 4853 007e 0894 str r4, [sp, #32] +1394:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; + 4854 .loc 1 1394 3 is_stmt 1 view .LVU1547 +1394:Src/main.c **** SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_16BIT; + 4855 .loc 1 1394 23 is_stmt 0 view .LVU1548 + 4856 0080 4FF48273 mov r3, #260 + 4857 0084 0993 str r3, [sp, #36] +1395:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; + 4858 .loc 1 1395 3 is_stmt 1 view .LVU1549 +1395:Src/main.c **** SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_HIGH; + 4859 .loc 1 1395 28 is_stmt 0 view .LVU1550 + 4860 0086 4FF47063 mov r3, #3840 + 4861 008a 0A93 str r3, [sp, #40] +1396:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_2EDGE; + 4862 .loc 1 1396 3 is_stmt 1 view .LVU1551 +1396:Src/main.c **** SPI_InitStruct.ClockPhase = LL_SPI_PHASE_2EDGE; + 4863 .loc 1 1396 32 is_stmt 0 view .LVU1552 + 4864 008c 0B95 str r5, [sp, #44] +1397:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; + 4865 .loc 1 1397 3 is_stmt 1 view .LVU1553 +1397:Src/main.c **** SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; + 4866 .loc 1 1397 29 is_stmt 0 view .LVU1554 + 4867 008e 0123 movs r3, #1 + 4868 0090 0C93 str r3, [sp, #48] +1398:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; + 4869 .loc 1 1398 3 is_stmt 1 view .LVU1555 +1398:Src/main.c **** SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV16; + 4870 .loc 1 1398 22 is_stmt 0 view .LVU1556 + 4871 0092 4FF40073 mov r3, #512 + 4872 0096 0D93 str r3, [sp, #52] +1399:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; + 4873 .loc 1 1399 3 is_stmt 1 view .LVU1557 +1399:Src/main.c **** SPI_InitStruct.BitOrder = LL_SPI_MSB_FIRST; + 4874 .loc 1 1399 27 is_stmt 0 view .LVU1558 + 4875 0098 1823 movs r3, #24 + 4876 009a 0E93 str r3, [sp, #56] +1400:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; + 4877 .loc 1 1400 3 is_stmt 1 view .LVU1559 + ARM GAS /tmp/ccwR4KB7.s page 256 + + +1400:Src/main.c **** SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; + 4878 .loc 1 1400 27 is_stmt 0 view .LVU1560 + 4879 009c 0F94 str r4, [sp, #60] +1401:Src/main.c **** SPI_InitStruct.CRCPoly = 7; + 4880 .loc 1 1401 3 is_stmt 1 view .LVU1561 +1401:Src/main.c **** SPI_InitStruct.CRCPoly = 7; + 4881 .loc 1 1401 33 is_stmt 0 view .LVU1562 + 4882 009e 1094 str r4, [sp, #64] +1402:Src/main.c **** LL_SPI_Init(SPI6, &SPI_InitStruct); + 4883 .loc 1 1402 3 is_stmt 1 view .LVU1563 +1402:Src/main.c **** LL_SPI_Init(SPI6, &SPI_InitStruct); + 4884 .loc 1 1402 26 is_stmt 0 view .LVU1564 + 4885 00a0 0723 movs r3, #7 + 4886 00a2 1193 str r3, [sp, #68] +1403:Src/main.c **** LL_SPI_SetStandard(SPI6, LL_SPI_PROTOCOL_MOTOROLA); + 4887 .loc 1 1403 3 is_stmt 1 view .LVU1565 + 4888 00a4 094C ldr r4, .L274+8 + 4889 00a6 08A9 add r1, sp, #32 + 4890 00a8 2046 mov r0, r4 + 4891 00aa FFF7FEFF bl LL_SPI_Init + 4892 .LVL476: +1404:Src/main.c **** LL_SPI_DisableNSSPulseMgt(SPI6); + 4893 .loc 1 1404 3 view .LVU1566 + 4894 .LBB467: + 4895 .LBI467: + 426:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 4896 .loc 4 426 22 view .LVU1567 + 4897 .LBB468: + 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 4898 .loc 4 428 3 view .LVU1568 + 4899 00ae 6368 ldr r3, [r4, #4] + 4900 00b0 23F01003 bic r3, r3, #16 + 4901 00b4 6360 str r3, [r4, #4] + 4902 .LVL477: + 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 4903 .loc 4 428 3 is_stmt 0 view .LVU1569 + 4904 .LBE468: + 4905 .LBE467: +1405:Src/main.c **** /* USER CODE BEGIN SPI6_Init 2 */ + 4906 .loc 1 1405 3 is_stmt 1 view .LVU1570 + 4907 .LBB469: + 4908 .LBI469: + 874:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 4909 .loc 4 874 22 view .LVU1571 + 4910 .LBB470: + 876:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 4911 .loc 4 876 3 view .LVU1572 + 4912 00b6 6368 ldr r3, [r4, #4] + 4913 00b8 23F00803 bic r3, r3, #8 + 4914 00bc 6360 str r3, [r4, #4] + 4915 .LVL478: + 876:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 4916 .loc 4 876 3 is_stmt 0 view .LVU1573 + 4917 .LBE470: + 4918 .LBE469: +1410:Src/main.c **** + 4919 .loc 1 1410 1 view .LVU1574 + ARM GAS /tmp/ccwR4KB7.s page 257 + + + 4920 00be 12B0 add sp, sp, #72 + 4921 .LCFI49: + 4922 .cfi_def_cfa_offset 24 + 4923 @ sp needed + 4924 00c0 BDE8F081 pop {r4, r5, r6, r7, r8, pc} + 4925 .L275: + 4926 .align 2 + 4927 .L274: + 4928 00c4 00380240 .word 1073887232 + 4929 00c8 00000240 .word 1073872896 + 4930 00cc 00540140 .word 1073828864 + 4931 .cfi_endproc + 4932 .LFE1194: + 4934 .section .text.MX_TIM2_Init,"ax",%progbits + 4935 .align 1 + 4936 .syntax unified + 4937 .thumb + 4938 .thumb_func + 4940 MX_TIM2_Init: + 4941 .LFB1195: +1418:Src/main.c **** + 4942 .loc 1 1418 1 is_stmt 1 view -0 + 4943 .cfi_startproc + 4944 @ args = 0, pretend = 0, frame = 24 + 4945 @ frame_needed = 0, uses_anonymous_args = 0 + 4946 0000 10B5 push {r4, lr} + 4947 .LCFI50: + 4948 .cfi_def_cfa_offset 8 + 4949 .cfi_offset 4, -8 + 4950 .cfi_offset 14, -4 + 4951 0002 86B0 sub sp, sp, #24 + 4952 .LCFI51: + 4953 .cfi_def_cfa_offset 32 +1424:Src/main.c **** + 4954 .loc 1 1424 3 view .LVU1576 +1424:Src/main.c **** + 4955 .loc 1 1424 22 is_stmt 0 view .LVU1577 + 4956 0004 0024 movs r4, #0 + 4957 0006 0194 str r4, [sp, #4] + 4958 0008 0294 str r4, [sp, #8] + 4959 000a 0394 str r4, [sp, #12] + 4960 000c 0494 str r4, [sp, #16] + 4961 000e 0594 str r4, [sp, #20] +1427:Src/main.c **** + 4962 .loc 1 1427 3 is_stmt 1 view .LVU1578 + 4963 .LVL479: + 4964 .LBB471: + 4965 .LBI471: +1071:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { + 4966 .loc 3 1071 22 view .LVU1579 + 4967 .LBB472: +1073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->APB1ENR, Periphs); + 4968 .loc 3 1073 3 view .LVU1580 +1074:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ + 4969 .loc 3 1074 3 view .LVU1581 + 4970 0010 1D4B ldr r3, .L278 + 4971 0012 1A6C ldr r2, [r3, #64] + ARM GAS /tmp/ccwR4KB7.s page 258 + + + 4972 0014 42F00102 orr r2, r2, #1 + 4973 0018 1A64 str r2, [r3, #64] +1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4974 .loc 3 1076 3 view .LVU1582 +1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4975 .loc 3 1076 12 is_stmt 0 view .LVU1583 + 4976 001a 1B6C ldr r3, [r3, #64] + 4977 001c 03F00103 and r3, r3, #1 +1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 4978 .loc 3 1076 10 view .LVU1584 + 4979 0020 0093 str r3, [sp] +1077:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } + 4980 .loc 3 1077 3 is_stmt 1 view .LVU1585 + 4981 0022 009B ldr r3, [sp] + 4982 .LVL480: +1077:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } + 4983 .loc 3 1077 3 is_stmt 0 view .LVU1586 + 4984 .LBE472: + 4985 .LBE471: +1430:Src/main.c **** NVIC_EnableIRQ(TIM2_IRQn); + 4986 .loc 1 1430 3 is_stmt 1 view .LVU1587 + 4987 .LBB473: + 4988 .LBI473: 1884:Drivers/CMSIS/Include/core_cm7.h **** { - 4161 .loc 2 1884 26 view .LVU1344 - 4162 .LBB458: + 4989 .loc 2 1884 26 view .LVU1588 + 4990 .LBB474: 1886:Drivers/CMSIS/Include/core_cm7.h **** } - 4163 .loc 2 1886 3 view .LVU1345 + 4991 .loc 2 1886 3 view .LVU1589 1886:Drivers/CMSIS/Include/core_cm7.h **** } - 4164 .loc 2 1886 26 is_stmt 0 view .LVU1346 - 4165 0024 194B ldr r3, .L199+4 - 4166 0026 D868 ldr r0, [r3, #12] - 4167 .LBE458: - 4168 .LBE457: - ARM GAS /tmp/ccYgfTud.s page 235 - - -1380:Src/main.c **** NVIC_EnableIRQ(TIM2_IRQn); - 4169 .loc 1 1380 3 discriminator 1 view .LVU1347 - 4170 0028 2246 mov r2, r4 - 4171 002a 2146 mov r1, r4 - 4172 002c C0F30220 ubfx r0, r0, #8, #3 - 4173 0030 FFF7FEFF bl NVIC_EncodePriority - 4174 .LVL363: - 4175 .LBB459: - 4176 .LBI459: + 4992 .loc 2 1886 26 is_stmt 0 view .LVU1590 + 4993 0024 194B ldr r3, .L278+4 + 4994 0026 D868 ldr r0, [r3, #12] + 4995 .LBE474: + 4996 .LBE473: +1430:Src/main.c **** NVIC_EnableIRQ(TIM2_IRQn); + 4997 .loc 1 1430 3 discriminator 1 view .LVU1591 + 4998 0028 2246 mov r2, r4 + 4999 002a 2146 mov r1, r4 + 5000 002c C0F30220 ubfx r0, r0, #8, #3 + 5001 0030 FFF7FEFF bl NVIC_EncodePriority + 5002 .LVL481: + 5003 .LBB475: + 5004 .LBI475: 2024:Drivers/CMSIS/Include/core_cm7.h **** { - 4177 .loc 2 2024 22 is_stmt 1 view .LVU1348 - 4178 .LBB460: + 5005 .loc 2 2024 22 is_stmt 1 view .LVU1592 + 5006 .LBB476: 2026:Drivers/CMSIS/Include/core_cm7.h **** { - 4179 .loc 2 2026 3 view .LVU1349 + 5007 .loc 2 2026 3 view .LVU1593 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4180 .loc 2 2028 5 view .LVU1350 + 5008 .loc 2 2028 5 view .LVU1594 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4181 .loc 2 2028 49 is_stmt 0 view .LVU1351 - 4182 0034 0001 lsls r0, r0, #4 - 4183 .LVL364: + 5009 .loc 2 2028 49 is_stmt 0 view .LVU1595 + 5010 0034 0001 lsls r0, r0, #4 + 5011 .LVL482: 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4184 .loc 2 2028 49 view .LVU1352 - 4185 0036 C0B2 uxtb r0, r0 + 5012 .loc 2 2028 49 view .LVU1596 + 5013 0036 C0B2 uxtb r0, r0 + ARM GAS /tmp/ccwR4KB7.s page 259 + + 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4186 .loc 2 2028 47 view .LVU1353 - 4187 0038 154B ldr r3, .L199+8 - 4188 003a 83F81C03 strb r0, [r3, #796] - 4189 .LVL365: + 5014 .loc 2 2028 47 view .LVU1597 + 5015 0038 154B ldr r3, .L278+8 + 5016 003a 83F81C03 strb r0, [r3, #796] + 5017 .LVL483: 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4190 .loc 2 2028 47 view .LVU1354 - 4191 .LBE460: - 4192 .LBE459: -1381:Src/main.c **** - 4193 .loc 1 1381 3 is_stmt 1 view .LVU1355 - 4194 .LBB461: - 4195 .LBI461: + 5018 .loc 2 2028 47 view .LVU1598 + 5019 .LBE476: + 5020 .LBE475: +1431:Src/main.c **** + 5021 .loc 1 1431 3 is_stmt 1 view .LVU1599 + 5022 .LBB477: + 5023 .LBI477: 1896:Drivers/CMSIS/Include/core_cm7.h **** { - 4196 .loc 2 1896 22 view .LVU1356 - 4197 .LBB462: + 5024 .loc 2 1896 22 view .LVU1600 + 5025 .LBB478: 1898:Drivers/CMSIS/Include/core_cm7.h **** { - 4198 .loc 2 1898 3 view .LVU1357 + 5026 .loc 2 1898 3 view .LVU1601 1900:Drivers/CMSIS/Include/core_cm7.h **** } - 4199 .loc 2 1900 5 view .LVU1358 + 5027 .loc 2 1900 5 view .LVU1602 1900:Drivers/CMSIS/Include/core_cm7.h **** } - 4200 .loc 2 1900 43 is_stmt 0 view .LVU1359 - 4201 003e 4FF08052 mov r2, #268435456 - 4202 0042 1A60 str r2, [r3] - 4203 .LVL366: + 5028 .loc 2 1900 43 is_stmt 0 view .LVU1603 + 5029 003e 4FF08052 mov r2, #268435456 + 5030 0042 1A60 str r2, [r3] + 5031 .LVL484: 1900:Drivers/CMSIS/Include/core_cm7.h **** } - 4204 .loc 2 1900 43 view .LVU1360 - 4205 .LBE462: - 4206 .LBE461: -1386:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; - 4207 .loc 1 1386 3 is_stmt 1 view .LVU1361 -1386:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; - 4208 .loc 1 1386 28 is_stmt 0 view .LVU1362 - 4209 0044 4FF47A73 mov r3, #1000 - ARM GAS /tmp/ccYgfTud.s page 236 + 5032 .loc 2 1900 43 view .LVU1604 + 5033 .LBE478: + 5034 .LBE477: +1436:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; + 5035 .loc 1 1436 3 is_stmt 1 view .LVU1605 +1436:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; + 5036 .loc 1 1436 28 is_stmt 0 view .LVU1606 + 5037 0044 4FF47A73 mov r3, #1000 + 5038 0048 ADF80430 strh r3, [sp, #4] @ movhi +1437:Src/main.c **** TIM_InitStruct.Autoreload = 840000; + 5039 .loc 1 1437 3 is_stmt 1 view .LVU1607 +1437:Src/main.c **** TIM_InitStruct.Autoreload = 840000; + 5040 .loc 1 1437 30 is_stmt 0 view .LVU1608 + 5041 004c 0294 str r4, [sp, #8] +1438:Src/main.c **** TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; + 5042 .loc 1 1438 3 is_stmt 1 view .LVU1609 +1438:Src/main.c **** TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; + 5043 .loc 1 1438 29 is_stmt 0 view .LVU1610 + 5044 004e 114B ldr r3, .L278+12 + 5045 0050 0393 str r3, [sp, #12] +1439:Src/main.c **** LL_TIM_Init(TIM2, &TIM_InitStruct); + 5046 .loc 1 1439 3 is_stmt 1 view .LVU1611 +1439:Src/main.c **** LL_TIM_Init(TIM2, &TIM_InitStruct); + 5047 .loc 1 1439 32 is_stmt 0 view .LVU1612 + 5048 0052 0494 str r4, [sp, #16] +1440:Src/main.c **** LL_TIM_DisableARRPreload(TIM2); + 5049 .loc 1 1440 3 is_stmt 1 view .LVU1613 + 5050 0054 01A9 add r1, sp, #4 + 5051 0056 4FF08040 mov r0, #1073741824 + 5052 005a FFF7FEFF bl LL_TIM_Init + 5053 .LVL485: + ARM GAS /tmp/ccwR4KB7.s page 260 - 4210 0048 ADF80430 strh r3, [sp, #4] @ movhi -1387:Src/main.c **** TIM_InitStruct.Autoreload = 840000; - 4211 .loc 1 1387 3 is_stmt 1 view .LVU1363 -1387:Src/main.c **** TIM_InitStruct.Autoreload = 840000; - 4212 .loc 1 1387 30 is_stmt 0 view .LVU1364 - 4213 004c 0294 str r4, [sp, #8] -1388:Src/main.c **** TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; - 4214 .loc 1 1388 3 is_stmt 1 view .LVU1365 -1388:Src/main.c **** TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; - 4215 .loc 1 1388 29 is_stmt 0 view .LVU1366 - 4216 004e 114B ldr r3, .L199+12 - 4217 0050 0393 str r3, [sp, #12] -1389:Src/main.c **** LL_TIM_Init(TIM2, &TIM_InitStruct); - 4218 .loc 1 1389 3 is_stmt 1 view .LVU1367 -1389:Src/main.c **** LL_TIM_Init(TIM2, &TIM_InitStruct); - 4219 .loc 1 1389 32 is_stmt 0 view .LVU1368 - 4220 0052 0494 str r4, [sp, #16] -1390:Src/main.c **** LL_TIM_DisableARRPreload(TIM2); - 4221 .loc 1 1390 3 is_stmt 1 view .LVU1369 - 4222 0054 01A9 add r1, sp, #4 - 4223 0056 4FF08040 mov r0, #1073741824 - 4224 005a FFF7FEFF bl LL_TIM_Init - 4225 .LVL367: -1391:Src/main.c **** LL_TIM_SetClockSource(TIM2, LL_TIM_CLOCKSOURCE_INTERNAL); - 4226 .loc 1 1391 3 view .LVU1370 - 4227 .LBB463: - 4228 .LBI463: - 4229 .file 5 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h" +1441:Src/main.c **** LL_TIM_SetClockSource(TIM2, LL_TIM_CLOCKSOURCE_INTERNAL); + 5054 .loc 1 1441 3 view .LVU1614 + 5055 .LBB479: + 5056 .LBI479: + 5057 .file 5 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h" 1:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 2:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** ****************************************************************************** 3:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @file stm32f7xx_ll_tim.h @@ -14158,9 +15575,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 27:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /* Includes ------------------------------------------------------------------*/ 28:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #include "stm32f7xx.h" 29:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** - ARM GAS /tmp/ccYgfTud.s page 237 - - 30:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @addtogroup STM32F7xx_LL_Driver 31:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @{ 32:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ @@ -14184,6 +15598,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 50:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 0x00U, /* 3: TIMx_CH2N */ 51:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 0x04U, /* 4: TIMx_CH3 */ 52:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 0x04U, /* 5: TIMx_CH3N */ + ARM GAS /tmp/ccwR4KB7.s page 261 + + 53:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 0x04U, /* 6: TIMx_CH4 */ 54:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 0x3CU, /* 7: TIMx_CH5 */ 55:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 0x3CU /* 8: TIMx_CH6 */ @@ -14218,9 +15635,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 84:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** static const uint8_t SHIFT_TAB_CCxP[] = 85:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 86:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 0U, /* 0: CC1P */ - ARM GAS /tmp/ccYgfTud.s page 238 - - 87:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 2U, /* 1: CC1NP */ 88:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 4U, /* 2: CC2P */ 89:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 6U, /* 3: CC2NP */ @@ -14244,6 +15658,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 107:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 10U /* 8: OIS6 */ 108:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** }; 109:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 262 + + 110:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @} 111:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 112:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -14278,9 +15695,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 141:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define DT_RANGE_2 ((uint8_t)0x80) 142:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define DT_RANGE_3 ((uint8_t)0xC0) 143:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define DT_RANGE_4 ((uint8_t)0xE0) - ARM GAS /tmp/ccYgfTud.s page 239 - - 144:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 145:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 146:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @@ -14304,6 +15718,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 164:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH6 165:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval none 166:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 263 + + 167:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define TIM_GET_CHANNEL_INDEX( __CHANNEL__) \ 168:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** (((__CHANNEL__) == LL_TIM_CHANNEL_CH1) ? 0U :\ 169:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** ((__CHANNEL__) == LL_TIM_CHANNEL_CH1N) ? 1U :\ @@ -14338,9 +15755,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 198:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 199:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 200:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** - ARM GAS /tmp/ccYgfTud.s page 240 - - 201:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief TIM Time Base configuration structure definition. 202:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 203:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** typedef struct @@ -14364,6 +15778,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 221:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** be a number between 0x0000 and 0xFFFFFFFF. 222:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 223:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** This feature can be modified afterwards using unitary function + ARM GAS /tmp/ccwR4KB7.s page 264 + + 224:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @ref LL_TIM_SetAutoReload().*/ 225:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 226:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** uint32_t ClockDivision; /*!< Specifies the clock division. @@ -14398,9 +15815,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 255:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** This feature can be modified afterwards using unitary function 256:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @ref LL_TIM_OC_SetMode().*/ 257:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** - ARM GAS /tmp/ccYgfTud.s page 241 - - 258:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** uint32_t OCState; /*!< Specifies the TIM Output Compare state. 259:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** This parameter can be a value of @ref TIM_LL_EC_OCSTATE. 260:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -14424,6 +15838,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 278:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 279:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** This feature can be modified afterwards using unitary function 280:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @ref LL_TIM_OC_SetPolarity().*/ + ARM GAS /tmp/ccwR4KB7.s page 265 + + 281:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 282:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** uint32_t OCNPolarity; /*!< Specifies the complementary output polarity. 283:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** This parameter can be a value of @ref TIM_LL_EC_OCPOLARITY. @@ -14458,9 +15875,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** This feature can be modified afterwards using unitary function 313:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @ref LL_TIM_IC_SetPolarity().*/ 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** - ARM GAS /tmp/ccYgfTud.s page 242 - - 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** uint32_t ICActiveInput; /*!< Specifies the input. 316:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** This parameter can be a value of @ref TIM_LL_EC_ACTIVEINPUT. 317:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -14484,6 +15898,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 335:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 336:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief TIM Encoder interface configuration structure definition. 337:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 266 + + 338:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** typedef struct 339:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 340:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** uint32_t EncoderMode; /*!< Specifies the encoder resolution (x2 or x4). @@ -14518,9 +15935,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 369:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 370:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** uint32_t IC2Polarity; /*!< Specifies the active edge of TI2 input. 371:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** This parameter can be a value of @ref TIM_LL_EC_IC_POLARITY. - ARM GAS /tmp/ccYgfTud.s page 243 - - 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** This feature can be modified afterwards using unitary function 374:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @ref LL_TIM_IC_SetPolarity().*/ @@ -14544,6 +15958,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 392:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @ref LL_TIM_IC_SetFilter().*/ 393:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 394:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } LL_TIM_ENCODER_InitTypeDef; + ARM GAS /tmp/ccwR4KB7.s page 267 + + 395:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 396:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 397:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief TIM Hall sensor interface configuration structure definition. @@ -14578,9 +15995,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 426:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** This parameter can be a number between Min_Data = 0x0000 and Ma 427:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** This feature can be modified afterwards using unitary function - ARM GAS /tmp/ccYgfTud.s page 244 - - 429:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @ref LL_TIM_OC_SetCompareCH2().*/ 430:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } LL_TIM_HALLSENSOR_InitTypeDef; 431:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -14604,6 +16018,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 449:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** This feature can be modified afterwards using unitary functio 450:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @ref LL_TIM_SetOffStates() 451:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** + ARM GAS /tmp/ccwR4KB7.s page 268 + + 452:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @note This bit-field cannot be modified as long as LOCK level 453:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** programmed. */ 454:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -14638,9 +16055,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 483:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** This feature can be modified afterwards using unitary functio 484:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @ref LL_TIM_ConfigBRK() 485:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** - ARM GAS /tmp/ccYgfTud.s page 245 - - 486:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @note This bit-field can not be modified as long as LOCK leve 487:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** programmed. */ 488:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -14664,6 +16078,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 506:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 507:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** uint32_t Break2Polarity; /*!< Specifies the TIM Break2 Input pin polarity. 508:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** This parameter can be a value of @ref TIM_LL_EC_BREAK2_POLARI + ARM GAS /tmp/ccwR4KB7.s page 269 + + 509:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 510:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** This feature can be modified afterwards using unitary functio 511:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @ref LL_TIM_ConfigBRK2() @@ -14698,9 +16115,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 540:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /* Exported constants --------------------------------------------------------*/ 541:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @defgroup TIM_LL_Exported_Constants TIM Exported Constants 542:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @{ - ARM GAS /tmp/ccYgfTud.s page 246 - - 543:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 544:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 545:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @defgroup TIM_LL_EC_GET_FLAG Get Flags Defines @@ -14724,6 +16138,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 563:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_SR_CC4OF TIM_SR_CC4OF /*!< Capture/Compare 4 overcapt 564:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_SR_SBIF TIM_SR_SBIF /*!< System Break interrupt fla 565:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 270 + + 566:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @} 567:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 568:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -14758,9 +16175,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 597:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 598:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @defgroup TIM_LL_EC_IT IT Defines 599:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief IT defines which can be used with LL_TIM_ReadReg and LL_TIM_WriteReg functions. - ARM GAS /tmp/ccYgfTud.s page 247 - - 600:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @{ 601:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 602:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_DIER_UIE TIM_DIER_UIE /*!< Update interrupt enable */ @@ -14784,6 +16198,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 620:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @} 621:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 622:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** + ARM GAS /tmp/ccwR4KB7.s page 271 + + 623:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @defgroup TIM_LL_EC_ONEPULSEMODE One Pulse Mode 624:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @{ 625:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ @@ -14818,9 +16235,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 654:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @defgroup TIM_LL_EC_COUNTERDIRECTION Counter Direction 655:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @{ 656:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ - ARM GAS /tmp/ccYgfTud.s page 248 - - 657:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_COUNTERDIRECTION_UP 0x00000000U /*!< Timer counter counts up */ 658:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_COUNTERDIRECTION_DOWN TIM_CR1_DIR /*!< Timer counter counts down 659:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @@ -14844,6 +16258,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 677:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 678:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @} 679:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 272 + + 680:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 681:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @defgroup TIM_LL_EC_LOCKLEVEL Lock Level 682:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @{ @@ -14878,9 +16295,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 711:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 712:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_OCSTATE_DISABLE 0x00000000U /*!< OCx is not active */ 713:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_OCSTATE_ENABLE TIM_CCER_CC1E /*!< OCx signal is output on - ARM GAS /tmp/ccYgfTud.s page 249 - - 714:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 715:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @} 716:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ @@ -14904,6 +16318,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 734:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_OCMODE_TOGGLE (TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_0) 735:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_OCMODE_FORCED_INACTIVE TIM_CCMR1_OC1M_2 736:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_OCMODE_FORCED_ACTIVE (TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_0) + ARM GAS /tmp/ccwR4KB7.s page 273 + + 737:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_OCMODE_PWM1 (TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1) 738:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_OCMODE_PWM2 (TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1 739:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_OCMODE_RETRIG_OPM1 TIM_CCMR1_OC1M_3 @@ -14938,9 +16355,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 768:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @{ 769:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 770:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_GROUPCH5_NONE 0x00000000U /*!< No effect of OC5REF on OC - ARM GAS /tmp/ccYgfTud.s page 250 - - 771:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_GROUPCH5_OC1REFC TIM_CCR5_GC5C1 /*!< OC1REFC is the logical AN 772:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_GROUPCH5_OC2REFC TIM_CCR5_GC5C2 /*!< OC2REFC is the logical AN 773:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_GROUPCH5_OC3REFC TIM_CCR5_GC5C3 /*!< OC3REFC is the logical AN @@ -14964,6 +16378,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 791:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_ICPSC_DIV1 0x00000000U /*!< No prescaler, ca 792:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_ICPSC_DIV2 (TIM_CCMR1_IC1PSC_0 << 16U) /*!< Capture is done 793:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_ICPSC_DIV4 (TIM_CCMR1_IC1PSC_1 << 16U) /*!< Capture is done + ARM GAS /tmp/ccwR4KB7.s page 274 + + 794:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_ICPSC_DIV8 (TIM_CCMR1_IC1PSC << 16U) /*!< Capture is done 795:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 796:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @} @@ -14998,9 +16415,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 825:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_IC_POLARITY_RISING 0x00000000U /*!< The circuit is 826:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_IC_POLARITY_FALLING TIM_CCER_CC1P /*!< The circuit is 827:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_IC_POLARITY_BOTHEDGE (TIM_CCER_CC1P | TIM_CCER_CC1NP) /*!< The circuit is - ARM GAS /tmp/ccYgfTud.s page 251 - - 828:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 829:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @} 830:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ @@ -15024,6 +16438,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 848:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 849:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @} 850:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 275 + + 851:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 852:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @defgroup TIM_LL_EC_TRGO Trigger Output 853:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @{ @@ -15058,9 +16475,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 882:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_TRGO2_OC4_RISING_OC6_RISING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2) 883:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_TRGO2_OC4_RISING_OC6_FALLING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 | TIM_CR2_MMS2_0) 884:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_TRGO2_OC5_RISING_OC6_RISING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 |TIM_CR2_MMS2_1) - ARM GAS /tmp/ccYgfTud.s page 252 - - 885:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_TRGO2_OC5_RISING_OC6_FALLING (TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1 | 886:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 887:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @} @@ -15084,6 +16498,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 905:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_TS_ITR0 0x00000000U 906:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_TS_ITR1 TIM_SMCR_TS_0 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_TS_ITR2 TIM_SMCR_TS_1 + ARM GAS /tmp/ccwR4KB7.s page 276 + + 908:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_TS_ITR3 (TIM_SMCR_TS_0 | TIM_SMCR_TS_1) 909:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_TS_TI1F_ED TIM_SMCR_TS_2 910:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_TS_TI1FP1 (TIM_SMCR_TS_2 | TIM_SMCR_TS_0) @@ -15118,9 +16535,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 939:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 940:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_ETR_FILTER_FDIV1 0x00000000U 941:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_ETR_FILTER_FDIV1_N2 TIM_SMCR_ETF_0 - ARM GAS /tmp/ccYgfTud.s page 253 - - 942:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_ETR_FILTER_FDIV1_N4 TIM_SMCR_ETF_1 943:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_ETR_FILTER_FDIV1_N8 (TIM_SMCR_ETF_1 | TIM_SMCR_ETF_0) 944:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_ETR_FILTER_FDIV2_N6 TIM_SMCR_ETF_2 @@ -15144,6 +16558,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 962:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @{ 963:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 964:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_BREAK_POLARITY_LOW 0x00000000U /*!< Break input BRK is ac + ARM GAS /tmp/ccwR4KB7.s page 277 + + 965:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_BREAK_POLARITY_HIGH TIM_BDTR_BKP /*!< Break input BRK is ac 966:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 967:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @} @@ -15178,9 +16595,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 996:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_BREAK2_POLARITY_LOW 0x00000000U /*!< Break input BRK2 is act 997:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_BREAK2_POLARITY_HIGH TIM_BDTR_BK2P /*!< Break input BRK2 is act 998:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** - ARM GAS /tmp/ccYgfTud.s page 254 - - 999:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @} 1000:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 1001:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -15204,6 +16618,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1019:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_BREAK2_FILTER_FDIV32_N6 0x00E00000U /*!< fSAMPLING=fDTS/32, N=6 */ 1020:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_BREAK2_FILTER_FDIV32_N8 0x00F00000U /*!< fSAMPLING=fDTS/32, N=8 */ 1021:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 278 + + 1022:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @} 1023:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 1024:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -15238,9 +16655,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1053:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @defgroup TIM_LL_EC_BKIN_SOURCE BKIN SOURCE 1054:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @{ 1055:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ - ARM GAS /tmp/ccYgfTud.s page 255 - - 1056:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_BKIN_SOURCE_BKIN TIM1_AF1_BKINE /*!< BKIN input from AF controll 1057:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_BKIN_SOURCE_DF1BK TIM1_AF1_BKDF1BKE /*!< internal signal: DFSDM1 bre 1058:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @@ -15264,6 +16678,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_DMABURST_BASEADDR_CR2 TIM_DCR_DBA_0 1077:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_DMABURST_BASEADDR_SMCR TIM_DCR_DBA_1 1078:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_DMABURST_BASEADDR_DIER (TIM_DCR_DBA_1 | TIM_DCR_DBA_0) + ARM GAS /tmp/ccwR4KB7.s page 279 + + 1079:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_DMABURST_BASEADDR_SR TIM_DCR_DBA_2 1080:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_DMABURST_BASEADDR_EGR (TIM_DCR_DBA_2 | TIM_DCR_DBA_0) 1081:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_DMABURST_BASEADDR_CCMR1 (TIM_DCR_DBA_2 | TIM_DCR_DBA_1) @@ -15298,9 +16715,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1110:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_DMABURST_LENGTH_3TRANSFERS TIM_DCR_DBL_1 1111:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_DMABURST_LENGTH_4TRANSFERS (TIM_DCR_DBL_1 | TIM_DCR_DBL_0) 1112:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_DMABURST_LENGTH_5TRANSFERS TIM_DCR_DBL_2 - ARM GAS /tmp/ccYgfTud.s page 256 - - 1113:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_DMABURST_LENGTH_6TRANSFERS (TIM_DCR_DBL_2 | TIM_DCR_DBL_0) 1114:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_DMABURST_LENGTH_7TRANSFERS (TIM_DCR_DBL_2 | TIM_DCR_DBL_1) 1115:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_DMABURST_LENGTH_8TRANSFERS (TIM_DCR_DBL_2 | TIM_DCR_DBL_1 | TIM_DCR_DBL_0) @@ -15324,6 +16738,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1133:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 1134:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_TIM2_ITR1_RMP_TIM8_TRGO TIM2_OR_RMP_MASK /*!< TIM2_ITR1 1135:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_TIM2_ITR1_RMP_ETH_PTP (TIM2_OR_ITR1_RMP_0 | TIM2_OR_RMP_MASK) /*!< TIM2_ITR1 + ARM GAS /tmp/ccwR4KB7.s page 280 + + 1136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_TIM2_ITR1_RMP_OTG_FS_SOF (TIM2_OR_ITR1_RMP_1 | TIM2_OR_RMP_MASK) /*!< TIM2_ITR1 1137:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_TIM2_ITR1_RMP_OTG_HS_SOF (TIM2_OR_ITR1_RMP | TIM2_OR_RMP_MASK) /*!< TIM2_ITR1 1138:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @@ -15358,9 +16775,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1167:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 1168:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 1169:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /* Exported macro ------------------------------------------------------------*/ - ARM GAS /tmp/ccYgfTud.s page 257 - - 1170:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @defgroup TIM_LL_Exported_Macros TIM Exported Macros 1171:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @{ 1172:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ @@ -15384,6 +16798,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1190:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval Register value 1191:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 1192:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define LL_TIM_ReadReg(__INSTANCE__, __REG__) READ_REG((__INSTANCE__)->__REG__) + ARM GAS /tmp/ccwR4KB7.s page 281 + + 1193:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 1194:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @} 1195:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ @@ -15418,9 +16835,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1224:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** (__CKD__))) >> 1U) - (uint8_t) 64) & DT_DELAY_2)) 1225:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** (((uint64_t)((__DT__)*1000U)) < ((32U + (DT_DELAY_3+1U)) * 8U * TIM_CALC_DTS((__TIMCLK__), (__C 1226:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** (uint8_t)(DT_RANGE_3 | ((uint8_t)((uint8_t)(((((uint64_t)(__DT__)*1000U))/ TIM_CALC_DTS((__TIMC - ARM GAS /tmp/ccYgfTud.s page 258 - - 1227:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** (__CKD__))) >> 3U) - (uint8_t) 32) & DT_DELAY_3)) 1228:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** (((uint64_t)((__DT__)*1000U)) < ((32U + (DT_DELAY_4+1U)) * 16U * TIM_CALC_DTS((__TIMCLK__), (__ 1229:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** (uint8_t)(DT_RANGE_4 | ((uint8_t)((uint8_t)(((((uint64_t)(__DT__)*1000U))/ TIM_CALC_DTS((__TIMC @@ -15444,6 +16858,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1247:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param __PSC__ prescaler 1248:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param __FREQ__ output signal frequency (in Hz) 1249:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval Auto-reload value (between Min_Data=0 and Max_Data=65535) + ARM GAS /tmp/ccwR4KB7.s page 282 + + 1250:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 1251:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** #define __LL_TIM_CALC_ARR(__TIMCLK__, __PSC__, __FREQ__) \ 1252:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** ((((__TIMCLK__)/((__PSC__) + 1U)) >= (__FREQ__)) ? (((__TIMCLK__)/((__FREQ__) * ((__PSC__) + 1U)) @@ -15478,9 +16895,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1281:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 1282:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief HELPER macro retrieving the ratio of the input capture prescaler 1283:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note ex: @ref __LL_TIM_GET_ICPSC_RATIO (@ref LL_TIM_IC_GetPrescaler ()); - ARM GAS /tmp/ccYgfTud.s page 259 - - 1284:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param __ICPSC__ This parameter can be one of the following values: 1285:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_ICPSC_DIV1 1286:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_ICPSC_DIV2 @@ -15504,6 +16918,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1304:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @defgroup TIM_LL_EF_Time_Base Time Base configuration 1305:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @{ 1306:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 283 + + 1307:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 1308:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Enable timer counter. 1309:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CR1 CEN LL_TIM_EnableCounter @@ -15538,9 +16955,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1338:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 1339:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 1340:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** - ARM GAS /tmp/ccYgfTud.s page 260 - - 1341:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Enable update event generation. 1342:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CR1 UDIS LL_TIM_EnableUpdateEvent 1343:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance @@ -15564,6 +16978,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1361:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 1362:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 1363:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Indicates whether update event generation is enabled. + ARM GAS /tmp/ccwR4KB7.s page 284 + + 1364:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CR1 UDIS LL_TIM_IsEnabledUpdateEvent 1365:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 1366:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval Inverted state of bit (0 or 1). @@ -15598,9 +17015,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1395:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Get actual event update source 1396:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CR1 URS LL_TIM_GetUpdateSource 1397:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance - ARM GAS /tmp/ccYgfTud.s page 261 - - 1398:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval Returned value can be one of the following values: 1399:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_UPDATESOURCE_REGULAR 1400:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_UPDATESOURCE_COUNTER @@ -15624,6 +17038,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1418:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** MODIFY_REG(TIMx->CR1, TIM_CR1_OPM, OnePulseMode); 1419:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 1420:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** + ARM GAS /tmp/ccwR4KB7.s page 285 + + 1421:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 1422:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Get actual one pulse mode. 1423:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CR1 OPM LL_TIM_GetOnePulseMode @@ -15658,9 +17075,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1452:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 1453:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_SetCounterMode(TIM_TypeDef *TIMx, uint32_t CounterMode) 1454:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - ARM GAS /tmp/ccYgfTud.s page 262 - - 1455:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** MODIFY_REG(TIMx->CR1, (TIM_CR1_DIR | TIM_CR1_CMS), CounterMode); 1456:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 1457:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -15684,6 +17098,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1475:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** uint32_t counter_mode; 1476:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 1477:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** counter_mode = (uint32_t)(READ_BIT(TIMx->CR1, TIM_CR1_CMS)); + ARM GAS /tmp/ccwR4KB7.s page 286 + + 1478:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 1479:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** if (counter_mode == 0U) 1480:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { @@ -15711,26 +17128,23 @@ ARM GAS /tmp/ccYgfTud.s page 1 1502:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None 1503:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 1504:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_DisableARRPreload(TIM_TypeDef *TIMx) - 4230 .loc 5 1504 22 view .LVU1371 - 4231 .LBB464: + 5058 .loc 5 1504 22 view .LVU1615 + 5059 .LBB480: 1505:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 1506:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** CLEAR_BIT(TIMx->CR1, TIM_CR1_ARPE); - 4232 .loc 5 1506 3 view .LVU1372 - 4233 005e 4FF08043 mov r3, #1073741824 - 4234 0062 1A68 ldr r2, [r3] - ARM GAS /tmp/ccYgfTud.s page 263 - - - 4235 0064 22F08002 bic r2, r2, #128 - 4236 0068 1A60 str r2, [r3] - 4237 .LVL368: - 4238 .loc 5 1506 3 is_stmt 0 view .LVU1373 - 4239 .LBE464: - 4240 .LBE463: -1392:Src/main.c **** LL_TIM_SetTriggerOutput(TIM2, LL_TIM_TRGO_RESET); - 4241 .loc 1 1392 3 is_stmt 1 view .LVU1374 - 4242 .LBB465: - 4243 .LBI465: + 5060 .loc 5 1506 3 view .LVU1616 + 5061 005e 4FF08043 mov r3, #1073741824 + 5062 0062 1A68 ldr r2, [r3] + 5063 0064 22F08002 bic r2, r2, #128 + 5064 0068 1A60 str r2, [r3] + 5065 .LVL486: + 5066 .loc 5 1506 3 is_stmt 0 view .LVU1617 + 5067 .LBE480: + 5068 .LBE479: +1442:Src/main.c **** LL_TIM_SetTriggerOutput(TIM2, LL_TIM_TRGO_RESET); + 5069 .loc 1 1442 3 is_stmt 1 view .LVU1618 + 5070 .LBB481: + 5071 .LBI481: 1507:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 1508:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 1509:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @@ -15744,6 +17158,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1517:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** return ((READ_BIT(TIMx->CR1, TIM_CR1_ARPE) == (TIM_CR1_ARPE)) ? 1UL : 0UL); 1518:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 1519:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** + ARM GAS /tmp/ccwR4KB7.s page 287 + + 1520:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 1521:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Set the division ratio between the timer clock and the sampling clock used by the dead 1522:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * (when supported) and the digital filters. @@ -15778,9 +17195,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1551:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 1552:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE uint32_t LL_TIM_GetClockDivision(const TIM_TypeDef *TIMx) 1553:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - ARM GAS /tmp/ccYgfTud.s page 264 - - 1554:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** return (uint32_t)(READ_BIT(TIMx->CR1, TIM_CR1_CKD)); 1555:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 1556:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -15804,6 +17218,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1574:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * whether or not a timer instance supports a 32 bits counter. 1575:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CNT CNT LL_TIM_GetCounter 1576:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance + ARM GAS /tmp/ccwR4KB7.s page 288 + + 1577:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval Counter value (between Min_Data=0 and Max_Data=0xFFFF or 0xFFFFFFFF) 1578:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 1579:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE uint32_t LL_TIM_GetCounter(const TIM_TypeDef *TIMx) @@ -15838,9 +17255,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1608:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_SetPrescaler(TIM_TypeDef *TIMx, uint32_t Prescaler) 1609:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 1610:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** WRITE_REG(TIMx->PSC, Prescaler); - ARM GAS /tmp/ccYgfTud.s page 265 - - 1611:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 1612:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 1613:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @@ -15864,6 +17278,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1631:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 1632:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param AutoReload between Min_Data=0 and Max_Data=65535 1633:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None + ARM GAS /tmp/ccwR4KB7.s page 289 + + 1634:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 1635:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_SetAutoReload(TIM_TypeDef *TIMx, uint32_t AutoReload) 1636:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { @@ -15898,9 +17315,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1665:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** WRITE_REG(TIMx->RCR, RepetitionCounter); 1666:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 1667:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** - ARM GAS /tmp/ccYgfTud.s page 266 - - 1668:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 1669:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Get the repetition counter value. 1670:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_REPETITION_COUNTER_INSTANCE(TIMx) can be used to check @@ -15924,6 +17338,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1688:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 1689:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_EnableUIFRemap(TIM_TypeDef *TIMx) 1690:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { + ARM GAS /tmp/ccwR4KB7.s page 290 + + 1691:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** SET_BIT(TIMx->CR1, TIM_CR1_UIFREMAP); 1692:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 1693:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -15958,9 +17375,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1722:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 1723:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Enable the capture/compare control bits (CCxE, CCxNE and OCxM) preload. 1724:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note CCxE, CCxNE and OCxM bits are preloaded, after having been written, - ARM GAS /tmp/ccYgfTud.s page 267 - - 1725:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * they are updated only when a commutation event (COM) occurs. 1726:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Only on channels that have a complementary output. 1727:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_COMMUTATION_EVENT_INSTANCE(TIMx) can be used to check @@ -15984,6 +17398,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1745:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 1746:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_CC_DisablePreload(TIM_TypeDef *TIMx) 1747:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { + ARM GAS /tmp/ccwR4KB7.s page 291 + + 1748:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** CLEAR_BIT(TIMx->CR2, TIM_CR2_CCPC); 1749:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 1750:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -16018,9 +17435,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1779:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Set the trigger of the capture/compare DMA request. 1780:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CR2 CCDS LL_TIM_CC_SetDMAReqTrigger 1781:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance - ARM GAS /tmp/ccYgfTud.s page 268 - - 1782:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param DMAReqTrigger This parameter can be one of the following values: 1783:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CCDMAREQUEST_CC 1784:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CCDMAREQUEST_UPDATE @@ -16044,6 +17458,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1802:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** return (uint32_t)(READ_BIT(TIMx->CR2, TIM_CR2_CCDS)); 1803:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 1804:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** + ARM GAS /tmp/ccwR4KB7.s page 292 + + 1805:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 1806:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Set the lock level to freeze the 1807:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * configuration of several capture/compare parameters. @@ -16078,9 +17495,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1836:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param Channels This parameter can be a combination of the following values: 1837:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH1 1838:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH1N - ARM GAS /tmp/ccYgfTud.s page 269 - - 1839:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH2 1840:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH2N 1841:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH3 @@ -16104,6 +17518,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1859:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCER CC3E LL_TIM_CC_DisableChannel\n 1860:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCER CC3NE LL_TIM_CC_DisableChannel\n 1861:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCER CC4E LL_TIM_CC_DisableChannel\n + ARM GAS /tmp/ccwR4KB7.s page 293 + + 1862:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCER CC5E LL_TIM_CC_DisableChannel\n 1863:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCER CC6E LL_TIM_CC_DisableChannel 1864:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance @@ -16138,9 +17555,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1893:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 1894:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param Channels This parameter can be a combination of the following values: 1895:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH1 - ARM GAS /tmp/ccYgfTud.s page 270 - - 1896:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH1N 1897:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH2 1898:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH2N @@ -16164,6 +17578,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1916:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @{ 1917:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 1918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 294 + + 1919:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Configure an output channel. 1920:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CCMR1 CC1S LL_TIM_OC_ConfigOutput\n 1921:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR1 CC2S LL_TIM_OC_ConfigOutput\n @@ -16198,9 +17615,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1950:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 1951:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_OC_ConfigOutput(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t Configura 1952:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - ARM GAS /tmp/ccYgfTud.s page 271 - - 1953:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel); 1954:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CCMRx[iC 1955:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** CLEAR_BIT(*pReg, (TIM_CCMR1_CC1S << SHIFT_TAB_OCxx[iChannel])); @@ -16224,6 +17638,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1973:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH1 1974:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH2 1975:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH3 + ARM GAS /tmp/ccwR4KB7.s page 295 + + 1976:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH4 1977:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH5 1978:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH6 @@ -16258,9 +17675,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2007:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR2 OC3M LL_TIM_OC_GetMode\n 2008:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR2 OC4M LL_TIM_OC_GetMode\n 2009:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR3 OC5M LL_TIM_OC_GetMode\n - ARM GAS /tmp/ccYgfTud.s page 272 - - 2010:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR3 OC6M LL_TIM_OC_GetMode 2011:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 2012:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param Channel This parameter can be one of the following values: @@ -16284,6 +17698,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2030:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_OCMODE_COMBINED_PWM1 2031:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_OCMODE_COMBINED_PWM2 2032:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_OCMODE_ASYMMETRIC_PWM1 + ARM GAS /tmp/ccwR4KB7.s page 296 + + 2033:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_OCMODE_ASYMMETRIC_PWM2 2034:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 2035:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE uint32_t LL_TIM_OC_GetMode(const TIM_TypeDef *TIMx, uint32_t Channel) @@ -16318,9 +17735,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2064:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param Polarity This parameter can be one of the following values: 2065:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_OCPOLARITY_HIGH 2066:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_OCPOLARITY_LOW - ARM GAS /tmp/ccYgfTud.s page 273 - - 2067:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None 2068:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 2069:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_OC_SetPolarity(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t Polarity) @@ -16344,6 +17758,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2087:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param Channel This parameter can be one of the following values: 2088:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH1 2089:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH1N + ARM GAS /tmp/ccwR4KB7.s page 297 + + 2090:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH2 2091:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH2N 2092:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH3 @@ -16378,9 +17795,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2121:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CR2 OIS6 LL_TIM_OC_SetIdleState 2122:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 2123:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param Channel This parameter can be one of the following values: - ARM GAS /tmp/ccYgfTud.s page 274 - - 2124:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH1 2125:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH1N 2126:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH2 @@ -16404,6 +17818,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2144:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 2145:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Get the IDLE state of an output channel 2146:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CR2 OIS1 LL_TIM_OC_GetIdleState\n + ARM GAS /tmp/ccwR4KB7.s page 298 + + 2147:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CR2 OIS2N LL_TIM_OC_GetIdleState\n 2148:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CR2 OIS2 LL_TIM_OC_GetIdleState\n 2149:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CR2 OIS2N LL_TIM_OC_GetIdleState\n @@ -16438,9 +17855,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2178:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Acts only if the channel is configured in PWM1 or PWM2 mode. 2179:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CCMR1 OC1FE LL_TIM_OC_EnableFast\n 2180:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR1 OC2FE LL_TIM_OC_EnableFast\n - ARM GAS /tmp/ccYgfTud.s page 275 - - 2181:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR2 OC3FE LL_TIM_OC_EnableFast\n 2182:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR2 OC4FE LL_TIM_OC_EnableFast\n 2183:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR3 OC5FE LL_TIM_OC_EnableFast\n @@ -16464,6 +17878,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2201:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 2202:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 2203:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 299 + + 2204:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Disable fast mode for the output channel. 2205:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CCMR1 OC1FE LL_TIM_OC_DisableFast\n 2206:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR1 OC2FE LL_TIM_OC_DisableFast\n @@ -16498,9 +17915,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2235:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR3 OC5FE LL_TIM_OC_IsEnabledFast\n 2236:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR3 OC6FE LL_TIM_OC_IsEnabledFast 2237:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance - ARM GAS /tmp/ccYgfTud.s page 276 - - 2238:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param Channel This parameter can be one of the following values: 2239:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH1 2240:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH2 @@ -16524,6 +17938,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2258:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR1 OC2PE LL_TIM_OC_EnablePreload\n 2259:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR2 OC3PE LL_TIM_OC_EnablePreload\n 2260:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR2 OC4PE LL_TIM_OC_EnablePreload\n + ARM GAS /tmp/ccwR4KB7.s page 300 + + 2261:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR3 OC5PE LL_TIM_OC_EnablePreload\n 2262:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR3 OC6PE LL_TIM_OC_EnablePreload 2263:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance @@ -16558,9 +17975,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2292:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH3 2293:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH4 2294:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH5 - ARM GAS /tmp/ccYgfTud.s page 277 - - 2295:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH6 2296:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None 2297:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ @@ -16584,6 +17998,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH1 2316:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH2 2317:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH3 + ARM GAS /tmp/ccwR4KB7.s page 301 + + 2318:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH4 2319:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH5 2320:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH6 @@ -16618,9 +18035,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2349:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH6 2350:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None 2351:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ - ARM GAS /tmp/ccYgfTud.s page 278 - - 2352:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_OC_EnableClear(TIM_TypeDef *TIMx, uint32_t Channel) 2353:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 2354:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel); @@ -16644,6 +18058,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH2 2373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH3 2374:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH4 + ARM GAS /tmp/ccwR4KB7.s page 302 + + 2375:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH5 2376:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH6 2377:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None @@ -16678,9 +18095,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2406:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval State of bit (1 or 0). 2407:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 2408:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE uint32_t LL_TIM_OC_IsEnabledClear(const TIM_TypeDef *TIMx, uint32_t Channel) - ARM GAS /tmp/ccYgfTud.s page 279 - - 2409:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 2410:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel); 2411:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** const __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CC @@ -16704,6 +18118,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2429:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** MODIFY_REG(TIMx->BDTR, TIM_BDTR_DTG, DeadTime); 2430:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 2431:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** + ARM GAS /tmp/ccwR4KB7.s page 303 + + 2432:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 2433:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Set compare value for output channel 1 (TIMx_CCR1). 2434:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note In 32-bit timer implementations compare value can be between 0x00000000 and 0xFFFFFFFF. @@ -16738,9 +18155,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2463:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** WRITE_REG(TIMx->CCR2, CompareValue); 2464:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 2465:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** - ARM GAS /tmp/ccYgfTud.s page 280 - - 2466:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 2467:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Set compare value for output channel 3 (TIMx_CCR3). 2468:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note In 32-bit timer implementations compare value can be between 0x00000000 and 0xFFFFFFFF. @@ -16764,6 +18178,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2486:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_32B_COUNTER_INSTANCE(TIMx) can be used to check 2487:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * whether or not a timer instance supports a 32 bits counter. 2488:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_CC4_INSTANCE(TIMx) can be used to check whether or not + ARM GAS /tmp/ccwR4KB7.s page 304 + + 2489:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * output channel 4 is supported by a timer instance. 2490:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CCR4 CCR4 LL_TIM_OC_SetCompareCH4 2491:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance @@ -16798,9 +18215,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2520:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param CompareValue between Min_Data=0 and Max_Data=65535 2521:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None 2522:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ - ARM GAS /tmp/ccYgfTud.s page 281 - - 2523:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_OC_SetCompareCH6(TIM_TypeDef *TIMx, uint32_t CompareValue) 2524:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 2525:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** WRITE_REG(TIMx->CCR6, CompareValue); @@ -16824,6 +18238,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2543:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 2544:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 2545:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Get compare value (TIMx_CCR2) set for output channel 2. + ARM GAS /tmp/ccwR4KB7.s page 305 + + 2546:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note In 32-bit timer implementations returned compare value can be between 0x00000000 and 0xFF 2547:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_32B_COUNTER_INSTANCE(TIMx) can be used to check 2548:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * whether or not a timer instance supports a 32 bits counter. @@ -16858,9 +18275,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2577:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Get compare value (TIMx_CCR4) set for output channel 4. 2578:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note In 32-bit timer implementations returned compare value can be between 0x00000000 and 0xFF 2579:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_32B_COUNTER_INSTANCE(TIMx) can be used to check - ARM GAS /tmp/ccYgfTud.s page 282 - - 2580:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * whether or not a timer instance supports a 32 bits counter. 2581:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_CC4_INSTANCE(TIMx) can be used to check whether or not 2582:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * output channel 4 is supported by a timer instance. @@ -16884,6 +18298,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2600:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE uint32_t LL_TIM_OC_GetCompareCH5(const TIM_TypeDef *TIMx) 2601:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 2602:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** return (uint32_t)(READ_BIT(TIMx->CCR5, TIM_CCR5_CCR5)); + ARM GAS /tmp/ccwR4KB7.s page 306 + + 2603:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 2604:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 2605:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @@ -16918,9 +18335,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2634:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 2635:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** MODIFY_REG(TIMx->CCR5, (TIM_CCR5_GC5C3 | TIM_CCR5_GC5C2 | TIM_CCR5_GC5C1), GroupCH5); 2636:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - ARM GAS /tmp/ccYgfTud.s page 283 - - 2637:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 2638:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 2639:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @} @@ -16944,6 +18358,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2657:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR2 IC4PSC LL_TIM_IC_Config\n 2658:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR2 IC4F LL_TIM_IC_Config\n 2659:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCER CC1P LL_TIM_IC_Config\n + ARM GAS /tmp/ccwR4KB7.s page 307 + + 2660:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCER CC1NP LL_TIM_IC_Config\n 2661:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCER CC2P LL_TIM_IC_Config\n 2662:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCER CC2NP LL_TIM_IC_Config\n @@ -16978,9 +18395,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2691:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 2692:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Set the active input. 2693:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CCMR1 CC1S LL_TIM_IC_SetActiveInput\n - ARM GAS /tmp/ccYgfTud.s page 284 - - 2694:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR1 CC2S LL_TIM_IC_SetActiveInput\n 2695:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR2 CC3S LL_TIM_IC_SetActiveInput\n 2696:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR2 CC4S LL_TIM_IC_SetActiveInput @@ -17004,6 +18418,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2714:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 2715:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 2716:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 308 + + 2717:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Get the current active input. 2718:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CCMR1 CC1S LL_TIM_IC_GetActiveInput\n 2719:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR1 CC2S LL_TIM_IC_GetActiveInput\n @@ -17038,9 +18455,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2748:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH1 2749:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH2 2750:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH3 - ARM GAS /tmp/ccYgfTud.s page 285 - - 2751:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH4 2752:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param ICPrescaler This parameter can be one of the following values: 2753:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_ICPSC_DIV1 @@ -17064,6 +18478,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2771:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR2 IC4PSC LL_TIM_IC_GetPrescaler 2772:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 2773:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param Channel This parameter can be one of the following values: + ARM GAS /tmp/ccwR4KB7.s page 309 + + 2774:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH1 2775:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH2 2776:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_CHANNEL_CH3 @@ -17098,9 +18515,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2805:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_IC_FILTER_FDIV1_N2 2806:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_IC_FILTER_FDIV1_N4 2807:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_IC_FILTER_FDIV1_N8 - ARM GAS /tmp/ccYgfTud.s page 286 - - 2808:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_IC_FILTER_FDIV2_N6 2809:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_IC_FILTER_FDIV2_N8 2810:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_IC_FILTER_FDIV4_N6 @@ -17124,6 +18538,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2828:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 2829:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 2830:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Get the input filter duration. + ARM GAS /tmp/ccwR4KB7.s page 310 + + 2831:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CCMR1 IC1F LL_TIM_IC_GetFilter\n 2832:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR1 IC2F LL_TIM_IC_GetFilter\n 2833:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * CCMR2 IC3F LL_TIM_IC_GetFilter\n @@ -17158,9 +18575,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2862:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** const __IO uint32_t *pReg = (__IO uint32_t *)((uint32_t)((uint32_t)(&TIMx->CCMR1) + OFFSET_TAB_CC 2863:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** return ((READ_BIT(*pReg, ((TIM_CCMR1_IC1F) << SHIFT_TAB_ICxx[iChannel])) >> SHIFT_TAB_ICxx[iChann 2864:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - ARM GAS /tmp/ccYgfTud.s page 287 - - 2865:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 2866:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 2867:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Set the input channel polarity. @@ -17184,6 +18598,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2885:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_IC_POLARITY_BOTHEDGE 2886:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None 2887:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 311 + + 2888:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_IC_SetPolarity(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t ICPolarity 2889:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 2890:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** uint8_t iChannel = TIM_GET_CHANNEL_INDEX(Channel); @@ -17218,9 +18635,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2919:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** return (READ_BIT(TIMx->CCER, ((TIM_CCER_CC1NP | TIM_CCER_CC1P) << SHIFT_TAB_CCxP[iChannel])) >> 2920:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** SHIFT_TAB_CCxP[iChannel]); 2921:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - ARM GAS /tmp/ccYgfTud.s page 288 - - 2922:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 2923:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 2924:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Connect the TIMx_CH1, CH2 and CH3 pins to the TI1 input (XOR combination). @@ -17244,6 +18658,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2942:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None 2943:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 2944:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_IC_DisableXORCombination(TIM_TypeDef *TIMx) + ARM GAS /tmp/ccwR4KB7.s page 312 + + 2945:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 2946:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** CLEAR_BIT(TIMx->CR2, TIM_CR2_TI1S); 2947:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } @@ -17278,9 +18695,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2976:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 2977:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 2978:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** - ARM GAS /tmp/ccYgfTud.s page 289 - - 2979:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Get captured value for input channel 2. 2980:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note In 32-bit timer implementations returned captured value can be between 0x00000000 and 0xF 2981:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_32B_COUNTER_INSTANCE(TIMx) can be used to check @@ -17304,6 +18718,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2999:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_CC3_INSTANCE(TIMx) can be used to check whether or not 3000:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * input channel 3 is supported by a timer instance. 3001:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll CCR3 CCR3 LL_TIM_IC_GetCaptureCH3 + ARM GAS /tmp/ccwR4KB7.s page 313 + + 3002:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 3003:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval CapturedValue (between Min_Data=0 and Max_Data=65535) 3004:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ @@ -17338,9 +18755,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3033:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 3034:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Enable external clock mode 2. 3035:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note When external clock mode 2 is enabled the counter is clocked by any active edge on the ET - ARM GAS /tmp/ccYgfTud.s page 290 - - 3036:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_CLOCKSOURCE_ETRMODE2_INSTANCE(TIMx) can be used to check 3037:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * whether or not a timer instance supports external clock mode2. 3038:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll SMCR ECE LL_TIM_EnableExternalClock @@ -17364,6 +18778,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3056:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 3057:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** CLEAR_BIT(TIMx->SMCR, TIM_SMCR_ECE); 3058:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } + ARM GAS /tmp/ccwR4KB7.s page 314 + + 3059:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 3060:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 3061:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Indicate whether external clock mode 2 is enabled. @@ -17398,32 +18815,32 @@ ARM GAS /tmp/ccYgfTud.s page 1 3090:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None 3091:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 3092:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_SetClockSource(TIM_TypeDef *TIMx, uint32_t ClockSource) - ARM GAS /tmp/ccYgfTud.s page 291 - - - 4244 .loc 5 3092 22 view .LVU1375 - 4245 .LBB466: + 5072 .loc 5 3092 22 view .LVU1619 + 5073 .LBB482: 3093:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 3094:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** MODIFY_REG(TIMx->SMCR, TIM_SMCR_SMS | TIM_SMCR_ECE, ClockSource); - 4246 .loc 5 3094 3 view .LVU1376 - 4247 006a 9968 ldr r1, [r3, #8] - 4248 006c 0A4A ldr r2, .L199+16 - 4249 006e 0A40 ands r2, r2, r1 - 4250 0070 9A60 str r2, [r3, #8] - 4251 .LVL369: - 4252 .loc 5 3094 3 is_stmt 0 view .LVU1377 - 4253 .LBE466: - 4254 .LBE465: -1393:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM2); - 4255 .loc 1 1393 3 is_stmt 1 view .LVU1378 - 4256 .LBB467: - 4257 .LBI467: + 5074 .loc 5 3094 3 view .LVU1620 + 5075 006a 9968 ldr r1, [r3, #8] + 5076 006c 0A4A ldr r2, .L278+16 + 5077 006e 0A40 ands r2, r2, r1 + 5078 0070 9A60 str r2, [r3, #8] + 5079 .LVL487: + 5080 .loc 5 3094 3 is_stmt 0 view .LVU1621 + 5081 .LBE482: + 5082 .LBE481: +1443:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM2); + 5083 .loc 1 1443 3 is_stmt 1 view .LVU1622 + 5084 .LBB483: + 5085 .LBI483: 3095:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 3096:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 3097:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 3098:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Set the encoder interface mode. 3099:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_ENCODER_INTERFACE_INSTANCE(TIMx) can be used to check 3100:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * whether or not a timer instance supports the encoder mode. + ARM GAS /tmp/ccwR4KB7.s page 315 + + 3101:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll SMCR SMS LL_TIM_SetEncoderMode 3102:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 3103:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param EncoderMode This parameter can be one of the following values: @@ -17458,32 +18875,32 @@ ARM GAS /tmp/ccYgfTud.s page 1 3132:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_TRGO_OC1REF 3133:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_TRGO_OC2REF 3134:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_TRGO_OC3REF - ARM GAS /tmp/ccYgfTud.s page 292 - - 3135:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_TRGO_OC4REF 3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None 3137:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 3138:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_SetTriggerOutput(TIM_TypeDef *TIMx, uint32_t TimerSynchronization) - 4258 .loc 5 3138 22 view .LVU1379 - 4259 .LBB468: + 5086 .loc 5 3138 22 view .LVU1623 + 5087 .LBB484: 3139:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 3140:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** MODIFY_REG(TIMx->CR2, TIM_CR2_MMS, TimerSynchronization); - 4260 .loc 5 3140 3 view .LVU1380 - 4261 0072 5A68 ldr r2, [r3, #4] - 4262 0074 22F07002 bic r2, r2, #112 - 4263 0078 5A60 str r2, [r3, #4] - 4264 .LVL370: - 4265 .loc 5 3140 3 is_stmt 0 view .LVU1381 - 4266 .LBE468: - 4267 .LBE467: -1394:Src/main.c **** /* USER CODE BEGIN TIM2_Init 2 */ - 4268 .loc 1 1394 3 is_stmt 1 view .LVU1382 - 4269 .LBB469: - 4270 .LBI469: + 5088 .loc 5 3140 3 view .LVU1624 + 5089 0072 5A68 ldr r2, [r3, #4] + 5090 0074 22F07002 bic r2, r2, #112 + 5091 0078 5A60 str r2, [r3, #4] + 5092 .LVL488: + 5093 .loc 5 3140 3 is_stmt 0 view .LVU1625 + 5094 .LBE484: + 5095 .LBE483: +1444:Src/main.c **** /* USER CODE BEGIN TIM2_Init 2 */ + 5096 .loc 1 1444 3 is_stmt 1 view .LVU1626 + 5097 .LBB485: + 5098 .LBI485: 3141:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 3142:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 3143:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 316 + + 3144:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Set the trigger output 2 (TRGO2) used for ADC synchronization . 3145:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_TRGO2_INSTANCE(TIMx) can be used to check 3146:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * whether or not a timer instance can be used for ADC synchronization. @@ -17518,9 +18935,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3175:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_SLAVE_INSTANCE(TIMx) can be used to check whether or not 3176:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * a timer instance can operate as a slave timer. 3177:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll SMCR SMS LL_TIM_SetSlaveMode - ARM GAS /tmp/ccYgfTud.s page 293 - - 3178:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 3179:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param SlaveMode This parameter can be one of the following values: 3180:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_SLAVEMODE_DISABLED @@ -17544,6 +18958,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3198:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TriggerInput This parameter can be one of the following values: 3199:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_TS_ITR0 3200:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_TS_ITR1 + ARM GAS /tmp/ccwR4KB7.s page 317 + + 3201:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_TS_ITR2 3202:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_TS_ITR3 3203:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_TS_TI1F_ED @@ -17578,1056 +18995,1056 @@ ARM GAS /tmp/ccYgfTud.s page 1 3232:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 3233:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None 3234:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ - ARM GAS /tmp/ccYgfTud.s page 294 - - 3235:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_DisableMasterSlaveMode(TIM_TypeDef *TIMx) - 4271 .loc 5 3235 22 view .LVU1383 - 4272 .LBB470: + 5099 .loc 5 3235 22 view .LVU1627 + 5100 .LBB486: 3236:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 3237:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** CLEAR_BIT(TIMx->SMCR, TIM_SMCR_MSM); - 4273 .loc 5 3237 3 view .LVU1384 - 4274 007a 9A68 ldr r2, [r3, #8] - 4275 007c 22F08002 bic r2, r2, #128 - 4276 0080 9A60 str r2, [r3, #8] - 4277 .LVL371: - 4278 .loc 5 3237 3 is_stmt 0 view .LVU1385 - 4279 .LBE470: - 4280 .LBE469: -1399:Src/main.c **** - 4281 .loc 1 1399 1 view .LVU1386 - 4282 0082 06B0 add sp, sp, #24 - 4283 .LCFI43: - 4284 .cfi_def_cfa_offset 8 - 4285 @ sp needed - 4286 0084 10BD pop {r4, pc} - 4287 .L200: - 4288 0086 00BF .align 2 - 4289 .L199: - 4290 0088 00380240 .word 1073887232 - 4291 008c 00ED00E0 .word -536810240 - 4292 0090 00E100E0 .word -536813312 - 4293 0094 40D10C00 .word 840000 - 4294 0098 F8BFFEFF .word -81928 - 4295 .cfi_endproc - 4296 .LFE1195: - 4298 .section .text.MX_TIM5_Init,"ax",%progbits - 4299 .align 1 - 4300 .syntax unified - 4301 .thumb - 4302 .thumb_func - 4304 MX_TIM5_Init: - 4305 .LFB1197: -1466:Src/main.c **** - 4306 .loc 1 1466 1 is_stmt 1 view -0 - 4307 .cfi_startproc - 4308 @ args = 0, pretend = 0, frame = 24 - 4309 @ frame_needed = 0, uses_anonymous_args = 0 - 4310 0000 10B5 push {r4, lr} - 4311 .LCFI44: - 4312 .cfi_def_cfa_offset 8 - 4313 .cfi_offset 4, -8 - 4314 .cfi_offset 14, -4 - 4315 0002 86B0 sub sp, sp, #24 - 4316 .LCFI45: - 4317 .cfi_def_cfa_offset 32 -1472:Src/main.c **** - 4318 .loc 1 1472 3 view .LVU1388 -1472:Src/main.c **** - 4319 .loc 1 1472 22 is_stmt 0 view .LVU1389 - 4320 0004 0024 movs r4, #0 - 4321 0006 0194 str r4, [sp, #4] - 4322 0008 0294 str r4, [sp, #8] - ARM GAS /tmp/ccYgfTud.s page 295 + 5101 .loc 5 3237 3 view .LVU1628 + 5102 007a 9A68 ldr r2, [r3, #8] + 5103 007c 22F08002 bic r2, r2, #128 + 5104 0080 9A60 str r2, [r3, #8] + 5105 .LVL489: + 5106 .loc 5 3237 3 is_stmt 0 view .LVU1629 + 5107 .LBE486: + 5108 .LBE485: +1449:Src/main.c **** + 5109 .loc 1 1449 1 view .LVU1630 + 5110 0082 06B0 add sp, sp, #24 + 5111 .LCFI52: + 5112 .cfi_def_cfa_offset 8 + 5113 @ sp needed + 5114 0084 10BD pop {r4, pc} + 5115 .L279: + 5116 0086 00BF .align 2 + 5117 .L278: + ARM GAS /tmp/ccwR4KB7.s page 318 - 4323 000a 0394 str r4, [sp, #12] - 4324 000c 0494 str r4, [sp, #16] - 4325 000e 0594 str r4, [sp, #20] -1475:Src/main.c **** - 4326 .loc 1 1475 3 is_stmt 1 view .LVU1390 - 4327 .LVL372: - 4328 .LBB471: - 4329 .LBI471: + 5118 0088 00380240 .word 1073887232 + 5119 008c 00ED00E0 .word -536810240 + 5120 0090 00E100E0 .word -536813312 + 5121 0094 40D10C00 .word 840000 + 5122 0098 F8BFFEFF .word -81928 + 5123 .cfi_endproc + 5124 .LFE1195: + 5126 .section .text.MX_TIM5_Init,"ax",%progbits + 5127 .align 1 + 5128 .syntax unified + 5129 .thumb + 5130 .thumb_func + 5132 MX_TIM5_Init: + 5133 .LFB1197: +1516:Src/main.c **** + 5134 .loc 1 1516 1 is_stmt 1 view -0 + 5135 .cfi_startproc + 5136 @ args = 0, pretend = 0, frame = 24 + 5137 @ frame_needed = 0, uses_anonymous_args = 0 + 5138 0000 10B5 push {r4, lr} + 5139 .LCFI53: + 5140 .cfi_def_cfa_offset 8 + 5141 .cfi_offset 4, -8 + 5142 .cfi_offset 14, -4 + 5143 0002 86B0 sub sp, sp, #24 + 5144 .LCFI54: + 5145 .cfi_def_cfa_offset 32 +1522:Src/main.c **** + 5146 .loc 1 1522 3 view .LVU1632 +1522:Src/main.c **** + 5147 .loc 1 1522 22 is_stmt 0 view .LVU1633 + 5148 0004 0024 movs r4, #0 + 5149 0006 0194 str r4, [sp, #4] + 5150 0008 0294 str r4, [sp, #8] + 5151 000a 0394 str r4, [sp, #12] + 5152 000c 0494 str r4, [sp, #16] + 5153 000e 0594 str r4, [sp, #20] +1525:Src/main.c **** + 5154 .loc 1 1525 3 is_stmt 1 view .LVU1634 + 5155 .LVL490: + 5156 .LBB487: + 5157 .LBI487: 1071:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { - 4330 .loc 3 1071 22 view .LVU1391 - 4331 .LBB472: + 5158 .loc 3 1071 22 view .LVU1635 + 5159 .LBB488: 1073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->APB1ENR, Periphs); - 4332 .loc 3 1073 3 view .LVU1392 + 5160 .loc 3 1073 3 view .LVU1636 1074:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ - 4333 .loc 3 1074 3 view .LVU1393 - 4334 0010 1C4B ldr r3, .L203 - 4335 0012 1A6C ldr r2, [r3, #64] - 4336 0014 42F00802 orr r2, r2, #8 - 4337 0018 1A64 str r2, [r3, #64] + 5161 .loc 3 1074 3 view .LVU1637 + 5162 0010 1C4B ldr r3, .L282 + 5163 0012 1A6C ldr r2, [r3, #64] + 5164 0014 42F00802 orr r2, r2, #8 + 5165 0018 1A64 str r2, [r3, #64] 1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 4338 .loc 3 1076 3 view .LVU1394 + 5166 .loc 3 1076 3 view .LVU1638 1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 4339 .loc 3 1076 12 is_stmt 0 view .LVU1395 - 4340 001a 1B6C ldr r3, [r3, #64] - 4341 001c 03F00803 and r3, r3, #8 + 5167 .loc 3 1076 12 is_stmt 0 view .LVU1639 + ARM GAS /tmp/ccwR4KB7.s page 319 + + + 5168 001a 1B6C ldr r3, [r3, #64] + 5169 001c 03F00803 and r3, r3, #8 1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 4342 .loc 3 1076 10 view .LVU1396 - 4343 0020 0093 str r3, [sp] + 5170 .loc 3 1076 10 view .LVU1640 + 5171 0020 0093 str r3, [sp] 1077:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 4344 .loc 3 1077 3 is_stmt 1 view .LVU1397 - 4345 0022 009B ldr r3, [sp] - 4346 .LVL373: + 5172 .loc 3 1077 3 is_stmt 1 view .LVU1641 + 5173 0022 009B ldr r3, [sp] + 5174 .LVL491: 1077:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 4347 .loc 3 1077 3 is_stmt 0 view .LVU1398 - 4348 .LBE472: - 4349 .LBE471: -1478:Src/main.c **** NVIC_EnableIRQ(TIM5_IRQn); - 4350 .loc 1 1478 3 is_stmt 1 view .LVU1399 - 4351 .LBB473: - 4352 .LBI473: + 5175 .loc 3 1077 3 is_stmt 0 view .LVU1642 + 5176 .LBE488: + 5177 .LBE487: +1528:Src/main.c **** NVIC_EnableIRQ(TIM5_IRQn); + 5178 .loc 1 1528 3 is_stmt 1 view .LVU1643 + 5179 .LBB489: + 5180 .LBI489: 1884:Drivers/CMSIS/Include/core_cm7.h **** { - 4353 .loc 2 1884 26 view .LVU1400 - 4354 .LBB474: + 5181 .loc 2 1884 26 view .LVU1644 + 5182 .LBB490: 1886:Drivers/CMSIS/Include/core_cm7.h **** } - 4355 .loc 2 1886 3 view .LVU1401 + 5183 .loc 2 1886 3 view .LVU1645 1886:Drivers/CMSIS/Include/core_cm7.h **** } - 4356 .loc 2 1886 26 is_stmt 0 view .LVU1402 - 4357 0024 184B ldr r3, .L203+4 - 4358 0026 D868 ldr r0, [r3, #12] - 4359 .LBE474: - 4360 .LBE473: -1478:Src/main.c **** NVIC_EnableIRQ(TIM5_IRQn); - 4361 .loc 1 1478 3 discriminator 1 view .LVU1403 - 4362 0028 2246 mov r2, r4 - 4363 002a 2146 mov r1, r4 - 4364 002c C0F30220 ubfx r0, r0, #8, #3 - 4365 0030 FFF7FEFF bl NVIC_EncodePriority - ARM GAS /tmp/ccYgfTud.s page 296 - - - 4366 .LVL374: - 4367 .LBB475: - 4368 .LBI475: + 5184 .loc 2 1886 26 is_stmt 0 view .LVU1646 + 5185 0024 184B ldr r3, .L282+4 + 5186 0026 D868 ldr r0, [r3, #12] + 5187 .LBE490: + 5188 .LBE489: +1528:Src/main.c **** NVIC_EnableIRQ(TIM5_IRQn); + 5189 .loc 1 1528 3 discriminator 1 view .LVU1647 + 5190 0028 2246 mov r2, r4 + 5191 002a 2146 mov r1, r4 + 5192 002c C0F30220 ubfx r0, r0, #8, #3 + 5193 0030 FFF7FEFF bl NVIC_EncodePriority + 5194 .LVL492: + 5195 .LBB491: + 5196 .LBI491: 2024:Drivers/CMSIS/Include/core_cm7.h **** { - 4369 .loc 2 2024 22 is_stmt 1 view .LVU1404 - 4370 .LBB476: + 5197 .loc 2 2024 22 is_stmt 1 view .LVU1648 + 5198 .LBB492: 2026:Drivers/CMSIS/Include/core_cm7.h **** { - 4371 .loc 2 2026 3 view .LVU1405 + 5199 .loc 2 2026 3 view .LVU1649 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4372 .loc 2 2028 5 view .LVU1406 + 5200 .loc 2 2028 5 view .LVU1650 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4373 .loc 2 2028 49 is_stmt 0 view .LVU1407 - 4374 0034 0001 lsls r0, r0, #4 - 4375 .LVL375: + 5201 .loc 2 2028 49 is_stmt 0 view .LVU1651 + 5202 0034 0001 lsls r0, r0, #4 + 5203 .LVL493: 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4376 .loc 2 2028 49 view .LVU1408 - 4377 0036 C0B2 uxtb r0, r0 + 5204 .loc 2 2028 49 view .LVU1652 + 5205 0036 C0B2 uxtb r0, r0 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4378 .loc 2 2028 47 view .LVU1409 - 4379 0038 144B ldr r3, .L203+8 - 4380 003a 83F83203 strb r0, [r3, #818] - 4381 .LVL376: + 5206 .loc 2 2028 47 view .LVU1653 + 5207 0038 144B ldr r3, .L282+8 + 5208 003a 83F83203 strb r0, [r3, #818] + 5209 .LVL494: 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4382 .loc 2 2028 47 view .LVU1410 - 4383 .LBE476: - 4384 .LBE475: -1479:Src/main.c **** - 4385 .loc 1 1479 3 is_stmt 1 view .LVU1411 - 4386 .LBB477: - 4387 .LBI477: + ARM GAS /tmp/ccwR4KB7.s page 320 + + + 5210 .loc 2 2028 47 view .LVU1654 + 5211 .LBE492: + 5212 .LBE491: +1529:Src/main.c **** + 5213 .loc 1 1529 3 is_stmt 1 view .LVU1655 + 5214 .LBB493: + 5215 .LBI493: 1896:Drivers/CMSIS/Include/core_cm7.h **** { - 4388 .loc 2 1896 22 view .LVU1412 - 4389 .LBB478: + 5216 .loc 2 1896 22 view .LVU1656 + 5217 .LBB494: 1898:Drivers/CMSIS/Include/core_cm7.h **** { - 4390 .loc 2 1898 3 view .LVU1413 + 5218 .loc 2 1898 3 view .LVU1657 1900:Drivers/CMSIS/Include/core_cm7.h **** } - 4391 .loc 2 1900 5 view .LVU1414 + 5219 .loc 2 1900 5 view .LVU1658 1900:Drivers/CMSIS/Include/core_cm7.h **** } - 4392 .loc 2 1900 43 is_stmt 0 view .LVU1415 - 4393 003e 4FF48022 mov r2, #262144 - 4394 0042 5A60 str r2, [r3, #4] - 4395 .LVL377: + 5220 .loc 2 1900 43 is_stmt 0 view .LVU1659 + 5221 003e 4FF48022 mov r2, #262144 + 5222 0042 5A60 str r2, [r3, #4] + 5223 .LVL495: 1900:Drivers/CMSIS/Include/core_cm7.h **** } - 4396 .loc 2 1900 43 view .LVU1416 - 4397 .LBE478: - 4398 .LBE477: -1484:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; - 4399 .loc 1 1484 3 is_stmt 1 view .LVU1417 -1484:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; - 4400 .loc 1 1484 28 is_stmt 0 view .LVU1418 - 4401 0044 42F21073 movw r3, #10000 - 4402 0048 ADF80430 strh r3, [sp, #4] @ movhi -1485:Src/main.c **** TIM_InitStruct.Autoreload = 560; - 4403 .loc 1 1485 3 is_stmt 1 view .LVU1419 -1485:Src/main.c **** TIM_InitStruct.Autoreload = 560; - 4404 .loc 1 1485 30 is_stmt 0 view .LVU1420 - 4405 004c 0294 str r4, [sp, #8] - ARM GAS /tmp/ccYgfTud.s page 297 - - -1486:Src/main.c **** TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; - 4406 .loc 1 1486 3 is_stmt 1 view .LVU1421 -1486:Src/main.c **** TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; - 4407 .loc 1 1486 29 is_stmt 0 view .LVU1422 - 4408 004e 4FF40C73 mov r3, #560 - 4409 0052 0393 str r3, [sp, #12] -1487:Src/main.c **** LL_TIM_Init(TIM5, &TIM_InitStruct); - 4410 .loc 1 1487 3 is_stmt 1 view .LVU1423 -1487:Src/main.c **** LL_TIM_Init(TIM5, &TIM_InitStruct); - 4411 .loc 1 1487 32 is_stmt 0 view .LVU1424 - 4412 0054 0494 str r4, [sp, #16] -1488:Src/main.c **** LL_TIM_DisableARRPreload(TIM5); - 4413 .loc 1 1488 3 is_stmt 1 view .LVU1425 - 4414 0056 0E4C ldr r4, .L203+12 - 4415 0058 01A9 add r1, sp, #4 - 4416 005a 2046 mov r0, r4 - 4417 005c FFF7FEFF bl LL_TIM_Init - 4418 .LVL378: -1489:Src/main.c **** LL_TIM_SetClockSource(TIM5, LL_TIM_CLOCKSOURCE_INTERNAL); - 4419 .loc 1 1489 3 view .LVU1426 - 4420 .LBB479: - 4421 .LBI479: + 5224 .loc 2 1900 43 view .LVU1660 + 5225 .LBE494: + 5226 .LBE493: +1534:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; + 5227 .loc 1 1534 3 is_stmt 1 view .LVU1661 +1534:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; + 5228 .loc 1 1534 28 is_stmt 0 view .LVU1662 + 5229 0044 42F21073 movw r3, #10000 + 5230 0048 ADF80430 strh r3, [sp, #4] @ movhi +1535:Src/main.c **** TIM_InitStruct.Autoreload = 560; + 5231 .loc 1 1535 3 is_stmt 1 view .LVU1663 +1535:Src/main.c **** TIM_InitStruct.Autoreload = 560; + 5232 .loc 1 1535 30 is_stmt 0 view .LVU1664 + 5233 004c 0294 str r4, [sp, #8] +1536:Src/main.c **** TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; + 5234 .loc 1 1536 3 is_stmt 1 view .LVU1665 +1536:Src/main.c **** TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1; + 5235 .loc 1 1536 29 is_stmt 0 view .LVU1666 + 5236 004e 4FF40C73 mov r3, #560 + 5237 0052 0393 str r3, [sp, #12] +1537:Src/main.c **** LL_TIM_Init(TIM5, &TIM_InitStruct); + 5238 .loc 1 1537 3 is_stmt 1 view .LVU1667 +1537:Src/main.c **** LL_TIM_Init(TIM5, &TIM_InitStruct); + 5239 .loc 1 1537 32 is_stmt 0 view .LVU1668 + 5240 0054 0494 str r4, [sp, #16] +1538:Src/main.c **** LL_TIM_DisableARRPreload(TIM5); + 5241 .loc 1 1538 3 is_stmt 1 view .LVU1669 + 5242 0056 0E4C ldr r4, .L282+12 + 5243 0058 01A9 add r1, sp, #4 + 5244 005a 2046 mov r0, r4 + 5245 005c FFF7FEFF bl LL_TIM_Init + 5246 .LVL496: +1539:Src/main.c **** LL_TIM_SetClockSource(TIM5, LL_TIM_CLOCKSOURCE_INTERNAL); + 5247 .loc 1 1539 3 view .LVU1670 + 5248 .LBB495: + 5249 .LBI495: 1504:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - 4422 .loc 5 1504 22 view .LVU1427 - 4423 .LBB480: + ARM GAS /tmp/ccwR4KB7.s page 321 + + + 5250 .loc 5 1504 22 view .LVU1671 + 5251 .LBB496: 1506:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 4424 .loc 5 1506 3 view .LVU1428 - 4425 0060 2368 ldr r3, [r4] - 4426 0062 23F08003 bic r3, r3, #128 - 4427 0066 2360 str r3, [r4] - 4428 .LVL379: + 5252 .loc 5 1506 3 view .LVU1672 + 5253 0060 2368 ldr r3, [r4] + 5254 0062 23F08003 bic r3, r3, #128 + 5255 0066 2360 str r3, [r4] + 5256 .LVL497: 1506:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 4429 .loc 5 1506 3 is_stmt 0 view .LVU1429 - 4430 .LBE480: - 4431 .LBE479: -1490:Src/main.c **** LL_TIM_SetTriggerOutput(TIM5, LL_TIM_TRGO_RESET); - 4432 .loc 1 1490 3 is_stmt 1 view .LVU1430 - 4433 .LBB481: - 4434 .LBI481: + 5257 .loc 5 1506 3 is_stmt 0 view .LVU1673 + 5258 .LBE496: + 5259 .LBE495: +1540:Src/main.c **** LL_TIM_SetTriggerOutput(TIM5, LL_TIM_TRGO_RESET); + 5260 .loc 1 1540 3 is_stmt 1 view .LVU1674 + 5261 .LBB497: + 5262 .LBI497: 3092:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - 4435 .loc 5 3092 22 view .LVU1431 - 4436 .LBB482: + 5263 .loc 5 3092 22 view .LVU1675 + 5264 .LBB498: 3094:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 4437 .loc 5 3094 3 view .LVU1432 - 4438 0068 A268 ldr r2, [r4, #8] - 4439 006a 0A4B ldr r3, .L203+16 - 4440 006c 1340 ands r3, r3, r2 - 4441 006e A360 str r3, [r4, #8] - 4442 .LVL380: + 5265 .loc 5 3094 3 view .LVU1676 + 5266 0068 A268 ldr r2, [r4, #8] + 5267 006a 0A4B ldr r3, .L282+16 + 5268 006c 1340 ands r3, r3, r2 + 5269 006e A360 str r3, [r4, #8] + 5270 .LVL498: 3094:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 4443 .loc 5 3094 3 is_stmt 0 view .LVU1433 - 4444 .LBE482: - 4445 .LBE481: -1491:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM5); - 4446 .loc 1 1491 3 is_stmt 1 view .LVU1434 - 4447 .LBB483: - 4448 .LBI483: - ARM GAS /tmp/ccYgfTud.s page 298 - - + 5271 .loc 5 3094 3 is_stmt 0 view .LVU1677 + 5272 .LBE498: + 5273 .LBE497: +1541:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM5); + 5274 .loc 1 1541 3 is_stmt 1 view .LVU1678 + 5275 .LBB499: + 5276 .LBI499: 3138:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - 4449 .loc 5 3138 22 view .LVU1435 - 4450 .LBB484: + 5277 .loc 5 3138 22 view .LVU1679 + 5278 .LBB500: 3140:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 4451 .loc 5 3140 3 view .LVU1436 - 4452 0070 6368 ldr r3, [r4, #4] - 4453 0072 23F07003 bic r3, r3, #112 - 4454 0076 6360 str r3, [r4, #4] - 4455 .LVL381: + 5279 .loc 5 3140 3 view .LVU1680 + 5280 0070 6368 ldr r3, [r4, #4] + 5281 0072 23F07003 bic r3, r3, #112 + 5282 0076 6360 str r3, [r4, #4] + 5283 .LVL499: 3140:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 4456 .loc 5 3140 3 is_stmt 0 view .LVU1437 - 4457 .LBE484: - 4458 .LBE483: -1492:Src/main.c **** /* USER CODE BEGIN TIM5_Init 2 */ - 4459 .loc 1 1492 3 is_stmt 1 view .LVU1438 - 4460 .LBB485: - 4461 .LBI485: + 5284 .loc 5 3140 3 is_stmt 0 view .LVU1681 + 5285 .LBE500: + 5286 .LBE499: +1542:Src/main.c **** /* USER CODE BEGIN TIM5_Init 2 */ + 5287 .loc 1 1542 3 is_stmt 1 view .LVU1682 + 5288 .LBB501: + 5289 .LBI501: 3235:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - 4462 .loc 5 3235 22 view .LVU1439 - 4463 .LBB486: - 4464 .loc 5 3237 3 view .LVU1440 - 4465 0078 A368 ldr r3, [r4, #8] - 4466 007a 23F08003 bic r3, r3, #128 - 4467 007e A360 str r3, [r4, #8] - 4468 .LVL382: - 4469 .loc 5 3237 3 is_stmt 0 view .LVU1441 - 4470 .LBE486: - 4471 .LBE485: -1497:Src/main.c **** - 4472 .loc 1 1497 1 view .LVU1442 - 4473 0080 06B0 add sp, sp, #24 - 4474 .LCFI46: - 4475 .cfi_def_cfa_offset 8 - 4476 @ sp needed - 4477 0082 10BD pop {r4, pc} - 4478 .L204: - 4479 .align 2 - 4480 .L203: - 4481 0084 00380240 .word 1073887232 - 4482 0088 00ED00E0 .word -536810240 - 4483 008c 00E100E0 .word -536813312 - 4484 0090 000C0040 .word 1073744896 - 4485 0094 F8BFFEFF .word -81928 - 4486 .cfi_endproc - 4487 .LFE1197: - 4489 .section .text.MX_TIM7_Init,"ax",%progbits - 4490 .align 1 - 4491 .syntax unified - 4492 .thumb - 4493 .thumb_func - 4495 MX_TIM7_Init: - 4496 .LFB1199: -1542:Src/main.c **** - 4497 .loc 1 1542 1 is_stmt 1 view -0 - 4498 .cfi_startproc - 4499 @ args = 0, pretend = 0, frame = 24 - 4500 @ frame_needed = 0, uses_anonymous_args = 0 - ARM GAS /tmp/ccYgfTud.s page 299 + 5290 .loc 5 3235 22 view .LVU1683 + 5291 .LBB502: + 5292 .loc 5 3237 3 view .LVU1684 + 5293 0078 A368 ldr r3, [r4, #8] + 5294 007a 23F08003 bic r3, r3, #128 + ARM GAS /tmp/ccwR4KB7.s page 322 + + + 5295 007e A360 str r3, [r4, #8] + 5296 .LVL500: + 5297 .loc 5 3237 3 is_stmt 0 view .LVU1685 + 5298 .LBE502: + 5299 .LBE501: +1547:Src/main.c **** + 5300 .loc 1 1547 1 view .LVU1686 + 5301 0080 06B0 add sp, sp, #24 + 5302 .LCFI55: + 5303 .cfi_def_cfa_offset 8 + 5304 @ sp needed + 5305 0082 10BD pop {r4, pc} + 5306 .L283: + 5307 .align 2 + 5308 .L282: + 5309 0084 00380240 .word 1073887232 + 5310 0088 00ED00E0 .word -536810240 + 5311 008c 00E100E0 .word -536813312 + 5312 0090 000C0040 .word 1073744896 + 5313 0094 F8BFFEFF .word -81928 + 5314 .cfi_endproc + 5315 .LFE1197: + 5317 .section .text.MX_TIM7_Init,"ax",%progbits + 5318 .align 1 + 5319 .syntax unified + 5320 .thumb + 5321 .thumb_func + 5323 MX_TIM7_Init: + 5324 .LFB1199: +1592:Src/main.c **** + 5325 .loc 1 1592 1 is_stmt 1 view -0 + 5326 .cfi_startproc + 5327 @ args = 0, pretend = 0, frame = 24 + 5328 @ frame_needed = 0, uses_anonymous_args = 0 + 5329 0000 10B5 push {r4, lr} + 5330 .LCFI56: + 5331 .cfi_def_cfa_offset 8 + 5332 .cfi_offset 4, -8 + 5333 .cfi_offset 14, -4 + 5334 0002 86B0 sub sp, sp, #24 + 5335 .LCFI57: + 5336 .cfi_def_cfa_offset 32 +1598:Src/main.c **** + 5337 .loc 1 1598 3 view .LVU1688 +1598:Src/main.c **** + 5338 .loc 1 1598 22 is_stmt 0 view .LVU1689 + 5339 0004 0024 movs r4, #0 + 5340 0006 0194 str r4, [sp, #4] + 5341 0008 0294 str r4, [sp, #8] + 5342 000a 0394 str r4, [sp, #12] + 5343 000c 0494 str r4, [sp, #16] + 5344 000e 0594 str r4, [sp, #20] +1601:Src/main.c **** + 5345 .loc 1 1601 3 is_stmt 1 view .LVU1690 + 5346 .LVL501: + 5347 .LBB503: + 5348 .LBI503: + ARM GAS /tmp/ccwR4KB7.s page 323 - 4501 0000 10B5 push {r4, lr} - 4502 .LCFI47: - 4503 .cfi_def_cfa_offset 8 - 4504 .cfi_offset 4, -8 - 4505 .cfi_offset 14, -4 - 4506 0002 86B0 sub sp, sp, #24 - 4507 .LCFI48: - 4508 .cfi_def_cfa_offset 32 -1548:Src/main.c **** - 4509 .loc 1 1548 3 view .LVU1444 -1548:Src/main.c **** - 4510 .loc 1 1548 22 is_stmt 0 view .LVU1445 - 4511 0004 0024 movs r4, #0 - 4512 0006 0194 str r4, [sp, #4] - 4513 0008 0294 str r4, [sp, #8] - 4514 000a 0394 str r4, [sp, #12] - 4515 000c 0494 str r4, [sp, #16] - 4516 000e 0594 str r4, [sp, #20] -1551:Src/main.c **** - 4517 .loc 1 1551 3 is_stmt 1 view .LVU1446 - 4518 .LVL383: - 4519 .LBB487: - 4520 .LBI487: 1071:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { - 4521 .loc 3 1071 22 view .LVU1447 - 4522 .LBB488: + 5349 .loc 3 1071 22 view .LVU1691 + 5350 .LBB504: 1073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->APB1ENR, Periphs); - 4523 .loc 3 1073 3 view .LVU1448 + 5351 .loc 3 1073 3 view .LVU1692 1074:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ - 4524 .loc 3 1074 3 view .LVU1449 - 4525 0010 1A4B ldr r3, .L207 - 4526 0012 1A6C ldr r2, [r3, #64] - 4527 0014 42F02002 orr r2, r2, #32 - 4528 0018 1A64 str r2, [r3, #64] + 5352 .loc 3 1074 3 view .LVU1693 + 5353 0010 1A4B ldr r3, .L286 + 5354 0012 1A6C ldr r2, [r3, #64] + 5355 0014 42F02002 orr r2, r2, #32 + 5356 0018 1A64 str r2, [r3, #64] 1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 4529 .loc 3 1076 3 view .LVU1450 + 5357 .loc 3 1076 3 view .LVU1694 1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 4530 .loc 3 1076 12 is_stmt 0 view .LVU1451 - 4531 001a 1B6C ldr r3, [r3, #64] - 4532 001c 03F02003 and r3, r3, #32 + 5358 .loc 3 1076 12 is_stmt 0 view .LVU1695 + 5359 001a 1B6C ldr r3, [r3, #64] + 5360 001c 03F02003 and r3, r3, #32 1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 4533 .loc 3 1076 10 view .LVU1452 - 4534 0020 0093 str r3, [sp] + 5361 .loc 3 1076 10 view .LVU1696 + 5362 0020 0093 str r3, [sp] 1077:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 4535 .loc 3 1077 3 is_stmt 1 view .LVU1453 - 4536 0022 009B ldr r3, [sp] - 4537 .LVL384: + 5363 .loc 3 1077 3 is_stmt 1 view .LVU1697 + 5364 0022 009B ldr r3, [sp] + 5365 .LVL502: 1077:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 4538 .loc 3 1077 3 is_stmt 0 view .LVU1454 - 4539 .LBE488: - 4540 .LBE487: -1554:Src/main.c **** NVIC_EnableIRQ(TIM7_IRQn); - 4541 .loc 1 1554 3 is_stmt 1 view .LVU1455 - 4542 .LBB489: - 4543 .LBI489: + 5366 .loc 3 1077 3 is_stmt 0 view .LVU1698 + 5367 .LBE504: + 5368 .LBE503: +1604:Src/main.c **** NVIC_EnableIRQ(TIM7_IRQn); + 5369 .loc 1 1604 3 is_stmt 1 view .LVU1699 + 5370 .LBB505: + 5371 .LBI505: 1884:Drivers/CMSIS/Include/core_cm7.h **** { - 4544 .loc 2 1884 26 view .LVU1456 - ARM GAS /tmp/ccYgfTud.s page 300 - - - 4545 .LBB490: + 5372 .loc 2 1884 26 view .LVU1700 + 5373 .LBB506: 1886:Drivers/CMSIS/Include/core_cm7.h **** } - 4546 .loc 2 1886 3 view .LVU1457 + 5374 .loc 2 1886 3 view .LVU1701 1886:Drivers/CMSIS/Include/core_cm7.h **** } - 4547 .loc 2 1886 26 is_stmt 0 view .LVU1458 - 4548 0024 164B ldr r3, .L207+4 - 4549 0026 D868 ldr r0, [r3, #12] - 4550 .LBE490: - 4551 .LBE489: -1554:Src/main.c **** NVIC_EnableIRQ(TIM7_IRQn); - 4552 .loc 1 1554 3 discriminator 1 view .LVU1459 - 4553 0028 2246 mov r2, r4 - 4554 002a 2146 mov r1, r4 - 4555 002c C0F30220 ubfx r0, r0, #8, #3 - 4556 0030 FFF7FEFF bl NVIC_EncodePriority - 4557 .LVL385: - 4558 .LBB491: - 4559 .LBI491: + 5375 .loc 2 1886 26 is_stmt 0 view .LVU1702 + 5376 0024 164B ldr r3, .L286+4 + 5377 0026 D868 ldr r0, [r3, #12] + 5378 .LBE506: + 5379 .LBE505: +1604:Src/main.c **** NVIC_EnableIRQ(TIM7_IRQn); + 5380 .loc 1 1604 3 discriminator 1 view .LVU1703 + 5381 0028 2246 mov r2, r4 + 5382 002a 2146 mov r1, r4 + 5383 002c C0F30220 ubfx r0, r0, #8, #3 + 5384 0030 FFF7FEFF bl NVIC_EncodePriority + 5385 .LVL503: + 5386 .LBB507: + 5387 .LBI507: 2024:Drivers/CMSIS/Include/core_cm7.h **** { - 4560 .loc 2 2024 22 is_stmt 1 view .LVU1460 - 4561 .LBB492: + 5388 .loc 2 2024 22 is_stmt 1 view .LVU1704 + 5389 .LBB508: 2026:Drivers/CMSIS/Include/core_cm7.h **** { - 4562 .loc 2 2026 3 view .LVU1461 + 5390 .loc 2 2026 3 view .LVU1705 + ARM GAS /tmp/ccwR4KB7.s page 324 + + 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4563 .loc 2 2028 5 view .LVU1462 + 5391 .loc 2 2028 5 view .LVU1706 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4564 .loc 2 2028 49 is_stmt 0 view .LVU1463 - 4565 0034 0001 lsls r0, r0, #4 - 4566 .LVL386: + 5392 .loc 2 2028 49 is_stmt 0 view .LVU1707 + 5393 0034 0001 lsls r0, r0, #4 + 5394 .LVL504: 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4567 .loc 2 2028 49 view .LVU1464 - 4568 0036 C0B2 uxtb r0, r0 + 5395 .loc 2 2028 49 view .LVU1708 + 5396 0036 C0B2 uxtb r0, r0 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4569 .loc 2 2028 47 view .LVU1465 - 4570 0038 124B ldr r3, .L207+8 - 4571 003a 83F83703 strb r0, [r3, #823] - 4572 .LVL387: + 5397 .loc 2 2028 47 view .LVU1709 + 5398 0038 124B ldr r3, .L286+8 + 5399 003a 83F83703 strb r0, [r3, #823] + 5400 .LVL505: 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4573 .loc 2 2028 47 view .LVU1466 - 4574 .LBE492: - 4575 .LBE491: + 5401 .loc 2 2028 47 view .LVU1710 + 5402 .LBE508: + 5403 .LBE507: +1605:Src/main.c **** + 5404 .loc 1 1605 3 is_stmt 1 view .LVU1711 + 5405 .LBB509: + 5406 .LBI509: +1896:Drivers/CMSIS/Include/core_cm7.h **** { + 5407 .loc 2 1896 22 view .LVU1712 + 5408 .LBB510: +1898:Drivers/CMSIS/Include/core_cm7.h **** { + 5409 .loc 2 1898 3 view .LVU1713 +1900:Drivers/CMSIS/Include/core_cm7.h **** } + 5410 .loc 2 1900 5 view .LVU1714 +1900:Drivers/CMSIS/Include/core_cm7.h **** } + 5411 .loc 2 1900 43 is_stmt 0 view .LVU1715 + 5412 003e 4FF40002 mov r2, #8388608 + 5413 0042 5A60 str r2, [r3, #4] + 5414 .LVL506: +1900:Drivers/CMSIS/Include/core_cm7.h **** } + 5415 .loc 2 1900 43 view .LVU1716 + 5416 .LBE510: + 5417 .LBE509: +1610:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; + 5418 .loc 1 1610 3 is_stmt 1 view .LVU1717 +1610:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; + 5419 .loc 1 1610 28 is_stmt 0 view .LVU1718 + 5420 0044 40F29733 movw r3, #919 + 5421 0048 ADF80430 strh r3, [sp, #4] @ movhi +1611:Src/main.c **** TIM_InitStruct.Autoreload = 99; + 5422 .loc 1 1611 3 is_stmt 1 view .LVU1719 +1611:Src/main.c **** TIM_InitStruct.Autoreload = 99; + 5423 .loc 1 1611 30 is_stmt 0 view .LVU1720 + 5424 004c 0294 str r4, [sp, #8] +1612:Src/main.c **** LL_TIM_Init(TIM7, &TIM_InitStruct); + 5425 .loc 1 1612 3 is_stmt 1 view .LVU1721 +1612:Src/main.c **** LL_TIM_Init(TIM7, &TIM_InitStruct); + 5426 .loc 1 1612 29 is_stmt 0 view .LVU1722 + 5427 004e 6323 movs r3, #99 + 5428 0050 0393 str r3, [sp, #12] +1613:Src/main.c **** LL_TIM_DisableARRPreload(TIM7); + 5429 .loc 1 1613 3 is_stmt 1 view .LVU1723 + ARM GAS /tmp/ccwR4KB7.s page 325 + + + 5430 0052 0D4C ldr r4, .L286+12 + 5431 0054 01A9 add r1, sp, #4 + 5432 0056 2046 mov r0, r4 + 5433 0058 FFF7FEFF bl LL_TIM_Init + 5434 .LVL507: +1614:Src/main.c **** LL_TIM_SetTriggerOutput(TIM7, LL_TIM_TRGO_ENABLE); + 5435 .loc 1 1614 3 view .LVU1724 + 5436 .LBB511: + 5437 .LBI511: +1504:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { + 5438 .loc 5 1504 22 view .LVU1725 + 5439 .LBB512: +1506:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } + 5440 .loc 5 1506 3 view .LVU1726 + 5441 005c 2368 ldr r3, [r4] + 5442 005e 23F08003 bic r3, r3, #128 + 5443 0062 2360 str r3, [r4] + 5444 .LVL508: +1506:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } + 5445 .loc 5 1506 3 is_stmt 0 view .LVU1727 + 5446 .LBE512: + 5447 .LBE511: +1615:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM7); + 5448 .loc 1 1615 3 is_stmt 1 view .LVU1728 + 5449 .LBB513: + 5450 .LBI513: +3138:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { + 5451 .loc 5 3138 22 view .LVU1729 + 5452 .LBB514: +3140:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } + 5453 .loc 5 3140 3 view .LVU1730 + 5454 0064 6368 ldr r3, [r4, #4] + 5455 0066 23F07003 bic r3, r3, #112 + 5456 006a 43F01003 orr r3, r3, #16 + 5457 006e 6360 str r3, [r4, #4] + 5458 .LVL509: +3140:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } + 5459 .loc 5 3140 3 is_stmt 0 view .LVU1731 + 5460 .LBE514: + 5461 .LBE513: +1616:Src/main.c **** /* USER CODE BEGIN TIM7_Init 2 */ + 5462 .loc 1 1616 3 is_stmt 1 view .LVU1732 + 5463 .LBB515: + 5464 .LBI515: +3235:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { + 5465 .loc 5 3235 22 view .LVU1733 + 5466 .LBB516: + 5467 .loc 5 3237 3 view .LVU1734 + 5468 0070 A368 ldr r3, [r4, #8] + 5469 0072 23F08003 bic r3, r3, #128 + 5470 0076 A360 str r3, [r4, #8] + 5471 .LVL510: + 5472 .loc 5 3237 3 is_stmt 0 view .LVU1735 + 5473 .LBE516: + 5474 .LBE515: +1621:Src/main.c **** + 5475 .loc 1 1621 1 view .LVU1736 + ARM GAS /tmp/ccwR4KB7.s page 326 + + + 5476 0078 06B0 add sp, sp, #24 + 5477 .LCFI58: + 5478 .cfi_def_cfa_offset 8 + 5479 @ sp needed + 5480 007a 10BD pop {r4, pc} + 5481 .L287: + 5482 .align 2 + 5483 .L286: + 5484 007c 00380240 .word 1073887232 + 5485 0080 00ED00E0 .word -536810240 + 5486 0084 00E100E0 .word -536813312 + 5487 0088 00140040 .word 1073746944 + 5488 .cfi_endproc + 5489 .LFE1199: + 5491 .section .text.MX_TIM6_Init,"ax",%progbits + 5492 .align 1 + 5493 .syntax unified + 5494 .thumb + 5495 .thumb_func + 5497 MX_TIM6_Init: + 5498 .LFB1198: 1555:Src/main.c **** - 4576 .loc 1 1555 3 is_stmt 1 view .LVU1467 - 4577 .LBB493: - 4578 .LBI493: -1896:Drivers/CMSIS/Include/core_cm7.h **** { - 4579 .loc 2 1896 22 view .LVU1468 - 4580 .LBB494: -1898:Drivers/CMSIS/Include/core_cm7.h **** { - 4581 .loc 2 1898 3 view .LVU1469 -1900:Drivers/CMSIS/Include/core_cm7.h **** } - 4582 .loc 2 1900 5 view .LVU1470 -1900:Drivers/CMSIS/Include/core_cm7.h **** } - 4583 .loc 2 1900 43 is_stmt 0 view .LVU1471 - 4584 003e 4FF40002 mov r2, #8388608 - 4585 0042 5A60 str r2, [r3, #4] - 4586 .LVL388: - ARM GAS /tmp/ccYgfTud.s page 301 - - -1900:Drivers/CMSIS/Include/core_cm7.h **** } - 4587 .loc 2 1900 43 view .LVU1472 - 4588 .LBE494: - 4589 .LBE493: -1560:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; - 4590 .loc 1 1560 3 is_stmt 1 view .LVU1473 -1560:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; - 4591 .loc 1 1560 28 is_stmt 0 view .LVU1474 - 4592 0044 40F29733 movw r3, #919 - 4593 0048 ADF80430 strh r3, [sp, #4] @ movhi -1561:Src/main.c **** TIM_InitStruct.Autoreload = 99; - 4594 .loc 1 1561 3 is_stmt 1 view .LVU1475 -1561:Src/main.c **** TIM_InitStruct.Autoreload = 99; - 4595 .loc 1 1561 30 is_stmt 0 view .LVU1476 - 4596 004c 0294 str r4, [sp, #8] -1562:Src/main.c **** LL_TIM_Init(TIM7, &TIM_InitStruct); - 4597 .loc 1 1562 3 is_stmt 1 view .LVU1477 -1562:Src/main.c **** LL_TIM_Init(TIM7, &TIM_InitStruct); - 4598 .loc 1 1562 29 is_stmt 0 view .LVU1478 - 4599 004e 6323 movs r3, #99 - 4600 0050 0393 str r3, [sp, #12] -1563:Src/main.c **** LL_TIM_DisableARRPreload(TIM7); - 4601 .loc 1 1563 3 is_stmt 1 view .LVU1479 - 4602 0052 0D4C ldr r4, .L207+12 - 4603 0054 01A9 add r1, sp, #4 - 4604 0056 2046 mov r0, r4 - 4605 0058 FFF7FEFF bl LL_TIM_Init - 4606 .LVL389: -1564:Src/main.c **** LL_TIM_SetTriggerOutput(TIM7, LL_TIM_TRGO_ENABLE); - 4607 .loc 1 1564 3 view .LVU1480 - 4608 .LBB495: - 4609 .LBI495: -1504:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - 4610 .loc 5 1504 22 view .LVU1481 - 4611 .LBB496: -1506:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 4612 .loc 5 1506 3 view .LVU1482 - 4613 005c 2368 ldr r3, [r4] - 4614 005e 23F08003 bic r3, r3, #128 - 4615 0062 2360 str r3, [r4] - 4616 .LVL390: -1506:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 4617 .loc 5 1506 3 is_stmt 0 view .LVU1483 - 4618 .LBE496: - 4619 .LBE495: -1565:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM7); - 4620 .loc 1 1565 3 is_stmt 1 view .LVU1484 - 4621 .LBB497: - 4622 .LBI497: -3138:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - 4623 .loc 5 3138 22 view .LVU1485 - 4624 .LBB498: -3140:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 4625 .loc 5 3140 3 view .LVU1486 - 4626 0064 6368 ldr r3, [r4, #4] - 4627 0066 23F07003 bic r3, r3, #112 - 4628 006a 43F01003 orr r3, r3, #16 - ARM GAS /tmp/ccYgfTud.s page 302 - - - 4629 006e 6360 str r3, [r4, #4] - 4630 .LVL391: -3140:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 4631 .loc 5 3140 3 is_stmt 0 view .LVU1487 - 4632 .LBE498: - 4633 .LBE497: -1566:Src/main.c **** /* USER CODE BEGIN TIM7_Init 2 */ - 4634 .loc 1 1566 3 is_stmt 1 view .LVU1488 - 4635 .LBB499: - 4636 .LBI499: -3235:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - 4637 .loc 5 3235 22 view .LVU1489 - 4638 .LBB500: - 4639 .loc 5 3237 3 view .LVU1490 - 4640 0070 A368 ldr r3, [r4, #8] - 4641 0072 23F08003 bic r3, r3, #128 - 4642 0076 A360 str r3, [r4, #8] - 4643 .LVL392: - 4644 .loc 5 3237 3 is_stmt 0 view .LVU1491 - 4645 .LBE500: - 4646 .LBE499: -1571:Src/main.c **** - 4647 .loc 1 1571 1 view .LVU1492 - 4648 0078 06B0 add sp, sp, #24 - 4649 .LCFI49: - 4650 .cfi_def_cfa_offset 8 - 4651 @ sp needed - 4652 007a 10BD pop {r4, pc} - 4653 .L208: - 4654 .align 2 - 4655 .L207: - 4656 007c 00380240 .word 1073887232 - 4657 0080 00ED00E0 .word -536810240 - 4658 0084 00E100E0 .word -536813312 - 4659 0088 00140040 .word 1073746944 - 4660 .cfi_endproc - 4661 .LFE1199: - 4663 .section .text.MX_TIM6_Init,"ax",%progbits - 4664 .align 1 - 4665 .syntax unified - 4666 .thumb - 4667 .thumb_func - 4669 MX_TIM6_Init: - 4670 .LFB1198: -1505:Src/main.c **** - 4671 .loc 1 1505 1 is_stmt 1 view -0 - 4672 .cfi_startproc - 4673 @ args = 0, pretend = 0, frame = 24 - 4674 @ frame_needed = 0, uses_anonymous_args = 0 - 4675 0000 10B5 push {r4, lr} - 4676 .LCFI50: - 4677 .cfi_def_cfa_offset 8 - 4678 .cfi_offset 4, -8 - 4679 .cfi_offset 14, -4 - 4680 0002 86B0 sub sp, sp, #24 - 4681 .LCFI51: - 4682 .cfi_def_cfa_offset 32 - ARM GAS /tmp/ccYgfTud.s page 303 - - -1511:Src/main.c **** - 4683 .loc 1 1511 3 view .LVU1494 -1511:Src/main.c **** - 4684 .loc 1 1511 22 is_stmt 0 view .LVU1495 - 4685 0004 0024 movs r4, #0 - 4686 0006 0194 str r4, [sp, #4] - 4687 0008 0294 str r4, [sp, #8] - 4688 000a 0394 str r4, [sp, #12] - 4689 000c 0494 str r4, [sp, #16] - 4690 000e 0594 str r4, [sp, #20] -1514:Src/main.c **** - 4691 .loc 1 1514 3 is_stmt 1 view .LVU1496 - 4692 .LVL393: - 4693 .LBB501: - 4694 .LBI501: + 5499 .loc 1 1555 1 is_stmt 1 view -0 + 5500 .cfi_startproc + 5501 @ args = 0, pretend = 0, frame = 24 + 5502 @ frame_needed = 0, uses_anonymous_args = 0 + 5503 0000 10B5 push {r4, lr} + 5504 .LCFI59: + 5505 .cfi_def_cfa_offset 8 + 5506 .cfi_offset 4, -8 + 5507 .cfi_offset 14, -4 + 5508 0002 86B0 sub sp, sp, #24 + 5509 .LCFI60: + 5510 .cfi_def_cfa_offset 32 +1561:Src/main.c **** + 5511 .loc 1 1561 3 view .LVU1738 +1561:Src/main.c **** + 5512 .loc 1 1561 22 is_stmt 0 view .LVU1739 + 5513 0004 0024 movs r4, #0 + 5514 0006 0194 str r4, [sp, #4] + 5515 0008 0294 str r4, [sp, #8] + 5516 000a 0394 str r4, [sp, #12] + 5517 000c 0494 str r4, [sp, #16] + 5518 000e 0594 str r4, [sp, #20] +1564:Src/main.c **** + 5519 .loc 1 1564 3 is_stmt 1 view .LVU1740 + 5520 .LVL511: + 5521 .LBB517: + 5522 .LBI517: 1071:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { - 4695 .loc 3 1071 22 view .LVU1497 - 4696 .LBB502: + 5523 .loc 3 1071 22 view .LVU1741 + 5524 .LBB518: 1073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->APB1ENR, Periphs); - 4697 .loc 3 1073 3 view .LVU1498 + 5525 .loc 3 1073 3 view .LVU1742 1074:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ - 4698 .loc 3 1074 3 view .LVU1499 - 4699 0010 1A4B ldr r3, .L211 - 4700 0012 1A6C ldr r2, [r3, #64] - 4701 0014 42F01002 orr r2, r2, #16 - 4702 0018 1A64 str r2, [r3, #64] + 5526 .loc 3 1074 3 view .LVU1743 + 5527 0010 1A4B ldr r3, .L290 + ARM GAS /tmp/ccwR4KB7.s page 327 + + + 5528 0012 1A6C ldr r2, [r3, #64] + 5529 0014 42F01002 orr r2, r2, #16 + 5530 0018 1A64 str r2, [r3, #64] 1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 4703 .loc 3 1076 3 view .LVU1500 + 5531 .loc 3 1076 3 view .LVU1744 1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 4704 .loc 3 1076 12 is_stmt 0 view .LVU1501 - 4705 001a 1B6C ldr r3, [r3, #64] - 4706 001c 03F01003 and r3, r3, #16 + 5532 .loc 3 1076 12 is_stmt 0 view .LVU1745 + 5533 001a 1B6C ldr r3, [r3, #64] + 5534 001c 03F01003 and r3, r3, #16 1076:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 4707 .loc 3 1076 10 view .LVU1502 - 4708 0020 0093 str r3, [sp] + 5535 .loc 3 1076 10 view .LVU1746 + 5536 0020 0093 str r3, [sp] 1077:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 4709 .loc 3 1077 3 is_stmt 1 view .LVU1503 - 4710 0022 009B ldr r3, [sp] - 4711 .LVL394: + 5537 .loc 3 1077 3 is_stmt 1 view .LVU1747 + 5538 0022 009B ldr r3, [sp] + 5539 .LVL512: 1077:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 4712 .loc 3 1077 3 is_stmt 0 view .LVU1504 - 4713 .LBE502: - 4714 .LBE501: -1517:Src/main.c **** NVIC_EnableIRQ(TIM6_DAC_IRQn); - 4715 .loc 1 1517 3 is_stmt 1 view .LVU1505 - 4716 .LBB503: - 4717 .LBI503: + 5540 .loc 3 1077 3 is_stmt 0 view .LVU1748 + 5541 .LBE518: + 5542 .LBE517: +1567:Src/main.c **** NVIC_EnableIRQ(TIM6_DAC_IRQn); + 5543 .loc 1 1567 3 is_stmt 1 view .LVU1749 + 5544 .LBB519: + 5545 .LBI519: 1884:Drivers/CMSIS/Include/core_cm7.h **** { - 4718 .loc 2 1884 26 view .LVU1506 - 4719 .LBB504: + 5546 .loc 2 1884 26 view .LVU1750 + 5547 .LBB520: 1886:Drivers/CMSIS/Include/core_cm7.h **** } - 4720 .loc 2 1886 3 view .LVU1507 + 5548 .loc 2 1886 3 view .LVU1751 1886:Drivers/CMSIS/Include/core_cm7.h **** } - 4721 .loc 2 1886 26 is_stmt 0 view .LVU1508 - 4722 0024 164B ldr r3, .L211+4 - 4723 0026 D868 ldr r0, [r3, #12] - 4724 .LBE504: - ARM GAS /tmp/ccYgfTud.s page 304 - - - 4725 .LBE503: -1517:Src/main.c **** NVIC_EnableIRQ(TIM6_DAC_IRQn); - 4726 .loc 1 1517 3 discriminator 1 view .LVU1509 - 4727 0028 2246 mov r2, r4 - 4728 002a 2146 mov r1, r4 - 4729 002c C0F30220 ubfx r0, r0, #8, #3 - 4730 0030 FFF7FEFF bl NVIC_EncodePriority - 4731 .LVL395: - 4732 .LBB505: - 4733 .LBI505: + 5549 .loc 2 1886 26 is_stmt 0 view .LVU1752 + 5550 0024 164B ldr r3, .L290+4 + 5551 0026 D868 ldr r0, [r3, #12] + 5552 .LBE520: + 5553 .LBE519: +1567:Src/main.c **** NVIC_EnableIRQ(TIM6_DAC_IRQn); + 5554 .loc 1 1567 3 discriminator 1 view .LVU1753 + 5555 0028 2246 mov r2, r4 + 5556 002a 2146 mov r1, r4 + 5557 002c C0F30220 ubfx r0, r0, #8, #3 + 5558 0030 FFF7FEFF bl NVIC_EncodePriority + 5559 .LVL513: + 5560 .LBB521: + 5561 .LBI521: 2024:Drivers/CMSIS/Include/core_cm7.h **** { - 4734 .loc 2 2024 22 is_stmt 1 view .LVU1510 - 4735 .LBB506: + 5562 .loc 2 2024 22 is_stmt 1 view .LVU1754 + 5563 .LBB522: 2026:Drivers/CMSIS/Include/core_cm7.h **** { - 4736 .loc 2 2026 3 view .LVU1511 + 5564 .loc 2 2026 3 view .LVU1755 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4737 .loc 2 2028 5 view .LVU1512 + 5565 .loc 2 2028 5 view .LVU1756 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4738 .loc 2 2028 49 is_stmt 0 view .LVU1513 - 4739 0034 0001 lsls r0, r0, #4 - 4740 .LVL396: + 5566 .loc 2 2028 49 is_stmt 0 view .LVU1757 + 5567 0034 0001 lsls r0, r0, #4 + 5568 .LVL514: 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4741 .loc 2 2028 49 view .LVU1514 - 4742 0036 C0B2 uxtb r0, r0 + 5569 .loc 2 2028 49 view .LVU1758 + ARM GAS /tmp/ccwR4KB7.s page 328 + + + 5570 0036 C0B2 uxtb r0, r0 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4743 .loc 2 2028 47 view .LVU1515 - 4744 0038 124B ldr r3, .L211+8 - 4745 003a 83F83603 strb r0, [r3, #822] - 4746 .LVL397: + 5571 .loc 2 2028 47 view .LVU1759 + 5572 0038 124B ldr r3, .L290+8 + 5573 003a 83F83603 strb r0, [r3, #822] + 5574 .LVL515: 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 4747 .loc 2 2028 47 view .LVU1516 - 4748 .LBE506: - 4749 .LBE505: -1518:Src/main.c **** - 4750 .loc 1 1518 3 is_stmt 1 view .LVU1517 - 4751 .LBB507: - 4752 .LBI507: + 5575 .loc 2 2028 47 view .LVU1760 + 5576 .LBE522: + 5577 .LBE521: +1568:Src/main.c **** + 5578 .loc 1 1568 3 is_stmt 1 view .LVU1761 + 5579 .LBB523: + 5580 .LBI523: 1896:Drivers/CMSIS/Include/core_cm7.h **** { - 4753 .loc 2 1896 22 view .LVU1518 - 4754 .LBB508: + 5581 .loc 2 1896 22 view .LVU1762 + 5582 .LBB524: 1898:Drivers/CMSIS/Include/core_cm7.h **** { - 4755 .loc 2 1898 3 view .LVU1519 + 5583 .loc 2 1898 3 view .LVU1763 1900:Drivers/CMSIS/Include/core_cm7.h **** } - 4756 .loc 2 1900 5 view .LVU1520 + 5584 .loc 2 1900 5 view .LVU1764 1900:Drivers/CMSIS/Include/core_cm7.h **** } - 4757 .loc 2 1900 43 is_stmt 0 view .LVU1521 - 4758 003e 4FF48002 mov r2, #4194304 - 4759 0042 5A60 str r2, [r3, #4] - 4760 .LVL398: + 5585 .loc 2 1900 43 is_stmt 0 view .LVU1765 + 5586 003e 4FF48002 mov r2, #4194304 + 5587 0042 5A60 str r2, [r3, #4] + 5588 .LVL516: 1900:Drivers/CMSIS/Include/core_cm7.h **** } - 4761 .loc 2 1900 43 view .LVU1522 - 4762 .LBE508: - 4763 .LBE507: -1523:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; - 4764 .loc 1 1523 3 is_stmt 1 view .LVU1523 -1523:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; - 4765 .loc 1 1523 28 is_stmt 0 view .LVU1524 - ARM GAS /tmp/ccYgfTud.s page 305 + 5589 .loc 2 1900 43 view .LVU1766 + 5590 .LBE524: + 5591 .LBE523: +1573:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; + 5592 .loc 1 1573 3 is_stmt 1 view .LVU1767 +1573:Src/main.c **** TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP; + 5593 .loc 1 1573 28 is_stmt 0 view .LVU1768 + 5594 0044 4BF2AF33 movw r3, #45999 + 5595 0048 ADF80430 strh r3, [sp, #4] @ movhi +1574:Src/main.c **** TIM_InitStruct.Autoreload = 19; + 5596 .loc 1 1574 3 is_stmt 1 view .LVU1769 +1574:Src/main.c **** TIM_InitStruct.Autoreload = 19; + 5597 .loc 1 1574 30 is_stmt 0 view .LVU1770 + 5598 004c 0294 str r4, [sp, #8] +1575:Src/main.c **** LL_TIM_Init(TIM6, &TIM_InitStruct); + 5599 .loc 1 1575 3 is_stmt 1 view .LVU1771 +1575:Src/main.c **** LL_TIM_Init(TIM6, &TIM_InitStruct); + 5600 .loc 1 1575 29 is_stmt 0 view .LVU1772 + 5601 004e 1323 movs r3, #19 + 5602 0050 0393 str r3, [sp, #12] +1576:Src/main.c **** LL_TIM_DisableARRPreload(TIM6); + 5603 .loc 1 1576 3 is_stmt 1 view .LVU1773 + 5604 0052 0D4C ldr r4, .L290+12 + 5605 0054 01A9 add r1, sp, #4 + 5606 0056 2046 mov r0, r4 + 5607 0058 FFF7FEFF bl LL_TIM_Init + 5608 .LVL517: +1577:Src/main.c **** LL_TIM_SetTriggerOutput(TIM6, LL_TIM_TRGO_ENABLE); + 5609 .loc 1 1577 3 view .LVU1774 + 5610 .LBB525: + ARM GAS /tmp/ccwR4KB7.s page 329 - 4766 0044 4BF2AF33 movw r3, #45999 - 4767 0048 ADF80430 strh r3, [sp, #4] @ movhi -1524:Src/main.c **** TIM_InitStruct.Autoreload = 19; - 4768 .loc 1 1524 3 is_stmt 1 view .LVU1525 -1524:Src/main.c **** TIM_InitStruct.Autoreload = 19; - 4769 .loc 1 1524 30 is_stmt 0 view .LVU1526 - 4770 004c 0294 str r4, [sp, #8] -1525:Src/main.c **** LL_TIM_Init(TIM6, &TIM_InitStruct); - 4771 .loc 1 1525 3 is_stmt 1 view .LVU1527 -1525:Src/main.c **** LL_TIM_Init(TIM6, &TIM_InitStruct); - 4772 .loc 1 1525 29 is_stmt 0 view .LVU1528 - 4773 004e 1323 movs r3, #19 - 4774 0050 0393 str r3, [sp, #12] -1526:Src/main.c **** LL_TIM_DisableARRPreload(TIM6); - 4775 .loc 1 1526 3 is_stmt 1 view .LVU1529 - 4776 0052 0D4C ldr r4, .L211+12 - 4777 0054 01A9 add r1, sp, #4 - 4778 0056 2046 mov r0, r4 - 4779 0058 FFF7FEFF bl LL_TIM_Init - 4780 .LVL399: -1527:Src/main.c **** LL_TIM_SetTriggerOutput(TIM6, LL_TIM_TRGO_ENABLE); - 4781 .loc 1 1527 3 view .LVU1530 - 4782 .LBB509: - 4783 .LBI509: + 5611 .LBI525: 1504:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - 4784 .loc 5 1504 22 view .LVU1531 - 4785 .LBB510: + 5612 .loc 5 1504 22 view .LVU1775 + 5613 .LBB526: 1506:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 4786 .loc 5 1506 3 view .LVU1532 - 4787 005c 2368 ldr r3, [r4] - 4788 005e 23F08003 bic r3, r3, #128 - 4789 0062 2360 str r3, [r4] - 4790 .LVL400: + 5614 .loc 5 1506 3 view .LVU1776 + 5615 005c 2368 ldr r3, [r4] + 5616 005e 23F08003 bic r3, r3, #128 + 5617 0062 2360 str r3, [r4] + 5618 .LVL518: 1506:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 4791 .loc 5 1506 3 is_stmt 0 view .LVU1533 - 4792 .LBE510: - 4793 .LBE509: -1528:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM6); - 4794 .loc 1 1528 3 is_stmt 1 view .LVU1534 - 4795 .LBB511: - 4796 .LBI511: + 5619 .loc 5 1506 3 is_stmt 0 view .LVU1777 + 5620 .LBE526: + 5621 .LBE525: +1578:Src/main.c **** LL_TIM_DisableMasterSlaveMode(TIM6); + 5622 .loc 1 1578 3 is_stmt 1 view .LVU1778 + 5623 .LBB527: + 5624 .LBI527: 3138:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - 4797 .loc 5 3138 22 view .LVU1535 - 4798 .LBB512: + 5625 .loc 5 3138 22 view .LVU1779 + 5626 .LBB528: 3140:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 4799 .loc 5 3140 3 view .LVU1536 - 4800 0064 6368 ldr r3, [r4, #4] - 4801 0066 23F07003 bic r3, r3, #112 - 4802 006a 43F01003 orr r3, r3, #16 - 4803 006e 6360 str r3, [r4, #4] - 4804 .LVL401: + 5627 .loc 5 3140 3 view .LVU1780 + 5628 0064 6368 ldr r3, [r4, #4] + 5629 0066 23F07003 bic r3, r3, #112 + 5630 006a 43F01003 orr r3, r3, #16 + 5631 006e 6360 str r3, [r4, #4] + 5632 .LVL519: 3140:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 4805 .loc 5 3140 3 is_stmt 0 view .LVU1537 - 4806 .LBE512: - 4807 .LBE511: -1529:Src/main.c **** /* USER CODE BEGIN TIM6_Init 2 */ - 4808 .loc 1 1529 3 is_stmt 1 view .LVU1538 - ARM GAS /tmp/ccYgfTud.s page 306 - - - 4809 .LBB513: - 4810 .LBI513: + 5633 .loc 5 3140 3 is_stmt 0 view .LVU1781 + 5634 .LBE528: + 5635 .LBE527: +1579:Src/main.c **** /* USER CODE BEGIN TIM6_Init 2 */ + 5636 .loc 1 1579 3 is_stmt 1 view .LVU1782 + 5637 .LBB529: + 5638 .LBI529: 3235:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - 4811 .loc 5 3235 22 view .LVU1539 - 4812 .LBB514: - 4813 .loc 5 3237 3 view .LVU1540 - 4814 0070 A368 ldr r3, [r4, #8] - 4815 0072 23F08003 bic r3, r3, #128 - 4816 0076 A360 str r3, [r4, #8] - 4817 .LVL402: - 4818 .loc 5 3237 3 is_stmt 0 view .LVU1541 - 4819 .LBE514: - 4820 .LBE513: -1534:Src/main.c **** - 4821 .loc 1 1534 1 view .LVU1542 - 4822 0078 06B0 add sp, sp, #24 - 4823 .LCFI52: - 4824 .cfi_def_cfa_offset 8 - 4825 @ sp needed - 4826 007a 10BD pop {r4, pc} - 4827 .L212: - 4828 .align 2 - 4829 .L211: - 4830 007c 00380240 .word 1073887232 - 4831 0080 00ED00E0 .word -536810240 - 4832 0084 00E100E0 .word -536813312 - 4833 0088 00100040 .word 1073745920 - 4834 .cfi_endproc - 4835 .LFE1198: - 4837 .section .rodata.Init_params.str1.4,"aMS",%progbits,1 - 4838 .align 2 - 4839 .LC0: - 4840 0000 2F00 .ascii "/\000" - 4841 0002 0000 .align 2 - 4842 .LC1: - 4843 0004 434F4D4D .ascii "COMMAND.TXT\000" - 4843 414E442E - 4843 54585400 - 4844 .section .text.Init_params,"ax",%progbits - 4845 .align 1 - 4846 .syntax unified - 4847 .thumb - 4848 .thumb_func - 4850 Init_params: - 4851 .LFB1207: -2004:Src/main.c **** TO6 = 0; - 4852 .loc 1 2004 1 is_stmt 1 view -0 - 4853 .cfi_startproc - 4854 @ args = 0, pretend = 0, frame = 0 - 4855 @ frame_needed = 0, uses_anonymous_args = 0 - 4856 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} - 4857 .LCFI53: - 4858 .cfi_def_cfa_offset 24 - 4859 .cfi_offset 4, -24 - 4860 .cfi_offset 5, -20 - 4861 .cfi_offset 6, -16 - 4862 .cfi_offset 7, -12 - ARM GAS /tmp/ccYgfTud.s page 307 + 5639 .loc 5 3235 22 view .LVU1783 + 5640 .LBB530: + 5641 .loc 5 3237 3 view .LVU1784 + 5642 0070 A368 ldr r3, [r4, #8] + 5643 0072 23F08003 bic r3, r3, #128 + 5644 0076 A360 str r3, [r4, #8] + 5645 .LVL520: + 5646 .loc 5 3237 3 is_stmt 0 view .LVU1785 + 5647 .LBE530: + 5648 .LBE529: +1584:Src/main.c **** + 5649 .loc 1 1584 1 view .LVU1786 + 5650 0078 06B0 add sp, sp, #24 + 5651 .LCFI61: + 5652 .cfi_def_cfa_offset 8 + 5653 @ sp needed + 5654 007a 10BD pop {r4, pc} + 5655 .L291: + 5656 .align 2 + 5657 .L290: + ARM GAS /tmp/ccwR4KB7.s page 330 - 4863 .cfi_offset 8, -8 - 4864 .cfi_offset 14, -4 -2005:Src/main.c **** TO7 = 0; - 4865 .loc 1 2005 2 view .LVU1544 -2005:Src/main.c **** TO7 = 0; - 4866 .loc 1 2005 6 is_stmt 0 view .LVU1545 - 4867 0004 0023 movs r3, #0 - 4868 0006 9F4A ldr r2, .L225 - 4869 0008 1360 str r3, [r2] -2006:Src/main.c **** TO7_before = 0; - 4870 .loc 1 2006 2 is_stmt 1 view .LVU1546 -2006:Src/main.c **** TO7_before = 0; - 4871 .loc 1 2006 6 is_stmt 0 view .LVU1547 - 4872 000a 9F4A ldr r2, .L225+4 - 4873 000c 1360 str r3, [r2] -2007:Src/main.c **** TO6_before = 0; - 4874 .loc 1 2007 2 is_stmt 1 view .LVU1548 -2007:Src/main.c **** TO6_before = 0; - 4875 .loc 1 2007 13 is_stmt 0 view .LVU1549 - 4876 000e 9F4A ldr r2, .L225+8 - 4877 0010 1360 str r3, [r2] -2008:Src/main.c **** TO6_uart = 0; - 4878 .loc 1 2008 2 is_stmt 1 view .LVU1550 -2008:Src/main.c **** TO6_uart = 0; - 4879 .loc 1 2008 13 is_stmt 0 view .LVU1551 - 4880 0012 9F4A ldr r2, .L225+12 - 4881 0014 1360 str r3, [r2] -2009:Src/main.c **** flg_tmt = 0; - 4882 .loc 1 2009 2 is_stmt 1 view .LVU1552 -2009:Src/main.c **** flg_tmt = 0; - 4883 .loc 1 2009 11 is_stmt 0 view .LVU1553 - 4884 0016 9F4A ldr r2, .L225+16 - 4885 0018 1360 str r3, [r2] -2010:Src/main.c **** UART_rec_incr = 0; - 4886 .loc 1 2010 2 is_stmt 1 view .LVU1554 -2010:Src/main.c **** UART_rec_incr = 0; - 4887 .loc 1 2010 10 is_stmt 0 view .LVU1555 - 4888 001a 9F4A ldr r2, .L225+20 - 4889 001c 1370 strb r3, [r2] -2011:Src/main.c **** fgoto = 0; - 4890 .loc 1 2011 2 is_stmt 1 view .LVU1556 -2011:Src/main.c **** fgoto = 0; - 4891 .loc 1 2011 16 is_stmt 0 view .LVU1557 - 4892 001e 9F4A ldr r2, .L225+24 - 4893 0020 1380 strh r3, [r2] @ movhi -2012:Src/main.c **** sizeoffile = 0; - 4894 .loc 1 2012 2 is_stmt 1 view .LVU1558 -2012:Src/main.c **** sizeoffile = 0; - 4895 .loc 1 2012 8 is_stmt 0 view .LVU1559 - 4896 0022 9F4A ldr r2, .L225+28 - 4897 0024 1360 str r3, [r2] -2013:Src/main.c **** u_tx_flg = 0; - 4898 .loc 1 2013 2 is_stmt 1 view .LVU1560 -2013:Src/main.c **** u_tx_flg = 0; - 4899 .loc 1 2013 13 is_stmt 0 view .LVU1561 - 4900 0026 9F4A ldr r2, .L225+32 - 4901 0028 1360 str r3, [r2] - ARM GAS /tmp/ccYgfTud.s page 308 + 5658 007c 00380240 .word 1073887232 + 5659 0080 00ED00E0 .word -536810240 + 5660 0084 00E100E0 .word -536813312 + 5661 0088 00100040 .word 1073745920 + 5662 .cfi_endproc + 5663 .LFE1198: + 5665 .section .rodata.Init_params.str1.4,"aMS",%progbits,1 + 5666 .align 2 + 5667 .LC0: + 5668 0000 2F00 .ascii "/\000" + 5669 0002 0000 .align 2 + 5670 .LC1: + 5671 0004 434F4D4D .ascii "COMMAND.TXT\000" + 5671 414E442E + 5671 54585400 + 5672 .section .text.Init_params,"ax",%progbits + 5673 .align 1 + 5674 .syntax unified + 5675 .thumb + 5676 .thumb_func + 5678 Init_params: + 5679 .LFB1207: +2054:Src/main.c **** TO6 = 0; + 5680 .loc 1 2054 1 is_stmt 1 view -0 + 5681 .cfi_startproc + 5682 @ args = 0, pretend = 0, frame = 0 + 5683 @ frame_needed = 0, uses_anonymous_args = 0 + 5684 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} + 5685 .LCFI62: + 5686 .cfi_def_cfa_offset 24 + 5687 .cfi_offset 4, -24 + 5688 .cfi_offset 5, -20 + 5689 .cfi_offset 6, -16 + 5690 .cfi_offset 7, -12 + 5691 .cfi_offset 8, -8 + 5692 .cfi_offset 14, -4 +2055:Src/main.c **** TO7 = 0; + 5693 .loc 1 2055 2 view .LVU1788 +2055:Src/main.c **** TO7 = 0; + 5694 .loc 1 2055 6 is_stmt 0 view .LVU1789 + 5695 0004 0023 movs r3, #0 + 5696 0006 9F4A ldr r2, .L304 + 5697 0008 1360 str r3, [r2] +2056:Src/main.c **** TO7_before = 0; + 5698 .loc 1 2056 2 is_stmt 1 view .LVU1790 +2056:Src/main.c **** TO7_before = 0; + 5699 .loc 1 2056 6 is_stmt 0 view .LVU1791 + 5700 000a 9F4A ldr r2, .L304+4 + 5701 000c 1360 str r3, [r2] +2057:Src/main.c **** TO6_before = 0; + 5702 .loc 1 2057 2 is_stmt 1 view .LVU1792 +2057:Src/main.c **** TO6_before = 0; + 5703 .loc 1 2057 13 is_stmt 0 view .LVU1793 + 5704 000e 9F4A ldr r2, .L304+8 + 5705 0010 1360 str r3, [r2] +2058:Src/main.c **** TO6_uart = 0; + 5706 .loc 1 2058 2 is_stmt 1 view .LVU1794 + ARM GAS /tmp/ccwR4KB7.s page 331 -2014:Src/main.c **** u_rx_flg = 0; - 4902 .loc 1 2014 2 is_stmt 1 view .LVU1562 -2014:Src/main.c **** u_rx_flg = 0; - 4903 .loc 1 2014 11 is_stmt 0 view .LVU1563 - 4904 002a 9F4A ldr r2, .L225+36 - 4905 002c 1370 strb r3, [r2] -2015:Src/main.c **** //State_Data[0]=0; - 4906 .loc 1 2015 2 is_stmt 1 view .LVU1564 -2015:Src/main.c **** //State_Data[0]=0; - 4907 .loc 1 2015 11 is_stmt 0 view .LVU1565 - 4908 002e 9F4A ldr r2, .L225+40 - 4909 0030 1370 strb r3, [r2] -2018:Src/main.c **** { - 4910 .loc 1 2018 2 is_stmt 1 view .LVU1566 - 4911 .LBB515: -2018:Src/main.c **** { - 4912 .loc 1 2018 7 view .LVU1567 - 4913 .LVL403: -2018:Src/main.c **** { - 4914 .loc 1 2018 2 is_stmt 0 view .LVU1568 - 4915 0032 05E0 b .L214 - 4916 .LVL404: - 4917 .L215: -2020:Src/main.c **** } - 4918 .loc 1 2020 3 is_stmt 1 view .LVU1569 -2020:Src/main.c **** } - 4919 .loc 1 2020 16 is_stmt 0 view .LVU1570 - 4920 0034 9E4A ldr r2, .L225+44 - 4921 0036 0021 movs r1, #0 - 4922 0038 22F81310 strh r1, [r2, r3, lsl #1] @ movhi -2018:Src/main.c **** { - 4923 .loc 1 2018 31 is_stmt 1 discriminator 3 view .LVU1571 - 4924 003c 0133 adds r3, r3, #1 - 4925 .LVL405: -2018:Src/main.c **** { - 4926 .loc 1 2018 31 is_stmt 0 discriminator 3 view .LVU1572 - 4927 003e 9BB2 uxth r3, r3 - 4928 .LVL406: - 4929 .L214: -2018:Src/main.c **** { - 4930 .loc 1 2018 22 is_stmt 1 discriminator 1 view .LVU1573 - 4931 0040 0E2B cmp r3, #14 - 4932 0042 F7D9 bls .L215 - 4933 .LBE515: -2022:Src/main.c **** - 4934 .loc 1 2022 2 view .LVU1574 -2022:Src/main.c **** - 4935 .loc 1 2022 14 is_stmt 0 view .LVU1575 - 4936 0044 9A4B ldr r3, .L225+44 - 4937 .LVL407: -2022:Src/main.c **** - 4938 .loc 1 2022 14 view .LVU1576 - 4939 0046 41F21112 movw r2, #4369 - 4940 004a 1A80 strh r2, [r3] @ movhi -2025:Src/main.c **** Def_setup.LD1_EN = 0; - 4941 .loc 1 2025 2 is_stmt 1 view .LVU1577 -2025:Src/main.c **** Def_setup.LD1_EN = 0; - ARM GAS /tmp/ccYgfTud.s page 309 +2058:Src/main.c **** TO6_uart = 0; + 5707 .loc 1 2058 13 is_stmt 0 view .LVU1795 + 5708 0012 9F4A ldr r2, .L304+12 + 5709 0014 1360 str r3, [r2] +2059:Src/main.c **** flg_tmt = 0; + 5710 .loc 1 2059 2 is_stmt 1 view .LVU1796 +2059:Src/main.c **** flg_tmt = 0; + 5711 .loc 1 2059 11 is_stmt 0 view .LVU1797 + 5712 0016 9F4A ldr r2, .L304+16 + 5713 0018 1360 str r3, [r2] +2060:Src/main.c **** UART_rec_incr = 0; + 5714 .loc 1 2060 2 is_stmt 1 view .LVU1798 +2060:Src/main.c **** UART_rec_incr = 0; + 5715 .loc 1 2060 10 is_stmt 0 view .LVU1799 + 5716 001a 9F4A ldr r2, .L304+20 + 5717 001c 1370 strb r3, [r2] +2061:Src/main.c **** fgoto = 0; + 5718 .loc 1 2061 2 is_stmt 1 view .LVU1800 +2061:Src/main.c **** fgoto = 0; + 5719 .loc 1 2061 16 is_stmt 0 view .LVU1801 + 5720 001e 9F4A ldr r2, .L304+24 + 5721 0020 1380 strh r3, [r2] @ movhi +2062:Src/main.c **** sizeoffile = 0; + 5722 .loc 1 2062 2 is_stmt 1 view .LVU1802 +2062:Src/main.c **** sizeoffile = 0; + 5723 .loc 1 2062 8 is_stmt 0 view .LVU1803 + 5724 0022 9F4A ldr r2, .L304+28 + 5725 0024 1360 str r3, [r2] +2063:Src/main.c **** u_tx_flg = 0; + 5726 .loc 1 2063 2 is_stmt 1 view .LVU1804 +2063:Src/main.c **** u_tx_flg = 0; + 5727 .loc 1 2063 13 is_stmt 0 view .LVU1805 + 5728 0026 9F4A ldr r2, .L304+32 + 5729 0028 1360 str r3, [r2] +2064:Src/main.c **** u_rx_flg = 0; + 5730 .loc 1 2064 2 is_stmt 1 view .LVU1806 +2064:Src/main.c **** u_rx_flg = 0; + 5731 .loc 1 2064 11 is_stmt 0 view .LVU1807 + 5732 002a 9F4A ldr r2, .L304+36 + 5733 002c 1370 strb r3, [r2] +2065:Src/main.c **** //State_Data[0]=0; + 5734 .loc 1 2065 2 is_stmt 1 view .LVU1808 +2065:Src/main.c **** //State_Data[0]=0; + 5735 .loc 1 2065 11 is_stmt 0 view .LVU1809 + 5736 002e 9F4A ldr r2, .L304+40 + 5737 0030 1370 strb r3, [r2] +2068:Src/main.c **** { + 5738 .loc 1 2068 2 is_stmt 1 view .LVU1810 + 5739 .LBB531: +2068:Src/main.c **** { + 5740 .loc 1 2068 7 view .LVU1811 + 5741 .LVL521: +2068:Src/main.c **** { + 5742 .loc 1 2068 2 is_stmt 0 view .LVU1812 + 5743 0032 05E0 b .L293 + 5744 .LVL522: + 5745 .L294: + ARM GAS /tmp/ccwR4KB7.s page 332 - 4942 .loc 1 2025 21 is_stmt 0 view .LVU1578 - 4943 004c 994B ldr r3, .L225+48 - 4944 004e 0022 movs r2, #0 - 4945 0050 DA81 strh r2, [r3, #14] @ movhi -2026:Src/main.c **** Def_setup.LD2_EN = 0; - 4946 .loc 1 2026 2 is_stmt 1 view .LVU1579 -2026:Src/main.c **** Def_setup.LD2_EN = 0; - 4947 .loc 1 2026 19 is_stmt 0 view .LVU1580 - 4948 0052 DA70 strb r2, [r3, #3] -2027:Src/main.c **** Def_setup.MES_ID = 0; - 4949 .loc 1 2027 2 is_stmt 1 view .LVU1581 -2027:Src/main.c **** Def_setup.MES_ID = 0; - 4950 .loc 1 2027 19 is_stmt 0 view .LVU1582 - 4951 0054 1A71 strb r2, [r3, #4] -2028:Src/main.c **** Def_setup.PI1_RD = 0; - 4952 .loc 1 2028 2 is_stmt 1 view .LVU1583 -2028:Src/main.c **** Def_setup.PI1_RD = 0; - 4953 .loc 1 2028 19 is_stmt 0 view .LVU1584 - 4954 0056 1A82 strh r2, [r3, #16] @ movhi -2029:Src/main.c **** Def_setup.PI2_RD = 0; - 4955 .loc 1 2029 2 is_stmt 1 view .LVU1585 -2029:Src/main.c **** Def_setup.PI2_RD = 0; - 4956 .loc 1 2029 19 is_stmt 0 view .LVU1586 - 4957 0058 1A73 strb r2, [r3, #12] -2030:Src/main.c **** Def_setup.REF1_EN = 0; - 4958 .loc 1 2030 2 is_stmt 1 view .LVU1587 -2030:Src/main.c **** Def_setup.REF1_EN = 0; - 4959 .loc 1 2030 19 is_stmt 0 view .LVU1588 - 4960 005a 5A73 strb r2, [r3, #13] -2031:Src/main.c **** Def_setup.REF2_EN = 0; - 4961 .loc 1 2031 2 is_stmt 1 view .LVU1589 -2031:Src/main.c **** Def_setup.REF2_EN = 0; - 4962 .loc 1 2031 20 is_stmt 0 view .LVU1590 - 4963 005c 5A71 strb r2, [r3, #5] -2032:Src/main.c **** Def_setup.SD_EN = 0; - 4964 .loc 1 2032 2 is_stmt 1 view .LVU1591 -2032:Src/main.c **** Def_setup.SD_EN = 0; - 4965 .loc 1 2032 20 is_stmt 0 view .LVU1592 - 4966 005e 9A71 strb r2, [r3, #6] -2033:Src/main.c **** Def_setup.TEC1_EN = 0; - 4967 .loc 1 2033 2 is_stmt 1 view .LVU1593 -2033:Src/main.c **** Def_setup.TEC1_EN = 0; - 4968 .loc 1 2033 18 is_stmt 0 view .LVU1594 - 4969 0060 DA72 strb r2, [r3, #11] -2034:Src/main.c **** Def_setup.TEC2_EN = 0; - 4970 .loc 1 2034 2 is_stmt 1 view .LVU1595 -2034:Src/main.c **** Def_setup.TEC2_EN = 0; - 4971 .loc 1 2034 20 is_stmt 0 view .LVU1596 - 4972 0062 DA71 strb r2, [r3, #7] -2035:Src/main.c **** Def_setup.TS1_EN = 0; - 4973 .loc 1 2035 2 is_stmt 1 view .LVU1597 -2035:Src/main.c **** Def_setup.TS1_EN = 0; - 4974 .loc 1 2035 20 is_stmt 0 view .LVU1598 - 4975 0064 1A72 strb r2, [r3, #8] -2036:Src/main.c **** Def_setup.TS2_EN = 0; - 4976 .loc 1 2036 2 is_stmt 1 view .LVU1599 -2036:Src/main.c **** Def_setup.TS2_EN = 0; - ARM GAS /tmp/ccYgfTud.s page 310 +2070:Src/main.c **** } + 5746 .loc 1 2070 3 is_stmt 1 view .LVU1813 +2070:Src/main.c **** } + 5747 .loc 1 2070 16 is_stmt 0 view .LVU1814 + 5748 0034 9E4A ldr r2, .L304+44 + 5749 0036 0021 movs r1, #0 + 5750 0038 22F81310 strh r1, [r2, r3, lsl #1] @ movhi +2068:Src/main.c **** { + 5751 .loc 1 2068 31 is_stmt 1 discriminator 3 view .LVU1815 + 5752 003c 0133 adds r3, r3, #1 + 5753 .LVL523: +2068:Src/main.c **** { + 5754 .loc 1 2068 31 is_stmt 0 discriminator 3 view .LVU1816 + 5755 003e 9BB2 uxth r3, r3 + 5756 .LVL524: + 5757 .L293: +2068:Src/main.c **** { + 5758 .loc 1 2068 22 is_stmt 1 discriminator 1 view .LVU1817 + 5759 0040 0E2B cmp r3, #14 + 5760 0042 F7D9 bls .L294 + 5761 .LBE531: +2072:Src/main.c **** + 5762 .loc 1 2072 2 view .LVU1818 +2072:Src/main.c **** + 5763 .loc 1 2072 14 is_stmt 0 view .LVU1819 + 5764 0044 9A4B ldr r3, .L304+44 + 5765 .LVL525: +2072:Src/main.c **** + 5766 .loc 1 2072 14 view .LVU1820 + 5767 0046 41F21112 movw r2, #4369 + 5768 004a 1A80 strh r2, [r3] @ movhi +2075:Src/main.c **** Def_setup.LD1_EN = 0; + 5769 .loc 1 2075 2 is_stmt 1 view .LVU1821 +2075:Src/main.c **** Def_setup.LD1_EN = 0; + 5770 .loc 1 2075 21 is_stmt 0 view .LVU1822 + 5771 004c 994B ldr r3, .L304+48 + 5772 004e 0022 movs r2, #0 + 5773 0050 DA81 strh r2, [r3, #14] @ movhi +2076:Src/main.c **** Def_setup.LD2_EN = 0; + 5774 .loc 1 2076 2 is_stmt 1 view .LVU1823 +2076:Src/main.c **** Def_setup.LD2_EN = 0; + 5775 .loc 1 2076 19 is_stmt 0 view .LVU1824 + 5776 0052 DA70 strb r2, [r3, #3] +2077:Src/main.c **** Def_setup.MES_ID = 0; + 5777 .loc 1 2077 2 is_stmt 1 view .LVU1825 +2077:Src/main.c **** Def_setup.MES_ID = 0; + 5778 .loc 1 2077 19 is_stmt 0 view .LVU1826 + 5779 0054 1A71 strb r2, [r3, #4] +2078:Src/main.c **** Def_setup.PI1_RD = 0; + 5780 .loc 1 2078 2 is_stmt 1 view .LVU1827 +2078:Src/main.c **** Def_setup.PI1_RD = 0; + 5781 .loc 1 2078 19 is_stmt 0 view .LVU1828 + 5782 0056 1A82 strh r2, [r3, #16] @ movhi +2079:Src/main.c **** Def_setup.PI2_RD = 0; + 5783 .loc 1 2079 2 is_stmt 1 view .LVU1829 +2079:Src/main.c **** Def_setup.PI2_RD = 0; + 5784 .loc 1 2079 19 is_stmt 0 view .LVU1830 + ARM GAS /tmp/ccwR4KB7.s page 333 - 4977 .loc 1 2036 19 is_stmt 0 view .LVU1600 - 4978 0066 5A72 strb r2, [r3, #9] -2037:Src/main.c **** Def_setup.U5V1_EN = 0; - 4979 .loc 1 2037 2 is_stmt 1 view .LVU1601 -2037:Src/main.c **** Def_setup.U5V1_EN = 0; - 4980 .loc 1 2037 19 is_stmt 0 view .LVU1602 - 4981 0068 9A72 strb r2, [r3, #10] -2038:Src/main.c **** Def_setup.U5V2_EN = 0; - 4982 .loc 1 2038 2 is_stmt 1 view .LVU1603 -2038:Src/main.c **** Def_setup.U5V2_EN = 0; - 4983 .loc 1 2038 20 is_stmt 0 view .LVU1604 - 4984 006a 5A70 strb r2, [r3, #1] -2039:Src/main.c **** Def_setup.WORK_EN = 0; - 4985 .loc 1 2039 2 is_stmt 1 view .LVU1605 -2039:Src/main.c **** Def_setup.WORK_EN = 0; - 4986 .loc 1 2039 20 is_stmt 0 view .LVU1606 - 4987 006c 9A70 strb r2, [r3, #2] -2040:Src/main.c **** - 4988 .loc 1 2040 2 is_stmt 1 view .LVU1607 -2040:Src/main.c **** - 4989 .loc 1 2040 20 is_stmt 0 view .LVU1608 - 4990 006e 1A70 strb r2, [r3] -2042:Src/main.c **** LD2_def_setup.LD_TEMP = 0; - 4991 .loc 1 2042 2 is_stmt 1 view .LVU1609 -2042:Src/main.c **** LD2_def_setup.LD_TEMP = 0; - 4992 .loc 1 2042 24 is_stmt 0 view .LVU1610 - 4993 0070 914D ldr r5, .L225+52 - 4994 0072 2A80 strh r2, [r5] @ movhi -2043:Src/main.c **** LD1_def_setup.P_coef_temp = 0; - 4995 .loc 1 2043 2 is_stmt 1 view .LVU1611 -2043:Src/main.c **** LD1_def_setup.P_coef_temp = 0; - 4996 .loc 1 2043 24 is_stmt 0 view .LVU1612 - 4997 0074 914C ldr r4, .L225+56 - 4998 0076 2280 strh r2, [r4] @ movhi -2044:Src/main.c **** LD2_def_setup.P_coef_temp = 0; - 4999 .loc 1 2044 2 is_stmt 1 view .LVU1613 -2044:Src/main.c **** LD2_def_setup.P_coef_temp = 0; - 5000 .loc 1 2044 28 is_stmt 0 view .LVU1614 - 5001 0078 0022 movs r2, #0 - 5002 007a 6A60 str r2, [r5, #4] @ float -2045:Src/main.c **** LD1_def_setup.I_coef_temp = 0; - 5003 .loc 1 2045 2 is_stmt 1 view .LVU1615 -2045:Src/main.c **** LD1_def_setup.I_coef_temp = 0; - 5004 .loc 1 2045 28 is_stmt 0 view .LVU1616 - 5005 007c 6260 str r2, [r4, #4] @ float -2046:Src/main.c **** LD2_def_setup.I_coef_temp = 0; - 5006 .loc 1 2046 2 is_stmt 1 view .LVU1617 -2046:Src/main.c **** LD2_def_setup.I_coef_temp = 0; - 5007 .loc 1 2046 28 is_stmt 0 view .LVU1618 - 5008 007e AA60 str r2, [r5, #8] @ float -2047:Src/main.c **** - 5009 .loc 1 2047 2 is_stmt 1 view .LVU1619 -2047:Src/main.c **** - 5010 .loc 1 2047 28 is_stmt 0 view .LVU1620 - 5011 0080 A260 str r2, [r4, #8] @ float -2050:Src/main.c **** LD1_curr_setup = LD1_def_setup; - 5012 .loc 1 2050 2 is_stmt 1 view .LVU1621 - ARM GAS /tmp/ccYgfTud.s page 311 + 5785 0058 1A73 strb r2, [r3, #12] +2080:Src/main.c **** Def_setup.REF1_EN = 0; + 5786 .loc 1 2080 2 is_stmt 1 view .LVU1831 +2080:Src/main.c **** Def_setup.REF1_EN = 0; + 5787 .loc 1 2080 19 is_stmt 0 view .LVU1832 + 5788 005a 5A73 strb r2, [r3, #13] +2081:Src/main.c **** Def_setup.REF2_EN = 0; + 5789 .loc 1 2081 2 is_stmt 1 view .LVU1833 +2081:Src/main.c **** Def_setup.REF2_EN = 0; + 5790 .loc 1 2081 20 is_stmt 0 view .LVU1834 + 5791 005c 5A71 strb r2, [r3, #5] +2082:Src/main.c **** Def_setup.SD_EN = 0; + 5792 .loc 1 2082 2 is_stmt 1 view .LVU1835 +2082:Src/main.c **** Def_setup.SD_EN = 0; + 5793 .loc 1 2082 20 is_stmt 0 view .LVU1836 + 5794 005e 9A71 strb r2, [r3, #6] +2083:Src/main.c **** Def_setup.TEC1_EN = 0; + 5795 .loc 1 2083 2 is_stmt 1 view .LVU1837 +2083:Src/main.c **** Def_setup.TEC1_EN = 0; + 5796 .loc 1 2083 18 is_stmt 0 view .LVU1838 + 5797 0060 DA72 strb r2, [r3, #11] +2084:Src/main.c **** Def_setup.TEC2_EN = 0; + 5798 .loc 1 2084 2 is_stmt 1 view .LVU1839 +2084:Src/main.c **** Def_setup.TEC2_EN = 0; + 5799 .loc 1 2084 20 is_stmt 0 view .LVU1840 + 5800 0062 DA71 strb r2, [r3, #7] +2085:Src/main.c **** Def_setup.TS1_EN = 0; + 5801 .loc 1 2085 2 is_stmt 1 view .LVU1841 +2085:Src/main.c **** Def_setup.TS1_EN = 0; + 5802 .loc 1 2085 20 is_stmt 0 view .LVU1842 + 5803 0064 1A72 strb r2, [r3, #8] +2086:Src/main.c **** Def_setup.TS2_EN = 0; + 5804 .loc 1 2086 2 is_stmt 1 view .LVU1843 +2086:Src/main.c **** Def_setup.TS2_EN = 0; + 5805 .loc 1 2086 19 is_stmt 0 view .LVU1844 + 5806 0066 5A72 strb r2, [r3, #9] +2087:Src/main.c **** Def_setup.U5V1_EN = 0; + 5807 .loc 1 2087 2 is_stmt 1 view .LVU1845 +2087:Src/main.c **** Def_setup.U5V1_EN = 0; + 5808 .loc 1 2087 19 is_stmt 0 view .LVU1846 + 5809 0068 9A72 strb r2, [r3, #10] +2088:Src/main.c **** Def_setup.U5V2_EN = 0; + 5810 .loc 1 2088 2 is_stmt 1 view .LVU1847 +2088:Src/main.c **** Def_setup.U5V2_EN = 0; + 5811 .loc 1 2088 20 is_stmt 0 view .LVU1848 + 5812 006a 5A70 strb r2, [r3, #1] +2089:Src/main.c **** Def_setup.WORK_EN = 0; + 5813 .loc 1 2089 2 is_stmt 1 view .LVU1849 +2089:Src/main.c **** Def_setup.WORK_EN = 0; + 5814 .loc 1 2089 20 is_stmt 0 view .LVU1850 + 5815 006c 9A70 strb r2, [r3, #2] +2090:Src/main.c **** + 5816 .loc 1 2090 2 is_stmt 1 view .LVU1851 +2090:Src/main.c **** + 5817 .loc 1 2090 20 is_stmt 0 view .LVU1852 + 5818 006e 1A70 strb r2, [r3] +2092:Src/main.c **** LD2_def_setup.LD_TEMP = 0; + ARM GAS /tmp/ccwR4KB7.s page 334 -2050:Src/main.c **** LD1_curr_setup = LD1_def_setup; - 5013 .loc 1 2050 13 is_stmt 0 view .LVU1622 - 5014 0082 8F4E ldr r6, .L225+60 - 5015 0084 9C46 mov ip, r3 - 5016 0086 BCE80F00 ldmia ip!, {r0, r1, r2, r3} - 5017 008a 0FC6 stmia r6!, {r0, r1, r2, r3} - 5018 008c DCF80030 ldr r3, [ip] - 5019 0090 3380 strh r3, [r6] @ movhi -2051:Src/main.c **** LD2_curr_setup = LD2_def_setup; - 5020 .loc 1 2051 2 is_stmt 1 view .LVU1623 -2051:Src/main.c **** LD2_curr_setup = LD2_def_setup; - 5021 .loc 1 2051 17 is_stmt 0 view .LVU1624 - 5022 0092 8C4E ldr r6, .L225+64 - 5023 0094 95E80F00 ldm r5, {r0, r1, r2, r3} - 5024 0098 86E80F00 stm r6, {r0, r1, r2, r3} -2052:Src/main.c **** - 5025 .loc 1 2052 2 is_stmt 1 view .LVU1625 -2052:Src/main.c **** - 5026 .loc 1 2052 17 is_stmt 0 view .LVU1626 - 5027 009c 8A4D ldr r5, .L225+68 - 5028 009e 94E80F00 ldm r4, {r0, r1, r2, r3} - 5029 00a2 85E80F00 stm r5, {r0, r1, r2, r3} -2057:Src/main.c **** LL_TIM_EnableCounter(TIM6); - 5030 .loc 1 2057 2 is_stmt 1 view .LVU1627 - 5031 .LVL408: - 5032 .LBB516: - 5033 .LBI516: + 5819 .loc 1 2092 2 is_stmt 1 view .LVU1853 +2092:Src/main.c **** LD2_def_setup.LD_TEMP = 0; + 5820 .loc 1 2092 24 is_stmt 0 view .LVU1854 + 5821 0070 914D ldr r5, .L304+52 + 5822 0072 2A80 strh r2, [r5] @ movhi +2093:Src/main.c **** LD1_def_setup.P_coef_temp = 0; + 5823 .loc 1 2093 2 is_stmt 1 view .LVU1855 +2093:Src/main.c **** LD1_def_setup.P_coef_temp = 0; + 5824 .loc 1 2093 24 is_stmt 0 view .LVU1856 + 5825 0074 914C ldr r4, .L304+56 + 5826 0076 2280 strh r2, [r4] @ movhi +2094:Src/main.c **** LD2_def_setup.P_coef_temp = 0; + 5827 .loc 1 2094 2 is_stmt 1 view .LVU1857 +2094:Src/main.c **** LD2_def_setup.P_coef_temp = 0; + 5828 .loc 1 2094 28 is_stmt 0 view .LVU1858 + 5829 0078 0022 movs r2, #0 + 5830 007a 6A60 str r2, [r5, #4] @ float +2095:Src/main.c **** LD1_def_setup.I_coef_temp = 0; + 5831 .loc 1 2095 2 is_stmt 1 view .LVU1859 +2095:Src/main.c **** LD1_def_setup.I_coef_temp = 0; + 5832 .loc 1 2095 28 is_stmt 0 view .LVU1860 + 5833 007c 6260 str r2, [r4, #4] @ float +2096:Src/main.c **** LD2_def_setup.I_coef_temp = 0; + 5834 .loc 1 2096 2 is_stmt 1 view .LVU1861 +2096:Src/main.c **** LD2_def_setup.I_coef_temp = 0; + 5835 .loc 1 2096 28 is_stmt 0 view .LVU1862 + 5836 007e AA60 str r2, [r5, #8] @ float +2097:Src/main.c **** + 5837 .loc 1 2097 2 is_stmt 1 view .LVU1863 +2097:Src/main.c **** + 5838 .loc 1 2097 28 is_stmt 0 view .LVU1864 + 5839 0080 A260 str r2, [r4, #8] @ float +2100:Src/main.c **** LD1_curr_setup = LD1_def_setup; + 5840 .loc 1 2100 2 is_stmt 1 view .LVU1865 +2100:Src/main.c **** LD1_curr_setup = LD1_def_setup; + 5841 .loc 1 2100 13 is_stmt 0 view .LVU1866 + 5842 0082 8F4E ldr r6, .L304+60 + 5843 0084 9C46 mov ip, r3 + 5844 0086 BCE80F00 ldmia ip!, {r0, r1, r2, r3} + 5845 008a 0FC6 stmia r6!, {r0, r1, r2, r3} + 5846 008c DCF80030 ldr r3, [ip] + 5847 0090 3380 strh r3, [r6] @ movhi +2101:Src/main.c **** LD2_curr_setup = LD2_def_setup; + 5848 .loc 1 2101 2 is_stmt 1 view .LVU1867 +2101:Src/main.c **** LD2_curr_setup = LD2_def_setup; + 5849 .loc 1 2101 17 is_stmt 0 view .LVU1868 + 5850 0092 8C4E ldr r6, .L304+64 + 5851 0094 95E80F00 ldm r5, {r0, r1, r2, r3} + 5852 0098 86E80F00 stm r6, {r0, r1, r2, r3} +2102:Src/main.c **** + 5853 .loc 1 2102 2 is_stmt 1 view .LVU1869 +2102:Src/main.c **** + 5854 .loc 1 2102 17 is_stmt 0 view .LVU1870 + 5855 009c 8A4D ldr r5, .L304+68 + 5856 009e 94E80F00 ldm r4, {r0, r1, r2, r3} + 5857 00a2 85E80F00 stm r5, {r0, r1, r2, r3} +2107:Src/main.c **** LL_TIM_EnableCounter(TIM6); + ARM GAS /tmp/ccwR4KB7.s page 335 + + + 5858 .loc 1 2107 2 is_stmt 1 view .LVU1871 + 5859 .LVL526: + 5860 .LBB532: + 5861 .LBI532: 3238:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 3239:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 3240:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @@ -18658,9 +20075,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3265:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_ETR_PRESCALER_DIV1 3266:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_ETR_PRESCALER_DIV2 3267:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_ETR_PRESCALER_DIV4 - ARM GAS /tmp/ccYgfTud.s page 312 - - 3268:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_ETR_PRESCALER_DIV8 3269:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param ETRFilter This parameter can be one of the following values: 3270:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_ETR_FILTER_FDIV1 @@ -18684,6 +20098,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3288:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_ConfigETR(TIM_TypeDef *TIMx, uint32_t ETRPolarity, uint32_t ETRPrescale 3289:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** uint32_t ETRFilter) 3290:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { + ARM GAS /tmp/ccwR4KB7.s page 336 + + 3291:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** MODIFY_REG(TIMx->SMCR, TIM_SMCR_ETP | TIM_SMCR_ETPS | TIM_SMCR_ETF, ETRPolarity | ETRPrescaler | 3292:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 3293:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -18718,9 +20135,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3322:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_DisableBRK(TIM_TypeDef *TIMx) 3323:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 3324:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** CLEAR_BIT(TIMx->BDTR, TIM_BDTR_BKE); - ARM GAS /tmp/ccYgfTud.s page 313 - - 3325:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 3326:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 3327:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @@ -18744,6 +20158,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3345:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_BREAK_FILTER_FDIV4_N8 3346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_BREAK_FILTER_FDIV8_N6 3347:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_BREAK_FILTER_FDIV8_N8 + ARM GAS /tmp/ccwR4KB7.s page 337 + + 3348:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_BREAK_FILTER_FDIV16_N5 3349:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_BREAK_FILTER_FDIV16_N6 3350:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_BREAK_FILTER_FDIV16_N8 @@ -18778,9 +20195,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3379:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll BDTR BK2E LL_TIM_DisableBRK2 3380:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 3381:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None - ARM GAS /tmp/ccYgfTud.s page 314 - - 3382:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 3383:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_DisableBRK2(TIM_TypeDef *TIMx) 3384:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { @@ -18804,6 +20218,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3402:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_BREAK2_FILTER_FDIV1_N8 3403:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_BREAK2_FILTER_FDIV2_N6 3404:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_BREAK2_FILTER_FDIV2_N8 + ARM GAS /tmp/ccwR4KB7.s page 338 + + 3405:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_BREAK2_FILTER_FDIV4_N6 3406:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_BREAK2_FILTER_FDIV4_N8 3407:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_BREAK2_FILTER_FDIV8_N6 @@ -18838,9 +20255,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3436:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 3437:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_SetOffStates(TIM_TypeDef *TIMx, uint32_t OffStateIdle, uint32_t OffStat 3438:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - ARM GAS /tmp/ccYgfTud.s page 315 - - 3439:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** MODIFY_REG(TIMx->BDTR, TIM_BDTR_OSSI | TIM_BDTR_OSSR, OffStateIdle | OffStateRun); 3440:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 3441:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -18864,6 +20278,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3459:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll BDTR AOE LL_TIM_DisableAutomaticOutput 3460:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 3461:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None + ARM GAS /tmp/ccwR4KB7.s page 339 + + 3462:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 3463:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_DisableAutomaticOutput(TIM_TypeDef *TIMx) 3464:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { @@ -18898,9 +20315,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3493:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** SET_BIT(TIMx->BDTR, TIM_BDTR_MOE); 3494:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 3495:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** - ARM GAS /tmp/ccYgfTud.s page 316 - - 3496:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 3497:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Disable the outputs (reset the MOE bit in TIMx_BDTR register). 3498:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note The MOE bit in TIMx_BDTR register allows to enable /disable the outputs by @@ -18924,6 +20338,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3516:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 3517:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval State of bit (1 or 0). 3518:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 340 + + 3519:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE uint32_t LL_TIM_IsEnabledAllOutputs(const TIM_TypeDef *TIMx) 3520:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 3521:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** return ((READ_BIT(TIMx->BDTR, TIM_BDTR_MOE) == (TIM_BDTR_MOE)) ? 1UL : 0UL); @@ -18958,9 +20375,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3550:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_BREAKSOURCE_INSTANCE(TIMx) can be used to check whether 3551:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * or not a timer instance allows for break input selection. 3552:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll AF1 BKINE LL_TIM_DisableBreakInputSource\n - ARM GAS /tmp/ccYgfTud.s page 317 - - 3553:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * AF1 BKDFBKE LL_TIM_DisableBreakInputSource\n 3554:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * AF2 BK2INE LL_TIM_DisableBreakInputSource\n 3555:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * AF2 BK2DFBKE LL_TIM_DisableBreakInputSource @@ -18984,6 +20398,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3573:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_BREAKSOURCE_INSTANCE(TIMx) can be used to check whether 3574:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * or not a timer instance allows for break input selection. 3575:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll AF1 BKINP LL_TIM_SetBreakInputSourcePolarity\n + ARM GAS /tmp/ccwR4KB7.s page 341 + + 3576:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * AF1 BKDFBKP LL_TIM_SetBreakInputSourcePolarity\n 3577:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * AF2 BK2INP LL_TIM_SetBreakInputSourcePolarity\n 3578:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * AF2 BK2DFBKP LL_TIM_SetBreakInputSourcePolarity @@ -19018,9 +20435,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3607:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @note Macro IS_TIM_DMABURST_INSTANCE(TIMx) can be used to check whether or 3608:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * not a timer instance supports the DMA burst mode. 3609:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll DCR DBL LL_TIM_ConfigDMABurst\n - ARM GAS /tmp/ccYgfTud.s page 318 - - 3610:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * DCR DBA LL_TIM_ConfigDMABurst 3611:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 3612:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param DMABurstBaseAddress This parameter can be one of the following values: @@ -19044,6 +20458,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3630:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_DMABURST_BASEADDR_BDTR 3631:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_DMABURST_BASEADDR_OR 3632:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_DMABURST_BASEADDR_CCMR3 + ARM GAS /tmp/ccwR4KB7.s page 342 + + 3633:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_DMABURST_BASEADDR_CCR5 3634:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_DMABURST_BASEADDR_CCR6 3635:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_DMABURST_BASEADDR_AF1 (*) @@ -19078,9 +20495,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3664:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 3665:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @} 3666:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ - ARM GAS /tmp/ccYgfTud.s page 319 - - 3667:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 3668:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @defgroup TIM_LL_EF_Timer_Inputs_Remapping Timer input remapping 3669:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @{ @@ -19104,6 +20518,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3687:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * ITR1_RMP can be one of the following values 3688:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_TIM2_ITR1_RMP_TIM8_TRGO 3689:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_TIM2_ITR1_RMP_ETH_PTP + ARM GAS /tmp/ccwR4KB7.s page 343 + + 3690:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_TIM2_ITR1_RMP_OTG_FS_SOF 3691:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @arg @ref LL_TIM_TIM2_ITR1_RMP_OTG_HS_SOF 3692:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @@ -19138,9 +20555,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3721:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 3722:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Clear the update interrupt flag (UIF). 3723:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll SR UIF LL_TIM_ClearFlag_UPDATE - ARM GAS /tmp/ccYgfTud.s page 320 - - 3724:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 3725:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None 3726:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ @@ -19164,6 +20578,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3744:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Clear the Capture/Compare 1 interrupt flag (CC1F). 3745:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll SR CC1IF LL_TIM_ClearFlag_CC1 3746:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance + ARM GAS /tmp/ccwR4KB7.s page 344 + + 3747:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None 3748:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 3749:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_ClearFlag_CC1(TIM_TypeDef *TIMx) @@ -19198,9 +20615,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3778:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll SR CC2IF LL_TIM_IsActiveFlag_CC2 3779:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 3780:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval State of bit (1 or 0). - ARM GAS /tmp/ccYgfTud.s page 321 - - 3781:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 3782:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_CC2(const TIM_TypeDef *TIMx) 3783:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { @@ -19224,6 +20638,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3801:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 3802:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval State of bit (1 or 0). 3803:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 345 + + 3804:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_CC3(const TIM_TypeDef *TIMx) 3805:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 3806:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** return ((READ_BIT(TIMx->SR, TIM_SR_CC3IF) == (TIM_SR_CC3IF)) ? 1UL : 0UL); @@ -19258,9 +20675,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3835:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None 3836:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 3837:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_ClearFlag_CC5(TIM_TypeDef *TIMx) - ARM GAS /tmp/ccYgfTud.s page 322 - - 3838:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 3839:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** WRITE_REG(TIMx->SR, ~(TIM_SR_CC5IF)); 3840:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } @@ -19284,6 +20698,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3858:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 3859:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_ClearFlag_CC6(TIM_TypeDef *TIMx) 3860:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { + ARM GAS /tmp/ccwR4KB7.s page 346 + + 3861:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** WRITE_REG(TIMx->SR, ~(TIM_SR_CC6IF)); 3862:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 3863:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** @@ -19318,9 +20735,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3892:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE uint32_t LL_TIM_IsActiveFlag_COM(const TIM_TypeDef *TIMx) 3893:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 3894:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** return ((READ_BIT(TIMx->SR, TIM_SR_COMIF) == (TIM_SR_COMIF)) ? 1UL : 0UL); - ARM GAS /tmp/ccYgfTud.s page 323 - - 3895:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 3896:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 3897:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** @@ -19344,6 +20758,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3915:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 3916:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** return ((READ_BIT(TIMx->SR, TIM_SR_TIF) == (TIM_SR_TIF)) ? 1UL : 0UL); 3917:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } + ARM GAS /tmp/ccwR4KB7.s page 347 + + 3918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 3919:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 3920:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Clear the break interrupt flag (BIF). @@ -19378,9 +20795,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3949:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** WRITE_REG(TIMx->SR, ~(TIM_SR_B2IF)); 3950:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 3951:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** - ARM GAS /tmp/ccYgfTud.s page 324 - - 3952:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 3953:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Indicate whether break 2 interrupt flag (B2IF) is set (break 2 interrupt is pending). 3954:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll SR B2IF LL_TIM_IsActiveFlag_BRK2 @@ -19404,6 +20818,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3972:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 3973:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** 3974:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 348 + + 3975:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Indicate whether Capture/Compare 1 over-capture interrupt flag (CC1OF) is set 3976:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * (Capture/Compare 1 interrupt is pending). 3977:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll SR CC1OF LL_TIM_IsActiveFlag_CC1OVR @@ -19438,9 +20855,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 4006:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** return ((READ_BIT(TIMx->SR, TIM_SR_CC2OF) == (TIM_SR_CC2OF)) ? 1UL : 0UL); 4007:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 4008:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** - ARM GAS /tmp/ccYgfTud.s page 325 - - 4009:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 4010:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Clear the Capture/Compare 3 over-capture interrupt flag (CC3OF). 4011:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll SR CC3OF LL_TIM_ClearFlag_CC3OVR @@ -19464,6 +20878,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 4029:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** return ((READ_BIT(TIMx->SR, TIM_SR_CC3OF) == (TIM_SR_CC3OF)) ? 1UL : 0UL); 4030:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 4031:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** + ARM GAS /tmp/ccwR4KB7.s page 349 + + 4032:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 4033:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Clear the Capture/Compare 4 over-capture interrupt flag (CC4OF). 4034:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll SR CC4OF LL_TIM_ClearFlag_CC4OVR @@ -19498,9 +20915,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 4063:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** WRITE_REG(TIMx->SR, ~(TIM_SR_SBIF)); 4064:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } 4065:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** - ARM GAS /tmp/ccYgfTud.s page 326 - - 4066:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** /** 4067:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @brief Indicate whether system break interrupt flag (SBIF) is set (system break interrupt is p 4068:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll SR SBIF LL_TIM_IsActiveFlag_SYSBRK @@ -19524,79 +20938,82 @@ ARM GAS /tmp/ccYgfTud.s page 1 4086:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @rmtoll DIER UIE LL_TIM_EnableIT_UPDATE 4087:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @param TIMx Timer instance 4088:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** * @retval None + ARM GAS /tmp/ccwR4KB7.s page 350 + + 4089:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** */ 4090:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** __STATIC_INLINE void LL_TIM_EnableIT_UPDATE(TIM_TypeDef *TIMx) - 5034 .loc 5 4090 22 view .LVU1628 - 5035 .LBB517: + 5862 .loc 5 4090 22 view .LVU1872 + 5863 .LBB533: 4091:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { 4092:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** SET_BIT(TIMx->DIER, TIM_DIER_UIE); - 5036 .loc 5 4092 3 view .LVU1629 - 5037 00a6 894B ldr r3, .L225+72 - 5038 00a8 DA68 ldr r2, [r3, #12] - 5039 00aa 42F00102 orr r2, r2, #1 - 5040 00ae DA60 str r2, [r3, #12] - 5041 .LVL409: - 5042 .loc 5 4092 3 is_stmt 0 view .LVU1630 - 5043 .LBE517: - 5044 .LBE516: -2058:Src/main.c **** LL_TIM_EnableIT_UPDATE(TIM7); - 5045 .loc 1 2058 2 is_stmt 1 view .LVU1631 - 5046 .LBB518: - 5047 .LBI518: + 5864 .loc 5 4092 3 view .LVU1873 + 5865 00a6 894B ldr r3, .L304+72 + 5866 00a8 DA68 ldr r2, [r3, #12] + 5867 00aa 42F00102 orr r2, r2, #1 + 5868 00ae DA60 str r2, [r3, #12] + 5869 .LVL527: + 5870 .loc 5 4092 3 is_stmt 0 view .LVU1874 + 5871 .LBE533: + 5872 .LBE532: +2108:Src/main.c **** LL_TIM_EnableIT_UPDATE(TIM7); + 5873 .loc 1 2108 2 is_stmt 1 view .LVU1875 + 5874 .LBB534: + 5875 .LBI534: 1313:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - 5048 .loc 5 1313 22 view .LVU1632 - 5049 .LBB519: + 5876 .loc 5 1313 22 view .LVU1876 + 5877 .LBB535: 1315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 5050 .loc 5 1315 3 view .LVU1633 - 5051 00b0 1A68 ldr r2, [r3] - 5052 00b2 42F00102 orr r2, r2, #1 - 5053 00b6 1A60 str r2, [r3] - 5054 .LVL410: + 5878 .loc 5 1315 3 view .LVU1877 + 5879 00b0 1A68 ldr r2, [r3] + 5880 00b2 42F00102 orr r2, r2, #1 + 5881 00b6 1A60 str r2, [r3] + 5882 .LVL528: 1315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 5055 .loc 5 1315 3 is_stmt 0 view .LVU1634 - 5056 .LBE519: - 5057 .LBE518: -2059:Src/main.c **** LL_TIM_EnableCounter(TIM7); - 5058 .loc 1 2059 2 is_stmt 1 view .LVU1635 - ARM GAS /tmp/ccYgfTud.s page 327 - - - 5059 .LBB520: - 5060 .LBI520: + 5883 .loc 5 1315 3 is_stmt 0 view .LVU1878 + 5884 .LBE535: + 5885 .LBE534: +2109:Src/main.c **** LL_TIM_EnableCounter(TIM7); + 5886 .loc 1 2109 2 is_stmt 1 view .LVU1879 + 5887 .LBB536: + 5888 .LBI536: 4090:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - 5061 .loc 5 4090 22 view .LVU1636 - 5062 .LBB521: - 5063 .loc 5 4092 3 view .LVU1637 - 5064 00b8 03F58063 add r3, r3, #1024 - 5065 00bc DA68 ldr r2, [r3, #12] - 5066 00be 42F00102 orr r2, r2, #1 - 5067 00c2 DA60 str r2, [r3, #12] - 5068 .LVL411: - 5069 .loc 5 4092 3 is_stmt 0 view .LVU1638 - 5070 .LBE521: - 5071 .LBE520: -2060:Src/main.c **** //HAL_TIM_Base_Start_IT(&htim6); - 5072 .loc 1 2060 2 is_stmt 1 view .LVU1639 - 5073 .LBB522: - 5074 .LBI522: + 5889 .loc 5 4090 22 view .LVU1880 + 5890 .LBB537: + 5891 .loc 5 4092 3 view .LVU1881 + 5892 00b8 03F58063 add r3, r3, #1024 + 5893 00bc DA68 ldr r2, [r3, #12] + 5894 00be 42F00102 orr r2, r2, #1 + 5895 00c2 DA60 str r2, [r3, #12] + 5896 .LVL529: + 5897 .loc 5 4092 3 is_stmt 0 view .LVU1882 + 5898 .LBE537: + 5899 .LBE536: +2110:Src/main.c **** //HAL_TIM_Base_Start_IT(&htim6); + 5900 .loc 1 2110 2 is_stmt 1 view .LVU1883 + 5901 .LBB538: + 5902 .LBI538: 1313:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** { - 5075 .loc 5 1313 22 view .LVU1640 - 5076 .LBB523: + 5903 .loc 5 1313 22 view .LVU1884 + 5904 .LBB539: 1315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 5077 .loc 5 1315 3 view .LVU1641 - 5078 00c4 1A68 ldr r2, [r3] - 5079 00c6 42F00102 orr r2, r2, #1 - 5080 00ca 1A60 str r2, [r3] - 5081 .LVL412: + 5905 .loc 5 1315 3 view .LVU1885 + ARM GAS /tmp/ccwR4KB7.s page 351 + + + 5906 00c4 1A68 ldr r2, [r3] + 5907 00c6 42F00102 orr r2, r2, #1 + 5908 00ca 1A60 str r2, [r3] + 5909 .LVL530: 1315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_tim.h **** } - 5082 .loc 5 1315 3 is_stmt 0 view .LVU1642 - 5083 .LBE523: - 5084 .LBE522: -2067:Src/main.c **** LL_DMA_ClearFlag_TC7(DMA2); - 5085 .loc 1 2067 3 is_stmt 1 view .LVU1643 - 5086 .LBB524: - 5087 .LBI524: - 5088 .file 6 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h" + 5910 .loc 5 1315 3 is_stmt 0 view .LVU1886 + 5911 .LBE539: + 5912 .LBE538: +2117:Src/main.c **** LL_DMA_ClearFlag_TC7(DMA2); + 5913 .loc 1 2117 3 is_stmt 1 view .LVU1887 + 5914 .LBB540: + 5915 .LBI540: + 5916 .file 6 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h" 1:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 2:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** ****************************************************************************** 3:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @file stm32f7xx_ll_dma.h @@ -19618,9 +21035,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 19:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /* Define to prevent recursive inclusion -------------------------------------*/ 20:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #ifndef __STM32F7xx_LL_DMA_H 21:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define __STM32F7xx_LL_DMA_H - ARM GAS /tmp/ccYgfTud.s page 328 - - 22:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 23:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #ifdef __cplusplus 24:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** extern "C" { @@ -19644,6 +21058,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 42:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** @defgroup DMA_LL_Private_Variables DMA Private Variables 43:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @{ 44:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 352 + + 45:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /* Array used to get the DMA stream register offset versus stream index LL_DMA_STREAM_x */ 46:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** static const uint8_t STREAM_OFFSET_TAB[] = 47:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { @@ -19678,9 +21095,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 76:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #if defined(USE_FULL_LL_DRIVER) 77:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** @defgroup DMA_LL_ES_INIT DMA Exported Init structure 78:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @{ - ARM GAS /tmp/ccYgfTud.s page 329 - - 79:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 80:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** typedef struct 81:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { @@ -19704,6 +21118,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 99:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** This parameter can be a value of @ref DMA_LL_EC_MODE 100:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** @note The circular buffer mode cannot be used if the memory 101:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** data transfer direction is configured on the selected + ARM GAS /tmp/ccwR4KB7.s page 353 + + 102:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 103:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** This feature can be modified afterwards using unitary funct 104:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** @@ -19738,9 +21155,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 133:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 134:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** This feature can be modified afterwards using unitary funct 135:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** - ARM GAS /tmp/ccYgfTud.s page 330 - - 136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** uint32_t Channel; /*!< Specifies the peripheral channel. 137:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** This parameter can be a value of @ref DMA_LL_EC_CHANNEL 138:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** @@ -19764,6 +21178,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 156:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** This feature can be modified afterwards using unitary funct 157:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 158:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** uint32_t MemBurst; /*!< Specifies the Burst transfer configuration for the memory t + ARM GAS /tmp/ccwR4KB7.s page 354 + + 159:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** It specifies the amount of data to be transferred in a sing 160:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** transaction. 161:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** This parameter can be a value of @ref DMA_LL_EC_MBURST @@ -19798,9 +21215,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 190:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_STREAM_3 0x00000003U 191:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_STREAM_4 0x00000004U 192:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_STREAM_5 0x00000005U - ARM GAS /tmp/ccYgfTud.s page 331 - - 193:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_STREAM_6 0x00000006U 194:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_STREAM_7 0x00000007U 195:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_STREAM_ALL 0xFFFF0000U @@ -19824,6 +21238,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 213:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_MODE_NORMAL 0x00000000U /*!< Normal Mode 214:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_MODE_CIRCULAR DMA_SxCR_CIRC /*!< Circular Mode 215:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_MODE_PFCTRL DMA_SxCR_PFCTRL /*!< Peripheral flow control mo + ARM GAS /tmp/ccwR4KB7.s page 355 + + 216:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 217:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @} 218:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ @@ -19858,9 +21275,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 247:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** @defgroup DMA_LL_EC_PDATAALIGN PDATAALIGN 248:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @{ 249:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ - ARM GAS /tmp/ccYgfTud.s page 332 - - 250:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_PDATAALIGN_BYTE 0x00000000U /*!< Peripheral data alignment 251:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_PDATAALIGN_HALFWORD DMA_SxCR_PSIZE_0 /*!< Peripheral data alignment 252:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_PDATAALIGN_WORD DMA_SxCR_PSIZE_1 /*!< Peripheral data alignment @@ -19884,6 +21298,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 270:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_OFFSETSIZE_PSIZE 0x00000000U /*!< Peripheral increment offse 271:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_OFFSETSIZE_FIXEDTO4 DMA_SxCR_PINCOS /*!< Peripheral increment offse 272:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 356 + + 273:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @} 274:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 275:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** @@ -19918,9 +21335,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 304:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_CHANNEL_13 (DMA_SxCR_CHSEL_3 | DMA_SxCR_CHSEL_2 | DMA_SxCR_CHSEL_0) 305:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_CHANNEL_14 (DMA_SxCR_CHSEL_3 | DMA_SxCR_CHSEL_2 | DMA_SxCR_CHSEL_1) 306:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_CHANNEL_15 DMA_SxCR_CHSEL - ARM GAS /tmp/ccYgfTud.s page 333 - - 307:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #endif /* DMA_CHANNEL_SELECTION_8_15 */ 308:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 309:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @} @@ -19944,6 +21358,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 327:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_PBURST_INC4 DMA_SxCR_PBURST_0 /*!< Peripheral b 328:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_PBURST_INC8 DMA_SxCR_PBURST_1 /*!< Peripheral b 329:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_PBURST_INC16 (DMA_SxCR_PBURST_0 | DMA_SxCR_PBURST_1) /*!< Peripheral b + ARM GAS /tmp/ccwR4KB7.s page 357 + + 330:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 331:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @} 332:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ @@ -19978,9 +21395,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 361:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_FIFOTHRESHOLD_3_4 DMA_SxFCR_FTH_1 /*!< FIFO thresho 362:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** #define LL_DMA_FIFOTHRESHOLD_FULL DMA_SxFCR_FTH /*!< FIFO thresho 363:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** - ARM GAS /tmp/ccYgfTud.s page 334 - - 364:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @} 365:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 366:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** @@ -20004,6 +21418,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 384:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 385:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** @defgroup DMA_LL_EM_WRITE_READ Common Write and read registers macros 386:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @{ + ARM GAS /tmp/ccwR4KB7.s page 358 + + 387:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 388:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 389:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Write a value in DMA register @@ -20038,9 +21455,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 418:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 419:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 420:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Convert DMAx_Streamy into LL_DMA_STREAM_y - ARM GAS /tmp/ccYgfTud.s page 335 - - 421:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param __STREAM_INSTANCE__ DMAx_Streamy 422:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval LL_DMA_CHANNEL_y 423:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ @@ -20064,6 +21478,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 441:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 442:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Convert DMA Instance DMAx and LL_DMA_STREAM_y into DMAx_Streamy 443:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param __DMA_INSTANCE__ DMAx + ARM GAS /tmp/ccwR4KB7.s page 359 + + 444:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param __STREAM__ LL_DMA_STREAM_y 445:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval DMAx_Streamy 446:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ @@ -20098,9 +21515,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 475:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** @defgroup DMA_LL_Exported_Functions DMA Exported Functions 476:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @{ 477:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ - ARM GAS /tmp/ccYgfTud.s page 336 - - 478:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 479:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** @defgroup DMA_LL_EF_Configuration Configuration 480:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @{ @@ -20124,6 +21538,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 498:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 499:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** SET_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->CR, DMA 500:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + ARM GAS /tmp/ccwR4KB7.s page 360 + + 501:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 502:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 503:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Disable DMA stream. @@ -20141,26 +21558,23 @@ ARM GAS /tmp/ccYgfTud.s page 1 515:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 516:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 517:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_DisableStream(DMA_TypeDef *DMAx, uint32_t Stream) - 5089 .loc 6 517 22 view .LVU1644 - 5090 .LBB525: + 5917 .loc 6 517 22 view .LVU1888 + 5918 .LBB541: 518:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 519:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** CLEAR_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->CR, D - 5091 .loc 6 519 3 view .LVU1645 - 5092 00cc 03F51433 add r3, r3, #151552 - 5093 00d0 D3F8B820 ldr r2, [r3, #184] - 5094 00d4 22F00102 bic r2, r2, #1 - 5095 00d8 C3F8B820 str r2, [r3, #184] - 5096 .LVL413: - 5097 .loc 6 519 3 is_stmt 0 view .LVU1646 - 5098 .LBE525: - 5099 .LBE524: -2068:Src/main.c **** LL_DMA_ClearFlag_TE7(DMA2); - 5100 .loc 1 2068 3 is_stmt 1 view .LVU1647 - 5101 .LBB526: - 5102 .LBI526: - ARM GAS /tmp/ccYgfTud.s page 337 - - + 5919 .loc 6 519 3 view .LVU1889 + 5920 00cc 03F51433 add r3, r3, #151552 + 5921 00d0 D3F8B820 ldr r2, [r3, #184] + 5922 00d4 22F00102 bic r2, r2, #1 + 5923 00d8 C3F8B820 str r2, [r3, #184] + 5924 .LVL531: + 5925 .loc 6 519 3 is_stmt 0 view .LVU1890 + 5926 .LBE541: + 5927 .LBE540: +2118:Src/main.c **** LL_DMA_ClearFlag_TE7(DMA2); + 5928 .loc 1 2118 3 is_stmt 1 view .LVU1891 + 5929 .LBB542: + 5930 .LBI542: 520:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 521:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 522:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** @@ -20184,6 +21598,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 540:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 541:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 542:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 361 + + 543:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Configure all parameters linked to DMA transfer. 544:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll CR DIR LL_DMA_ConfigTransfer\n 545:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * CR CIRC LL_DMA_ConfigTransfer\n @@ -20218,9 +21635,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 574:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** MODIFY_REG(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->CR, 575:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** DMA_SxCR_DIR | DMA_SxCR_CIRC | DMA_SxCR_PINC | DMA_SxCR_MINC | DMA_SxCR_PSIZE | DMA_Sx 576:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** Configuration); - ARM GAS /tmp/ccYgfTud.s page 338 - - 577:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 578:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 579:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** @@ -20244,6 +21658,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 597:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 598:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_SetDataTransferDirection(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t 599:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { + ARM GAS /tmp/ccwR4KB7.s page 362 + + 600:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->CR, D 601:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 602:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** @@ -20278,9 +21695,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 631:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param Stream This parameter can be one of the following values: 632:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_0 633:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_1 - ARM GAS /tmp/ccYgfTud.s page 339 - - 634:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_2 635:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_3 636:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_4 @@ -20304,6 +21718,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 654:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * CR PFCTRL LL_DMA_GetMode 655:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 656:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param Stream This parameter can be one of the following values: + ARM GAS /tmp/ccwR4KB7.s page 363 + + 657:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_0 658:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_1 659:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_2 @@ -20338,9 +21755,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 688:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param IncrementMode This parameter can be one of the following values: 689:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_PERIPH_NOINCREMENT 690:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_PERIPH_INCREMENT - ARM GAS /tmp/ccYgfTud.s page 340 - - 691:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 692:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 693:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_SetPeriphIncMode(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Increment @@ -20364,6 +21778,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 711:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval Returned value can be one of the following values: 712:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_PERIPH_NOINCREMENT 713:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_PERIPH_INCREMENT + ARM GAS /tmp/ccwR4KB7.s page 364 + + 714:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 715:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE uint32_t LL_DMA_GetPeriphIncMode(DMA_TypeDef *DMAx, uint32_t Stream) 716:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { @@ -20398,9 +21815,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 745:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll CR MINC LL_DMA_GetMemoryIncMode 746:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 747:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param Stream This parameter can be one of the following values: - ARM GAS /tmp/ccYgfTud.s page 341 - - 748:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_0 749:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_1 750:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_2 @@ -20424,6 +21838,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 768:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 769:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param Stream This parameter can be one of the following values: 770:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_0 + ARM GAS /tmp/ccwR4KB7.s page 365 + + 771:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_1 772:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_2 773:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_3 @@ -20458,9 +21875,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 802:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval Returned value can be one of the following values: 803:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_PDATAALIGN_BYTE 804:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_PDATAALIGN_HALFWORD - ARM GAS /tmp/ccYgfTud.s page 342 - - 805:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_PDATAALIGN_WORD 806:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 807:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE uint32_t LL_DMA_GetPeriphSize(DMA_TypeDef *DMAx, uint32_t Stream) @@ -20484,6 +21898,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 825:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param Size This parameter can be one of the following values: 826:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_MDATAALIGN_BYTE 827:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_MDATAALIGN_HALFWORD + ARM GAS /tmp/ccwR4KB7.s page 366 + + 828:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_MDATAALIGN_WORD 829:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 830:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ @@ -20518,9 +21935,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 859:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 860:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Set Peripheral increment offset size. 861:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll CR PINCOS LL_DMA_SetIncOffsetSize - ARM GAS /tmp/ccYgfTud.s page 343 - - 862:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 863:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param Stream This parameter can be one of the following values: 864:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_0 @@ -20544,6 +21958,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 882:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 883:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Get Peripheral increment offset size. 884:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll CR PINCOS LL_DMA_GetIncOffsetSize + ARM GAS /tmp/ccwR4KB7.s page 367 + + 885:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 886:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param Stream This parameter can be one of the following values: 887:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_0 @@ -20578,9 +21995,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 916:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_7 917:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param Priority This parameter can be one of the following values: 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_PRIORITY_LOW - ARM GAS /tmp/ccYgfTud.s page 344 - - 919:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_PRIORITY_MEDIUM 920:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_PRIORITY_HIGH 921:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_PRIORITY_VERYHIGH @@ -20604,6 +22018,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 939:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_5 940:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_6 941:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_7 + ARM GAS /tmp/ccwR4KB7.s page 368 + + 942:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval Returned value can be one of the following values: 943:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_PRIORITY_LOW 944:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_PRIORITY_MEDIUM @@ -20638,9 +22055,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 973:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->NDTR, 974:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 975:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** - ARM GAS /tmp/ccYgfTud.s page 345 - - 976:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 977:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Get Number of data to transfer. 978:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll NDTR NDT LL_DMA_GetDataLength @@ -20664,6 +22078,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 996:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 997:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 998:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 369 + + 999:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Select Channel number associated to the Stream. 1000:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll CR CHSEL LL_DMA_SetChannelSelection 1001:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance @@ -20698,9 +22115,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1030:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 1031:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 1032:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_SetChannelSelection(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Channe - ARM GAS /tmp/ccYgfTud.s page 346 - - 1033:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 1034:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->CR, D 1035:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } @@ -20724,6 +22138,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1053:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_CHANNEL_2 1054:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_CHANNEL_3 1055:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_CHANNEL_4 + ARM GAS /tmp/ccwR4KB7.s page 370 + + 1056:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_CHANNEL_5 1057:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_CHANNEL_6 1058:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_CHANNEL_7 @@ -20758,9 +22175,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1087:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_7 1088:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param Mburst This parameter can be one of the following values: 1089:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_MBURST_SINGLE - ARM GAS /tmp/ccYgfTud.s page 347 - - 1090:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_MBURST_INC4 1091:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_MBURST_INC8 1092:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_MBURST_INC16 @@ -20784,6 +22198,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1110:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_5 1111:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_6 1112:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_7 + ARM GAS /tmp/ccwR4KB7.s page 371 + + 1113:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval Returned value can be one of the following values: 1114:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_MBURST_SINGLE 1115:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_MBURST_INC4 @@ -20818,9 +22235,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1144:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_SetPeriphBurstxfer(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t Pburst) 1145:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 1146:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->CR, D - ARM GAS /tmp/ccYgfTud.s page 348 - - 1147:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 1148:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 1149:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** @@ -20844,6 +22258,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1167:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 1168:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE uint32_t LL_DMA_GetPeriphBurstxfer(DMA_TypeDef *DMAx, uint32_t Stream) 1169:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { + ARM GAS /tmp/ccwR4KB7.s page 372 + + 1170:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))- 1171:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 1172:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** @@ -20878,9 +22295,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1201:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_0 1202:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_1 1203:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_2 - ARM GAS /tmp/ccYgfTud.s page 349 - - 1204:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_3 1205:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_4 1206:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_5 @@ -20904,6 +22318,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1224:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_1 1225:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_2 1226:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_3 + ARM GAS /tmp/ccwR4KB7.s page 373 + + 1227:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_4 1228:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_5 1229:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_6 @@ -20938,9 +22355,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1258:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 1259:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Get FIFO status. 1260:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll FCR FS LL_DMA_GetFIFOStatus - ARM GAS /tmp/ccYgfTud.s page 350 - - 1261:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 1262:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param Stream This parameter can be one of the following values: 1263:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_0 @@ -20964,6 +22378,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1281:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** return (READ_BIT(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))- 1282:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 1283:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** + ARM GAS /tmp/ccwR4KB7.s page 374 + + 1284:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 1285:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Disable Fifo mode. 1286:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll FCR DMDIS LL_DMA_DisableFifoMode @@ -20998,9 +22415,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_6 1316:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_7 1317:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None - ARM GAS /tmp/ccYgfTud.s page 351 - - 1318:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 1319:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_EnableFifoMode(DMA_TypeDef *DMAx, uint32_t Stream) 1320:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { @@ -21024,6 +22438,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1338:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_FIFOTHRESHOLD_1_4 1339:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_FIFOTHRESHOLD_1_2 1340:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_FIFOTHRESHOLD_3_4 + ARM GAS /tmp/ccwR4KB7.s page 375 + + 1341:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_FIFOTHRESHOLD_FULL 1342:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 1343:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ @@ -21058,9 +22475,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 1373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 1374:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Configure the FIFO . - ARM GAS /tmp/ccYgfTud.s page 352 - - 1375:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll FCR FTH LL_DMA_ConfigFifo\n 1376:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * FCR DMDIS LL_DMA_ConfigFifo 1377:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance @@ -21084,6 +22498,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1395:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 1396:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 1397:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_ConfigFifo(DMA_TypeDef *DMAx, uint32_t Stream, uint32_t FifoMode, uint3 + ARM GAS /tmp/ccwR4KB7.s page 376 + + 1398:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 1399:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** MODIFY_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->FCR, 1400:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } @@ -21118,9 +22535,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1429:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 1430:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** WRITE_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->M0AR 1431:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** WRITE_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->PAR, - ARM GAS /tmp/ccYgfTud.s page 353 - - 1432:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 1433:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /* Direction Periph to Memory and Memory to Memory */ 1434:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** else @@ -21144,6 +22558,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1452:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_4 1453:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_5 1454:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_6 + ARM GAS /tmp/ccwR4KB7.s page 377 + + 1455:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_7 1456:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param MemoryAddress Between 0 to 0xFFFFFFFF 1457:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None @@ -21178,9 +22595,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1486:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 1487:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 1488:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Get the Memory address. - ARM GAS /tmp/ccYgfTud.s page 354 - - 1489:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll M0AR M0A LL_DMA_GetMemoryAddress 1490:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @note Interface used for direction LL_DMA_DIRECTION_PERIPH_TO_MEMORY or LL_DMA_DIRECTION_MEMO 1491:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance @@ -21204,6 +22618,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1509:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Get the Peripheral address. 1510:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll PAR PA LL_DMA_GetPeriphAddress 1511:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @note Interface used for direction LL_DMA_DIRECTION_PERIPH_TO_MEMORY or LL_DMA_DIRECTION_MEMO + ARM GAS /tmp/ccwR4KB7.s page 378 + + 1512:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 1513:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param Stream This parameter can be one of the following values: 1514:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_0 @@ -21238,9 +22655,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1543:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_7 1544:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param MemoryAddress Between 0 to 0xFFFFFFFF 1545:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None - ARM GAS /tmp/ccYgfTud.s page 355 - - 1546:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 1547:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_SetM2MSrcAddress(DMA_TypeDef* DMAx, uint32_t Stream, uint32_t MemoryAdd 1548:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { @@ -21264,6 +22678,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1566:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_7 1567:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param MemoryAddress Between 0 to 0xFFFFFFFF 1568:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None + ARM GAS /tmp/ccwR4KB7.s page 379 + + 1569:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 1570:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_SetM2MDstAddress(DMA_TypeDef* DMAx, uint32_t Stream, uint32_t MemoryAdd 1571:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { @@ -21298,9 +22715,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1600:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 1601:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param Stream This parameter can be one of the following values: 1602:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_0 - ARM GAS /tmp/ccYgfTud.s page 356 - - 1603:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_1 1604:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_2 1605:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_3 @@ -21324,6 +22738,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1623:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_1 1624:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_2 1625:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_3 + ARM GAS /tmp/ccwR4KB7.s page 380 + + 1626:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_4 1627:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_5 1628:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @arg @ref LL_DMA_STREAM_6 @@ -21358,9 +22775,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1657:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 1658:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 1659:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @} - ARM GAS /tmp/ccYgfTud.s page 357 - - 1660:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 1661:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 1662:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** @defgroup DMA_LL_EF_FLAG_Management FLAG_Management @@ -21384,6 +22798,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1680:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 1681:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval State of bit (1 or 0). 1682:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 381 + + 1683:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT1(DMA_TypeDef *DMAx) 1684:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 1685:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** return (READ_BIT(DMAx->LISR ,DMA_LISR_HTIF1)==(DMA_LISR_HTIF1)); @@ -21418,9 +22835,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1714:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval State of bit (1 or 0). 1715:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 1716:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT4(DMA_TypeDef *DMAx) - ARM GAS /tmp/ccYgfTud.s page 358 - - 1717:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 1718:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** return (READ_BIT(DMAx->HISR ,DMA_HISR_HTIF4)==(DMA_HISR_HTIF4)); 1719:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } @@ -21444,6 +22858,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1737:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 1738:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_HT6(DMA_TypeDef *DMAx) 1739:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { + ARM GAS /tmp/ccwR4KB7.s page 382 + + 1740:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** return (READ_BIT(DMAx->HISR ,DMA_HISR_HTIF6)==(DMA_HISR_HTIF6)); 1741:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 1742:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** @@ -21478,9 +22895,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1771:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_TC1(DMA_TypeDef *DMAx) 1772:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 1773:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** return (READ_BIT(DMAx->LISR ,DMA_LISR_TCIF1)==(DMA_LISR_TCIF1)); - ARM GAS /tmp/ccYgfTud.s page 359 - - 1774:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 1775:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 1776:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** @@ -21504,6 +22918,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1794:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 1795:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** return (READ_BIT(DMAx->LISR ,DMA_LISR_TCIF3)==(DMA_LISR_TCIF3)); 1796:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + ARM GAS /tmp/ccwR4KB7.s page 383 + + 1797:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 1798:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 1799:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Get Stream 4 transfer complete flag. @@ -21538,9 +22955,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1828:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** return (READ_BIT(DMAx->HISR ,DMA_HISR_TCIF6)==(DMA_HISR_TCIF6)); 1829:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 1830:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** - ARM GAS /tmp/ccYgfTud.s page 360 - - 1831:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 1832:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Get Stream 7 transfer complete flag. 1833:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll HISR TCIF7 LL_DMA_IsActiveFlag_TC7 @@ -21564,6 +22978,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1851:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 1852:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 1853:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 384 + + 1854:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Get Stream 1 transfer error flag. 1855:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll LISR TEIF1 LL_DMA_IsActiveFlag_TE1 1856:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance @@ -21598,9 +23015,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1885:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 1886:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 1887:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Get Stream 4 transfer error flag. - ARM GAS /tmp/ccYgfTud.s page 361 - - 1888:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll HISR TEIF4 LL_DMA_IsActiveFlag_TE4 1889:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 1890:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval State of bit (1 or 0). @@ -21624,6 +23038,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1908:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 1909:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Get Stream 6 transfer error flag. 1910:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll HISR TEIF6 LL_DMA_IsActiveFlag_TE6 + ARM GAS /tmp/ccwR4KB7.s page 385 + + 1911:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 1912:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval State of bit (1 or 0). 1913:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ @@ -21658,9 +23075,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1942:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Get Stream 1 direct mode error flag. 1943:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll LISR DMEIF1 LL_DMA_IsActiveFlag_DME1 1944:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance - ARM GAS /tmp/ccYgfTud.s page 362 - - 1945:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval State of bit (1 or 0). 1946:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 1947:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_DME1(DMA_TypeDef *DMAx) @@ -21684,6 +23098,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1965:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll LISR DMEIF3 LL_DMA_IsActiveFlag_DME3 1966:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 1967:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval State of bit (1 or 0). + ARM GAS /tmp/ccwR4KB7.s page 386 + + 1968:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 1969:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_DME3(DMA_TypeDef *DMAx) 1970:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { @@ -21718,9 +23135,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1999:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 2000:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval State of bit (1 or 0). 2001:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ - ARM GAS /tmp/ccYgfTud.s page 363 - - 2002:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_DME6(DMA_TypeDef *DMAx) 2003:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 2004:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** return (READ_BIT(DMAx->HISR ,DMA_HISR_DMEIF6)==(DMA_HISR_DMEIF6)); @@ -21744,6 +23158,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2022:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval State of bit (1 or 0). 2023:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 2024:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_FE0(DMA_TypeDef *DMAx) + ARM GAS /tmp/ccwR4KB7.s page 387 + + 2025:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 2026:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** return (READ_BIT(DMAx->LISR ,DMA_LISR_FEIF0)==(DMA_LISR_FEIF0)); 2027:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } @@ -21778,9 +23195,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2056:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 2057:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_FE3(DMA_TypeDef *DMAx) 2058:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - ARM GAS /tmp/ccYgfTud.s page 364 - - 2059:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** return (READ_BIT(DMAx->LISR ,DMA_LISR_FEIF3)==(DMA_LISR_FEIF3)); 2060:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 2061:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** @@ -21804,6 +23218,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2079:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE uint32_t LL_DMA_IsActiveFlag_FE5(DMA_TypeDef *DMAx) 2080:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 2081:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** return (READ_BIT(DMAx->HISR ,DMA_HISR_FEIF5)==(DMA_HISR_FEIF5)); + ARM GAS /tmp/ccwR4KB7.s page 388 + + 2082:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 2083:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 2084:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** @@ -21838,9 +23255,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2113:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 2114:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** WRITE_REG(DMAx->LIFCR , DMA_LIFCR_CHTIF0); 2115:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - ARM GAS /tmp/ccYgfTud.s page 365 - - 2116:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 2117:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 2118:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Clear Stream 1 half transfer flag. @@ -21864,6 +23278,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** WRITE_REG(DMAx->LIFCR , DMA_LIFCR_CHTIF2); 2137:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 2138:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** + ARM GAS /tmp/ccwR4KB7.s page 389 + + 2139:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 2140:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Clear Stream 3 half transfer flag. 2141:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll LIFCR CHTIF3 LL_DMA_ClearFlag_HT3 @@ -21898,9 +23315,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2170:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 2171:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 2172:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** - ARM GAS /tmp/ccYgfTud.s page 366 - - 2173:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Clear Stream 6 half transfer flag. 2174:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll HIFCR CHTIF6 LL_DMA_ClearFlag_HT6 2175:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance @@ -21924,6 +23338,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2193:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 2194:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 2195:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Clear Stream 0 transfer complete flag. + ARM GAS /tmp/ccwR4KB7.s page 390 + + 2196:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll LIFCR CTCIF0 LL_DMA_ClearFlag_TC0 2197:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 2198:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None @@ -21958,9 +23375,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2227:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 2228:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Clear Stream 3 transfer complete flag. 2229:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll LIFCR CTCIF3 LL_DMA_ClearFlag_TC3 - ARM GAS /tmp/ccYgfTud.s page 367 - - 2230:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 2231:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 2232:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ @@ -21984,6 +23398,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2250:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Clear Stream 5 transfer complete flag. 2251:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll HIFCR CTCIF5 LL_DMA_ClearFlag_TC5 2252:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance + ARM GAS /tmp/ccwR4KB7.s page 391 + + 2253:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 2254:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 2255:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_ClearFlag_TC5(DMA_TypeDef *DMAx) @@ -22009,24 +23426,21 @@ ARM GAS /tmp/ccYgfTud.s page 1 2275:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 2276:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 2277:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_ClearFlag_TC7(DMA_TypeDef *DMAx) - 5103 .loc 6 2277 22 view .LVU1648 - 5104 .LBB527: + 5931 .loc 6 2277 22 view .LVU1892 + 5932 .LBB543: 2278:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 2279:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** WRITE_REG(DMAx->HIFCR , DMA_HIFCR_CTCIF7); - 5105 .loc 6 2279 3 view .LVU1649 - 5106 00dc 4FF00062 mov r2, #134217728 - 5107 00e0 DA60 str r2, [r3, #12] - 5108 .LVL414: - 5109 .loc 6 2279 3 is_stmt 0 view .LVU1650 - ARM GAS /tmp/ccYgfTud.s page 368 - - - 5110 .LBE527: - 5111 .LBE526: -2069:Src/main.c **** LL_USART_EnableDMAReq_TX(USART1); - 5112 .loc 1 2069 3 is_stmt 1 view .LVU1651 - 5113 .LBB528: - 5114 .LBI528: + 5933 .loc 6 2279 3 view .LVU1893 + 5934 00dc 4FF00062 mov r2, #134217728 + 5935 00e0 DA60 str r2, [r3, #12] + 5936 .LVL532: + 5937 .loc 6 2279 3 is_stmt 0 view .LVU1894 + 5938 .LBE543: + 5939 .LBE542: +2119:Src/main.c **** LL_USART_EnableDMAReq_TX(USART1); + 5940 .loc 1 2119 3 is_stmt 1 view .LVU1895 + 5941 .LBB544: + 5942 .LBI544: 2280:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 2281:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 2282:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** @@ -22044,6 +23458,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2294:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Clear Stream 1 transfer error flag. 2295:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll LIFCR CTEIF1 LL_DMA_ClearFlag_TE1 2296:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance + ARM GAS /tmp/ccwR4KB7.s page 392 + + 2297:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 2298:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 2299:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_ClearFlag_TE1(DMA_TypeDef *DMAx) @@ -22078,9 +23495,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2328:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll HIFCR CTEIF4 LL_DMA_ClearFlag_TE4 2329:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 2330:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None - ARM GAS /tmp/ccYgfTud.s page 369 - - 2331:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 2332:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_ClearFlag_TE4(DMA_TypeDef *DMAx) 2333:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { @@ -22104,6 +23518,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2351:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 2352:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 2353:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 393 + + 2354:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_ClearFlag_TE6(DMA_TypeDef *DMAx) 2355:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 2356:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** WRITE_REG(DMAx->HIFCR , DMA_HIFCR_CTEIF6); @@ -22116,31 +23533,28 @@ ARM GAS /tmp/ccYgfTud.s page 1 2363:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 2364:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 2365:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_ClearFlag_TE7(DMA_TypeDef *DMAx) - 5115 .loc 6 2365 22 view .LVU1652 - 5116 .LBB529: + 5943 .loc 6 2365 22 view .LVU1896 + 5944 .LBB545: 2366:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 2367:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** WRITE_REG(DMAx->HIFCR , DMA_HIFCR_CTEIF7); - 5117 .loc 6 2367 3 view .LVU1653 - 5118 00e2 4FF00072 mov r2, #33554432 - 5119 00e6 DA60 str r2, [r3, #12] - 5120 .LVL415: - 5121 .loc 6 2367 3 is_stmt 0 view .LVU1654 - 5122 .LBE529: - 5123 .LBE528: -2070:Src/main.c **** LL_DMA_EnableIT_TC(DMA2, LL_DMA_STREAM_7); - 5124 .loc 1 2070 3 is_stmt 1 view .LVU1655 - 5125 .LBB530: - 5126 .LBI530: - 5127 .file 7 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h" + 5945 .loc 6 2367 3 view .LVU1897 + 5946 00e2 4FF00072 mov r2, #33554432 + 5947 00e6 DA60 str r2, [r3, #12] + 5948 .LVL533: + 5949 .loc 6 2367 3 is_stmt 0 view .LVU1898 + 5950 .LBE545: + 5951 .LBE544: +2120:Src/main.c **** LL_DMA_EnableIT_TC(DMA2, LL_DMA_STREAM_7); + 5952 .loc 1 2120 3 is_stmt 1 view .LVU1899 + 5953 .LBB546: + 5954 .LBI546: + 5955 .file 7 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h" 1:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 2:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** ****************************************************************************** 3:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @file stm32f7xx_ll_usart.h 4:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @author MCD Application Team 5:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Header file of USART LL module. 6:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** ****************************************************************************** - ARM GAS /tmp/ccYgfTud.s page 370 - - 7:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @attention 8:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * 9:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * Copyright (c) 2017 STMicroelectronics. @@ -22164,6 +23578,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 27:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /* Includes ------------------------------------------------------------------*/ 28:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #include "stm32f7xx.h" 29:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** + ARM GAS /tmp/ccwR4KB7.s page 394 + + 30:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** @addtogroup STM32F7xx_LL_Driver 31:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @{ 32:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ @@ -22198,9 +23615,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 61:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /* Exported types ------------------------------------------------------------*/ 62:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #if defined(USE_FULL_LL_DRIVER) 63:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** @defgroup USART_LL_ES_INIT USART Exported Init structures - ARM GAS /tmp/ccYgfTud.s page 371 - - 64:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @{ 65:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 66:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -22224,6 +23638,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 84:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** uint32_t StopBits; /*!< Specifies the number of stop bits transmitted. 85:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** This parameter can be a value of @ref USART_LL_EC_STOPBI 86:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** + ARM GAS /tmp/ccwR4KB7.s page 395 + + 87:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** This feature can be modified afterwards using unitary 88:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** function @ref LL_USART_SetStopBitsLength().*/ 89:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -22258,9 +23675,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 118:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 119:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** typedef struct 120:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { - ARM GAS /tmp/ccYgfTud.s page 372 - - 121:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** uint32_t ClockOutput; /*!< Specifies whether the USART clock is enabled or disabled 122:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** This parameter can be a value of @ref USART_LL_EC_CLOCK. 123:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -22284,6 +23698,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 141:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 142:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** uint32_t LastBitClockPulse; /*!< Specifies whether the clock pulse corresponding to the l 143:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** data bit (MSB) has to be output on the SCLK pin in synch + ARM GAS /tmp/ccwR4KB7.s page 396 + + 144:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** This parameter can be a value of @ref USART_LL_EC_LASTCL 145:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 146:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** USART HW configuration can be modified afterwards using @@ -22318,9 +23735,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 175:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_ICR_LBDCF USART_ICR_LBDCF /*!< LIN break detect 176:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_ICR_CTSCF USART_ICR_CTSCF /*!< CTS clear flag * 177:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_ICR_RTOCF USART_ICR_RTOCF /*!< Receiver timeout - ARM GAS /tmp/ccYgfTud.s page 373 - - 178:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_ICR_EOBCF USART_ICR_EOBCF /*!< End of block cle 179:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_ICR_CMCF USART_ICR_CMCF /*!< Character match 180:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #if defined(USART_CR1_UESM) @@ -22344,6 +23758,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 198:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_ISR_RXNE USART_ISR_RXNE /*!< Read data regist 199:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_ISR_TC USART_ISR_TC /*!< Transmission com 200:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_ISR_TXE USART_ISR_TXE /*!< Transmit data re + ARM GAS /tmp/ccwR4KB7.s page 397 + + 201:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_ISR_LBDF USART_ISR_LBDF /*!< LIN break detect 202:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_ISR_CTSIF USART_ISR_CTSIF /*!< CTS interrupt fl 203:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_ISR_CTS USART_ISR_CTS /*!< CTS flag */ @@ -22378,9 +23795,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 232:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_CR1_IDLEIE USART_CR1_IDLEIE /*!< IDLE interrupt e 233:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_CR1_RXNEIE USART_CR1_RXNEIE /*!< Read data regist 234:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_CR1_TCIE USART_CR1_TCIE /*!< Transmission com - ARM GAS /tmp/ccYgfTud.s page 374 - - 235:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_CR1_TXEIE USART_CR1_TXEIE /*!< Transmit data re 236:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_CR1_PEIE USART_CR1_PEIE /*!< Parity error */ 237:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_CR1_CMIE USART_CR1_CMIE /*!< Character match @@ -22404,6 +23818,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 255:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** @defgroup USART_LL_EC_DIRECTION Communication Direction 256:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @{ 257:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 398 + + 258:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_DIRECTION_NONE 0x00000000U /*!< Transmitter 259:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_DIRECTION_RX USART_CR1_RE /*!< Transmitter 260:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_DIRECTION_TX USART_CR1_TE /*!< Transmitter @@ -22438,9 +23855,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 289:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_DATAWIDTH_8B 0x00000000U /*!< 8 bits word length : S 290:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_DATAWIDTH_9B USART_CR1_M0 /*!< 9 bits word length : S 291:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** - ARM GAS /tmp/ccYgfTud.s page 375 - - 292:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @} 293:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 294:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -22464,6 +23878,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @} 313:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #endif /*USE_FULL_LL_DRIVER*/ + ARM GAS /tmp/ccwR4KB7.s page 399 + + 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 316:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** @defgroup USART_LL_EC_LASTCLKPULSE Last Clock Pulse 317:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @{ @@ -22498,9 +23915,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_STOPBITS_0_5 USART_CR2_STOP_0 /*!< 0.5 347:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_STOPBITS_1 0x00000000U /*!< 1 s 348:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_STOPBITS_1_5 (USART_CR2_STOP_0 | USART_CR2_STOP_1) /*!< 1.5 - ARM GAS /tmp/ccYgfTud.s page 376 - - 349:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_STOPBITS_2 USART_CR2_STOP_1 /*!< 2 s 350:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 351:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @} @@ -22524,6 +23938,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 369:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @} 370:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 371:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** + ARM GAS /tmp/ccwR4KB7.s page 400 + + 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** @defgroup USART_LL_EC_TXPIN_LEVEL TX Pin Active Level Inversion 373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @{ 374:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ @@ -22558,9 +23975,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 403:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_AUTOBAUD_DETECT_ON_FALLINGEDGE USART_CR2_ABRMODE_0 /*!< Fa 404:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_AUTOBAUD_DETECT_ON_7F_FRAME USART_CR2_ABRMODE_1 /*!< 0x 405:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_AUTOBAUD_DETECT_ON_55_FRAME (USART_CR2_ABRMODE_1 | USART_CR2_ABRMODE_0) /*!< 0x - ARM GAS /tmp/ccYgfTud.s page 377 - - 406:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 407:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @} 408:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ @@ -22584,6 +23998,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 426:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 427:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @} 428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 401 + + 429:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 430:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #if defined(USART_CR1_UESM) 431:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #if defined(USART_CR3_WUS) @@ -22618,9 +24035,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 460:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 461:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 462:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** @defgroup USART_LL_EC_DE_POLARITY Driver Enable Polarity - ARM GAS /tmp/ccYgfTud.s page 378 - - 463:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @{ 464:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 465:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #define LL_USART_DE_POLARITY_HIGH 0x00000000U /*!< DE signal is active high @@ -22644,6 +24058,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 483:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 484:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /* Exported macro ------------------------------------------------------------*/ 485:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** @defgroup USART_LL_Exported_Macros USART Exported Macros + ARM GAS /tmp/ccwR4KB7.s page 402 + + 486:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @{ 487:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 488:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -22678,9 +24095,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 517:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 518:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Compute USARTDIV value according to Peripheral Clock and 519:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * expected Baud Rate in 8 bits sampling mode (32 bits value of USARTDIV is returned) - ARM GAS /tmp/ccYgfTud.s page 379 - - 520:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param __PERIPHCLK__ Peripheral Clock frequency used for USART instance 521:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param __BAUDRATE__ Baud rate value to achieve 522:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval USARTDIV value to be used for BRR register filling in OverSampling_8 case @@ -22704,6 +24118,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 540:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 541:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @} 542:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 403 + + 543:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 544:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /* Exported functions --------------------------------------------------------*/ 545:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -22738,9 +24155,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 574:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_Disable(USART_TypeDef *USARTx) 575:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 576:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** CLEAR_BIT(USARTx->CR1, USART_CR1_UE); - ARM GAS /tmp/ccYgfTud.s page 380 - - 577:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 578:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 579:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** @@ -22764,6 +24178,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 597:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR1 UESM LL_USART_EnableInStopMode 598:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 599:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None + ARM GAS /tmp/ccwR4KB7.s page 404 + + 600:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 601:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_EnableInStopMode(USART_TypeDef *USARTx) 602:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { @@ -22798,9 +24215,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 631:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 632:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 633:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #if defined(USART_CR3_UCESM) - ARM GAS /tmp/ccYgfTud.s page 381 - - 634:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 635:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief USART Clock enabled in STOP Mode 636:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note When this function is called, USART Clock is enabled while in STOP mode @@ -22824,6 +24238,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 654:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 655:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** ATOMIC_CLEAR_BIT(USARTx->CR3, USART_CR3_UCESM); 656:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + ARM GAS /tmp/ccwR4KB7.s page 405 + + 657:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 658:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 659:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Indicate if USART clock is enabled in STOP Mode @@ -22858,9 +24275,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 688:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_DisableDirectionRx(USART_TypeDef *USARTx) 689:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 690:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** ATOMIC_CLEAR_BIT(USARTx->CR1, USART_CR1_RE); - ARM GAS /tmp/ccYgfTud.s page 382 - - 691:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 692:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 693:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** @@ -22884,6 +24298,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 711:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 712:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** ATOMIC_CLEAR_BIT(USARTx->CR1, USART_CR1_TE); 713:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + ARM GAS /tmp/ccwR4KB7.s page 406 + + 714:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 715:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 716:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Configure simultaneously enabled/disabled states @@ -22918,9 +24335,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 745:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 746:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return (uint32_t)(READ_BIT(USARTx->CR1, USART_CR1_RE | USART_CR1_TE)); 747:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - ARM GAS /tmp/ccYgfTud.s page 383 - - 748:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 749:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 750:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Configure Parity (enabled/disabled and parity mode if enabled). @@ -22944,6 +24358,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 768:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 769:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Return Parity configuration (enabled/disabled and parity mode if enabled) 770:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR1 PS LL_USART_GetParity\n + ARM GAS /tmp/ccwR4KB7.s page 407 + + 771:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * CR1 PCE LL_USART_GetParity 772:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 773:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval Returned value can be one of the following values: @@ -22978,9 +24395,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 802:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_WAKEUP_IDLELINE 803:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_WAKEUP_ADDRESSMARK 804:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ - ARM GAS /tmp/ccYgfTud.s page 384 - - 805:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_GetWakeUpMethod(const USART_TypeDef *USARTx) 806:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 807:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return (uint32_t)(READ_BIT(USARTx->CR1, USART_CR1_WAKE)); @@ -23004,6 +24418,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 825:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 826:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 827:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Return Word length (i.e. nb of data bits, excluding start and stop bits) + ARM GAS /tmp/ccwR4KB7.s page 408 + + 828:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR1 M0 LL_USART_GetDataWidth\n 829:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * CR1 M1 LL_USART_GetDataWidth 830:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance @@ -23038,9 +24455,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 859:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 860:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** ATOMIC_CLEAR_BIT(USARTx->CR1, USART_CR1_MME); 861:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - ARM GAS /tmp/ccYgfTud.s page 385 - - 862:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 863:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 864:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Indicate if switch between Mute Mode and Active mode is allowed @@ -23064,6 +24478,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 882:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 883:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_SetOverSampling(USART_TypeDef *USARTx, uint32_t OverSampling) 884:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { + ARM GAS /tmp/ccwR4KB7.s page 409 + + 885:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** MODIFY_REG(USARTx->CR1, USART_CR1_OVER8, OverSampling); 886:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 887:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -23098,9 +24515,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 916:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 917:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Retrieve Clock pulse of the last data bit output configuration - ARM GAS /tmp/ccYgfTud.s page 386 - - 919:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * (Last bit Clock pulse output to the SCLK pin or not) 920:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_USART_INSTANCE(USARTx) can be used to check whether or not 921:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * Synchronous mode is supported by the USARTx instance. @@ -23124,6 +24538,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 939:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param ClockPhase This parameter can be one of the following values: 940:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_PHASE_1EDGE 941:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_PHASE_2EDGE + ARM GAS /tmp/ccwR4KB7.s page 410 + + 942:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 943:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 944:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_SetClockPhase(USART_TypeDef *USARTx, uint32_t ClockPhase) @@ -23158,9 +24575,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 973:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 974:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 975:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_SetClockPolarity(USART_TypeDef *USARTx, uint32_t ClockPolarity) - ARM GAS /tmp/ccYgfTud.s page 387 - - 976:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 977:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** MODIFY_REG(USARTx->CR2, USART_CR2_CPOL, ClockPolarity); 978:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } @@ -23184,6 +24598,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 996:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Configure Clock signal format (Phase Polarity and choice about output of last bit clock 997:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_USART_INSTANCE(USARTx) can be used to check whether or not 998:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * Synchronous mode is supported by the USARTx instance. + ARM GAS /tmp/ccwR4KB7.s page 411 + + 999:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Call of this function is equivalent to following function call sequence : 1000:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - Clock Phase configuration using @ref LL_USART_SetClockPhase() function 1001:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - Clock Polarity configuration using @ref LL_USART_SetClockPolarity() function @@ -23218,9 +24635,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1030:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 1031:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_EnableSCLKOutput(USART_TypeDef *USARTx) 1032:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { - ARM GAS /tmp/ccYgfTud.s page 388 - - 1033:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** SET_BIT(USARTx->CR2, USART_CR2_CLKEN); 1034:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 1035:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -23244,6 +24658,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1053:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR2 CLKEN LL_USART_IsEnabledSCLKOutput 1054:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 1055:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval State of bit (1 or 0). + ARM GAS /tmp/ccwR4KB7.s page 412 + + 1056:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 1057:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_IsEnabledSCLKOutput(const USART_TypeDef *USARTx) 1058:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { @@ -23278,9 +24695,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1087:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 1088:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_GetStopBitsLength(const USART_TypeDef *USARTx) 1089:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { - ARM GAS /tmp/ccYgfTud.s page 389 - - 1090:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_STOP)); 1091:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 1092:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -23304,6 +24718,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1110:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_PARITY_NONE 1111:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_PARITY_EVEN 1112:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_PARITY_ODD + ARM GAS /tmp/ccwR4KB7.s page 413 + + 1113:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param StopBits This parameter can be one of the following values: 1114:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_STOPBITS_0_5 1115:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_STOPBITS_1 @@ -23338,9 +24755,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1144:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 1145:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval Returned value can be one of the following values: 1146:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_TXRX_STANDARD - ARM GAS /tmp/ccYgfTud.s page 390 - - 1147:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_TXRX_SWAPPED 1148:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 1149:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_GetTXRXSwap(const USART_TypeDef *USARTx) @@ -23364,6 +24778,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1167:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 1168:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 1169:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Retrieve RX pin active level logic configuration + ARM GAS /tmp/ccwR4KB7.s page 414 + + 1170:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR2 RXINV LL_USART_GetRXPinLevel 1171:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 1172:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval Returned value can be one of the following values: @@ -23398,9 +24815,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1201:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_TXPIN_LEVEL_INVERTED 1202:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 1203:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_GetTXPinLevel(const USART_TypeDef *USARTx) - ARM GAS /tmp/ccYgfTud.s page 391 - - 1204:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 1205:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_TXINV)); 1206:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } @@ -23424,6 +24838,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1224:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 1225:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Retrieve Binary data configuration 1226:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR2 DATAINV LL_USART_GetBinaryDataLogic + ARM GAS /tmp/ccwR4KB7.s page 415 + + 1227:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 1228:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval Returned value can be one of the following values: 1229:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_BINARY_LOGIC_POSITIVE @@ -23458,9 +24875,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1258:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 1259:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval Returned value can be one of the following values: 1260:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_BITORDER_LSBFIRST - ARM GAS /tmp/ccYgfTud.s page 392 - - 1261:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_BITORDER_MSBFIRST 1262:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 1263:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_GetTransferBitOrder(const USART_TypeDef *USARTx) @@ -23484,6 +24898,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1281:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 1282:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Disable Auto Baud-Rate Detection 1283:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(USARTx) can be used to check whether or + ARM GAS /tmp/ccwR4KB7.s page 416 + + 1284:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * Auto Baud Rate detection feature is supported by the USARTx instance. 1285:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR2 ABREN LL_USART_DisableAutoBaudRate 1286:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance @@ -23518,9 +24935,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_AUTOBAUD_DETECT_ON_FALLINGEDGE 1316:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_AUTOBAUD_DETECT_ON_7F_FRAME 1317:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_AUTOBAUD_DETECT_ON_55_FRAME - ARM GAS /tmp/ccYgfTud.s page 393 - - 1318:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 1319:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 1320:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_SetAutoBaudRateMode(USART_TypeDef *USARTx, uint32_t AutoBaudRateMode) @@ -23544,6 +24958,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1338:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 1339:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_ABRMODE)); 1340:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + ARM GAS /tmp/ccwR4KB7.s page 417 + + 1341:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 1342:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 1343:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Enable Receiver Timeout @@ -23578,9 +24995,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return ((READ_BIT(USARTx->CR2, USART_CR2_RTOEN) == (USART_CR2_RTOEN)) ? 1UL : 0UL); 1373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 1374:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** - ARM GAS /tmp/ccYgfTud.s page 394 - - 1375:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 1376:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Set Address of the USART node. 1377:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note This is used in multiprocessor communication during Mute mode or Stop mode, @@ -23604,6 +25018,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1395:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param NodeAddress 4 or 7 bit Address of the USART node. 1396:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 1397:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 418 + + 1398:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_ConfigNodeAddress(USART_TypeDef *USARTx, uint32_t AddressLen, uint32_ 1399:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 1400:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** MODIFY_REG(USARTx->CR2, USART_CR2_ADD | USART_CR2_ADDM7, @@ -23638,9 +25055,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1429:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_ADDM7)); 1430:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 1431:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** - ARM GAS /tmp/ccYgfTud.s page 395 - - 1432:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 1433:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Enable RTS HW Flow Control 1434:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not @@ -23664,6 +25078,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1452:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 1453:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_DisableRTSHWFlowCtrl(USART_TypeDef *USARTx) 1454:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { + ARM GAS /tmp/ccwR4KB7.s page 419 + + 1455:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** CLEAR_BIT(USARTx->CR3, USART_CR3_RTSE); 1456:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 1457:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -23698,9 +25115,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1486:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not 1487:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * Hardware Flow control feature is supported by the USARTx instance. 1488:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR3 RTSE LL_USART_SetHWFlowCtrl\n - ARM GAS /tmp/ccYgfTud.s page 396 - - 1489:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * CR3 CTSE LL_USART_SetHWFlowCtrl 1490:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 1491:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param HardwareFlowControl This parameter can be one of the following values: @@ -23724,6 +25138,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1509:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 1510:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval Returned value can be one of the following values: 1511:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_HWCONTROL_NONE + ARM GAS /tmp/ccwR4KB7.s page 420 + + 1512:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_HWCONTROL_RTS 1513:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_HWCONTROL_CTS 1514:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @arg @ref LL_USART_HWCONTROL_RTS_CTS @@ -23758,9 +25175,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1543:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 1544:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Indicate if One bit sampling method is enabled 1545:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR3 ONEBIT LL_USART_IsEnabledOneBitSamp - ARM GAS /tmp/ccYgfTud.s page 397 - - 1546:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 1547:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval State of bit (1 or 0). 1548:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ @@ -23784,6 +25198,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1566:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Disable Overrun detection 1567:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR3 OVRDIS LL_USART_DisableOverrunDetect 1568:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance + ARM GAS /tmp/ccwR4KB7.s page 421 + + 1569:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 1570:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 1571:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_DisableOverrunDetect(USART_TypeDef *USARTx) @@ -23818,9 +25235,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1600:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 1601:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_SetWKUPType(USART_TypeDef *USARTx, uint32_t Type) 1602:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { - ARM GAS /tmp/ccYgfTud.s page 398 - - 1603:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** MODIFY_REG(USARTx->CR3, USART_CR3_WUS, Type); 1604:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 1605:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -23844,6 +25258,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1623:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #endif /* USART_CR1_UESM */ 1624:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 1625:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Configure USART BRR register for achieving expected Baud Rate value. + ARM GAS /tmp/ccwR4KB7.s page 422 + + 1626:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Compute and set USARTDIV value in BRR Register (full BRR content) 1627:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * according to used Peripheral Clock, Oversampling mode, and expected Baud Rate values 1628:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Peripheral clock and Baud rate values provided as function parameters should be valid @@ -23878,9 +25295,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1657:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 1658:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 1659:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** - ARM GAS /tmp/ccYgfTud.s page 399 - - 1660:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Return current Baud Rate value, according to USARTDIV present in BRR register 1661:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * (full BRR content), and to used Peripheral Clock and Oversampling mode values 1662:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note In case of non-initialized or invalid value stored in BRR register, value 0 will be ret @@ -23904,6 +25318,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1680:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 1681:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /* Do not perform a division by 0 */ 1682:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + ARM GAS /tmp/ccwR4KB7.s page 423 + + 1683:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** else if (OverSampling == LL_USART_OVERSAMPLING_8) 1684:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 1685:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** usartdiv = (uint16_t)((usartdiv & 0xFFF0U) | ((usartdiv & 0x0007U) << 1U)) ; @@ -23938,9 +25355,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1714:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Get Receiver Time Out Value (expressed in nb of bits duration) 1715:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll RTOR RTO LL_USART_GetRxTimeout 1716:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance - ARM GAS /tmp/ccYgfTud.s page 400 - - 1717:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval Value between Min_Data=0x00 and Max_Data=0x00FFFFFF 1718:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 1719:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_GetRxTimeout(const USART_TypeDef *USARTx) @@ -23964,6 +25378,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1737:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Get Block Length value in reception 1738:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll RTOR BLEN LL_USART_GetBlockLength 1739:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance + ARM GAS /tmp/ccwR4KB7.s page 424 + + 1740:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval Value between Min_Data=0x00 and Max_Data=0xFF 1741:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 1742:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_GetBlockLength(const USART_TypeDef *USARTx) @@ -23998,9 +25415,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1771:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * IrDA feature is supported by the USARTx instance. 1772:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR3 IREN LL_USART_DisableIrda 1773:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance - ARM GAS /tmp/ccYgfTud.s page 401 - - 1774:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 1775:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 1776:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_DisableIrda(USART_TypeDef *USARTx) @@ -24024,6 +25438,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1794:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 1795:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Configure IrDA Power Mode (Normal or Low Power) 1796:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_IRDA_INSTANCE(USARTx) can be used to check whether or not + ARM GAS /tmp/ccwR4KB7.s page 425 + + 1797:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * IrDA feature is supported by the USARTx instance. 1798:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR3 IRLP LL_USART_SetIrdaPowerMode 1799:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance @@ -24058,9 +25475,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1828:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_IRDA_INSTANCE(USARTx) can be used to check whether or not 1829:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * IrDA feature is supported by the USARTx instance. 1830:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll GTPR PSC LL_USART_SetIrdaPrescaler - ARM GAS /tmp/ccYgfTud.s page 402 - - 1831:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 1832:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param PrescalerValue Value between Min_Data=0x00 and Max_Data=0xFF 1833:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None @@ -24084,6 +25498,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1851:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return (uint32_t)(READ_BIT(USARTx->GTPR, USART_GTPR_PSC)); 1852:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 1853:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** + ARM GAS /tmp/ccwR4KB7.s page 426 + + 1854:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 1855:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @} 1856:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ @@ -24118,9 +25535,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1885:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** CLEAR_BIT(USARTx->CR3, USART_CR3_NACK); 1886:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 1887:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** - ARM GAS /tmp/ccYgfTud.s page 403 - - 1888:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 1889:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Indicate if Smartcard NACK transmission is enabled 1890:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not @@ -24144,6 +25558,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1908:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 1909:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_EnableSmartcard(USART_TypeDef *USARTx) 1910:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { + ARM GAS /tmp/ccwR4KB7.s page 427 + + 1911:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** SET_BIT(USARTx->CR3, USART_CR3_SCEN); 1912:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 1913:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -24178,9 +25595,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1942:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not 1943:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * Smartcard feature is supported by the USARTx instance. 1944:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note This bit-field specifies the number of retries in transmit and receive, in Smartcard mo - ARM GAS /tmp/ccYgfTud.s page 404 - - 1945:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * In transmission mode, it specifies the number of automatic retransmission retries, befo 1946:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * generating a transmission error (FE bit set). 1947:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * In reception mode, it specifies the number or erroneous reception trials, before genera @@ -24204,6 +25618,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1965:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval Smartcard Auto-Retry Count value (Value between Min_Data=0 and Max_Data=7) 1966:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 1967:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_GetSmartcardAutoRetryCount(const USART_TypeDef *USARTx) + ARM GAS /tmp/ccwR4KB7.s page 428 + + 1968:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 1969:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return (uint32_t)(READ_BIT(USARTx->CR3, USART_CR3_SCARCNT) >> USART_CR3_SCARCNT_Pos); 1970:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } @@ -24238,9 +25655,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1999:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 2000:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 2001:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** - ARM GAS /tmp/ccYgfTud.s page 405 - - 2002:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Set Smartcard Guard time value, expressed in nb of baud clocks periods 2003:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * (GT[7:0] bits : Guard time value) 2004:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not @@ -24264,6 +25678,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2022:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 2023:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval Smartcard Guard time value (Value between Min_Data=0x00 and Max_Data=0xFF) 2024:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 429 + + 2025:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_GetSmartcardGuardTime(const USART_TypeDef *USARTx) 2026:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 2027:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return (uint32_t)(READ_BIT(USARTx->GTPR, USART_GTPR_GT) >> USART_GTPR_GT_Pos); @@ -24298,9 +25715,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2056:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 2057:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 2058:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ - ARM GAS /tmp/ccYgfTud.s page 406 - - 2059:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_DisableHalfDuplex(USART_TypeDef *USARTx) 2060:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 2061:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** CLEAR_BIT(USARTx->CR3, USART_CR3_HDSEL); @@ -24324,6 +25738,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2079:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 2080:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 2081:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** @defgroup USART_LL_EF_Configuration_LIN Configuration functions related to LIN feature + ARM GAS /tmp/ccwR4KB7.s page 430 + + 2082:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @{ 2083:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 2084:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -24358,9 +25775,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2113:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return (uint32_t)(READ_BIT(USARTx->CR2, USART_CR2_LBDL)); 2114:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 2115:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** - ARM GAS /tmp/ccYgfTud.s page 407 - - 2116:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 2117:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Enable LIN mode 2118:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not @@ -24384,6 +25798,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 2137:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_DisableLIN(USART_TypeDef *USARTx) 2138:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { + ARM GAS /tmp/ccwR4KB7.s page 431 + + 2139:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** CLEAR_BIT(USARTx->CR2, USART_CR2_LINEN); 2140:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 2141:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -24418,9 +25835,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2170:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 2171:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 2172:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_SetDEDeassertionTime(USART_TypeDef *USARTx, uint32_t Time) - ARM GAS /tmp/ccYgfTud.s page 408 - - 2173:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 2174:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** MODIFY_REG(USARTx->CR1, USART_CR1_DEDT, Time << USART_CR1_DEDT_Pos); 2175:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } @@ -24444,6 +25858,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2193:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * Driver Enable feature is supported by the USARTx instance. 2194:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR1 DEAT LL_USART_SetDEAssertionTime 2195:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance + ARM GAS /tmp/ccwR4KB7.s page 432 + + 2196:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param Time Value between Min_Data=0 and Max_Data=31 2197:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 2198:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ @@ -24478,9 +25895,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2227:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** SET_BIT(USARTx->CR3, USART_CR3_DEM); 2228:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 2229:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** - ARM GAS /tmp/ccYgfTud.s page 409 - - 2230:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 2231:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Disable Driver Enable (DE) Mode 2232:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_UART_DRIVER_ENABLE_INSTANCE(USARTx) can be used to check whether or not @@ -24504,6 +25918,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2250:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 2251:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_IsEnabledDEMode(const USART_TypeDef *USARTx) 2252:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { + ARM GAS /tmp/ccwR4KB7.s page 433 + + 2253:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return ((READ_BIT(USARTx->CR3, USART_CR3_DEM) == (USART_CR3_DEM)) ? 1UL : 0UL); 2254:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 2255:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -24538,9 +25955,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2284:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return (uint32_t)(READ_BIT(USARTx->CR3, USART_CR3_DEP)); 2285:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 2286:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** - ARM GAS /tmp/ccYgfTud.s page 410 - - 2287:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 2288:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @} 2289:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ @@ -24564,6 +25978,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2307:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - Clear IREN in CR3 using @ref LL_USART_DisableIrda() function 2308:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - Clear HDSEL in CR3 using @ref LL_USART_DisableHalfDuplex() function 2309:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Other remaining configurations items related to Asynchronous Mode + ARM GAS /tmp/ccwR4KB7.s page 434 + + 2310:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * (as Baud Rate, Word length, Parity, ...) should be set using 2311:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * dedicated functions 2312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR2 LINEN LL_USART_ConfigAsyncMode\n @@ -24598,9 +26015,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2341:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - Clear LINEN in CR2 using @ref LL_USART_DisableLIN() function 2342:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - Clear IREN in CR3 using @ref LL_USART_DisableIrda() function 2343:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - Clear SCEN in CR3 using @ref LL_USART_DisableSmartcard() function - ARM GAS /tmp/ccYgfTud.s page 411 - - 2344:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - Clear HDSEL in CR3 using @ref LL_USART_DisableHalfDuplex() function 2345:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - Set CLKEN in CR2 using @ref LL_USART_EnableSCLKOutput() function 2346:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Other remaining configurations items related to Synchronous Mode @@ -24624,6 +26038,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2364:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** CLEAR_BIT(USARTx->CR3, (USART_CR3_SCEN | USART_CR3_IREN | USART_CR3_HDSEL)); 2365:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /* set the UART/USART in Synchronous mode */ 2366:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** SET_BIT(USARTx->CR2, USART_CR2_CLKEN); + ARM GAS /tmp/ccwR4KB7.s page 435 + + 2367:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 2368:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 2369:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** @@ -24658,9 +26075,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2398:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_ConfigLINMode(USART_TypeDef *USARTx) 2399:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 2400:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /* In LIN mode, the following bits must be kept cleared: - ARM GAS /tmp/ccYgfTud.s page 412 - - 2401:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** - STOP and CLKEN bits in the USART_CR2 register, 2402:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** - IREN, SCEN and HDSEL bits in the USART_CR3 register. 2403:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ @@ -24684,6 +26098,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2421:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - Clear LINEN in CR2 using @ref LL_USART_DisableLIN() function 2422:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - Clear CLKEN in CR2 using @ref LL_USART_DisableSCLKOutput() function 2423:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - Clear SCEN in CR3 using @ref LL_USART_DisableSmartcard() function + ARM GAS /tmp/ccwR4KB7.s page 436 + + 2424:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - Clear IREN in CR3 using @ref LL_USART_DisableIrda() function 2425:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - Set HDSEL in CR3 using @ref LL_USART_EnableHalfDuplex() function 2426:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Other remaining configurations items related to Half Duplex Mode @@ -24718,9 +26135,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2455:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * This function also configures Stop bits to 1.5 bits and 2456:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * sets the USART in Smartcard mode (SCEN bit). 2457:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * Clock Output is also enabled (CLKEN). - ARM GAS /tmp/ccYgfTud.s page 413 - - 2458:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not 2459:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * Smartcard feature is supported by the USARTx instance. 2460:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Call of this function is equivalent to following function call sequence : @@ -24744,6 +26158,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2478:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_ConfigSmartcardMode(USART_TypeDef *USARTx) 2479:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 2480:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /* In Smartcard mode, the following bits must be kept cleared: + ARM GAS /tmp/ccwR4KB7.s page 437 + + 2481:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** - LINEN bit in the USART_CR2 register, 2482:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** - IREN and HDSEL bits in the USART_CR3 register. 2483:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ @@ -24778,9 +26195,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2512:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * dedicated functions 2513:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR2 LINEN LL_USART_ConfigIrdaMode\n 2514:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * CR2 CLKEN LL_USART_ConfigIrdaMode\n - ARM GAS /tmp/ccYgfTud.s page 414 - - 2515:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * CR2 STOP LL_USART_ConfigIrdaMode\n 2516:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * CR3 SCEN LL_USART_ConfigIrdaMode\n 2517:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * CR3 HDSEL LL_USART_ConfigIrdaMode\n @@ -24804,6 +26218,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2535:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Perform basic configuration of USART for enabling use in Multi processor Mode 2536:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * (several USARTs connected in a network, one of the USARTs can be the master, 2537:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * its TX output connected to the RX inputs of the other slaves USARTs). + ARM GAS /tmp/ccwR4KB7.s page 438 + + 2538:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note In MultiProcessor mode, the following bits must be kept cleared: 2539:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - LINEN bit in the USART_CR2 register, 2540:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * - CLKEN bit in the USART_CR2 register, @@ -24838,9 +26255,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2569:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 2570:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 2571:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** - ARM GAS /tmp/ccYgfTud.s page 415 - - 2572:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @} 2573:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 2574:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -24864,6 +26278,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll ISR FE LL_USART_IsActiveFlag_FE 2593:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 2594:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval State of bit (1 or 0). + ARM GAS /tmp/ccwR4KB7.s page 439 + + 2595:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 2596:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_FE(const USART_TypeDef *USARTx) 2597:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { @@ -24898,9 +26315,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2626:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 2627:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval State of bit (1 or 0). 2628:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ - ARM GAS /tmp/ccYgfTud.s page 416 - - 2629:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_IDLE(const USART_TypeDef *USARTx) 2630:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 2631:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return ((READ_BIT(USARTx->ISR, USART_ISR_IDLE) == (USART_ISR_IDLE)) ? 1UL : 0UL); @@ -24924,6 +26338,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2649:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval State of bit (1 or 0). 2650:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 2651:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_TC(const USART_TypeDef *USARTx) + ARM GAS /tmp/ccwR4KB7.s page 440 + + 2652:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 2653:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return ((READ_BIT(USARTx->ISR, USART_ISR_TC) == (USART_ISR_TC)) ? 1UL : 0UL); 2654:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } @@ -24958,9 +26375,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2683:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * Hardware Flow control feature is supported by the USARTx instance. 2684:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll ISR CTSIF LL_USART_IsActiveFlag_nCTS 2685:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance - ARM GAS /tmp/ccYgfTud.s page 417 - - 2686:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval State of bit (1 or 0). 2687:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 2688:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_nCTS(const USART_TypeDef *USARTx) @@ -24984,6 +26398,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2706:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 2707:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Check if the USART Receiver Time Out Flag is set or not 2708:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll ISR RTOF LL_USART_IsActiveFlag_RTO + ARM GAS /tmp/ccwR4KB7.s page 441 + + 2709:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 2710:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval State of bit (1 or 0). 2711:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ @@ -25018,9 +26435,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2740:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return ((READ_BIT(USARTx->ISR, USART_ISR_ABRE) == (USART_ISR_ABRE)) ? 1UL : 0UL); 2741:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 2742:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** - ARM GAS /tmp/ccYgfTud.s page 418 - - 2743:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 2744:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Check if the USART Auto-Baud Rate Flag is set or not 2745:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_USART_AUTOBAUDRATE_DETECTION_INSTANCE(USARTx) can be used to check whether or @@ -25044,6 +26458,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2763:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 2764:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return ((READ_BIT(USARTx->ISR, USART_ISR_BUSY) == (USART_ISR_BUSY)) ? 1UL : 0UL); 2765:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + ARM GAS /tmp/ccwR4KB7.s page 442 + + 2766:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 2767:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 2768:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Check if the USART Character Match Flag is set or not @@ -25078,9 +26495,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2797:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return ((READ_BIT(USARTx->ISR, USART_ISR_RWU) == (USART_ISR_RWU)) ? 1UL : 0UL); 2798:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 2799:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** - ARM GAS /tmp/ccYgfTud.s page 419 - - 2800:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #if defined(USART_CR1_UESM) 2801:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #if defined(USART_CR3_WUFIE) 2802:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** @@ -25104,6 +26518,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2820:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 2821:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval State of bit (1 or 0). 2822:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 443 + + 2823:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_TEACK(const USART_TypeDef *USARTx) 2824:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 2825:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return ((READ_BIT(USARTx->ISR, USART_ISR_TEACK) == (USART_ISR_TEACK)) ? 1UL : 0UL); @@ -25138,9 +26555,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2854:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #endif /* USART_TCBGT_SUPPORT */ 2855:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 2856:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Clear Parity Error Flag - ARM GAS /tmp/ccYgfTud.s page 420 - - 2857:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll ICR PECF LL_USART_ClearFlag_PE 2858:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 2859:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None @@ -25164,6 +26578,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2877:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 2878:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Clear Noise Error detected Flag 2879:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll ICR NCF LL_USART_ClearFlag_NE + ARM GAS /tmp/ccwR4KB7.s page 444 + + 2880:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 2881:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 2882:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ @@ -25198,9 +26615,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2911:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Clear Transmission Complete Flag 2912:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll ICR TCCF LL_USART_ClearFlag_TC 2913:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance - ARM GAS /tmp/ccYgfTud.s page 421 - - 2914:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 2915:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 2916:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_ClearFlag_TC(USART_TypeDef *USARTx) @@ -25224,6 +26638,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2934:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 2935:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 2936:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Clear LIN Break Detection Flag + ARM GAS /tmp/ccwR4KB7.s page 445 + + 2937:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not 2938:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * LIN feature is supported by the USARTx instance. 2939:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll ICR LBDCF LL_USART_ClearFlag_LBD @@ -25258,9 +26675,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2968:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 2969:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** WRITE_REG(USARTx->ICR, USART_ICR_RTOCF); 2970:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - ARM GAS /tmp/ccYgfTud.s page 422 - - 2971:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 2972:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 2973:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Clear End Of Block Flag @@ -25284,6 +26698,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2991:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_ClearFlag_CM(USART_TypeDef *USARTx) 2992:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 2993:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** WRITE_REG(USARTx->ICR, USART_ICR_CMCF); + ARM GAS /tmp/ccwR4KB7.s page 446 + + 2994:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 2995:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 2996:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #if defined(USART_CR1_UESM) @@ -25318,9 +26735,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3025:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 3026:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 3027:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_EnableIT_IDLE(USART_TypeDef *USARTx) - ARM GAS /tmp/ccYgfTud.s page 423 - - 3028:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 3029:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** ATOMIC_SET_BIT(USARTx->CR1, USART_CR1_IDLEIE); 3030:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } @@ -25344,6 +26758,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3048:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 3049:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_EnableIT_TC(USART_TypeDef *USARTx) 3050:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { + ARM GAS /tmp/ccwR4KB7.s page 447 + + 3051:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** ATOMIC_SET_BIT(USARTx->CR1, USART_CR1_TCIE); 3052:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 3053:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -25378,9 +26795,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3082:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_EnableIT_CM(USART_TypeDef *USARTx) 3083:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 3084:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** ATOMIC_SET_BIT(USARTx->CR1, USART_CR1_CMIE); - ARM GAS /tmp/ccYgfTud.s page 424 - - 3085:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 3086:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 3087:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** @@ -25404,6 +26818,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3105:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 3106:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_EnableIT_EOB(USART_TypeDef *USARTx) 3107:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { + ARM GAS /tmp/ccwR4KB7.s page 448 + + 3108:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** ATOMIC_SET_BIT(USARTx->CR1, USART_CR1_EOBIE); 3109:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 3110:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -25438,9 +26855,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3139:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 3140:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Enable CTS Interrupt 3141:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not - ARM GAS /tmp/ccYgfTud.s page 425 - - 3142:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * Hardware Flow control feature is supported by the USARTx instance. 3143:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR3 CTSIE LL_USART_EnableIT_CTS 3144:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance @@ -25464,6 +26878,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3162:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_EnableIT_WKUP(USART_TypeDef *USARTx) 3163:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 3164:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** ATOMIC_SET_BIT(USARTx->CR3, USART_CR3_WUFIE); + ARM GAS /tmp/ccwR4KB7.s page 449 + + 3165:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 3166:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 3167:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #endif /* USART_CR3_WUFIE */ @@ -25498,9 +26915,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3196:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 3197:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Disable RX Not Empty Interrupt 3198:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR1 RXNEIE LL_USART_DisableIT_RXNE - ARM GAS /tmp/ccYgfTud.s page 426 - - 3199:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 3200:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 3201:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ @@ -25524,6 +26938,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3219:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Disable TX Empty Interrupt 3220:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR1 TXEIE LL_USART_DisableIT_TXE 3221:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance + ARM GAS /tmp/ccwR4KB7.s page 450 + + 3222:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 3223:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 3224:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_DisableIT_TXE(USART_TypeDef *USARTx) @@ -25558,9 +26975,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3253:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR1 RTOIE LL_USART_DisableIT_RTO 3254:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 3255:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None - ARM GAS /tmp/ccYgfTud.s page 427 - - 3256:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 3257:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_DisableIT_RTO(USART_TypeDef *USARTx) 3258:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { @@ -25584,6 +26998,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3276:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Disable LIN Break Detection Interrupt 3277:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not 3278:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * LIN feature is supported by the USARTx instance. + ARM GAS /tmp/ccwR4KB7.s page 451 + + 3279:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR2 LBDIE LL_USART_DisableIT_LBD 3280:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 3281:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None @@ -25618,9 +27035,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3310:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 3311:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_DisableIT_CTS(USART_TypeDef *USARTx) 3312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { - ARM GAS /tmp/ccYgfTud.s page 428 - - 3313:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** ATOMIC_CLEAR_BIT(USARTx->CR3, USART_CR3_CTSIE); 3314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 3315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -25644,6 +27058,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3333:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #if defined(USART_TCBGT_SUPPORT) 3334:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /* Function available only on devices supporting Transmit Complete before Guard Time feature */ 3335:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** + ARM GAS /tmp/ccwR4KB7.s page 452 + + 3336:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Disable Smartcard Transmission Complete Before Guard Time Interrupt 3337:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not 3338:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * Smartcard feature is supported by the USARTx instance. @@ -25678,9 +27095,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3367:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 3368:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return ((READ_BIT(USARTx->CR1, USART_CR1_RXNEIE) == (USART_CR1_RXNEIE)) ? 1U : 0U); 3369:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - ARM GAS /tmp/ccYgfTud.s page 429 - - 3370:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 3371:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 3372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Check if the USART Transmission Complete Interrupt is enabled or disabled. @@ -25704,6 +27118,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3390:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return ((READ_BIT(USARTx->CR1, USART_CR1_TXEIE) == (USART_CR1_TXEIE)) ? 1U : 0U); 3391:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 3392:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** + ARM GAS /tmp/ccwR4KB7.s page 453 + + 3393:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 3394:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Check if the USART Parity Error Interrupt is enabled or disabled. 3395:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR1 PEIE LL_USART_IsEnabledIT_PE @@ -25738,9 +27155,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3424:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 3425:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 3426:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** - ARM GAS /tmp/ccYgfTud.s page 430 - - 3427:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Check if the USART End Of Block Interrupt is enabled or disabled. 3428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @note Macro IS_SMARTCARD_INSTANCE(USARTx) can be used to check whether or not 3429:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * Smartcard feature is supported by the USARTx instance. @@ -25764,6 +27178,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3447:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_LBD(const USART_TypeDef *USARTx) 3448:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 3449:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return ((READ_BIT(USARTx->CR2, USART_CR2_LBDIE) == (USART_CR2_LBDIE)) ? 1UL : 0UL); + ARM GAS /tmp/ccwR4KB7.s page 454 + + 3450:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 3451:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 3452:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** @@ -25798,9 +27215,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3481:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * Wake-up from Stop mode feature is supported by the USARTx instance. 3482:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR3 WUFIE LL_USART_IsEnabledIT_WKUP 3483:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance - ARM GAS /tmp/ccYgfTud.s page 431 - - 3484:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval State of bit (1 or 0). 3485:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 3486:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE uint32_t LL_USART_IsEnabledIT_WKUP(const USART_TypeDef *USARTx) @@ -25824,6 +27238,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 3504:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 3505:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return ((READ_BIT(USARTx->CR3, USART_CR3_TCBGTIE) == (USART_CR3_TCBGTIE)) ? 1UL : 0UL); 3506:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + ARM GAS /tmp/ccwR4KB7.s page 455 + + 3507:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** #endif /* USART_TCBGT_SUPPORT */ 3508:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 3509:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** @@ -25858,9 +27275,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3538:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 3539:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** 3540:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Check if DMA Mode is enabled for reception - ARM GAS /tmp/ccYgfTud.s page 432 - - 3541:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll CR3 DMAR LL_USART_IsEnabledDMAReq_RX 3542:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance 3543:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval State of bit (1 or 0). @@ -25877,18 +27291,21 @@ ARM GAS /tmp/ccYgfTud.s page 1 3554:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 3555:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 3556:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_EnableDMAReq_TX(USART_TypeDef *USARTx) - 5128 .loc 7 3556 22 view .LVU1656 - 5129 .L216: + 5956 .loc 7 3556 22 view .LVU1900 + 5957 .L295: 3557:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 3558:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** ATOMIC_SET_BIT(USARTx->CR3, USART_CR3_DMAT); - 5130 .loc 7 3558 3 discriminator 1 view .LVU1657 - 5131 .LBB531: - 5132 .loc 7 3558 3 discriminator 1 view .LVU1658 - 5133 .loc 7 3558 3 discriminator 1 view .LVU1659 - 5134 .loc 7 3558 3 discriminator 1 view .LVU1660 - 5135 .LBB532: - 5136 .LBI532: - 5137 .file 8 "Drivers/CMSIS/Include/cmsis_gcc.h" + 5958 .loc 7 3558 3 discriminator 1 view .LVU1901 + 5959 .LBB547: + 5960 .loc 7 3558 3 discriminator 1 view .LVU1902 + ARM GAS /tmp/ccwR4KB7.s page 456 + + + 5961 .loc 7 3558 3 discriminator 1 view .LVU1903 + 5962 .loc 7 3558 3 discriminator 1 view .LVU1904 + 5963 .LBB548: + 5964 .LBI548: + 5965 .file 8 "Drivers/CMSIS/Include/cmsis_gcc.h" 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//** 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file @@ -25918,9 +27335,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 27:Drivers/CMSIS/Include/cmsis_gcc.h **** 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */ 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push - ARM GAS /tmp/ccYgfTud.s page 433 - - 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion" 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion" 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter" @@ -25944,6 +27358,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN + ARM GAS /tmp/ccwR4KB7.s page 457 + + 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__)) 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED @@ -25978,9 +27395,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))- 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ - ARM GAS /tmp/ccYgfTud.s page 434 - - 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" @@ -26004,6 +27418,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif + ARM GAS /tmp/ccwR4KB7.s page 458 + + 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x))) 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif @@ -26038,9 +27455,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 141:Drivers/CMSIS/Include/cmsis_gcc.h **** { 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory"); 143:Drivers/CMSIS/Include/cmsis_gcc.h **** } - ARM GAS /tmp/ccYgfTud.s page 435 - - 144:Drivers/CMSIS/Include/cmsis_gcc.h **** 145:Drivers/CMSIS/Include/cmsis_gcc.h **** 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /** @@ -26064,6 +27478,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value 165:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void) + ARM GAS /tmp/ccwR4KB7.s page 459 + + 167:Drivers/CMSIS/Include/cmsis_gcc.h **** { 168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 169:Drivers/CMSIS/Include/cmsis_gcc.h **** @@ -26098,9 +27515,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 198:Drivers/CMSIS/Include/cmsis_gcc.h **** 199:Drivers/CMSIS/Include/cmsis_gcc.h **** 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - ARM GAS /tmp/ccYgfTud.s page 436 - - 201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register 202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register. 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value @@ -26124,6 +27538,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 222:Drivers/CMSIS/Include/cmsis_gcc.h **** 223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) ); + ARM GAS /tmp/ccwR4KB7.s page 460 + + 224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 225:Drivers/CMSIS/Include/cmsis_gcc.h **** } 226:Drivers/CMSIS/Include/cmsis_gcc.h **** @@ -26158,9 +27575,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 255:Drivers/CMSIS/Include/cmsis_gcc.h **** 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /** - ARM GAS /tmp/ccYgfTud.s page 437 - - 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure) 259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s 260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value @@ -26184,6 +27598,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 278:Drivers/CMSIS/Include/cmsis_gcc.h **** { 279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : ); 280:Drivers/CMSIS/Include/cmsis_gcc.h **** } + ARM GAS /tmp/ccwR4KB7.s page 461 + + 281:Drivers/CMSIS/Include/cmsis_gcc.h **** 282:Drivers/CMSIS/Include/cmsis_gcc.h **** 283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) @@ -26218,9 +27635,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure) 313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat 314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value - ARM GAS /tmp/ccYgfTud.s page 438 - - 315:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) 317:Drivers/CMSIS/Include/cmsis_gcc.h **** { @@ -26244,6 +27658,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 335:Drivers/CMSIS/Include/cmsis_gcc.h **** 336:Drivers/CMSIS/Include/cmsis_gcc.h **** 337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) + ARM GAS /tmp/ccwR4KB7.s page 462 + + 338:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure) 340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state. @@ -26278,9 +27695,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 369:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) 371:Drivers/CMSIS/Include/cmsis_gcc.h **** { - ARM GAS /tmp/ccYgfTud.s page 439 - - 372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); 373:Drivers/CMSIS/Include/cmsis_gcc.h **** } 374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif @@ -26304,6 +27718,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 392:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure) 394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg + ARM GAS /tmp/ccwR4KB7.s page 463 + + 395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value 396:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void) @@ -26338,9 +27755,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory"); 427:Drivers/CMSIS/Include/cmsis_gcc.h **** } 428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - ARM GAS /tmp/ccYgfTud.s page 440 - - 429:Drivers/CMSIS/Include/cmsis_gcc.h **** 430:Drivers/CMSIS/Include/cmsis_gcc.h **** 431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ @@ -26364,6 +27778,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 449:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void) 451:Drivers/CMSIS/Include/cmsis_gcc.h **** { + ARM GAS /tmp/ccwR4KB7.s page 464 + + 452:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory"); 453:Drivers/CMSIS/Include/cmsis_gcc.h **** } 454:Drivers/CMSIS/Include/cmsis_gcc.h **** @@ -26398,9 +27815,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 484:Drivers/CMSIS/Include/cmsis_gcc.h **** 485:Drivers/CMSIS/Include/cmsis_gcc.h **** - ARM GAS /tmp/ccYgfTud.s page 441 - - 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority 488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register. @@ -26424,6 +27838,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 506:Drivers/CMSIS/Include/cmsis_gcc.h **** } 507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 508:Drivers/CMSIS/Include/cmsis_gcc.h **** + ARM GAS /tmp/ccwR4KB7.s page 465 + + 509:Drivers/CMSIS/Include/cmsis_gcc.h **** 510:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 511:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition @@ -26458,9 +27875,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value 541:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void) - ARM GAS /tmp/ccYgfTud.s page 442 - - 543:Drivers/CMSIS/Include/cmsis_gcc.h **** { 544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 545:Drivers/CMSIS/Include/cmsis_gcc.h **** @@ -26484,6 +27898,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 564:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 565:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure) + ARM GAS /tmp/ccwR4KB7.s page 466 + + 566:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state. 567:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set 568:Drivers/CMSIS/Include/cmsis_gcc.h **** */ @@ -26518,9 +27935,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; 598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - ARM GAS /tmp/ccYgfTud.s page 443 - - 600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) ); 601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif @@ -26544,6 +27958,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 620:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 621:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) ); 622:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; + ARM GAS /tmp/ccwR4KB7.s page 467 + + 623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 624:Drivers/CMSIS/Include/cmsis_gcc.h **** } 625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif @@ -26578,9 +27995,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 654:Drivers/CMSIS/Include/cmsis_gcc.h **** 655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s 656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set - ARM GAS /tmp/ccYgfTud.s page 444 - - 657:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit) 659:Drivers/CMSIS/Include/cmsis_gcc.h **** { @@ -26604,6 +28018,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 677:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value 678:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void) + ARM GAS /tmp/ccwR4KB7.s page 468 + + 680:Drivers/CMSIS/Include/cmsis_gcc.h **** { 681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ 682:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) @@ -26638,9 +28055,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 712:Drivers/CMSIS/Include/cmsis_gcc.h **** } 713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif - ARM GAS /tmp/ccYgfTud.s page 445 - - 714:Drivers/CMSIS/Include/cmsis_gcc.h **** 715:Drivers/CMSIS/Include/cmsis_gcc.h **** 716:Drivers/CMSIS/Include/cmsis_gcc.h **** /** @@ -26664,6 +28078,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 734:Drivers/CMSIS/Include/cmsis_gcc.h **** } 735:Drivers/CMSIS/Include/cmsis_gcc.h **** 736:Drivers/CMSIS/Include/cmsis_gcc.h **** + ARM GAS /tmp/ccwR4KB7.s page 469 + + 737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 738:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 739:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure) @@ -26698,9 +28115,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ 769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) 770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr) - ARM GAS /tmp/ccYgfTud.s page 446 - - 771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed 772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) 773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ @@ -26724,6 +28138,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 791:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr) 793:Drivers/CMSIS/Include/cmsis_gcc.h **** { + ARM GAS /tmp/ccwR4KB7.s page 470 + + 794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ 795:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) 796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr) @@ -26758,9 +28175,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r) 826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r) - ARM GAS /tmp/ccYgfTud.s page 447 - - 828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r) 829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r) 830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif @@ -26784,6 +28198,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 848:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs. 849:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe") + ARM GAS /tmp/ccwR4KB7.s page 471 + + 851:Drivers/CMSIS/Include/cmsis_gcc.h **** 852:Drivers/CMSIS/Include/cmsis_gcc.h **** 853:Drivers/CMSIS/Include/cmsis_gcc.h **** /** @@ -26818,9 +28235,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 882:Drivers/CMSIS/Include/cmsis_gcc.h **** 883:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 884:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier - ARM GAS /tmp/ccYgfTud.s page 448 - - 885:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before 886:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion. 887:Drivers/CMSIS/Include/cmsis_gcc.h **** */ @@ -26844,6 +28258,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 905:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 906:Drivers/CMSIS/Include/cmsis_gcc.h **** 907:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); + ARM GAS /tmp/ccwR4KB7.s page 472 + + 908:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 909:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 910:Drivers/CMSIS/Include/cmsis_gcc.h **** } @@ -26878,9 +28295,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 939:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result; 940:Drivers/CMSIS/Include/cmsis_gcc.h **** 941:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); - ARM GAS /tmp/ccYgfTud.s page 449 - - 942:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 943:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 944:Drivers/CMSIS/Include/cmsis_gcc.h **** } @@ -26904,6 +28318,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 962:Drivers/CMSIS/Include/cmsis_gcc.h **** } 963:Drivers/CMSIS/Include/cmsis_gcc.h **** 964:Drivers/CMSIS/Include/cmsis_gcc.h **** + ARM GAS /tmp/ccwR4KB7.s page 473 + + 965:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 966:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Breakpoint 967:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Causes the processor to enter Debug state. @@ -26938,9 +28355,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 996:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U; 997:Drivers/CMSIS/Include/cmsis_gcc.h **** s--; 998:Drivers/CMSIS/Include/cmsis_gcc.h **** } - ARM GAS /tmp/ccYgfTud.s page 450 - - 999:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */ 1000:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 1001:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; @@ -26964,6 +28378,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1019:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief LDR Exclusive (8 bit) 1020:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive LDR instruction for 8 bit value. 1021:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to data + ARM GAS /tmp/ccwR4KB7.s page 474 + + 1022:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint8_t at (*ptr) 1023:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1024:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr) @@ -26998,9 +28415,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1053:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not 1054:Drivers/CMSIS/Include/cmsis_gcc.h **** accepted by assembler. So has to use following less efficient pattern. 1055:Drivers/CMSIS/Include/cmsis_gcc.h **** */ - ARM GAS /tmp/ccYgfTud.s page 451 - - 1056:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" ); 1057:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 1058:Drivers/CMSIS/Include/cmsis_gcc.h **** return ((uint16_t) result); /* Add explicit type cast here */ @@ -27014,34 +28428,37 @@ ARM GAS /tmp/ccYgfTud.s page 1 1066:Drivers/CMSIS/Include/cmsis_gcc.h **** \return value of type uint32_t at (*ptr) 1067:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1068:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr) - 5138 .loc 8 1068 31 view .LVU1661 - 5139 .LBB533: + 5966 .loc 8 1068 31 view .LVU1905 + 5967 .LBB549: 1069:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1070:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 5140 .loc 8 1070 5 view .LVU1662 + 5968 .loc 8 1070 5 view .LVU1906 1071:Drivers/CMSIS/Include/cmsis_gcc.h **** 1072:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); - 5141 .loc 8 1072 4 view .LVU1663 - 5142 00e8 794A ldr r2, .L225+76 - 5143 00ea 02F10803 add r3, r2, #8 - 5144 .syntax unified - 5145 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 - 5146 00ee 53E8003F ldrex r3, [r3] - 5147 @ 0 "" 2 - 5148 .LVL416: + 5969 .loc 8 1072 4 view .LVU1907 + 5970 00e8 794A ldr r2, .L304+76 + 5971 00ea 02F10803 add r3, r2, #8 + ARM GAS /tmp/ccwR4KB7.s page 475 + + + 5972 .syntax unified + 5973 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 + 5974 00ee 53E8003F ldrex r3, [r3] + 5975 @ 0 "" 2 + 5976 .LVL534: 1073:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 5149 .loc 8 1073 4 view .LVU1664 - 5150 .loc 8 1073 4 is_stmt 0 view .LVU1665 - 5151 .thumb - 5152 .syntax unified - 5153 .LBE533: - 5154 .LBE532: - 5155 .loc 7 3558 3 discriminator 1 view .LVU1666 - 5156 00f2 43F08003 orr r3, r3, #128 - 5157 .LVL417: - 5158 .loc 7 3558 3 is_stmt 1 discriminator 1 view .LVU1667 - 5159 .LBB534: - 5160 .LBI534: + 5977 .loc 8 1073 4 view .LVU1908 + 5978 .loc 8 1073 4 is_stmt 0 view .LVU1909 + 5979 .thumb + 5980 .syntax unified + 5981 .LBE549: + 5982 .LBE548: + 5983 .loc 7 3558 3 discriminator 1 view .LVU1910 + 5984 00f2 43F08003 orr r3, r3, #128 + 5985 .LVL535: + 5986 .loc 7 3558 3 is_stmt 1 discriminator 1 view .LVU1911 + 5987 .LBB550: + 5988 .LBI550: 1074:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1075:Drivers/CMSIS/Include/cmsis_gcc.h **** 1076:Drivers/CMSIS/Include/cmsis_gcc.h **** @@ -27058,9 +28475,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 1087:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 1088:Drivers/CMSIS/Include/cmsis_gcc.h **** 1089:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) ); - ARM GAS /tmp/ccYgfTud.s page 452 - - 1090:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 1091:Drivers/CMSIS/Include/cmsis_gcc.h **** } 1092:Drivers/CMSIS/Include/cmsis_gcc.h **** @@ -27084,6 +28498,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 1110:Drivers/CMSIS/Include/cmsis_gcc.h **** 1111:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 1112:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief STR Exclusive (32 bit) + ARM GAS /tmp/ccwR4KB7.s page 476 + + 1113:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Executes a exclusive STR instruction for 32 bit values. 1114:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to store 1115:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ptr Pointer to location @@ -27091,42 +28508,39 @@ ARM GAS /tmp/ccYgfTud.s page 1 1117:Drivers/CMSIS/Include/cmsis_gcc.h **** \return 1 Function failed 1118:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 1119:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr) - 5161 .loc 8 1119 31 view .LVU1668 - 5162 .LBB535: + 5989 .loc 8 1119 31 view .LVU1912 + 5990 .LBB551: 1120:Drivers/CMSIS/Include/cmsis_gcc.h **** { 1121:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; - 5163 .loc 8 1121 4 view .LVU1669 + 5991 .loc 8 1121 4 view .LVU1913 1122:Drivers/CMSIS/Include/cmsis_gcc.h **** 1123:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); - 5164 .loc 8 1123 4 view .LVU1670 - 5165 00f6 0832 adds r2, r2, #8 - 5166 .syntax unified - 5167 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 - 5168 00f8 42E80031 strex r1, r3, [r2] - 5169 @ 0 "" 2 - 5170 .LVL418: + 5992 .loc 8 1123 4 view .LVU1914 + 5993 00f6 0832 adds r2, r2, #8 + 5994 .syntax unified + 5995 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 + 5996 00f8 42E80031 strex r1, r3, [r2] + 5997 @ 0 "" 2 + 5998 .LVL536: 1124:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 5171 .loc 8 1124 4 view .LVU1671 - 5172 .loc 8 1124 4 is_stmt 0 view .LVU1672 - 5173 .thumb - 5174 .syntax unified - 5175 .LBE535: - 5176 .LBE534: - 5177 .loc 7 3558 3 discriminator 1 view .LVU1673 - 5178 00fc 0029 cmp r1, #0 - 5179 00fe F3D1 bne .L216 - 5180 .LBE531: - 5181 .loc 7 3558 3 is_stmt 1 discriminator 2 view .LVU1674 - 5182 .LVL419: - ARM GAS /tmp/ccYgfTud.s page 453 - - - 5183 .loc 7 3558 3 is_stmt 0 discriminator 2 view .LVU1675 - 5184 .LBE530: -2071:Src/main.c **** LL_DMA_EnableIT_TE(DMA2, LL_DMA_STREAM_7); - 5185 .loc 1 2071 3 is_stmt 1 view .LVU1676 - 5186 .LBB536: - 5187 .LBI536: + 5999 .loc 8 1124 4 view .LVU1915 + 6000 .loc 8 1124 4 is_stmt 0 view .LVU1916 + 6001 .thumb + 6002 .syntax unified + 6003 .LBE551: + 6004 .LBE550: + 6005 .loc 7 3558 3 discriminator 1 view .LVU1917 + 6006 00fc 0029 cmp r1, #0 + 6007 00fe F3D1 bne .L295 + 6008 .LBE547: + 6009 .loc 7 3558 3 is_stmt 1 discriminator 2 view .LVU1918 + 6010 .LVL537: + 6011 .loc 7 3558 3 is_stmt 0 discriminator 2 view .LVU1919 + 6012 .LBE546: +2121:Src/main.c **** LL_DMA_EnableIT_TE(DMA2, LL_DMA_STREAM_7); + 6013 .loc 1 2121 3 is_stmt 1 view .LVU1920 + 6014 .LBB552: + 6015 .LBI552: 2368:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 2369:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 2370:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** @@ -27144,6 +28558,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2382:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Clear Stream 1 direct mode error flag. 2383:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll LIFCR CDMEIF1 LL_DMA_ClearFlag_DME1 2384:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance + ARM GAS /tmp/ccwR4KB7.s page 477 + + 2385:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 2386:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 2387:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_ClearFlag_DME1(DMA_TypeDef *DMAx) @@ -27178,9 +28595,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2416:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll HIFCR CDMEIF4 LL_DMA_ClearFlag_DME4 2417:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 2418:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None - ARM GAS /tmp/ccYgfTud.s page 454 - - 2419:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 2420:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_ClearFlag_DME4(DMA_TypeDef *DMAx) 2421:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { @@ -27204,6 +28618,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2439:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 2440:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 2441:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ + ARM GAS /tmp/ccwR4KB7.s page 478 + + 2442:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_ClearFlag_DME6(DMA_TypeDef *DMAx) 2443:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 2444:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** WRITE_REG(DMAx->HIFCR , DMA_HIFCR_CDMEIF6); @@ -27238,9 +28655,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2473:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 2474:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 2475:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_ClearFlag_FE1(DMA_TypeDef *DMAx) - ARM GAS /tmp/ccYgfTud.s page 455 - - 2476:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 2477:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** WRITE_REG(DMAx->LIFCR , DMA_LIFCR_CFEIF1); 2478:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } @@ -27264,6 +28678,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2496:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 2497:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_ClearFlag_FE3(DMA_TypeDef *DMAx) 2498:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { + ARM GAS /tmp/ccwR4KB7.s page 479 + + 2499:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** WRITE_REG(DMAx->LIFCR , DMA_LIFCR_CFEIF3); 2500:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 2501:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** @@ -27298,9 +28715,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2530:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_ClearFlag_FE6(DMA_TypeDef *DMAx) 2531:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 2532:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** WRITE_REG(DMAx->HIFCR , DMA_HIFCR_CFEIF6); - ARM GAS /tmp/ccYgfTud.s page 456 - - 2533:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } 2534:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 2535:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** @@ -27324,6 +28738,9 @@ ARM GAS /tmp/ccYgfTud.s page 1 2553:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** 2554:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** /** 2555:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @brief Enable Half transfer interrupt. + ARM GAS /tmp/ccwR4KB7.s page 480 + + 2556:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @rmtoll CR HTIE LL_DMA_EnableIT_HT 2557:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param DMAx DMAx Instance 2558:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @param Stream This parameter can be one of the following values: @@ -27358,9 +28775,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 2587:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 2588:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 2589:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_EnableIT_TE(DMA_TypeDef *DMAx, uint32_t Stream) - ARM GAS /tmp/ccYgfTud.s page 457 - - 2590:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { 2591:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** SET_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->CR, DMA 2592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } @@ -27381,2926 +28795,2926 @@ ARM GAS /tmp/ccYgfTud.s page 1 2607:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** * @retval None 2608:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** */ 2609:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** __STATIC_INLINE void LL_DMA_EnableIT_TC(DMA_TypeDef *DMAx, uint32_t Stream) - 5188 .loc 6 2609 22 view .LVU1677 - 5189 .LBB537: + 6016 .loc 6 2609 22 view .LVU1921 + 6017 .LBB553: 2610:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { + ARM GAS /tmp/ccwR4KB7.s page 481 + + 2611:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** SET_BIT(((DMA_Stream_TypeDef *)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->CR, DMA - 5190 .loc 6 2611 3 view .LVU1678 - 5191 0100 744B ldr r3, .L225+80 - 5192 0102 D3F8B820 ldr r2, [r3, #184] - 5193 0106 42F01002 orr r2, r2, #16 - 5194 010a C3F8B820 str r2, [r3, #184] - 5195 .LVL420: - 5196 .loc 6 2611 3 is_stmt 0 view .LVU1679 - 5197 .LBE537: - 5198 .LBE536: -2072:Src/main.c **** LL_DMA_ClearFlag_TC7(DMA2); - 5199 .loc 1 2072 3 is_stmt 1 view .LVU1680 - 5200 .LBB538: - 5201 .LBI538: + 6018 .loc 6 2611 3 view .LVU1922 + 6019 0100 744B ldr r3, .L304+80 + 6020 0102 D3F8B820 ldr r2, [r3, #184] + 6021 0106 42F01002 orr r2, r2, #16 + 6022 010a C3F8B820 str r2, [r3, #184] + 6023 .LVL538: + 6024 .loc 6 2611 3 is_stmt 0 view .LVU1923 + 6025 .LBE553: + 6026 .LBE552: +2122:Src/main.c **** LL_DMA_ClearFlag_TC7(DMA2); + 6027 .loc 1 2122 3 is_stmt 1 view .LVU1924 + 6028 .LBB554: + 6029 .LBI554: 2589:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 5202 .loc 6 2589 22 view .LVU1681 - 5203 .LBB539: + 6030 .loc 6 2589 22 view .LVU1925 + 6031 .LBB555: 2591:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 5204 .loc 6 2591 3 view .LVU1682 - 5205 010e D3F8B820 ldr r2, [r3, #184] - 5206 0112 42F00402 orr r2, r2, #4 - 5207 0116 C3F8B820 str r2, [r3, #184] - 5208 .LVL421: + 6032 .loc 6 2591 3 view .LVU1926 + 6033 010e D3F8B820 ldr r2, [r3, #184] + 6034 0112 42F00402 orr r2, r2, #4 + 6035 0116 C3F8B820 str r2, [r3, #184] + 6036 .LVL539: 2591:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 5209 .loc 6 2591 3 is_stmt 0 view .LVU1683 - 5210 .LBE539: - 5211 .LBE538: -2073:Src/main.c **** LL_DMA_ClearFlag_TE7(DMA2); - 5212 .loc 1 2073 3 is_stmt 1 view .LVU1684 - 5213 .LBB540: - 5214 .LBI540: + 6037 .loc 6 2591 3 is_stmt 0 view .LVU1927 + 6038 .LBE555: + 6039 .LBE554: +2123:Src/main.c **** LL_DMA_ClearFlag_TE7(DMA2); + 6040 .loc 1 2123 3 is_stmt 1 view .LVU1928 + 6041 .LBB556: + 6042 .LBI556: 2277:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 5215 .loc 6 2277 22 view .LVU1685 - 5216 .LBB541: - ARM GAS /tmp/ccYgfTud.s page 458 - - + 6043 .loc 6 2277 22 view .LVU1929 + 6044 .LBB557: 2279:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 5217 .loc 6 2279 3 view .LVU1686 - 5218 011a 4FF00062 mov r2, #134217728 - 5219 011e DA60 str r2, [r3, #12] - 5220 .LVL422: + 6045 .loc 6 2279 3 view .LVU1930 + 6046 011a 4FF00062 mov r2, #134217728 + 6047 011e DA60 str r2, [r3, #12] + 6048 .LVL540: 2279:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 5221 .loc 6 2279 3 is_stmt 0 view .LVU1687 - 5222 .LBE541: - 5223 .LBE540: -2074:Src/main.c **** LL_DMA_ConfigAddresses(DMA2, LL_DMA_STREAM_7, (uint32_t)&UART_DATA, LL_USART_DMA_GetRegAddr(USART - 5224 .loc 1 2074 3 is_stmt 1 view .LVU1688 - 5225 .LBB542: - 5226 .LBI542: + 6049 .loc 6 2279 3 is_stmt 0 view .LVU1931 + 6050 .LBE557: + 6051 .LBE556: +2124:Src/main.c **** LL_DMA_ConfigAddresses(DMA2, LL_DMA_STREAM_7, (uint32_t)&UART_DATA, LL_USART_DMA_GetRegAddr(USART + 6052 .loc 1 2124 3 is_stmt 1 view .LVU1932 + 6053 .LBB558: + 6054 .LBI558: 2365:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 5227 .loc 6 2365 22 view .LVU1689 - 5228 .LBB543: + 6055 .loc 6 2365 22 view .LVU1933 + 6056 .LBB559: 2367:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 5229 .loc 6 2367 3 view .LVU1690 - 5230 0120 4FF00072 mov r2, #33554432 - 5231 0124 DA60 str r2, [r3, #12] - 5232 .LVL423: + 6057 .loc 6 2367 3 view .LVU1934 + 6058 0120 4FF00072 mov r2, #33554432 + 6059 0124 DA60 str r2, [r3, #12] + 6060 .LVL541: 2367:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 5233 .loc 6 2367 3 is_stmt 0 view .LVU1691 - 5234 .LBE543: - 5235 .LBE542: -2075:Src/main.c **** - 5236 .loc 1 2075 3 is_stmt 1 view .LVU1692 - 5237 0126 6C4A ldr r2, .L225+84 - 5238 .LVL424: - 5239 .LBB544: - 5240 .LBI544: + 6061 .loc 6 2367 3 is_stmt 0 view .LVU1935 + ARM GAS /tmp/ccwR4KB7.s page 482 + + + 6062 .LBE559: + 6063 .LBE558: +2125:Src/main.c **** + 6064 .loc 1 2125 3 is_stmt 1 view .LVU1936 + 6065 0126 6C4A ldr r2, .L304+84 + 6066 .LVL542: + 6067 .LBB560: + 6068 .LBI560: 621:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 5241 .loc 6 621 26 view .LVU1693 - 5242 .LBB545: + 6069 .loc 6 621 26 view .LVU1937 + 6070 .LBB561: 623:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 5243 .loc 6 623 3 view .LVU1694 + 6071 .loc 6 623 3 view .LVU1938 623:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 5244 .loc 6 623 11 is_stmt 0 view .LVU1695 - 5245 0128 D3F8B830 ldr r3, [r3, #184] - 5246 012c 03F0C003 and r3, r3, #192 - 5247 .LVL425: + 6072 .loc 6 623 11 is_stmt 0 view .LVU1939 + 6073 0128 D3F8B830 ldr r3, [r3, #184] + 6074 012c 03F0C003 and r3, r3, #192 + 6075 .LVL543: 623:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 5248 .loc 6 623 11 view .LVU1696 - 5249 .LBE545: - 5250 .LBE544: - 5251 .LBB546: - 5252 .LBI546: + 6076 .loc 6 623 11 view .LVU1940 + 6077 .LBE561: + 6078 .LBE560: + 6079 .LBB562: + 6080 .LBI562: 1425:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 5253 .loc 6 1425 22 is_stmt 1 view .LVU1697 - 5254 .LBB547: + 6081 .loc 6 1425 22 is_stmt 1 view .LVU1941 + 6082 .LBB563: 1428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 5255 .loc 6 1428 3 view .LVU1698 + 6083 .loc 6 1428 3 view .LVU1942 1428:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 5256 .loc 6 1428 6 is_stmt 0 view .LVU1699 - 5257 0130 402B cmp r3, #64 - 5258 0132 7DD0 beq .L222 + 6084 .loc 6 1428 6 is_stmt 0 view .LVU1943 + 6085 0130 402B cmp r3, #64 + 6086 0132 7DD0 beq .L301 1436:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** WRITE_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->M0AR - ARM GAS /tmp/ccYgfTud.s page 459 - - - 5259 .loc 6 1436 5 is_stmt 1 view .LVU1700 - 5260 0134 674B ldr r3, .L225+80 - 5261 .LVL426: + 6087 .loc 6 1436 5 is_stmt 1 view .LVU1944 + 6088 0134 674B ldr r3, .L304+80 + 6089 .LVL544: 1436:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** WRITE_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->M0AR - 5262 .loc 6 1436 5 is_stmt 0 view .LVU1701 - 5263 0136 C3F8C020 str r2, [r3, #192] + 6090 .loc 6 1436 5 is_stmt 0 view .LVU1945 + 6091 0136 C3F8C020 str r2, [r3, #192] 1437:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 5264 .loc 6 1437 5 is_stmt 1 view .LVU1702 - 5265 013a 684A ldr r2, .L225+88 - 5266 013c C3F8C420 str r2, [r3, #196] - 5267 .L218: - 5268 .LVL427: + 6092 .loc 6 1437 5 is_stmt 1 view .LVU1946 + 6093 013a 684A ldr r2, .L304+88 + 6094 013c C3F8C420 str r2, [r3, #196] + 6095 .L297: + 6096 .LVL545: 1437:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 5269 .loc 6 1437 5 is_stmt 0 view .LVU1703 - 5270 .LBE547: - 5271 .LBE546: -2080:Src/main.c **** SD_SLIDE = 0; - 5272 .loc 1 2080 2 is_stmt 1 view .LVU1704 -2080:Src/main.c **** SD_SLIDE = 0; - 5273 .loc 1 2080 10 is_stmt 0 view .LVU1705 - 5274 0140 0024 movs r4, #0 - 5275 0142 674B ldr r3, .L225+92 - 5276 0144 1C60 str r4, [r3] -2081:Src/main.c **** //Reset all periphery - 5277 .loc 1 2081 2 is_stmt 1 view .LVU1706 -2081:Src/main.c **** //Reset all periphery - 5278 .loc 1 2081 11 is_stmt 0 view .LVU1707 - 5279 0146 674B ldr r3, .L225+96 - 5280 0148 1C60 str r4, [r3] -2083:Src/main.c **** HAL_GPIO_WritePin(EN_5V2_GPIO_Port, EN_5V2_Pin, GPIO_PIN_RESET); - 5281 .loc 1 2083 2 is_stmt 1 view .LVU1708 - 5282 014a 674F ldr r7, .L225+100 - 5283 014c 2246 mov r2, r4 - 5284 014e 0821 movs r1, #8 - 5285 0150 3846 mov r0, r7 - 5286 0152 FFF7FEFF bl HAL_GPIO_WritePin - 5287 .LVL428: -2084:Src/main.c **** HAL_GPIO_WritePin(LD1_EN_GPIO_Port, LD1_EN_Pin, GPIO_PIN_RESET); - 5288 .loc 1 2084 2 view .LVU1709 - 5289 0156 2246 mov r2, r4 - 5290 0158 0421 movs r1, #4 - 5291 015a 3846 mov r0, r7 - 5292 015c FFF7FEFF bl HAL_GPIO_WritePin - 5293 .LVL429: -2085:Src/main.c **** HAL_GPIO_WritePin(LD2_EN_GPIO_Port, LD2_EN_Pin, GPIO_PIN_RESET); - 5294 .loc 1 2085 2 view .LVU1710 - 5295 0160 DFF8A881 ldr r8, .L225+136 - 5296 0164 2246 mov r2, r4 - 5297 0166 4FF48071 mov r1, #256 - 5298 016a 4046 mov r0, r8 - 5299 016c FFF7FEFF bl HAL_GPIO_WritePin - 5300 .LVL430: -2086:Src/main.c **** HAL_GPIO_WritePin(REF0_EN_GPIO_Port, REF0_EN_Pin, GPIO_PIN_RESET); - 5301 .loc 1 2086 2 view .LVU1711 - 5302 0170 2246 mov r2, r4 - 5303 0172 1021 movs r1, #16 - 5304 0174 3846 mov r0, r7 - ARM GAS /tmp/ccYgfTud.s page 460 + 6097 .loc 6 1437 5 is_stmt 0 view .LVU1947 + 6098 .LBE563: + 6099 .LBE562: +2130:Src/main.c **** SD_SLIDE = 0; + 6100 .loc 1 2130 2 is_stmt 1 view .LVU1948 +2130:Src/main.c **** SD_SLIDE = 0; + 6101 .loc 1 2130 10 is_stmt 0 view .LVU1949 + 6102 0140 0024 movs r4, #0 + 6103 0142 674B ldr r3, .L304+92 + 6104 0144 1C60 str r4, [r3] + ARM GAS /tmp/ccwR4KB7.s page 483 - 5305 0176 FFF7FEFF bl HAL_GPIO_WritePin - 5306 .LVL431: -2087:Src/main.c **** HAL_GPIO_WritePin(REF2_ON_GPIO_Port, REF2_ON_Pin, GPIO_PIN_RESET); - 5307 .loc 1 2087 2 view .LVU1712 - 5308 017a 5C4E ldr r6, .L225+104 - 5309 017c 2246 mov r2, r4 - 5310 017e 4FF48061 mov r1, #1024 - 5311 0182 3046 mov r0, r6 - 5312 0184 FFF7FEFF bl HAL_GPIO_WritePin - 5313 .LVL432: -2088:Src/main.c **** HAL_GPIO_WritePin(TECEN1_GPIO_Port, TECEN1_Pin, GPIO_PIN_RESET); - 5314 .loc 1 2088 2 view .LVU1713 - 5315 0188 594D ldr r5, .L225+108 - 5316 018a 2246 mov r2, r4 - 5317 018c 0821 movs r1, #8 - 5318 018e 2846 mov r0, r5 - 5319 0190 FFF7FEFF bl HAL_GPIO_WritePin - 5320 .LVL433: -2089:Src/main.c **** HAL_GPIO_WritePin(TECEN2_GPIO_Port, TECEN2_Pin, GPIO_PIN_RESET); - 5321 .loc 1 2089 2 view .LVU1714 - 5322 0194 2246 mov r2, r4 - 5323 0196 0121 movs r1, #1 - 5324 0198 2846 mov r0, r5 - 5325 019a FFF7FEFF bl HAL_GPIO_WritePin - 5326 .LVL434: -2090:Src/main.c **** HAL_GPIO_WritePin(TEC1_PD_GPIO_Port, TEC1_PD_Pin, GPIO_PIN_RESET); - 5327 .loc 1 2090 2 view .LVU1715 - 5328 019e 2246 mov r2, r4 - 5329 01a0 0221 movs r1, #2 - 5330 01a2 2846 mov r0, r5 - 5331 01a4 FFF7FEFF bl HAL_GPIO_WritePin - 5332 .LVL435: -2091:Src/main.c **** HAL_GPIO_WritePin(TEC2_PD_GPIO_Port, TEC2_PD_Pin, GPIO_PIN_RESET); - 5333 .loc 1 2091 2 view .LVU1716 - 5334 01a8 2246 mov r2, r4 - 5335 01aa 4FF40061 mov r1, #2048 - 5336 01ae 3046 mov r0, r6 - 5337 01b0 FFF7FEFF bl HAL_GPIO_WritePin - 5338 .LVL436: -2092:Src/main.c **** // for (uint16_t i = 0; i < SD_Length; i++) - 5339 .loc 1 2092 2 view .LVU1717 - 5340 01b4 2246 mov r2, r4 - 5341 01b6 2021 movs r1, #32 - 5342 01b8 3846 mov r0, r7 - 5343 01ba FFF7FEFF bl HAL_GPIO_WritePin - 5344 .LVL437: -2102:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD2_CS_GPIO_Port, ADC_MPD2_CS_Pin, GPIO_PIN_SET);//Enable SPI for MPhD2 ADC - 5345 .loc 1 2102 2 view .LVU1718 - 5346 01be 07F50067 add r7, r7, #2048 - 5347 01c2 0122 movs r2, #1 - 5348 01c4 4FF48061 mov r1, #1024 - 5349 01c8 3846 mov r0, r7 - 5350 01ca FFF7FEFF bl HAL_GPIO_WritePin - 5351 .LVL438: -2103:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET); - 5352 .loc 1 2103 2 view .LVU1719 - 5353 01ce 494C ldr r4, .L225+112 - ARM GAS /tmp/ccYgfTud.s page 461 +2131:Src/main.c **** //Reset all periphery + 6105 .loc 1 2131 2 is_stmt 1 view .LVU1950 +2131:Src/main.c **** //Reset all periphery + 6106 .loc 1 2131 11 is_stmt 0 view .LVU1951 + 6107 0146 674B ldr r3, .L304+96 + 6108 0148 1C60 str r4, [r3] +2133:Src/main.c **** HAL_GPIO_WritePin(EN_5V2_GPIO_Port, EN_5V2_Pin, GPIO_PIN_RESET); + 6109 .loc 1 2133 2 is_stmt 1 view .LVU1952 + 6110 014a 674F ldr r7, .L304+100 + 6111 014c 2246 mov r2, r4 + 6112 014e 0821 movs r1, #8 + 6113 0150 3846 mov r0, r7 + 6114 0152 FFF7FEFF bl HAL_GPIO_WritePin + 6115 .LVL546: +2134:Src/main.c **** HAL_GPIO_WritePin(LD1_EN_GPIO_Port, LD1_EN_Pin, GPIO_PIN_RESET); + 6116 .loc 1 2134 2 view .LVU1953 + 6117 0156 2246 mov r2, r4 + 6118 0158 0421 movs r1, #4 + 6119 015a 3846 mov r0, r7 + 6120 015c FFF7FEFF bl HAL_GPIO_WritePin + 6121 .LVL547: +2135:Src/main.c **** HAL_GPIO_WritePin(LD2_EN_GPIO_Port, LD2_EN_Pin, GPIO_PIN_RESET); + 6122 .loc 1 2135 2 view .LVU1954 + 6123 0160 DFF8A881 ldr r8, .L304+136 + 6124 0164 2246 mov r2, r4 + 6125 0166 4FF48071 mov r1, #256 + 6126 016a 4046 mov r0, r8 + 6127 016c FFF7FEFF bl HAL_GPIO_WritePin + 6128 .LVL548: +2136:Src/main.c **** HAL_GPIO_WritePin(REF0_EN_GPIO_Port, REF0_EN_Pin, GPIO_PIN_RESET); + 6129 .loc 1 2136 2 view .LVU1955 + 6130 0170 2246 mov r2, r4 + 6131 0172 1021 movs r1, #16 + 6132 0174 3846 mov r0, r7 + 6133 0176 FFF7FEFF bl HAL_GPIO_WritePin + 6134 .LVL549: +2137:Src/main.c **** HAL_GPIO_WritePin(REF2_ON_GPIO_Port, REF2_ON_Pin, GPIO_PIN_RESET); + 6135 .loc 1 2137 2 view .LVU1956 + 6136 017a 5C4E ldr r6, .L304+104 + 6137 017c 2246 mov r2, r4 + 6138 017e 4FF48061 mov r1, #1024 + 6139 0182 3046 mov r0, r6 + 6140 0184 FFF7FEFF bl HAL_GPIO_WritePin + 6141 .LVL550: +2138:Src/main.c **** HAL_GPIO_WritePin(TECEN1_GPIO_Port, TECEN1_Pin, GPIO_PIN_RESET); + 6142 .loc 1 2138 2 view .LVU1957 + 6143 0188 594D ldr r5, .L304+108 + 6144 018a 2246 mov r2, r4 + 6145 018c 0821 movs r1, #8 + 6146 018e 2846 mov r0, r5 + 6147 0190 FFF7FEFF bl HAL_GPIO_WritePin + 6148 .LVL551: +2139:Src/main.c **** HAL_GPIO_WritePin(TECEN2_GPIO_Port, TECEN2_Pin, GPIO_PIN_RESET); + 6149 .loc 1 2139 2 view .LVU1958 + 6150 0194 2246 mov r2, r4 + 6151 0196 0121 movs r1, #1 + 6152 0198 2846 mov r0, r5 + ARM GAS /tmp/ccwR4KB7.s page 484 - 5354 01d0 0122 movs r2, #1 - 5355 01d2 4021 movs r1, #64 - 5356 01d4 2046 mov r0, r4 - 5357 01d6 FFF7FEFF bl HAL_GPIO_WritePin - 5358 .LVL439: -2104:Src/main.c **** HAL_GPIO_WritePin(SPI5_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET); - 5359 .loc 1 2104 2 view .LVU1720 - 5360 01da 0122 movs r2, #1 - 5361 01dc 4FF48041 mov r1, #16384 - 5362 01e0 3846 mov r0, r7 - 5363 01e2 FFF7FEFF bl HAL_GPIO_WritePin - 5364 .LVL440: -2105:Src/main.c **** HAL_GPIO_WritePin(DAC_LD1_CS_GPIO_Port, DAC_LD1_CS_Pin, GPIO_PIN_SET);//End operation with LDAC1 - 5365 .loc 1 2105 2 view .LVU1721 - 5366 01e6 0122 movs r2, #1 - 5367 01e8 4FF48041 mov r1, #16384 - 5368 01ec 2046 mov r0, r4 - 5369 01ee FFF7FEFF bl HAL_GPIO_WritePin - 5370 .LVL441: -2106:Src/main.c **** HAL_GPIO_WritePin(DAC_LD2_CS_GPIO_Port, DAC_LD2_CS_Pin, GPIO_PIN_SET);//End operation with LDAC2 - 5371 .loc 1 2106 2 view .LVU1722 - 5372 01f2 0122 movs r2, #1 - 5373 01f4 4FF48041 mov r1, #16384 - 5374 01f8 3046 mov r0, r6 - 5375 01fa FFF7FEFF bl HAL_GPIO_WritePin - 5376 .LVL442: -2107:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET);//End operation with TEC1 - 5377 .loc 1 2107 2 view .LVU1723 - 5378 01fe 0122 movs r2, #1 - 5379 0200 4021 movs r1, #64 - 5380 0202 2846 mov r0, r5 - 5381 0204 FFF7FEFF bl HAL_GPIO_WritePin - 5382 .LVL443: -2108:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC2_CS_GPIO_Port, DAC_TEC2_CS_Pin, GPIO_PIN_SET);//End operation with TEC2 - 5383 .loc 1 2108 2 view .LVU1724 - 5384 0208 0122 movs r2, #1 - 5385 020a 4FF48051 mov r1, #4096 - 5386 020e 3046 mov r0, r6 - 5387 0210 FFF7FEFF bl HAL_GPIO_WritePin - 5388 .LVL444: -2109:Src/main.c **** - 5389 .loc 1 2109 2 view .LVU1725 - 5390 0214 0122 movs r2, #1 - 5391 0216 1021 movs r1, #16 - 5392 0218 2846 mov r0, r5 - 5393 021a FFF7FEFF bl HAL_GPIO_WritePin - 5394 .LVL445: -2113:Src/main.c **** { - 5395 .loc 1 2113 2 view .LVU1726 -2113:Src/main.c **** { - 5396 .loc 1 2113 6 is_stmt 0 view .LVU1727 - 5397 021e 0121 movs r1, #1 - 5398 0220 4046 mov r0, r8 - 5399 0222 FFF7FEFF bl HAL_GPIO_ReadPin - 5400 .LVL446: -2113:Src/main.c **** { - 5401 .loc 1 2113 5 discriminator 1 view .LVU1728 - ARM GAS /tmp/ccYgfTud.s page 462 + 6153 019a FFF7FEFF bl HAL_GPIO_WritePin + 6154 .LVL552: +2140:Src/main.c **** HAL_GPIO_WritePin(TEC1_PD_GPIO_Port, TEC1_PD_Pin, GPIO_PIN_RESET); + 6155 .loc 1 2140 2 view .LVU1959 + 6156 019e 2246 mov r2, r4 + 6157 01a0 0221 movs r1, #2 + 6158 01a2 2846 mov r0, r5 + 6159 01a4 FFF7FEFF bl HAL_GPIO_WritePin + 6160 .LVL553: +2141:Src/main.c **** HAL_GPIO_WritePin(TEC2_PD_GPIO_Port, TEC2_PD_Pin, GPIO_PIN_RESET); + 6161 .loc 1 2141 2 view .LVU1960 + 6162 01a8 2246 mov r2, r4 + 6163 01aa 4FF40061 mov r1, #2048 + 6164 01ae 3046 mov r0, r6 + 6165 01b0 FFF7FEFF bl HAL_GPIO_WritePin + 6166 .LVL554: +2142:Src/main.c **** // for (uint16_t i = 0; i < SD_Length; i++) + 6167 .loc 1 2142 2 view .LVU1961 + 6168 01b4 2246 mov r2, r4 + 6169 01b6 2021 movs r1, #32 + 6170 01b8 3846 mov r0, r7 + 6171 01ba FFF7FEFF bl HAL_GPIO_WritePin + 6172 .LVL555: +2152:Src/main.c **** HAL_GPIO_WritePin(ADC_MPD2_CS_GPIO_Port, ADC_MPD2_CS_Pin, GPIO_PIN_SET);//Enable SPI for MPhD2 ADC + 6173 .loc 1 2152 2 view .LVU1962 + 6174 01be 07F50067 add r7, r7, #2048 + 6175 01c2 0122 movs r2, #1 + 6176 01c4 4FF48061 mov r1, #1024 + 6177 01c8 3846 mov r0, r7 + 6178 01ca FFF7FEFF bl HAL_GPIO_WritePin + 6179 .LVL556: +2153:Src/main.c **** HAL_GPIO_WritePin(SPI4_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET); + 6180 .loc 1 2153 2 view .LVU1963 + 6181 01ce 494C ldr r4, .L304+112 + 6182 01d0 0122 movs r2, #1 + 6183 01d2 4021 movs r1, #64 + 6184 01d4 2046 mov r0, r4 + 6185 01d6 FFF7FEFF bl HAL_GPIO_WritePin + 6186 .LVL557: +2154:Src/main.c **** HAL_GPIO_WritePin(SPI5_CNV_GPIO_Port, SPI4_CNV_Pin, GPIO_PIN_SET); + 6187 .loc 1 2154 2 view .LVU1964 + 6188 01da 0122 movs r2, #1 + 6189 01dc 4FF48041 mov r1, #16384 + 6190 01e0 3846 mov r0, r7 + 6191 01e2 FFF7FEFF bl HAL_GPIO_WritePin + 6192 .LVL558: +2155:Src/main.c **** HAL_GPIO_WritePin(DAC_LD1_CS_GPIO_Port, DAC_LD1_CS_Pin, GPIO_PIN_SET);//End operation with LDAC1 + 6193 .loc 1 2155 2 view .LVU1965 + 6194 01e6 0122 movs r2, #1 + 6195 01e8 4FF48041 mov r1, #16384 + 6196 01ec 2046 mov r0, r4 + 6197 01ee FFF7FEFF bl HAL_GPIO_WritePin + 6198 .LVL559: +2156:Src/main.c **** HAL_GPIO_WritePin(DAC_LD2_CS_GPIO_Port, DAC_LD2_CS_Pin, GPIO_PIN_SET);//End operation with LDAC2 + 6199 .loc 1 2156 2 view .LVU1966 + 6200 01f2 0122 movs r2, #1 + 6201 01f4 4FF48041 mov r1, #16384 + ARM GAS /tmp/ccwR4KB7.s page 485 - 5402 0226 50B1 cbz r0, .L223 - 5403 .L219: -2144:Src/main.c **** } - 5404 .loc 1 2144 2 is_stmt 1 view .LVU1729 - 5405 0228 FFF7FEFF bl AD9102_Init - 5406 .LVL447: -2145:Src/main.c **** static void Decode_uart(uint16_t *Command, LDx_SetupTypeDef *LD1_curr_setup, LDx_SetupTypeDef *LD2_ - 5407 .loc 1 2145 1 is_stmt 0 view .LVU1730 - 5408 022c BDE8F081 pop {r4, r5, r6, r7, r8, pc} - 5409 .LVL448: - 5410 .L222: - 5411 .LBB549: - 5412 .LBB548: + 6202 01f8 3046 mov r0, r6 + 6203 01fa FFF7FEFF bl HAL_GPIO_WritePin + 6204 .LVL560: +2157:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET);//End operation with TEC1 + 6205 .loc 1 2157 2 view .LVU1967 + 6206 01fe 0122 movs r2, #1 + 6207 0200 4021 movs r1, #64 + 6208 0202 2846 mov r0, r5 + 6209 0204 FFF7FEFF bl HAL_GPIO_WritePin + 6210 .LVL561: +2158:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC2_CS_GPIO_Port, DAC_TEC2_CS_Pin, GPIO_PIN_SET);//End operation with TEC2 + 6211 .loc 1 2158 2 view .LVU1968 + 6212 0208 0122 movs r2, #1 + 6213 020a 4FF48051 mov r1, #4096 + 6214 020e 3046 mov r0, r6 + 6215 0210 FFF7FEFF bl HAL_GPIO_WritePin + 6216 .LVL562: +2159:Src/main.c **** + 6217 .loc 1 2159 2 view .LVU1969 + 6218 0214 0122 movs r2, #1 + 6219 0216 1021 movs r1, #16 + 6220 0218 2846 mov r0, r5 + 6221 021a FFF7FEFF bl HAL_GPIO_WritePin + 6222 .LVL563: +2163:Src/main.c **** { + 6223 .loc 1 2163 2 view .LVU1970 +2163:Src/main.c **** { + 6224 .loc 1 2163 6 is_stmt 0 view .LVU1971 + 6225 021e 0121 movs r1, #1 + 6226 0220 4046 mov r0, r8 + 6227 0222 FFF7FEFF bl HAL_GPIO_ReadPin + 6228 .LVL564: +2163:Src/main.c **** { + 6229 .loc 1 2163 5 discriminator 1 view .LVU1972 + 6230 0226 50B1 cbz r0, .L302 + 6231 .L298: +2194:Src/main.c **** } + 6232 .loc 1 2194 2 is_stmt 1 view .LVU1973 + 6233 0228 FFF7FEFF bl AD9102_Init + 6234 .LVL565: +2195:Src/main.c **** static void Decode_uart(uint16_t *Command, LDx_SetupTypeDef *LD1_curr_setup, LDx_SetupTypeDef *LD2_ + 6235 .loc 1 2195 1 is_stmt 0 view .LVU1974 + 6236 022c BDE8F081 pop {r4, r5, r6, r7, r8, pc} + 6237 .LVL566: + 6238 .L301: + 6239 .LBB565: + 6240 .LBB564: 1430:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** WRITE_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->PAR, - 5413 .loc 6 1430 5 is_stmt 1 view .LVU1731 - 5414 0230 284B ldr r3, .L225+80 - 5415 .LVL449: + 6241 .loc 6 1430 5 is_stmt 1 view .LVU1975 + 6242 0230 284B ldr r3, .L304+80 + 6243 .LVL567: 1430:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** WRITE_REG(((DMA_Stream_TypeDef*)((uint32_t)((uint32_t)DMAx + STREAM_OFFSET_TAB[Stream])))->PAR, - 5416 .loc 6 1430 5 is_stmt 0 view .LVU1732 - 5417 0232 C3F8C420 str r2, [r3, #196] + 6244 .loc 6 1430 5 is_stmt 0 view .LVU1976 + 6245 0232 C3F8C420 str r2, [r3, #196] 1431:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 5418 .loc 6 1431 5 is_stmt 1 view .LVU1733 - 5419 0236 294A ldr r2, .L225+88 - 5420 0238 C3F8C020 str r2, [r3, #192] - 5421 023c 80E7 b .L218 - 5422 .LVL450: - 5423 .L223: + 6246 .loc 6 1431 5 is_stmt 1 view .LVU1977 + 6247 0236 294A ldr r2, .L304+88 + ARM GAS /tmp/ccwR4KB7.s page 486 + + + 6248 0238 C3F8C020 str r2, [r3, #192] + 6249 023c 80E7 b .L297 + 6250 .LVL568: + 6251 .L302: 1431:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 5424 .loc 6 1431 5 is_stmt 0 view .LVU1734 - 5425 .LBE548: - 5426 .LBE549: -2116:Src/main.c **** { - 5427 .loc 1 2116 3 is_stmt 1 view .LVU1735 -2116:Src/main.c **** { - 5428 .loc 1 2116 7 is_stmt 0 view .LVU1736 - 5429 023e 4FF48071 mov r1, #256 - 5430 0242 2846 mov r0, r5 - 5431 0244 FFF7FEFF bl HAL_GPIO_ReadPin - 5432 .LVL451: -2116:Src/main.c **** { - 5433 .loc 1 2116 6 discriminator 1 view .LVU1737 - 5434 0248 0028 cmp r0, #0 - 5435 024a EDD1 bne .L219 -2119:Src/main.c **** if (test == 0) //0 - suc - 5436 .loc 1 2119 4 is_stmt 1 view .LVU1738 -2119:Src/main.c **** if (test == 0) //0 - suc - 5437 .loc 1 2119 11 is_stmt 0 view .LVU1739 - 5438 024c 2A48 ldr r0, .L225+116 - 5439 024e FFF7FEFF bl Mount_SD - 5440 .LVL452: -2119:Src/main.c **** if (test == 0) //0 - suc - 5441 .loc 1 2119 9 discriminator 1 view .LVU1740 - 5442 0252 2A4B ldr r3, .L225+120 - 5443 0254 1860 str r0, [r3] -2120:Src/main.c **** { - 5444 .loc 1 2120 4 is_stmt 1 view .LVU1741 -2120:Src/main.c **** { - ARM GAS /tmp/ccYgfTud.s page 463 + 6252 .loc 6 1431 5 is_stmt 0 view .LVU1978 + 6253 .LBE564: + 6254 .LBE565: +2166:Src/main.c **** { + 6255 .loc 1 2166 3 is_stmt 1 view .LVU1979 +2166:Src/main.c **** { + 6256 .loc 1 2166 7 is_stmt 0 view .LVU1980 + 6257 023e 4FF48071 mov r1, #256 + 6258 0242 2846 mov r0, r5 + 6259 0244 FFF7FEFF bl HAL_GPIO_ReadPin + 6260 .LVL569: +2166:Src/main.c **** { + 6261 .loc 1 2166 6 discriminator 1 view .LVU1981 + 6262 0248 0028 cmp r0, #0 + 6263 024a EDD1 bne .L298 +2169:Src/main.c **** if (test == 0) //0 - suc + 6264 .loc 1 2169 4 is_stmt 1 view .LVU1982 +2169:Src/main.c **** if (test == 0) //0 - suc + 6265 .loc 1 2169 11 is_stmt 0 view .LVU1983 + 6266 024c 2A48 ldr r0, .L304+116 + 6267 024e FFF7FEFF bl Mount_SD + 6268 .LVL570: +2169:Src/main.c **** if (test == 0) //0 - suc + 6269 .loc 1 2169 9 discriminator 1 view .LVU1984 + 6270 0252 2A4B ldr r3, .L304+120 + 6271 0254 1860 str r0, [r3] +2170:Src/main.c **** { + 6272 .loc 1 2170 4 is_stmt 1 view .LVU1985 +2170:Src/main.c **** { + 6273 .loc 1 2170 7 is_stmt 0 view .LVU1986 + 6274 0256 18B1 cbz r0, .L303 + 6275 .L299: +2182:Src/main.c **** } + 6276 .loc 1 2182 4 is_stmt 1 view .LVU1987 +2182:Src/main.c **** } + 6277 .loc 1 2182 14 is_stmt 0 view .LVU1988 + 6278 0258 294B ldr r3, .L304+124 + 6279 025a 0122 movs r2, #1 + 6280 025c 1A70 strb r2, [r3] + 6281 025e E3E7 b .L298 + 6282 .L303: +2173:Src/main.c **** test = Unmount_SD("/"); // 0 - succ + 6283 .loc 1 2173 5 is_stmt 1 view .LVU1989 +2173:Src/main.c **** test = Unmount_SD("/"); // 0 - succ + 6284 .loc 1 2173 12 is_stmt 0 view .LVU1990 + 6285 0260 1E23 movs r3, #30 + 6286 0262 1A46 mov r2, r3 + 6287 0264 2749 ldr r1, .L304+128 + 6288 0266 2848 ldr r0, .L304+132 + 6289 0268 FFF7FEFF bl Seek_Read_File + 6290 .LVL571: +2173:Src/main.c **** test = Unmount_SD("/"); // 0 - succ + ARM GAS /tmp/ccwR4KB7.s page 487 - 5445 .loc 1 2120 7 is_stmt 0 view .LVU1742 - 5446 0256 18B1 cbz r0, .L224 - 5447 .L220: -2132:Src/main.c **** } - 5448 .loc 1 2132 4 is_stmt 1 view .LVU1743 -2132:Src/main.c **** } - 5449 .loc 1 2132 14 is_stmt 0 view .LVU1744 - 5450 0258 294B ldr r3, .L225+124 - 5451 025a 0122 movs r2, #1 - 5452 025c 1A70 strb r2, [r3] - 5453 025e E3E7 b .L219 - 5454 .L224: -2123:Src/main.c **** test = Unmount_SD("/"); // 0 - succ - 5455 .loc 1 2123 5 is_stmt 1 view .LVU1745 -2123:Src/main.c **** test = Unmount_SD("/"); // 0 - succ - 5456 .loc 1 2123 12 is_stmt 0 view .LVU1746 - 5457 0260 1E23 movs r3, #30 - 5458 0262 1A46 mov r2, r3 - 5459 0264 2749 ldr r1, .L225+128 - 5460 0266 2848 ldr r0, .L225+132 - 5461 0268 FFF7FEFF bl Seek_Read_File - 5462 .LVL453: -2123:Src/main.c **** test = Unmount_SD("/"); // 0 - succ - 5463 .loc 1 2123 10 discriminator 1 view .LVU1747 - 5464 026c 234C ldr r4, .L225+120 - 5465 026e 2060 str r0, [r4] -2124:Src/main.c **** UART_rec_incr = 0; - 5466 .loc 1 2124 5 is_stmt 1 view .LVU1748 -2124:Src/main.c **** UART_rec_incr = 0; - 5467 .loc 1 2124 12 is_stmt 0 view .LVU1749 - 5468 0270 2148 ldr r0, .L225+116 - 5469 0272 FFF7FEFF bl Unmount_SD - 5470 .LVL454: -2124:Src/main.c **** UART_rec_incr = 0; - 5471 .loc 1 2124 10 discriminator 1 view .LVU1750 - 5472 0276 2060 str r0, [r4] -2125:Src/main.c **** flg_tmt = 0;//Reset the timeout flag - 5473 .loc 1 2125 5 is_stmt 1 view .LVU1751 -2125:Src/main.c **** flg_tmt = 0;//Reset the timeout flag - 5474 .loc 1 2125 19 is_stmt 0 view .LVU1752 - 5475 0278 0023 movs r3, #0 - 5476 027a 084A ldr r2, .L225+24 - 5477 027c 1380 strh r3, [r2] @ movhi -2126:Src/main.c **** } - 5478 .loc 1 2126 5 is_stmt 1 view .LVU1753 -2126:Src/main.c **** } - 5479 .loc 1 2126 13 is_stmt 0 view .LVU1754 - 5480 027e 064A ldr r2, .L225+20 - 5481 0280 1370 strb r3, [r2] - 5482 0282 E9E7 b .L220 - 5483 .L226: - 5484 .align 2 - 5485 .L225: - 5486 0284 00000000 .word TO6 - 5487 0288 00000000 .word TO7 - 5488 028c 00000000 .word TO7_before - 5489 0290 00000000 .word TO6_before - ARM GAS /tmp/ccYgfTud.s page 464 + 6291 .loc 1 2173 10 discriminator 1 view .LVU1991 + 6292 026c 234C ldr r4, .L304+120 + 6293 026e 2060 str r0, [r4] +2174:Src/main.c **** UART_rec_incr = 0; + 6294 .loc 1 2174 5 is_stmt 1 view .LVU1992 +2174:Src/main.c **** UART_rec_incr = 0; + 6295 .loc 1 2174 12 is_stmt 0 view .LVU1993 + 6296 0270 2148 ldr r0, .L304+116 + 6297 0272 FFF7FEFF bl Unmount_SD + 6298 .LVL572: +2174:Src/main.c **** UART_rec_incr = 0; + 6299 .loc 1 2174 10 discriminator 1 view .LVU1994 + 6300 0276 2060 str r0, [r4] +2175:Src/main.c **** flg_tmt = 0;//Reset the timeout flag + 6301 .loc 1 2175 5 is_stmt 1 view .LVU1995 +2175:Src/main.c **** flg_tmt = 0;//Reset the timeout flag + 6302 .loc 1 2175 19 is_stmt 0 view .LVU1996 + 6303 0278 0023 movs r3, #0 + 6304 027a 084A ldr r2, .L304+24 + 6305 027c 1380 strh r3, [r2] @ movhi +2176:Src/main.c **** } + 6306 .loc 1 2176 5 is_stmt 1 view .LVU1997 +2176:Src/main.c **** } + 6307 .loc 1 2176 13 is_stmt 0 view .LVU1998 + 6308 027e 064A ldr r2, .L304+20 + 6309 0280 1370 strb r3, [r2] + 6310 0282 E9E7 b .L299 + 6311 .L305: + 6312 .align 2 + 6313 .L304: + 6314 0284 00000000 .word TO6 + 6315 0288 00000000 .word TO7 + 6316 028c 00000000 .word TO7_before + 6317 0290 00000000 .word TO6_before + 6318 0294 00000000 .word TO6_uart + 6319 0298 00000000 .word flg_tmt + 6320 029c 00000000 .word UART_rec_incr + 6321 02a0 00000000 .word fgoto + 6322 02a4 00000000 .word sizeoffile + 6323 02a8 00000000 .word u_tx_flg + 6324 02ac 00000000 .word u_rx_flg + 6325 02b0 00000000 .word Long_Data + 6326 02b4 00000000 .word Def_setup + 6327 02b8 00000000 .word LD1_def_setup + 6328 02bc 00000000 .word LD2_def_setup + 6329 02c0 00000000 .word Curr_setup + 6330 02c4 00000000 .word LD1_curr_setup + 6331 02c8 00000000 .word LD2_curr_setup + 6332 02cc 00100040 .word 1073745920 + 6333 02d0 00100140 .word 1073811456 + 6334 02d4 00640240 .word 1073898496 + 6335 02d8 00000000 .word UART_DATA + 6336 02dc 28100140 .word 1073811496 + 6337 02e0 00000000 .word SD_SEEK + 6338 02e4 00000000 .word SD_SLIDE + 6339 02e8 00080240 .word 1073874944 + 6340 02ec 00040240 .word 1073873920 + ARM GAS /tmp/ccwR4KB7.s page 488 - 5490 0294 00000000 .word TO6_uart - 5491 0298 00000000 .word flg_tmt - 5492 029c 00000000 .word UART_rec_incr - 5493 02a0 00000000 .word fgoto - 5494 02a4 00000000 .word sizeoffile - 5495 02a8 00000000 .word u_tx_flg - 5496 02ac 00000000 .word u_rx_flg - 5497 02b0 00000000 .word Long_Data - 5498 02b4 00000000 .word Def_setup - 5499 02b8 00000000 .word LD1_def_setup - 5500 02bc 00000000 .word LD2_def_setup - 5501 02c0 00000000 .word Curr_setup - 5502 02c4 00000000 .word LD1_curr_setup - 5503 02c8 00000000 .word LD2_curr_setup - 5504 02cc 00100040 .word 1073745920 - 5505 02d0 00100140 .word 1073811456 - 5506 02d4 00640240 .word 1073898496 - 5507 02d8 00000000 .word UART_DATA - 5508 02dc 28100140 .word 1073811496 - 5509 02e0 00000000 .word SD_SEEK - 5510 02e4 00000000 .word SD_SLIDE - 5511 02e8 00080240 .word 1073874944 - 5512 02ec 00040240 .word 1073873920 - 5513 02f0 00000240 .word 1073872896 - 5514 02f4 00140240 .word 1073878016 - 5515 02f8 00000000 .word .LC0 - 5516 02fc 00000000 .word test - 5517 0300 00000000 .word CPU_state - 5518 0304 00000000 .word COMMAND - 5519 0308 04000000 .word .LC1 - 5520 030c 000C0240 .word 1073875968 - 5521 .cfi_endproc - 5522 .LFE1207: - 5524 .section .text.Get_ADC,"ax",%progbits - 5525 .align 1 - 5526 .syntax unified - 5527 .thumb - 5528 .thumb_func - 5530 Get_ADC: - 5531 .LVL455: - 5532 .LFB1219: -2785:Src/main.c **** uint16_t OUT; - 5533 .loc 1 2785 1 is_stmt 1 view -0 - 5534 .cfi_startproc - 5535 @ args = 0, pretend = 0, frame = 0 - 5536 @ frame_needed = 0, uses_anonymous_args = 0 -2785:Src/main.c **** uint16_t OUT; - 5537 .loc 1 2785 1 is_stmt 0 view .LVU1756 - 5538 0000 10B5 push {r4, lr} - 5539 .LCFI54: - 5540 .cfi_def_cfa_offset 8 - 5541 .cfi_offset 4, -8 - 5542 .cfi_offset 14, -4 - 5543 0002 0024 movs r4, #0 -2786:Src/main.c **** switch (num) - 5544 .loc 1 2786 2 is_stmt 1 view .LVU1757 -2787:Src/main.c **** { - ARM GAS /tmp/ccYgfTud.s page 465 + 6341 02f0 00000240 .word 1073872896 + 6342 02f4 00140240 .word 1073878016 + 6343 02f8 00000000 .word .LC0 + 6344 02fc 00000000 .word test + 6345 0300 00000000 .word CPU_state + 6346 0304 00000000 .word COMMAND + 6347 0308 04000000 .word .LC1 + 6348 030c 000C0240 .word 1073875968 + 6349 .cfi_endproc + 6350 .LFE1207: + 6352 .section .text.Get_ADC,"ax",%progbits + 6353 .align 1 + 6354 .syntax unified + 6355 .thumb + 6356 .thumb_func + 6358 Get_ADC: + 6359 .LVL573: + 6360 .LFB1222: +3064:Src/main.c **** uint16_t OUT; + 6361 .loc 1 3064 1 is_stmt 1 view -0 + 6362 .cfi_startproc + 6363 @ args = 0, pretend = 0, frame = 0 + 6364 @ frame_needed = 0, uses_anonymous_args = 0 +3064:Src/main.c **** uint16_t OUT; + 6365 .loc 1 3064 1 is_stmt 0 view .LVU2000 + 6366 0000 10B5 push {r4, lr} + 6367 .LCFI63: + 6368 .cfi_def_cfa_offset 8 + 6369 .cfi_offset 4, -8 + 6370 .cfi_offset 14, -4 + 6371 0002 0024 movs r4, #0 +3065:Src/main.c **** switch (num) + 6372 .loc 1 3065 2 is_stmt 1 view .LVU2001 +3066:Src/main.c **** { + 6373 .loc 1 3066 2 view .LVU2002 + 6374 0004 0528 cmp r0, #5 + 6375 0006 2CD8 bhi .L315 + 6376 0008 DFE800F0 tbb [pc, r0] + 6377 .L309: + 6378 000c 03 .byte (.L314-.L309)/2 + 6379 000d 08 .byte (.L313-.L309)/2 + 6380 000e 12 .byte (.L312-.L309)/2 + 6381 000f 17 .byte (.L311-.L309)/2 + 6382 0010 1C .byte (.L310-.L309)/2 + 6383 0011 26 .byte (.L308-.L309)/2 + 6384 .p2align 1 + 6385 .L314: +3069:Src/main.c **** break; + 6386 .loc 1 3069 5 view .LVU2003 + 6387 0012 1548 ldr r0, .L317 + 6388 .LVL574: +3069:Src/main.c **** break; + 6389 .loc 1 3069 5 is_stmt 0 view .LVU2004 + 6390 0014 FFF7FEFF bl HAL_ADC_Start + 6391 .LVL575: +3070:Src/main.c **** case 1: + 6392 .loc 1 3070 4 is_stmt 1 view .LVU2005 + ARM GAS /tmp/ccwR4KB7.s page 489 - 5545 .loc 1 2787 2 view .LVU1758 - 5546 0004 0528 cmp r0, #5 - 5547 0006 2CD8 bhi .L236 - 5548 0008 DFE800F0 tbb [pc, r0] - 5549 .L230: - 5550 000c 03 .byte (.L235-.L230)/2 - 5551 000d 08 .byte (.L234-.L230)/2 - 5552 000e 12 .byte (.L233-.L230)/2 - 5553 000f 17 .byte (.L232-.L230)/2 - 5554 0010 1C .byte (.L231-.L230)/2 - 5555 0011 26 .byte (.L229-.L230)/2 - 5556 .p2align 1 - 5557 .L235: -2790:Src/main.c **** break; - 5558 .loc 1 2790 5 view .LVU1759 - 5559 0012 1548 ldr r0, .L238 - 5560 .LVL456: -2790:Src/main.c **** break; - 5561 .loc 1 2790 5 is_stmt 0 view .LVU1760 - 5562 0014 FFF7FEFF bl HAL_ADC_Start - 5563 .LVL457: -2791:Src/main.c **** case 1: - 5564 .loc 1 2791 4 is_stmt 1 view .LVU1761 - 5565 0018 2046 mov r0, r4 - 5566 .L228: - 5567 .LVL458: -2810:Src/main.c **** } - 5568 .loc 1 2810 2 view .LVU1762 -2811:Src/main.c **** - 5569 .loc 1 2811 1 is_stmt 0 view .LVU1763 - 5570 001a 10BD pop {r4, pc} - 5571 .LVL459: - 5572 .L234: -2793:Src/main.c **** OUT = HAL_ADC_GetValue(&hadc1); // Get value adc - 5573 .loc 1 2793 5 is_stmt 1 view .LVU1764 - 5574 001c 124C ldr r4, .L238 - 5575 001e 6421 movs r1, #100 - 5576 0020 2046 mov r0, r4 - 5577 .LVL460: -2793:Src/main.c **** OUT = HAL_ADC_GetValue(&hadc1); // Get value adc - 5578 .loc 1 2793 5 is_stmt 0 view .LVU1765 - 5579 0022 FFF7FEFF bl HAL_ADC_PollForConversion - 5580 .LVL461: -2794:Src/main.c **** break; - 5581 .loc 1 2794 9 is_stmt 1 view .LVU1766 -2794:Src/main.c **** break; - 5582 .loc 1 2794 15 is_stmt 0 view .LVU1767 - 5583 0026 2046 mov r0, r4 - 5584 0028 FFF7FEFF bl HAL_ADC_GetValue - 5585 .LVL462: -2794:Src/main.c **** break; - 5586 .loc 1 2794 13 discriminator 1 view .LVU1768 - 5587 002c 80B2 uxth r0, r0 - 5588 .LVL463: -2795:Src/main.c **** case 2: - 5589 .loc 1 2795 4 is_stmt 1 view .LVU1769 - 5590 002e F4E7 b .L228 - ARM GAS /tmp/ccYgfTud.s page 466 + 6393 0018 2046 mov r0, r4 + 6394 .L307: + 6395 .LVL576: +3089:Src/main.c **** } + 6396 .loc 1 3089 2 view .LVU2006 +3090:Src/main.c **** + 6397 .loc 1 3090 1 is_stmt 0 view .LVU2007 + 6398 001a 10BD pop {r4, pc} + 6399 .LVL577: + 6400 .L313: +3072:Src/main.c **** OUT = HAL_ADC_GetValue(&hadc1); // Get value adc + 6401 .loc 1 3072 5 is_stmt 1 view .LVU2008 + 6402 001c 124C ldr r4, .L317 + 6403 001e 6421 movs r1, #100 + 6404 0020 2046 mov r0, r4 + 6405 .LVL578: +3072:Src/main.c **** OUT = HAL_ADC_GetValue(&hadc1); // Get value adc + 6406 .loc 1 3072 5 is_stmt 0 view .LVU2009 + 6407 0022 FFF7FEFF bl HAL_ADC_PollForConversion + 6408 .LVL579: +3073:Src/main.c **** break; + 6409 .loc 1 3073 9 is_stmt 1 view .LVU2010 +3073:Src/main.c **** break; + 6410 .loc 1 3073 15 is_stmt 0 view .LVU2011 + 6411 0026 2046 mov r0, r4 + 6412 0028 FFF7FEFF bl HAL_ADC_GetValue + 6413 .LVL580: +3073:Src/main.c **** break; + 6414 .loc 1 3073 13 discriminator 1 view .LVU2012 + 6415 002c 80B2 uxth r0, r0 + 6416 .LVL581: +3074:Src/main.c **** case 2: + 6417 .loc 1 3074 4 is_stmt 1 view .LVU2013 + 6418 002e F4E7 b .L307 + 6419 .LVL582: + 6420 .L312: +3076:Src/main.c **** break; + 6421 .loc 1 3076 5 view .LVU2014 + 6422 0030 0D48 ldr r0, .L317 + 6423 .LVL583: +3076:Src/main.c **** break; + 6424 .loc 1 3076 5 is_stmt 0 view .LVU2015 + 6425 0032 FFF7FEFF bl HAL_ADC_Stop + 6426 .LVL584: +3077:Src/main.c **** case 3: + 6427 .loc 1 3077 4 is_stmt 1 view .LVU2016 + 6428 0036 2046 mov r0, r4 + 6429 0038 EFE7 b .L307 + 6430 .LVL585: + 6431 .L311: +3079:Src/main.c **** break; + 6432 .loc 1 3079 5 view .LVU2017 + 6433 003a 0C48 ldr r0, .L317+4 + 6434 .LVL586: +3079:Src/main.c **** break; + 6435 .loc 1 3079 5 is_stmt 0 view .LVU2018 + 6436 003c FFF7FEFF bl HAL_ADC_Start + ARM GAS /tmp/ccwR4KB7.s page 490 - 5591 .LVL464: - 5592 .L233: -2797:Src/main.c **** break; - 5593 .loc 1 2797 5 view .LVU1770 - 5594 0030 0D48 ldr r0, .L238 - 5595 .LVL465: -2797:Src/main.c **** break; - 5596 .loc 1 2797 5 is_stmt 0 view .LVU1771 - 5597 0032 FFF7FEFF bl HAL_ADC_Stop - 5598 .LVL466: -2798:Src/main.c **** case 3: - 5599 .loc 1 2798 4 is_stmt 1 view .LVU1772 - 5600 0036 2046 mov r0, r4 - 5601 0038 EFE7 b .L228 - 5602 .LVL467: - 5603 .L232: -2800:Src/main.c **** break; - 5604 .loc 1 2800 5 view .LVU1773 - 5605 003a 0C48 ldr r0, .L238+4 - 5606 .LVL468: -2800:Src/main.c **** break; - 5607 .loc 1 2800 5 is_stmt 0 view .LVU1774 - 5608 003c FFF7FEFF bl HAL_ADC_Start - 5609 .LVL469: -2801:Src/main.c **** case 4: - 5610 .loc 1 2801 4 is_stmt 1 view .LVU1775 - 5611 0040 2046 mov r0, r4 - 5612 0042 EAE7 b .L228 - 5613 .LVL470: - 5614 .L231: -2803:Src/main.c **** OUT = HAL_ADC_GetValue(&hadc3); // Get value adc - 5615 .loc 1 2803 5 view .LVU1776 - 5616 0044 094C ldr r4, .L238+4 - 5617 0046 6421 movs r1, #100 - 5618 0048 2046 mov r0, r4 - 5619 .LVL471: -2803:Src/main.c **** OUT = HAL_ADC_GetValue(&hadc3); // Get value adc - 5620 .loc 1 2803 5 is_stmt 0 view .LVU1777 - 5621 004a FFF7FEFF bl HAL_ADC_PollForConversion - 5622 .LVL472: -2804:Src/main.c **** break; - 5623 .loc 1 2804 9 is_stmt 1 view .LVU1778 -2804:Src/main.c **** break; - 5624 .loc 1 2804 15 is_stmt 0 view .LVU1779 - 5625 004e 2046 mov r0, r4 - 5626 0050 FFF7FEFF bl HAL_ADC_GetValue - 5627 .LVL473: -2804:Src/main.c **** break; - 5628 .loc 1 2804 13 discriminator 1 view .LVU1780 - 5629 0054 80B2 uxth r0, r0 - 5630 .LVL474: -2805:Src/main.c **** case 5: - 5631 .loc 1 2805 4 is_stmt 1 view .LVU1781 - 5632 0056 E0E7 b .L228 - 5633 .LVL475: - 5634 .L229: -2807:Src/main.c **** break; - ARM GAS /tmp/ccYgfTud.s page 467 + 6437 .LVL587: +3080:Src/main.c **** case 4: + 6438 .loc 1 3080 4 is_stmt 1 view .LVU2019 + 6439 0040 2046 mov r0, r4 + 6440 0042 EAE7 b .L307 + 6441 .LVL588: + 6442 .L310: +3082:Src/main.c **** OUT = HAL_ADC_GetValue(&hadc3); // Get value adc + 6443 .loc 1 3082 5 view .LVU2020 + 6444 0044 094C ldr r4, .L317+4 + 6445 0046 6421 movs r1, #100 + 6446 0048 2046 mov r0, r4 + 6447 .LVL589: +3082:Src/main.c **** OUT = HAL_ADC_GetValue(&hadc3); // Get value adc + 6448 .loc 1 3082 5 is_stmt 0 view .LVU2021 + 6449 004a FFF7FEFF bl HAL_ADC_PollForConversion + 6450 .LVL590: +3083:Src/main.c **** break; + 6451 .loc 1 3083 9 is_stmt 1 view .LVU2022 +3083:Src/main.c **** break; + 6452 .loc 1 3083 15 is_stmt 0 view .LVU2023 + 6453 004e 2046 mov r0, r4 + 6454 0050 FFF7FEFF bl HAL_ADC_GetValue + 6455 .LVL591: +3083:Src/main.c **** break; + 6456 .loc 1 3083 13 discriminator 1 view .LVU2024 + 6457 0054 80B2 uxth r0, r0 + 6458 .LVL592: +3084:Src/main.c **** case 5: + 6459 .loc 1 3084 4 is_stmt 1 view .LVU2025 + 6460 0056 E0E7 b .L307 + 6461 .LVL593: + 6462 .L308: +3086:Src/main.c **** break; + 6463 .loc 1 3086 9 view .LVU2026 + 6464 0058 0448 ldr r0, .L317+4 + 6465 .LVL594: +3086:Src/main.c **** break; + 6466 .loc 1 3086 9 is_stmt 0 view .LVU2027 + 6467 005a FFF7FEFF bl HAL_ADC_Stop + 6468 .LVL595: +3087:Src/main.c **** } + 6469 .loc 1 3087 4 is_stmt 1 view .LVU2028 + 6470 005e 2046 mov r0, r4 + 6471 0060 DBE7 b .L307 + 6472 .LVL596: + 6473 .L315: +3066:Src/main.c **** { + 6474 .loc 1 3066 2 is_stmt 0 view .LVU2029 + 6475 0062 2046 mov r0, r4 + 6476 .LVL597: +3066:Src/main.c **** { + 6477 .loc 1 3066 2 view .LVU2030 + 6478 0064 D9E7 b .L307 + 6479 .L318: + 6480 0066 00BF .align 2 + 6481 .L317: + ARM GAS /tmp/ccwR4KB7.s page 491 - 5635 .loc 1 2807 9 view .LVU1782 - 5636 0058 0448 ldr r0, .L238+4 - 5637 .LVL476: -2807:Src/main.c **** break; - 5638 .loc 1 2807 9 is_stmt 0 view .LVU1783 - 5639 005a FFF7FEFF bl HAL_ADC_Stop - 5640 .LVL477: -2808:Src/main.c **** } - 5641 .loc 1 2808 4 is_stmt 1 view .LVU1784 - 5642 005e 2046 mov r0, r4 - 5643 0060 DBE7 b .L228 - 5644 .LVL478: - 5645 .L236: -2787:Src/main.c **** { - 5646 .loc 1 2787 2 is_stmt 0 view .LVU1785 - 5647 0062 2046 mov r0, r4 - 5648 .LVL479: -2787:Src/main.c **** { - 5649 .loc 1 2787 2 view .LVU1786 - 5650 0064 D9E7 b .L228 - 5651 .L239: - 5652 0066 00BF .align 2 - 5653 .L238: - 5654 0068 00000000 .word hadc1 - 5655 006c 00000000 .word hadc3 - 5656 .cfi_endproc - 5657 .LFE1219: - 5659 .section .text.Set_LTEC,"ax",%progbits - 5660 .align 1 - 5661 .global Set_LTEC - 5662 .syntax unified - 5663 .thumb - 5664 .thumb_func - 5666 Set_LTEC: - 5667 .LVL480: - 5668 .LFB1217: -2605:Src/main.c **** uint32_t tmp32; - 5669 .loc 1 2605 1 is_stmt 1 view -0 - 5670 .cfi_startproc - 5671 @ args = 0, pretend = 0, frame = 0 - 5672 @ frame_needed = 0, uses_anonymous_args = 0 -2606:Src/main.c **** - 5673 .loc 1 2606 2 view .LVU1788 -2610:Src/main.c **** { - 5674 .loc 1 2610 2 view .LVU1789 -2610:Src/main.c **** { - 5675 .loc 1 2610 5 is_stmt 0 view .LVU1790 - 5676 0000 0328 cmp r0, #3 - 5677 0002 18BF it ne - 5678 0004 0128 cmpne r0, #1 - 5679 0006 00F0A380 beq .L274 -2605:Src/main.c **** uint32_t tmp32; - 5680 .loc 1 2605 1 view .LVU1791 - 5681 000a 38B5 push {r3, r4, r5, lr} - 5682 .LCFI55: - 5683 .cfi_def_cfa_offset 16 - 5684 .cfi_offset 3, -16 - ARM GAS /tmp/ccYgfTud.s page 468 + 6482 0068 00000000 .word hadc1 + 6483 006c 00000000 .word hadc3 + 6484 .cfi_endproc + 6485 .LFE1222: + 6487 .section .text.Set_LTEC,"ax",%progbits + 6488 .align 1 + 6489 .global Set_LTEC + 6490 .syntax unified + 6491 .thumb + 6492 .thumb_func + 6494 Set_LTEC: + 6495 .LVL598: + 6496 .LFB1220: +2884:Src/main.c **** uint32_t tmp32; + 6497 .loc 1 2884 1 is_stmt 1 view -0 + 6498 .cfi_startproc + 6499 @ args = 0, pretend = 0, frame = 0 + 6500 @ frame_needed = 0, uses_anonymous_args = 0 +2885:Src/main.c **** + 6501 .loc 1 2885 2 view .LVU2032 +2889:Src/main.c **** { + 6502 .loc 1 2889 2 view .LVU2033 +2889:Src/main.c **** { + 6503 .loc 1 2889 5 is_stmt 0 view .LVU2034 + 6504 0000 0328 cmp r0, #3 + 6505 0002 18BF it ne + 6506 0004 0128 cmpne r0, #1 + 6507 0006 00F0A380 beq .L353 +2884:Src/main.c **** uint32_t tmp32; + 6508 .loc 1 2884 1 view .LVU2035 + 6509 000a 38B5 push {r3, r4, r5, lr} + 6510 .LCFI64: + 6511 .cfi_def_cfa_offset 16 + 6512 .cfi_offset 3, -16 + 6513 .cfi_offset 4, -12 + 6514 .cfi_offset 5, -8 + 6515 .cfi_offset 14, -4 + 6516 000c 0C46 mov r4, r1 +2895:Src/main.c **** { + 6517 .loc 1 2895 2 is_stmt 1 view .LVU2036 + 6518 000e 0138 subs r0, r0, #1 + 6519 .LVL599: +2895:Src/main.c **** { + 6520 .loc 1 2895 2 is_stmt 0 view .LVU2037 + 6521 0010 0328 cmp r0, #3 + 6522 0012 23D8 bhi .L321 + 6523 0014 DFE800F0 tbb [pc, r0] + 6524 .L323: + 6525 0018 02 .byte (.L326-.L323)/2 + 6526 0019 3B .byte (.L325-.L323)/2 + 6527 001a 5B .byte (.L324-.L323)/2 + 6528 001b 7C .byte (.L322-.L323)/2 + 6529 .p2align 1 + 6530 .L326: +2898:Src/main.c **** //tmp32=0; + 6531 .loc 1 2898 4 is_stmt 1 view .LVU2038 + 6532 001c 0022 movs r2, #0 + ARM GAS /tmp/ccwR4KB7.s page 492 - 5685 .cfi_offset 4, -12 - 5686 .cfi_offset 5, -8 - 5687 .cfi_offset 14, -4 - 5688 000c 0C46 mov r4, r1 -2616:Src/main.c **** { - 5689 .loc 1 2616 2 is_stmt 1 view .LVU1792 - 5690 000e 0138 subs r0, r0, #1 - 5691 .LVL481: -2616:Src/main.c **** { - 5692 .loc 1 2616 2 is_stmt 0 view .LVU1793 - 5693 0010 0328 cmp r0, #3 - 5694 0012 23D8 bhi .L242 - 5695 0014 DFE800F0 tbb [pc, r0] - 5696 .L244: - 5697 0018 02 .byte (.L247-.L244)/2 - 5698 0019 3B .byte (.L246-.L244)/2 - 5699 001a 5B .byte (.L245-.L244)/2 - 5700 001b 7C .byte (.L243-.L244)/2 - 5701 .p2align 1 - 5702 .L247: -2619:Src/main.c **** //tmp32=0; - 5703 .loc 1 2619 4 is_stmt 1 view .LVU1794 - 5704 001c 0022 movs r2, #0 - 5705 001e 4FF48041 mov r1, #16384 - 5706 .LVL482: -2619:Src/main.c **** //tmp32=0; - 5707 .loc 1 2619 4 is_stmt 0 view .LVU1795 - 5708 0022 4C48 ldr r0, .L277 - 5709 .LVL483: -2619:Src/main.c **** //tmp32=0; - 5710 .loc 1 2619 4 view .LVU1796 - 5711 0024 FFF7FEFF bl HAL_GPIO_WritePin - 5712 .LVL484: -2622:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi - 5713 .loc 1 2622 4 is_stmt 1 view .LVU1797 -2623:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC - 5714 .loc 1 2623 4 view .LVU1798 -2622:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi - 5715 .loc 1 2622 10 is_stmt 0 view .LVU1799 - 5716 0028 0022 movs r2, #0 - 5717 .LVL485: - 5718 .L248: -2623:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC - 5719 .loc 1 2623 42 is_stmt 1 discriminator 1 view .LVU1800 - 5720 .LBB550: - 5721 .LBI550: + 6533 001e 4FF48041 mov r1, #16384 + 6534 .LVL600: +2898:Src/main.c **** //tmp32=0; + 6535 .loc 1 2898 4 is_stmt 0 view .LVU2039 + 6536 0022 4C48 ldr r0, .L356 + 6537 .LVL601: +2898:Src/main.c **** //tmp32=0; + 6538 .loc 1 2898 4 view .LVU2040 + 6539 0024 FFF7FEFF bl HAL_GPIO_WritePin + 6540 .LVL602: +2901:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi + 6541 .loc 1 2901 4 is_stmt 1 view .LVU2041 +2902:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC + 6542 .loc 1 2902 4 view .LVU2042 +2901:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi + 6543 .loc 1 2901 10 is_stmt 0 view .LVU2043 + 6544 0028 0022 movs r2, #0 + 6545 .LVL603: + 6546 .L327: +2902:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC + 6547 .loc 1 2902 42 is_stmt 1 discriminator 1 view .LVU2044 + 6548 .LBB566: + 6549 .LBI566: 916:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 5722 .loc 4 916 26 view .LVU1801 - 5723 .LBB551: + 6550 .loc 4 916 26 view .LVU2045 + 6551 .LBB567: 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5724 .loc 4 918 3 view .LVU1802 + 6552 .loc 4 918 3 view .LVU2046 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5725 .loc 4 918 12 is_stmt 0 view .LVU1803 - 5726 002a 4B4B ldr r3, .L277+4 - 5727 002c 9B68 ldr r3, [r3, #8] + 6553 .loc 4 918 12 is_stmt 0 view .LVU2047 + 6554 002a 4B4B ldr r3, .L356+4 + 6555 002c 9B68 ldr r3, [r3, #8] 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5728 .loc 4 918 66 view .LVU1804 - ARM GAS /tmp/ccYgfTud.s page 469 + 6556 .loc 4 918 66 view .LVU2048 + 6557 002e 13F0020F tst r3, #2 + 6558 0032 04D1 bne .L328 + 6559 .LVL604: + 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 6560 .loc 4 918 66 view .LVU2049 + 6561 .LBE567: + 6562 .LBE566: +2902:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC + 6563 .loc 1 2902 42 discriminator 2 view .LVU2050 + 6564 0034 B2F5FA7F cmp r2, #500 + 6565 0038 01D8 bhi .L328 +2902:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC + 6566 .loc 1 2902 59 is_stmt 1 discriminator 3 view .LVU2051 +2902:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC + 6567 .loc 1 2902 64 is_stmt 0 discriminator 3 view .LVU2052 + 6568 003a 0132 adds r2, r2, #1 + 6569 .LVL605: +2902:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC + 6570 .loc 1 2902 64 discriminator 3 view .LVU2053 + 6571 003c F5E7 b .L327 + 6572 .L328: +2903:Src/main.c **** tmp32 = 0; + 6573 .loc 1 2903 4 is_stmt 1 view .LVU2054 + ARM GAS /tmp/ccwR4KB7.s page 493 - 5729 002e 13F0020F tst r3, #2 - 5730 0032 04D1 bne .L249 - 5731 .LVL486: - 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5732 .loc 4 918 66 view .LVU1805 - 5733 .LBE551: - 5734 .LBE550: -2623:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC - 5735 .loc 1 2623 42 discriminator 2 view .LVU1806 - 5736 0034 B2F5FA7F cmp r2, #500 - 5737 0038 01D8 bhi .L249 -2623:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC - 5738 .loc 1 2623 59 is_stmt 1 discriminator 3 view .LVU1807 -2623:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC - 5739 .loc 1 2623 64 is_stmt 0 discriminator 3 view .LVU1808 - 5740 003a 0132 adds r2, r2, #1 - 5741 .LVL487: -2623:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC - 5742 .loc 1 2623 64 discriminator 3 view .LVU1809 - 5743 003c F5E7 b .L248 - 5744 .L249: -2624:Src/main.c **** tmp32 = 0; - 5745 .loc 1 2624 4 is_stmt 1 view .LVU1810 - 5746 .LVL488: - 5747 .LBB552: - 5748 .LBI552: + 6574 .LVL606: + 6575 .LBB568: + 6576 .LBI568: 1373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 5749 .loc 4 1373 22 view .LVU1811 - 5750 .LBB553: + 6577 .loc 4 1373 22 view .LVU2055 + 6578 .LBB569: 1376:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** *spidr = TxData; - 5751 .loc 4 1376 3 view .LVU1812 - 5752 .loc 4 1377 3 view .LVU1813 - 5753 .loc 4 1377 10 is_stmt 0 view .LVU1814 - 5754 003e 464B ldr r3, .L277+4 - 5755 0040 9C81 strh r4, [r3, #12] @ movhi - 5756 .LVL489: - 5757 .loc 4 1377 10 view .LVU1815 - 5758 .LBE553: - 5759 .LBE552: -2625:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w - 5760 .loc 1 2625 4 is_stmt 1 view .LVU1816 -2626:Src/main.c **** (void) SPI2->DR; - 5761 .loc 1 2626 4 view .LVU1817 -2625:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w - 5762 .loc 1 2625 10 is_stmt 0 view .LVU1818 - 5763 0042 0022 movs r2, #0 - 5764 .LVL490: - 5765 .L251: -2626:Src/main.c **** (void) SPI2->DR; - 5766 .loc 1 2626 43 is_stmt 1 discriminator 1 view .LVU1819 - 5767 .LBB554: - 5768 .LBI554: + 6579 .loc 4 1376 3 view .LVU2056 + 6580 .loc 4 1377 3 view .LVU2057 + 6581 .loc 4 1377 10 is_stmt 0 view .LVU2058 + 6582 003e 464B ldr r3, .L356+4 + 6583 0040 9C81 strh r4, [r3, #12] @ movhi + 6584 .LVL607: + 6585 .loc 4 1377 10 view .LVU2059 + 6586 .LBE569: + 6587 .LBE568: +2904:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w + 6588 .loc 1 2904 4 is_stmt 1 view .LVU2060 +2905:Src/main.c **** (void) SPI2->DR; + 6589 .loc 1 2905 4 view .LVU2061 +2904:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w + 6590 .loc 1 2904 10 is_stmt 0 view .LVU2062 + 6591 0042 0022 movs r2, #0 + 6592 .LVL608: + 6593 .L330: +2905:Src/main.c **** (void) SPI2->DR; + 6594 .loc 1 2905 43 is_stmt 1 discriminator 1 view .LVU2063 + 6595 .LBB570: + 6596 .LBI570: 905:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 5769 .loc 4 905 26 view .LVU1820 - 5770 .LBB555: + 6597 .loc 4 905 26 view .LVU2064 + 6598 .LBB571: 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5771 .loc 4 907 3 view .LVU1821 - ARM GAS /tmp/ccYgfTud.s page 470 + 6599 .loc 4 907 3 view .LVU2065 + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 6600 .loc 4 907 12 is_stmt 0 view .LVU2066 + 6601 0044 444B ldr r3, .L356+4 + 6602 0046 9B68 ldr r3, [r3, #8] + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 6603 .loc 4 907 68 view .LVU2067 + 6604 0048 13F0010F tst r3, #1 + 6605 004c 04D1 bne .L331 + 6606 .LVL609: + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 6607 .loc 4 907 68 view .LVU2068 + 6608 .LBE571: + 6609 .LBE570: +2905:Src/main.c **** (void) SPI2->DR; + 6610 .loc 1 2905 43 discriminator 2 view .LVU2069 + 6611 004e B2F5FA7F cmp r2, #500 + 6612 0052 01D8 bhi .L331 +2905:Src/main.c **** (void) SPI2->DR; + 6613 .loc 1 2905 60 is_stmt 1 discriminator 3 view .LVU2070 +2905:Src/main.c **** (void) SPI2->DR; + 6614 .loc 1 2905 65 is_stmt 0 discriminator 3 view .LVU2071 + 6615 0054 0132 adds r2, r2, #1 + 6616 .LVL610: + ARM GAS /tmp/ccwR4KB7.s page 494 - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5772 .loc 4 907 12 is_stmt 0 view .LVU1822 - 5773 0044 444B ldr r3, .L277+4 - 5774 0046 9B68 ldr r3, [r3, #8] - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5775 .loc 4 907 68 view .LVU1823 - 5776 0048 13F0010F tst r3, #1 - 5777 004c 04D1 bne .L252 - 5778 .LVL491: - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5779 .loc 4 907 68 view .LVU1824 - 5780 .LBE555: - 5781 .LBE554: -2626:Src/main.c **** (void) SPI2->DR; - 5782 .loc 1 2626 43 discriminator 2 view .LVU1825 - 5783 004e B2F5FA7F cmp r2, #500 - 5784 0052 01D8 bhi .L252 -2626:Src/main.c **** (void) SPI2->DR; - 5785 .loc 1 2626 60 is_stmt 1 discriminator 3 view .LVU1826 -2626:Src/main.c **** (void) SPI2->DR; - 5786 .loc 1 2626 65 is_stmt 0 discriminator 3 view .LVU1827 - 5787 0054 0132 adds r2, r2, #1 - 5788 .LVL492: -2626:Src/main.c **** (void) SPI2->DR; - 5789 .loc 1 2626 65 discriminator 3 view .LVU1828 - 5790 0056 F5E7 b .L251 - 5791 .L252: -2627:Src/main.c **** break; - 5792 .loc 1 2627 4 is_stmt 1 view .LVU1829 - 5793 0058 3F4B ldr r3, .L277+4 - 5794 005a DB68 ldr r3, [r3, #12] -2628:Src/main.c **** case 2: - 5795 .loc 1 2628 3 view .LVU1830 - 5796 .LVL493: - 5797 .L242: -2664:Src/main.c **** HAL_GPIO_WritePin(DAC_LD2_CS_GPIO_Port, DAC_LD2_CS_Pin, GPIO_PIN_SET);//End operation with LDAC2 - 5798 .loc 1 2664 2 view .LVU1831 - 5799 005c 3D4D ldr r5, .L277 - 5800 005e 0122 movs r2, #1 - 5801 0060 4FF48041 mov r1, #16384 - 5802 0064 2846 mov r0, r5 - 5803 0066 FFF7FEFF bl HAL_GPIO_WritePin - 5804 .LVL494: -2665:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET);//End operation with TEC1 - 5805 .loc 1 2665 2 view .LVU1832 - 5806 006a 3C4C ldr r4, .L277+8 - 5807 .LVL495: -2665:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET);//End operation with TEC1 - 5808 .loc 1 2665 2 is_stmt 0 view .LVU1833 - 5809 006c 0122 movs r2, #1 - 5810 006e 4021 movs r1, #64 - 5811 0070 2046 mov r0, r4 - 5812 0072 FFF7FEFF bl HAL_GPIO_WritePin - 5813 .LVL496: -2666:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC2_CS_GPIO_Port, DAC_TEC2_CS_Pin, GPIO_PIN_SET);//End operation with TEC2 - 5814 .loc 1 2666 2 is_stmt 1 view .LVU1834 - 5815 0076 0122 movs r2, #1 - ARM GAS /tmp/ccYgfTud.s page 471 +2905:Src/main.c **** (void) SPI2->DR; + 6617 .loc 1 2905 65 discriminator 3 view .LVU2072 + 6618 0056 F5E7 b .L330 + 6619 .L331: +2906:Src/main.c **** break; + 6620 .loc 1 2906 4 is_stmt 1 view .LVU2073 + 6621 0058 3F4B ldr r3, .L356+4 + 6622 005a DB68 ldr r3, [r3, #12] +2907:Src/main.c **** case 2: + 6623 .loc 1 2907 3 view .LVU2074 + 6624 .LVL611: + 6625 .L321: +2943:Src/main.c **** HAL_GPIO_WritePin(DAC_LD2_CS_GPIO_Port, DAC_LD2_CS_Pin, GPIO_PIN_SET);//End operation with LDAC2 + 6626 .loc 1 2943 2 view .LVU2075 + 6627 005c 3D4D ldr r5, .L356 + 6628 005e 0122 movs r2, #1 + 6629 0060 4FF48041 mov r1, #16384 + 6630 0064 2846 mov r0, r5 + 6631 0066 FFF7FEFF bl HAL_GPIO_WritePin + 6632 .LVL612: +2944:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET);//End operation with TEC1 + 6633 .loc 1 2944 2 view .LVU2076 + 6634 006a 3C4C ldr r4, .L356+8 + 6635 .LVL613: +2944:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC1_CS_GPIO_Port, DAC_TEC1_CS_Pin, GPIO_PIN_SET);//End operation with TEC1 + 6636 .loc 1 2944 2 is_stmt 0 view .LVU2077 + 6637 006c 0122 movs r2, #1 + 6638 006e 4021 movs r1, #64 + 6639 0070 2046 mov r0, r4 + 6640 0072 FFF7FEFF bl HAL_GPIO_WritePin + 6641 .LVL614: +2945:Src/main.c **** HAL_GPIO_WritePin(DAC_TEC2_CS_GPIO_Port, DAC_TEC2_CS_Pin, GPIO_PIN_SET);//End operation with TEC2 + 6642 .loc 1 2945 2 is_stmt 1 view .LVU2078 + 6643 0076 0122 movs r2, #1 + 6644 0078 4FF48051 mov r1, #4096 + 6645 007c 2846 mov r0, r5 + 6646 007e FFF7FEFF bl HAL_GPIO_WritePin + 6647 .LVL615: +2946:Src/main.c **** } + 6648 .loc 1 2946 2 view .LVU2079 + 6649 0082 0122 movs r2, #1 + 6650 0084 1021 movs r1, #16 + 6651 0086 2046 mov r0, r4 + 6652 0088 FFF7FEFF bl HAL_GPIO_WritePin + 6653 .LVL616: +2947:Src/main.c **** static uint16_t MPhD_T(uint8_t num) + 6654 .loc 1 2947 1 is_stmt 0 view .LVU2080 + 6655 008c 38BD pop {r3, r4, r5, pc} + 6656 .LVL617: + 6657 .L325: +2910:Src/main.c **** //tmp32=0; + 6658 .loc 1 2910 4 is_stmt 1 view .LVU2081 + 6659 008e 0022 movs r2, #0 + 6660 0090 4021 movs r1, #64 + 6661 .LVL618: +2910:Src/main.c **** //tmp32=0; + 6662 .loc 1 2910 4 is_stmt 0 view .LVU2082 + ARM GAS /tmp/ccwR4KB7.s page 495 - 5816 0078 4FF48051 mov r1, #4096 - 5817 007c 2846 mov r0, r5 - 5818 007e FFF7FEFF bl HAL_GPIO_WritePin - 5819 .LVL497: -2667:Src/main.c **** } - 5820 .loc 1 2667 2 view .LVU1835 - 5821 0082 0122 movs r2, #1 - 5822 0084 1021 movs r1, #16 - 5823 0086 2046 mov r0, r4 - 5824 0088 FFF7FEFF bl HAL_GPIO_WritePin - 5825 .LVL498: -2668:Src/main.c **** static uint16_t MPhD_T(uint8_t num) - 5826 .loc 1 2668 1 is_stmt 0 view .LVU1836 - 5827 008c 38BD pop {r3, r4, r5, pc} - 5828 .LVL499: - 5829 .L246: -2631:Src/main.c **** //tmp32=0; - 5830 .loc 1 2631 4 is_stmt 1 view .LVU1837 - 5831 008e 0022 movs r2, #0 - 5832 0090 4021 movs r1, #64 - 5833 .LVL500: -2631:Src/main.c **** //tmp32=0; - 5834 .loc 1 2631 4 is_stmt 0 view .LVU1838 - 5835 0092 3248 ldr r0, .L277+8 - 5836 0094 FFF7FEFF bl HAL_GPIO_WritePin - 5837 .LVL501: -2634:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi - 5838 .loc 1 2634 4 is_stmt 1 view .LVU1839 -2635:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC - 5839 .loc 1 2635 4 view .LVU1840 -2634:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi - 5840 .loc 1 2634 10 is_stmt 0 view .LVU1841 - 5841 0098 0022 movs r2, #0 - 5842 .LVL502: - 5843 .L254: -2635:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC - 5844 .loc 1 2635 42 is_stmt 1 discriminator 1 view .LVU1842 - 5845 .LBB556: - 5846 .LBI556: + 6663 0092 3248 ldr r0, .L356+8 + 6664 0094 FFF7FEFF bl HAL_GPIO_WritePin + 6665 .LVL619: +2913:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi + 6666 .loc 1 2913 4 is_stmt 1 view .LVU2083 +2914:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC + 6667 .loc 1 2914 4 view .LVU2084 +2913:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi + 6668 .loc 1 2913 10 is_stmt 0 view .LVU2085 + 6669 0098 0022 movs r2, #0 + 6670 .LVL620: + 6671 .L333: +2914:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC + 6672 .loc 1 2914 42 is_stmt 1 discriminator 1 view .LVU2086 + 6673 .LBB572: + 6674 .LBI572: 916:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 5847 .loc 4 916 26 view .LVU1843 - 5848 .LBB557: + 6675 .loc 4 916 26 view .LVU2087 + 6676 .LBB573: 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5849 .loc 4 918 3 view .LVU1844 + 6677 .loc 4 918 3 view .LVU2088 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5850 .loc 4 918 12 is_stmt 0 view .LVU1845 - 5851 009a 314B ldr r3, .L277+12 - 5852 009c 9B68 ldr r3, [r3, #8] + 6678 .loc 4 918 12 is_stmt 0 view .LVU2089 + 6679 009a 314B ldr r3, .L356+12 + 6680 009c 9B68 ldr r3, [r3, #8] 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5853 .loc 4 918 66 view .LVU1846 - 5854 009e 13F0020F tst r3, #2 - 5855 00a2 04D1 bne .L255 - 5856 .LVL503: + 6681 .loc 4 918 66 view .LVU2090 + 6682 009e 13F0020F tst r3, #2 + 6683 00a2 04D1 bne .L334 + 6684 .LVL621: 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5857 .loc 4 918 66 view .LVU1847 - 5858 .LBE557: - 5859 .LBE556: - ARM GAS /tmp/ccYgfTud.s page 472 - - -2635:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC - 5860 .loc 1 2635 42 discriminator 2 view .LVU1848 - 5861 00a4 B2F5FA7F cmp r2, #500 - 5862 00a8 01D8 bhi .L255 -2635:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC - 5863 .loc 1 2635 59 is_stmt 1 discriminator 3 view .LVU1849 -2635:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC - 5864 .loc 1 2635 64 is_stmt 0 discriminator 3 view .LVU1850 - 5865 00aa 0132 adds r2, r2, #1 - 5866 .LVL504: -2635:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC - 5867 .loc 1 2635 64 discriminator 3 view .LVU1851 - 5868 00ac F5E7 b .L254 - 5869 .L255: -2636:Src/main.c **** tmp32 = 0; - 5870 .loc 1 2636 4 is_stmt 1 view .LVU1852 - 5871 .LVL505: - 5872 .LBB558: - 5873 .LBI558: + 6685 .loc 4 918 66 view .LVU2091 + 6686 .LBE573: + 6687 .LBE572: +2914:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC + 6688 .loc 1 2914 42 discriminator 2 view .LVU2092 + 6689 00a4 B2F5FA7F cmp r2, #500 + 6690 00a8 01D8 bhi .L334 +2914:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC + 6691 .loc 1 2914 59 is_stmt 1 discriminator 3 view .LVU2093 +2914:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC + 6692 .loc 1 2914 64 is_stmt 0 discriminator 3 view .LVU2094 + 6693 00aa 0132 adds r2, r2, #1 + 6694 .LVL622: +2914:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC + 6695 .loc 1 2914 64 discriminator 3 view .LVU2095 + 6696 00ac F5E7 b .L333 + 6697 .L334: +2915:Src/main.c **** tmp32 = 0; + 6698 .loc 1 2915 4 is_stmt 1 view .LVU2096 + 6699 .LVL623: + 6700 .LBB574: + 6701 .LBI574: 1373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 5874 .loc 4 1373 22 view .LVU1853 - 5875 .LBB559: + 6702 .loc 4 1373 22 view .LVU2097 + 6703 .LBB575: 1376:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** *spidr = TxData; - 5876 .loc 4 1376 3 view .LVU1854 - 5877 .loc 4 1377 3 view .LVU1855 - 5878 .loc 4 1377 10 is_stmt 0 view .LVU1856 - 5879 00ae 2C4B ldr r3, .L277+12 - 5880 00b0 9C81 strh r4, [r3, #12] @ movhi - 5881 .LVL506: - 5882 .loc 4 1377 10 view .LVU1857 - 5883 .LBE559: - 5884 .LBE558: -2637:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w - 5885 .loc 1 2637 4 is_stmt 1 view .LVU1858 -2638:Src/main.c **** (void) SPI6->DR; - 5886 .loc 1 2638 4 view .LVU1859 -2637:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w - 5887 .loc 1 2637 10 is_stmt 0 view .LVU1860 - 5888 00b2 0022 movs r2, #0 - 5889 .LVL507: - 5890 .L257: -2638:Src/main.c **** (void) SPI6->DR; - 5891 .loc 1 2638 43 is_stmt 1 discriminator 1 view .LVU1861 - 5892 .LBB560: - 5893 .LBI560: + ARM GAS /tmp/ccwR4KB7.s page 496 + + + 6704 .loc 4 1376 3 view .LVU2098 + 6705 .loc 4 1377 3 view .LVU2099 + 6706 .loc 4 1377 10 is_stmt 0 view .LVU2100 + 6707 00ae 2C4B ldr r3, .L356+12 + 6708 00b0 9C81 strh r4, [r3, #12] @ movhi + 6709 .LVL624: + 6710 .loc 4 1377 10 view .LVU2101 + 6711 .LBE575: + 6712 .LBE574: +2916:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w + 6713 .loc 1 2916 4 is_stmt 1 view .LVU2102 +2917:Src/main.c **** (void) SPI6->DR; + 6714 .loc 1 2917 4 view .LVU2103 +2916:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w + 6715 .loc 1 2916 10 is_stmt 0 view .LVU2104 + 6716 00b2 0022 movs r2, #0 + 6717 .LVL625: + 6718 .L336: +2917:Src/main.c **** (void) SPI6->DR; + 6719 .loc 1 2917 43 is_stmt 1 discriminator 1 view .LVU2105 + 6720 .LBB576: + 6721 .LBI576: 905:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 5894 .loc 4 905 26 view .LVU1862 - 5895 .LBB561: + 6722 .loc 4 905 26 view .LVU2106 + 6723 .LBB577: 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5896 .loc 4 907 3 view .LVU1863 + 6724 .loc 4 907 3 view .LVU2107 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5897 .loc 4 907 12 is_stmt 0 view .LVU1864 - 5898 00b4 2A4B ldr r3, .L277+12 - 5899 00b6 9B68 ldr r3, [r3, #8] + 6725 .loc 4 907 12 is_stmt 0 view .LVU2108 + 6726 00b4 2A4B ldr r3, .L356+12 + 6727 00b6 9B68 ldr r3, [r3, #8] 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5900 .loc 4 907 68 view .LVU1865 - 5901 00b8 13F0010F tst r3, #1 - ARM GAS /tmp/ccYgfTud.s page 473 + 6728 .loc 4 907 68 view .LVU2109 + 6729 00b8 13F0010F tst r3, #1 + 6730 00bc 04D1 bne .L337 + 6731 .LVL626: + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 6732 .loc 4 907 68 view .LVU2110 + 6733 .LBE577: + 6734 .LBE576: +2917:Src/main.c **** (void) SPI6->DR; + 6735 .loc 1 2917 43 discriminator 2 view .LVU2111 + 6736 00be B2F5FA7F cmp r2, #500 + 6737 00c2 01D8 bhi .L337 +2917:Src/main.c **** (void) SPI6->DR; + 6738 .loc 1 2917 60 is_stmt 1 discriminator 3 view .LVU2112 +2917:Src/main.c **** (void) SPI6->DR; + 6739 .loc 1 2917 65 is_stmt 0 discriminator 3 view .LVU2113 + 6740 00c4 0132 adds r2, r2, #1 + 6741 .LVL627: +2917:Src/main.c **** (void) SPI6->DR; + 6742 .loc 1 2917 65 discriminator 3 view .LVU2114 + 6743 00c6 F5E7 b .L336 + 6744 .L337: +2918:Src/main.c **** break; + 6745 .loc 1 2918 4 is_stmt 1 view .LVU2115 + 6746 00c8 254B ldr r3, .L356+12 + ARM GAS /tmp/ccwR4KB7.s page 497 - 5902 00bc 04D1 bne .L258 - 5903 .LVL508: - 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5904 .loc 4 907 68 view .LVU1866 - 5905 .LBE561: - 5906 .LBE560: -2638:Src/main.c **** (void) SPI6->DR; - 5907 .loc 1 2638 43 discriminator 2 view .LVU1867 - 5908 00be B2F5FA7F cmp r2, #500 - 5909 00c2 01D8 bhi .L258 -2638:Src/main.c **** (void) SPI6->DR; - 5910 .loc 1 2638 60 is_stmt 1 discriminator 3 view .LVU1868 -2638:Src/main.c **** (void) SPI6->DR; - 5911 .loc 1 2638 65 is_stmt 0 discriminator 3 view .LVU1869 - 5912 00c4 0132 adds r2, r2, #1 - 5913 .LVL509: -2638:Src/main.c **** (void) SPI6->DR; - 5914 .loc 1 2638 65 discriminator 3 view .LVU1870 - 5915 00c6 F5E7 b .L257 - 5916 .L258: -2639:Src/main.c **** break; - 5917 .loc 1 2639 4 is_stmt 1 view .LVU1871 - 5918 00c8 254B ldr r3, .L277+12 - 5919 00ca DB68 ldr r3, [r3, #12] -2640:Src/main.c **** case 3: - 5920 .loc 1 2640 3 view .LVU1872 - 5921 00cc C6E7 b .L242 - 5922 .LVL510: - 5923 .L245: -2642:Src/main.c **** //tmp32=0; - 5924 .loc 1 2642 4 view .LVU1873 - 5925 00ce 0022 movs r2, #0 - 5926 00d0 4FF48051 mov r1, #4096 - 5927 .LVL511: -2642:Src/main.c **** //tmp32=0; - 5928 .loc 1 2642 4 is_stmt 0 view .LVU1874 - 5929 00d4 1F48 ldr r0, .L277 - 5930 00d6 FFF7FEFF bl HAL_GPIO_WritePin - 5931 .LVL512: -2645:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi - 5932 .loc 1 2645 4 is_stmt 1 view .LVU1875 -2646:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC - 5933 .loc 1 2646 4 view .LVU1876 -2645:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi - 5934 .loc 1 2645 10 is_stmt 0 view .LVU1877 - 5935 00da 0022 movs r2, #0 - 5936 .LVL513: - 5937 .L260: -2646:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC - 5938 .loc 1 2646 42 is_stmt 1 discriminator 1 view .LVU1878 - 5939 .LBB562: - 5940 .LBI562: + 6747 00ca DB68 ldr r3, [r3, #12] +2919:Src/main.c **** case 3: + 6748 .loc 1 2919 3 view .LVU2116 + 6749 00cc C6E7 b .L321 + 6750 .LVL628: + 6751 .L324: +2921:Src/main.c **** //tmp32=0; + 6752 .loc 1 2921 4 view .LVU2117 + 6753 00ce 0022 movs r2, #0 + 6754 00d0 4FF48051 mov r1, #4096 + 6755 .LVL629: +2921:Src/main.c **** //tmp32=0; + 6756 .loc 1 2921 4 is_stmt 0 view .LVU2118 + 6757 00d4 1F48 ldr r0, .L356 + 6758 00d6 FFF7FEFF bl HAL_GPIO_WritePin + 6759 .LVL630: +2924:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi + 6760 .loc 1 2924 4 is_stmt 1 view .LVU2119 +2925:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC + 6761 .loc 1 2925 4 view .LVU2120 +2924:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi + 6762 .loc 1 2924 10 is_stmt 0 view .LVU2121 + 6763 00da 0022 movs r2, #0 + 6764 .LVL631: + 6765 .L339: +2925:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC + 6766 .loc 1 2925 42 is_stmt 1 discriminator 1 view .LVU2122 + 6767 .LBB578: + 6768 .LBI578: 916:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 5941 .loc 4 916 26 view .LVU1879 - 5942 .LBB563: + 6769 .loc 4 916 26 view .LVU2123 + 6770 .LBB579: 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5943 .loc 4 918 3 view .LVU1880 - ARM GAS /tmp/ccYgfTud.s page 474 + 6771 .loc 4 918 3 view .LVU2124 + 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 6772 .loc 4 918 12 is_stmt 0 view .LVU2125 + 6773 00dc 1E4B ldr r3, .L356+4 + 6774 00de 9B68 ldr r3, [r3, #8] + 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 6775 .loc 4 918 66 view .LVU2126 + 6776 00e0 13F0020F tst r3, #2 + 6777 00e4 04D1 bne .L340 + 6778 .LVL632: + 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 6779 .loc 4 918 66 view .LVU2127 + 6780 .LBE579: + 6781 .LBE578: +2925:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC + 6782 .loc 1 2925 42 discriminator 2 view .LVU2128 + 6783 00e6 B2F5FA7F cmp r2, #500 + 6784 00ea 01D8 bhi .L340 +2925:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC + 6785 .loc 1 2925 59 is_stmt 1 discriminator 3 view .LVU2129 +2925:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC + 6786 .loc 1 2925 64 is_stmt 0 discriminator 3 view .LVU2130 + 6787 00ec 0132 adds r2, r2, #1 + 6788 .LVL633: + ARM GAS /tmp/ccwR4KB7.s page 498 - 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5944 .loc 4 918 12 is_stmt 0 view .LVU1881 - 5945 00dc 1E4B ldr r3, .L277+4 - 5946 00de 9B68 ldr r3, [r3, #8] - 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5947 .loc 4 918 66 view .LVU1882 - 5948 00e0 13F0020F tst r3, #2 - 5949 00e4 04D1 bne .L261 - 5950 .LVL514: - 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5951 .loc 4 918 66 view .LVU1883 - 5952 .LBE563: - 5953 .LBE562: -2646:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC - 5954 .loc 1 2646 42 discriminator 2 view .LVU1884 - 5955 00e6 B2F5FA7F cmp r2, #500 - 5956 00ea 01D8 bhi .L261 -2646:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC - 5957 .loc 1 2646 59 is_stmt 1 discriminator 3 view .LVU1885 -2646:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC - 5958 .loc 1 2646 64 is_stmt 0 discriminator 3 view .LVU1886 - 5959 00ec 0132 adds r2, r2, #1 - 5960 .LVL515: -2646:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC - 5961 .loc 1 2646 64 discriminator 3 view .LVU1887 - 5962 00ee F5E7 b .L260 - 5963 .L261: -2647:Src/main.c **** tmp32 = 0; - 5964 .loc 1 2647 4 is_stmt 1 view .LVU1888 - 5965 .LVL516: - 5966 .LBB564: - 5967 .LBI564: +2925:Src/main.c **** LL_SPI_TransmitData16(SPI2, DATA);//Transmit word to Laser1 DAC + 6789 .loc 1 2925 64 discriminator 3 view .LVU2131 + 6790 00ee F5E7 b .L339 + 6791 .L340: +2926:Src/main.c **** tmp32 = 0; + 6792 .loc 1 2926 4 is_stmt 1 view .LVU2132 + 6793 .LVL634: + 6794 .LBB580: + 6795 .LBI580: 1373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 5968 .loc 4 1373 22 view .LVU1889 - 5969 .LBB565: + 6796 .loc 4 1373 22 view .LVU2133 + 6797 .LBB581: 1376:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** *spidr = TxData; - 5970 .loc 4 1376 3 view .LVU1890 - 5971 .loc 4 1377 3 view .LVU1891 - 5972 .loc 4 1377 10 is_stmt 0 view .LVU1892 - 5973 00f0 194B ldr r3, .L277+4 - 5974 00f2 9C81 strh r4, [r3, #12] @ movhi - 5975 .LVL517: - 5976 .loc 4 1377 10 view .LVU1893 - 5977 .LBE565: - 5978 .LBE564: -2648:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w - 5979 .loc 1 2648 4 is_stmt 1 view .LVU1894 -2649:Src/main.c **** (void) SPI2->DR; - 5980 .loc 1 2649 4 view .LVU1895 -2648:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w - 5981 .loc 1 2648 10 is_stmt 0 view .LVU1896 - 5982 00f4 0022 movs r2, #0 - 5983 .LVL518: - 5984 .L263: -2649:Src/main.c **** (void) SPI2->DR; - 5985 .loc 1 2649 43 is_stmt 1 discriminator 1 view .LVU1897 - 5986 .LBB566: - ARM GAS /tmp/ccYgfTud.s page 475 - - - 5987 .LBI566: + 6798 .loc 4 1376 3 view .LVU2134 + 6799 .loc 4 1377 3 view .LVU2135 + 6800 .loc 4 1377 10 is_stmt 0 view .LVU2136 + 6801 00f0 194B ldr r3, .L356+4 + 6802 00f2 9C81 strh r4, [r3, #12] @ movhi + 6803 .LVL635: + 6804 .loc 4 1377 10 view .LVU2137 + 6805 .LBE581: + 6806 .LBE580: +2927:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w + 6807 .loc 1 2927 4 is_stmt 1 view .LVU2138 +2928:Src/main.c **** (void) SPI2->DR; + 6808 .loc 1 2928 4 view .LVU2139 +2927:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI2))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w + 6809 .loc 1 2927 10 is_stmt 0 view .LVU2140 + 6810 00f4 0022 movs r2, #0 + 6811 .LVL636: + 6812 .L342: +2928:Src/main.c **** (void) SPI2->DR; + 6813 .loc 1 2928 43 is_stmt 1 discriminator 1 view .LVU2141 + 6814 .LBB582: + 6815 .LBI582: 905:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 5988 .loc 4 905 26 view .LVU1898 - 5989 .LBB567: + 6816 .loc 4 905 26 view .LVU2142 + 6817 .LBB583: 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5990 .loc 4 907 3 view .LVU1899 + 6818 .loc 4 907 3 view .LVU2143 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5991 .loc 4 907 12 is_stmt 0 view .LVU1900 - 5992 00f6 184B ldr r3, .L277+4 - 5993 00f8 9B68 ldr r3, [r3, #8] + 6819 .loc 4 907 12 is_stmt 0 view .LVU2144 + 6820 00f6 184B ldr r3, .L356+4 + 6821 00f8 9B68 ldr r3, [r3, #8] 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5994 .loc 4 907 68 view .LVU1901 - 5995 00fa 13F0010F tst r3, #1 - 5996 00fe 04D1 bne .L264 - 5997 .LVL519: + 6822 .loc 4 907 68 view .LVU2145 + 6823 00fa 13F0010F tst r3, #1 + 6824 00fe 04D1 bne .L343 + 6825 .LVL637: 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 5998 .loc 4 907 68 view .LVU1902 - 5999 .LBE567: - 6000 .LBE566: -2649:Src/main.c **** (void) SPI2->DR; - 6001 .loc 1 2649 43 discriminator 2 view .LVU1903 - 6002 0100 B2F5FA7F cmp r2, #500 - 6003 0104 01D8 bhi .L264 -2649:Src/main.c **** (void) SPI2->DR; - 6004 .loc 1 2649 60 is_stmt 1 discriminator 3 view .LVU1904 -2649:Src/main.c **** (void) SPI2->DR; - 6005 .loc 1 2649 65 is_stmt 0 discriminator 3 view .LVU1905 - 6006 0106 0132 adds r2, r2, #1 - 6007 .LVL520: -2649:Src/main.c **** (void) SPI2->DR; - 6008 .loc 1 2649 65 discriminator 3 view .LVU1906 - 6009 0108 F5E7 b .L263 - 6010 .L264: -2650:Src/main.c **** break; - 6011 .loc 1 2650 4 is_stmt 1 view .LVU1907 - 6012 010a 134B ldr r3, .L277+4 - 6013 010c DB68 ldr r3, [r3, #12] -2651:Src/main.c **** case 4: - 6014 .loc 1 2651 3 view .LVU1908 - 6015 010e A5E7 b .L242 - 6016 .LVL521: - 6017 .L243: -2653:Src/main.c **** //tmp32=0; - 6018 .loc 1 2653 4 view .LVU1909 - 6019 0110 0022 movs r2, #0 - 6020 0112 1021 movs r1, #16 - 6021 .LVL522: -2653:Src/main.c **** //tmp32=0; - 6022 .loc 1 2653 4 is_stmt 0 view .LVU1910 - 6023 0114 1148 ldr r0, .L277+8 - 6024 0116 FFF7FEFF bl HAL_GPIO_WritePin - 6025 .LVL523: -2656:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi - 6026 .loc 1 2656 4 is_stmt 1 view .LVU1911 -2657:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC - 6027 .loc 1 2657 4 view .LVU1912 -2656:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi - ARM GAS /tmp/ccYgfTud.s page 476 + 6826 .loc 4 907 68 view .LVU2146 + 6827 .LBE583: + 6828 .LBE582: +2928:Src/main.c **** (void) SPI2->DR; + 6829 .loc 1 2928 43 discriminator 2 view .LVU2147 + 6830 0100 B2F5FA7F cmp r2, #500 + 6831 0104 01D8 bhi .L343 + ARM GAS /tmp/ccwR4KB7.s page 499 - 6028 .loc 1 2656 10 is_stmt 0 view .LVU1913 - 6029 011a 0022 movs r2, #0 - 6030 .LVL524: - 6031 .L266: -2657:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC - 6032 .loc 1 2657 42 is_stmt 1 discriminator 1 view .LVU1914 - 6033 .LBB568: - 6034 .LBI568: +2928:Src/main.c **** (void) SPI2->DR; + 6832 .loc 1 2928 60 is_stmt 1 discriminator 3 view .LVU2148 +2928:Src/main.c **** (void) SPI2->DR; + 6833 .loc 1 2928 65 is_stmt 0 discriminator 3 view .LVU2149 + 6834 0106 0132 adds r2, r2, #1 + 6835 .LVL638: +2928:Src/main.c **** (void) SPI2->DR; + 6836 .loc 1 2928 65 discriminator 3 view .LVU2150 + 6837 0108 F5E7 b .L342 + 6838 .L343: +2929:Src/main.c **** break; + 6839 .loc 1 2929 4 is_stmt 1 view .LVU2151 + 6840 010a 134B ldr r3, .L356+4 + 6841 010c DB68 ldr r3, [r3, #12] +2930:Src/main.c **** case 4: + 6842 .loc 1 2930 3 view .LVU2152 + 6843 010e A5E7 b .L321 + 6844 .LVL639: + 6845 .L322: +2932:Src/main.c **** //tmp32=0; + 6846 .loc 1 2932 4 view .LVU2153 + 6847 0110 0022 movs r2, #0 + 6848 0112 1021 movs r1, #16 + 6849 .LVL640: +2932:Src/main.c **** //tmp32=0; + 6850 .loc 1 2932 4 is_stmt 0 view .LVU2154 + 6851 0114 1148 ldr r0, .L356+8 + 6852 0116 FFF7FEFF bl HAL_GPIO_WritePin + 6853 .LVL641: +2935:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi + 6854 .loc 1 2935 4 is_stmt 1 view .LVU2155 +2936:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC + 6855 .loc 1 2936 4 view .LVU2156 +2935:Src/main.c **** while((!LL_SPI_IsActiveFlag_TXE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle wi + 6856 .loc 1 2935 10 is_stmt 0 view .LVU2157 + 6857 011a 0022 movs r2, #0 + 6858 .LVL642: + 6859 .L345: +2936:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC + 6860 .loc 1 2936 42 is_stmt 1 discriminator 1 view .LVU2158 + 6861 .LBB584: + 6862 .LBI584: 916:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 6035 .loc 4 916 26 view .LVU1915 - 6036 .LBB569: + 6863 .loc 4 916 26 view .LVU2159 + 6864 .LBB585: 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 6037 .loc 4 918 3 view .LVU1916 + 6865 .loc 4 918 3 view .LVU2160 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 6038 .loc 4 918 12 is_stmt 0 view .LVU1917 - 6039 011c 104B ldr r3, .L277+12 - 6040 011e 9B68 ldr r3, [r3, #8] + 6866 .loc 4 918 12 is_stmt 0 view .LVU2161 + 6867 011c 104B ldr r3, .L356+12 + 6868 011e 9B68 ldr r3, [r3, #8] 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 6041 .loc 4 918 66 view .LVU1918 - 6042 0120 13F0020F tst r3, #2 - 6043 0124 04D1 bne .L267 - 6044 .LVL525: + 6869 .loc 4 918 66 view .LVU2162 + 6870 0120 13F0020F tst r3, #2 + 6871 0124 04D1 bne .L346 + 6872 .LVL643: 918:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 6045 .loc 4 918 66 view .LVU1919 - 6046 .LBE569: - 6047 .LBE568: -2657:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC - 6048 .loc 1 2657 42 discriminator 2 view .LVU1920 - 6049 0126 B2F5FA7F cmp r2, #500 - 6050 012a 01D8 bhi .L267 -2657:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC - 6051 .loc 1 2657 59 is_stmt 1 discriminator 3 view .LVU1921 -2657:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC - 6052 .loc 1 2657 64 is_stmt 0 discriminator 3 view .LVU1922 - 6053 012c 0132 adds r2, r2, #1 - 6054 .LVL526: -2657:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC - 6055 .loc 1 2657 64 discriminator 3 view .LVU1923 - 6056 012e F5E7 b .L266 - 6057 .L267: -2658:Src/main.c **** tmp32 = 0; - 6058 .loc 1 2658 4 is_stmt 1 view .LVU1924 - 6059 .LVL527: - 6060 .LBB570: - 6061 .LBI570: + ARM GAS /tmp/ccwR4KB7.s page 500 + + + 6873 .loc 4 918 66 view .LVU2163 + 6874 .LBE585: + 6875 .LBE584: +2936:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC + 6876 .loc 1 2936 42 discriminator 2 view .LVU2164 + 6877 0126 B2F5FA7F cmp r2, #500 + 6878 012a 01D8 bhi .L346 +2936:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC + 6879 .loc 1 2936 59 is_stmt 1 discriminator 3 view .LVU2165 +2936:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC + 6880 .loc 1 2936 64 is_stmt 0 discriminator 3 view .LVU2166 + 6881 012c 0132 adds r2, r2, #1 + 6882 .LVL644: +2936:Src/main.c **** LL_SPI_TransmitData16(SPI6, DATA);//Transmit word to Laser1 DAC + 6883 .loc 1 2936 64 discriminator 3 view .LVU2167 + 6884 012e F5E7 b .L345 + 6885 .L346: +2937:Src/main.c **** tmp32 = 0; + 6886 .loc 1 2937 4 is_stmt 1 view .LVU2168 + 6887 .LVL645: + 6888 .LBB586: + 6889 .LBI586: 1373:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 6062 .loc 4 1373 22 view .LVU1925 - 6063 .LBB571: + 6890 .loc 4 1373 22 view .LVU2169 + 6891 .LBB587: 1376:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** *spidr = TxData; - 6064 .loc 4 1376 3 view .LVU1926 - 6065 .loc 4 1377 3 view .LVU1927 - 6066 .loc 4 1377 10 is_stmt 0 view .LVU1928 - 6067 0130 0B4B ldr r3, .L277+12 - 6068 0132 9C81 strh r4, [r3, #12] @ movhi - 6069 .LVL528: - 6070 .loc 4 1377 10 view .LVU1929 - 6071 .LBE571: - ARM GAS /tmp/ccYgfTud.s page 477 - - - 6072 .LBE570: -2659:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w - 6073 .loc 1 2659 4 is_stmt 1 view .LVU1930 -2660:Src/main.c **** (void) SPI6->DR; - 6074 .loc 1 2660 4 view .LVU1931 -2659:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w - 6075 .loc 1 2659 10 is_stmt 0 view .LVU1932 - 6076 0134 0022 movs r2, #0 - 6077 .LVL529: - 6078 .L269: -2660:Src/main.c **** (void) SPI6->DR; - 6079 .loc 1 2660 43 is_stmt 1 discriminator 1 view .LVU1933 - 6080 .LBB572: - 6081 .LBI572: + 6892 .loc 4 1376 3 view .LVU2170 + 6893 .loc 4 1377 3 view .LVU2171 + 6894 .loc 4 1377 10 is_stmt 0 view .LVU2172 + 6895 0130 0B4B ldr r3, .L356+12 + 6896 0132 9C81 strh r4, [r3, #12] @ movhi + 6897 .LVL646: + 6898 .loc 4 1377 10 view .LVU2173 + 6899 .LBE587: + 6900 .LBE586: +2938:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w + 6901 .loc 1 2938 4 is_stmt 1 view .LVU2174 +2939:Src/main.c **** (void) SPI6->DR; + 6902 .loc 1 2939 4 view .LVU2175 +2938:Src/main.c **** while((!LL_SPI_IsActiveFlag_RXNE(SPI6))&&(tmp32<=500)) {tmp32++;}//When trans. last data cycle w + 6903 .loc 1 2938 10 is_stmt 0 view .LVU2176 + 6904 0134 0022 movs r2, #0 + 6905 .LVL647: + 6906 .L348: +2939:Src/main.c **** (void) SPI6->DR; + 6907 .loc 1 2939 43 is_stmt 1 discriminator 1 view .LVU2177 + 6908 .LBB588: + 6909 .LBI588: 905:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 6082 .loc 4 905 26 view .LVU1934 - 6083 .LBB573: + 6910 .loc 4 905 26 view .LVU2178 + 6911 .LBB589: 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 6084 .loc 4 907 3 view .LVU1935 + 6912 .loc 4 907 3 view .LVU2179 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 6085 .loc 4 907 12 is_stmt 0 view .LVU1936 - 6086 0136 0A4B ldr r3, .L277+12 - 6087 0138 9B68 ldr r3, [r3, #8] + 6913 .loc 4 907 12 is_stmt 0 view .LVU2180 + 6914 0136 0A4B ldr r3, .L356+12 + 6915 0138 9B68 ldr r3, [r3, #8] + ARM GAS /tmp/ccwR4KB7.s page 501 + + 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 6088 .loc 4 907 68 view .LVU1937 - 6089 013a 13F0010F tst r3, #1 - 6090 013e 04D1 bne .L270 - 6091 .LVL530: + 6916 .loc 4 907 68 view .LVU2181 + 6917 013a 13F0010F tst r3, #1 + 6918 013e 04D1 bne .L349 + 6919 .LVL648: 907:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 6092 .loc 4 907 68 view .LVU1938 - 6093 .LBE573: - 6094 .LBE572: -2660:Src/main.c **** (void) SPI6->DR; - 6095 .loc 1 2660 43 discriminator 2 view .LVU1939 - 6096 0140 B2F5FA7F cmp r2, #500 - 6097 0144 01D8 bhi .L270 -2660:Src/main.c **** (void) SPI6->DR; - 6098 .loc 1 2660 60 is_stmt 1 discriminator 3 view .LVU1940 -2660:Src/main.c **** (void) SPI6->DR; - 6099 .loc 1 2660 65 is_stmt 0 discriminator 3 view .LVU1941 - 6100 0146 0132 adds r2, r2, #1 - 6101 .LVL531: -2660:Src/main.c **** (void) SPI6->DR; - 6102 .loc 1 2660 65 discriminator 3 view .LVU1942 - 6103 0148 F5E7 b .L269 - 6104 .L270: -2661:Src/main.c **** break; - 6105 .loc 1 2661 4 is_stmt 1 view .LVU1943 - 6106 014a 054B ldr r3, .L277+12 - 6107 014c DB68 ldr r3, [r3, #12] -2662:Src/main.c **** } - 6108 .loc 1 2662 3 view .LVU1944 - 6109 014e 85E7 b .L242 - 6110 .LVL532: - 6111 .L274: - 6112 .LCFI56: - 6113 .cfi_def_cfa_offset 0 - ARM GAS /tmp/ccYgfTud.s page 478 + 6920 .loc 4 907 68 view .LVU2182 + 6921 .LBE589: + 6922 .LBE588: +2939:Src/main.c **** (void) SPI6->DR; + 6923 .loc 1 2939 43 discriminator 2 view .LVU2183 + 6924 0140 B2F5FA7F cmp r2, #500 + 6925 0144 01D8 bhi .L349 +2939:Src/main.c **** (void) SPI6->DR; + 6926 .loc 1 2939 60 is_stmt 1 discriminator 3 view .LVU2184 +2939:Src/main.c **** (void) SPI6->DR; + 6927 .loc 1 2939 65 is_stmt 0 discriminator 3 view .LVU2185 + 6928 0146 0132 adds r2, r2, #1 + 6929 .LVL649: +2939:Src/main.c **** (void) SPI6->DR; + 6930 .loc 1 2939 65 discriminator 3 view .LVU2186 + 6931 0148 F5E7 b .L348 + 6932 .L349: +2940:Src/main.c **** break; + 6933 .loc 1 2940 4 is_stmt 1 view .LVU2187 + 6934 014a 054B ldr r3, .L356+12 + 6935 014c DB68 ldr r3, [r3, #12] +2941:Src/main.c **** } + 6936 .loc 1 2941 3 view .LVU2188 + 6937 014e 85E7 b .L321 + 6938 .LVL650: + 6939 .L353: + 6940 .LCFI65: + 6941 .cfi_def_cfa_offset 0 + 6942 .cfi_restore 3 + 6943 .cfi_restore 4 + 6944 .cfi_restore 5 + 6945 .cfi_restore 14 +2941:Src/main.c **** } + 6946 .loc 1 2941 3 is_stmt 0 view .LVU2189 + 6947 0150 7047 bx lr + 6948 .L357: + 6949 0152 00BF .align 2 + 6950 .L356: + 6951 0154 00040240 .word 1073873920 + 6952 0158 00380040 .word 1073756160 + 6953 015c 00000240 .word 1073872896 + 6954 0160 00540140 .word 1073828864 + 6955 .cfi_endproc + 6956 .LFE1220: + 6958 .section .text.Decode_uart,"ax",%progbits + 6959 .align 1 + 6960 .syntax unified + 6961 .thumb + 6962 .thumb_func + 6964 Decode_uart: + 6965 .LVL651: + ARM GAS /tmp/ccwR4KB7.s page 502 - 6114 .cfi_restore 3 - 6115 .cfi_restore 4 - 6116 .cfi_restore 5 - 6117 .cfi_restore 14 -2662:Src/main.c **** } - 6118 .loc 1 2662 3 is_stmt 0 view .LVU1945 - 6119 0150 7047 bx lr - 6120 .L278: - 6121 0152 00BF .align 2 - 6122 .L277: - 6123 0154 00040240 .word 1073873920 - 6124 0158 00380040 .word 1073756160 - 6125 015c 00000240 .word 1073872896 - 6126 0160 00540140 .word 1073828864 - 6127 .cfi_endproc - 6128 .LFE1217: - 6130 .section .text.Decode_uart,"ax",%progbits - 6131 .align 1 - 6132 .syntax unified - 6133 .thumb - 6134 .thumb_func - 6136 Decode_uart: - 6137 .LVL533: - 6138 .LFB1208: -2147:Src/main.c **** // uint8_t *temp1; - 6139 .loc 1 2147 1 is_stmt 1 view -0 - 6140 .cfi_startproc - 6141 @ args = 0, pretend = 0, frame = 0 - 6142 @ frame_needed = 0, uses_anonymous_args = 0 -2147:Src/main.c **** // uint8_t *temp1; - 6143 .loc 1 2147 1 is_stmt 0 view .LVU1947 - 6144 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} - 6145 .LCFI57: - 6146 .cfi_def_cfa_offset 32 - 6147 .cfi_offset 3, -32 - 6148 .cfi_offset 4, -28 - 6149 .cfi_offset 5, -24 - 6150 .cfi_offset 6, -20 - 6151 .cfi_offset 7, -16 - 6152 .cfi_offset 8, -12 - 6153 .cfi_offset 9, -8 - 6154 .cfi_offset 14, -4 - 6155 0004 0546 mov r5, r0 - 6156 0006 0F46 mov r7, r1 - 6157 0008 1646 mov r6, r2 - 6158 000a 1C46 mov r4, r3 -2149:Src/main.c **** - 6159 .loc 1 2149 2 is_stmt 1 view .LVU1948 -2154:Src/main.c **** if ((HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin) == GPIO_PIN_RESET)&& - 6160 .loc 1 2154 2 view .LVU1949 -2154:Src/main.c **** if ((HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin) == GPIO_PIN_RESET)&& - 6161 .loc 1 2154 6 is_stmt 0 view .LVU1950 - 6162 000c AF4B ldr r3, .L303 - 6163 .LVL534: -2154:Src/main.c **** if ((HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin) == GPIO_PIN_RESET)&& - 6164 .loc 1 2154 6 view .LVU1951 - 6165 000e 0022 movs r2, #0 - ARM GAS /tmp/ccYgfTud.s page 479 + 6966 .LFB1208: +2197:Src/main.c **** // uint8_t *temp1; + 6967 .loc 1 2197 1 is_stmt 1 view -0 + 6968 .cfi_startproc + 6969 @ args = 0, pretend = 0, frame = 0 + 6970 @ frame_needed = 0, uses_anonymous_args = 0 +2197:Src/main.c **** // uint8_t *temp1; + 6971 .loc 1 2197 1 is_stmt 0 view .LVU2191 + 6972 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} + 6973 .LCFI66: + 6974 .cfi_def_cfa_offset 32 + 6975 .cfi_offset 3, -32 + 6976 .cfi_offset 4, -28 + 6977 .cfi_offset 5, -24 + 6978 .cfi_offset 6, -20 + 6979 .cfi_offset 7, -16 + 6980 .cfi_offset 8, -12 + 6981 .cfi_offset 9, -8 + 6982 .cfi_offset 14, -4 + 6983 0004 0546 mov r5, r0 + 6984 0006 0F46 mov r7, r1 + 6985 0008 1646 mov r6, r2 + 6986 000a 1C46 mov r4, r3 +2199:Src/main.c **** + 6987 .loc 1 2199 2 is_stmt 1 view .LVU2192 +2204:Src/main.c **** if ((HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin) == GPIO_PIN_RESET)&& + 6988 .loc 1 2204 2 view .LVU2193 +2204:Src/main.c **** if ((HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin) == GPIO_PIN_RESET)&& + 6989 .loc 1 2204 6 is_stmt 0 view .LVU2194 + 6990 000c AF4B ldr r3, .L382 + 6991 .LVL652: +2204:Src/main.c **** if ((HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin) == GPIO_PIN_RESET)&& + 6992 .loc 1 2204 6 view .LVU2195 + 6993 000e 0022 movs r2, #0 + 6994 .LVL653: +2204:Src/main.c **** if ((HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin) == GPIO_PIN_RESET)&& + 6995 .loc 1 2204 6 view .LVU2196 + 6996 0010 1A60 str r2, [r3] +2205:Src/main.c **** (HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin) == GPIO_PIN_SET))//if exist sd && connect u + 6997 .loc 1 2205 2 is_stmt 1 view .LVU2197 +2205:Src/main.c **** (HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin) == GPIO_PIN_SET))//if exist sd && connect u + 6998 .loc 1 2205 7 is_stmt 0 view .LVU2198 + 6999 0012 0121 movs r1, #1 + 7000 .LVL654: +2205:Src/main.c **** (HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin) == GPIO_PIN_SET))//if exist sd && connect u + 7001 .loc 1 2205 7 view .LVU2199 + 7002 0014 AE48 ldr r0, .L382+4 + 7003 .LVL655: +2205:Src/main.c **** (HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin) == GPIO_PIN_SET))//if exist sd && connect u + 7004 .loc 1 2205 7 view .LVU2200 + 7005 0016 FFF7FEFF bl HAL_GPIO_ReadPin + 7006 .LVL656: +2205:Src/main.c **** (HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin) == GPIO_PIN_SET))//if exist sd && connect u + 7007 .loc 1 2205 5 discriminator 1 view .LVU2201 + 7008 001a 0028 cmp r0, #0 + 7009 001c 00F0D280 beq .L379 + 7010 .L359: + ARM GAS /tmp/ccwR4KB7.s page 503 - 6166 .LVL535: -2154:Src/main.c **** if ((HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin) == GPIO_PIN_RESET)&& - 6167 .loc 1 2154 6 view .LVU1952 - 6168 0010 1A60 str r2, [r3] -2155:Src/main.c **** (HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin) == GPIO_PIN_SET))//if exist sd && connect u - 6169 .loc 1 2155 2 is_stmt 1 view .LVU1953 -2155:Src/main.c **** (HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin) == GPIO_PIN_SET))//if exist sd && connect u - 6170 .loc 1 2155 7 is_stmt 0 view .LVU1954 - 6171 0012 0121 movs r1, #1 - 6172 .LVL536: -2155:Src/main.c **** (HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin) == GPIO_PIN_SET))//if exist sd && connect u - 6173 .loc 1 2155 7 view .LVU1955 - 6174 0014 AE48 ldr r0, .L303+4 - 6175 .LVL537: -2155:Src/main.c **** (HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin) == GPIO_PIN_SET))//if exist sd && connect u - 6176 .loc 1 2155 7 view .LVU1956 - 6177 0016 FFF7FEFF bl HAL_GPIO_ReadPin - 6178 .LVL538: -2155:Src/main.c **** (HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin) == GPIO_PIN_SET))//if exist sd && connect u - 6179 .loc 1 2155 5 discriminator 1 view .LVU1957 - 6180 001a 0028 cmp r0, #0 - 6181 001c 00F0D280 beq .L300 - 6182 .L280: -2170:Src/main.c **** Curr_setup->WORK_EN = ((uint8_t)((*temp2)>>0))&0x01; - 6183 .loc 1 2170 2 is_stmt 1 view .LVU1958 - 6184 .LVL539: -2171:Src/main.c **** Curr_setup->U5V1_EN = ((uint8_t)((*temp2)>>1))&0x01; - 6185 .loc 1 2171 2 view .LVU1959 -2171:Src/main.c **** Curr_setup->U5V1_EN = ((uint8_t)((*temp2)>>1))&0x01; - 6186 .loc 1 2171 36 is_stmt 0 view .LVU1960 - 6187 0020 2B88 ldrh r3, [r5] -2171:Src/main.c **** Curr_setup->U5V1_EN = ((uint8_t)((*temp2)>>1))&0x01; - 6188 .loc 1 2171 48 view .LVU1961 - 6189 0022 03F00103 and r3, r3, #1 -2171:Src/main.c **** Curr_setup->U5V1_EN = ((uint8_t)((*temp2)>>1))&0x01; - 6190 .loc 1 2171 22 view .LVU1962 - 6191 0026 2370 strb r3, [r4] -2172:Src/main.c **** Curr_setup->U5V2_EN = ((uint8_t)((*temp2)>>2))&0x01; - 6192 .loc 1 2172 2 is_stmt 1 view .LVU1963 -2172:Src/main.c **** Curr_setup->U5V2_EN = ((uint8_t)((*temp2)>>2))&0x01; - 6193 .loc 1 2172 36 is_stmt 0 view .LVU1964 - 6194 0028 2B88 ldrh r3, [r5] -2172:Src/main.c **** Curr_setup->U5V2_EN = ((uint8_t)((*temp2)>>2))&0x01; - 6195 .loc 1 2172 48 view .LVU1965 - 6196 002a C3F34003 ubfx r3, r3, #1, #1 -2172:Src/main.c **** Curr_setup->U5V2_EN = ((uint8_t)((*temp2)>>2))&0x01; - 6197 .loc 1 2172 22 view .LVU1966 - 6198 002e 6370 strb r3, [r4, #1] -2173:Src/main.c **** Curr_setup->LD1_EN = ((uint8_t)((*temp2)>>3))&0x01; - 6199 .loc 1 2173 2 is_stmt 1 view .LVU1967 -2173:Src/main.c **** Curr_setup->LD1_EN = ((uint8_t)((*temp2)>>3))&0x01; - 6200 .loc 1 2173 36 is_stmt 0 view .LVU1968 - 6201 0030 2B88 ldrh r3, [r5] -2173:Src/main.c **** Curr_setup->LD1_EN = ((uint8_t)((*temp2)>>3))&0x01; - 6202 .loc 1 2173 48 view .LVU1969 - 6203 0032 C3F38003 ubfx r3, r3, #2, #1 -2173:Src/main.c **** Curr_setup->LD1_EN = ((uint8_t)((*temp2)>>3))&0x01; - ARM GAS /tmp/ccYgfTud.s page 480 +2220:Src/main.c **** Curr_setup->WORK_EN = ((uint8_t)((*temp2)>>0))&0x01; + 7011 .loc 1 2220 2 is_stmt 1 view .LVU2202 + 7012 .LVL657: +2221:Src/main.c **** Curr_setup->U5V1_EN = ((uint8_t)((*temp2)>>1))&0x01; + 7013 .loc 1 2221 2 view .LVU2203 +2221:Src/main.c **** Curr_setup->U5V1_EN = ((uint8_t)((*temp2)>>1))&0x01; + 7014 .loc 1 2221 36 is_stmt 0 view .LVU2204 + 7015 0020 2B88 ldrh r3, [r5] +2221:Src/main.c **** Curr_setup->U5V1_EN = ((uint8_t)((*temp2)>>1))&0x01; + 7016 .loc 1 2221 48 view .LVU2205 + 7017 0022 03F00103 and r3, r3, #1 +2221:Src/main.c **** Curr_setup->U5V1_EN = ((uint8_t)((*temp2)>>1))&0x01; + 7018 .loc 1 2221 22 view .LVU2206 + 7019 0026 2370 strb r3, [r4] +2222:Src/main.c **** Curr_setup->U5V2_EN = ((uint8_t)((*temp2)>>2))&0x01; + 7020 .loc 1 2222 2 is_stmt 1 view .LVU2207 +2222:Src/main.c **** Curr_setup->U5V2_EN = ((uint8_t)((*temp2)>>2))&0x01; + 7021 .loc 1 2222 36 is_stmt 0 view .LVU2208 + 7022 0028 2B88 ldrh r3, [r5] +2222:Src/main.c **** Curr_setup->U5V2_EN = ((uint8_t)((*temp2)>>2))&0x01; + 7023 .loc 1 2222 48 view .LVU2209 + 7024 002a C3F34003 ubfx r3, r3, #1, #1 +2222:Src/main.c **** Curr_setup->U5V2_EN = ((uint8_t)((*temp2)>>2))&0x01; + 7025 .loc 1 2222 22 view .LVU2210 + 7026 002e 6370 strb r3, [r4, #1] +2223:Src/main.c **** Curr_setup->LD1_EN = ((uint8_t)((*temp2)>>3))&0x01; + 7027 .loc 1 2223 2 is_stmt 1 view .LVU2211 +2223:Src/main.c **** Curr_setup->LD1_EN = ((uint8_t)((*temp2)>>3))&0x01; + 7028 .loc 1 2223 36 is_stmt 0 view .LVU2212 + 7029 0030 2B88 ldrh r3, [r5] +2223:Src/main.c **** Curr_setup->LD1_EN = ((uint8_t)((*temp2)>>3))&0x01; + 7030 .loc 1 2223 48 view .LVU2213 + 7031 0032 C3F38003 ubfx r3, r3, #2, #1 +2223:Src/main.c **** Curr_setup->LD1_EN = ((uint8_t)((*temp2)>>3))&0x01; + 7032 .loc 1 2223 22 view .LVU2214 + 7033 0036 A370 strb r3, [r4, #2] +2224:Src/main.c **** Curr_setup->LD2_EN = ((uint8_t)((*temp2)>>4))&0x01; + 7034 .loc 1 2224 2 is_stmt 1 view .LVU2215 +2224:Src/main.c **** Curr_setup->LD2_EN = ((uint8_t)((*temp2)>>4))&0x01; + 7035 .loc 1 2224 35 is_stmt 0 view .LVU2216 + 7036 0038 2B88 ldrh r3, [r5] +2224:Src/main.c **** Curr_setup->LD2_EN = ((uint8_t)((*temp2)>>4))&0x01; + 7037 .loc 1 2224 47 view .LVU2217 + 7038 003a C3F3C003 ubfx r3, r3, #3, #1 +2224:Src/main.c **** Curr_setup->LD2_EN = ((uint8_t)((*temp2)>>4))&0x01; + 7039 .loc 1 2224 21 view .LVU2218 + 7040 003e E370 strb r3, [r4, #3] +2225:Src/main.c **** Curr_setup->REF1_EN = ((uint8_t)((*temp2)>>5))&0x01; + 7041 .loc 1 2225 2 is_stmt 1 view .LVU2219 +2225:Src/main.c **** Curr_setup->REF1_EN = ((uint8_t)((*temp2)>>5))&0x01; + 7042 .loc 1 2225 35 is_stmt 0 view .LVU2220 + 7043 0040 2B88 ldrh r3, [r5] +2225:Src/main.c **** Curr_setup->REF1_EN = ((uint8_t)((*temp2)>>5))&0x01; + 7044 .loc 1 2225 47 view .LVU2221 + 7045 0042 C3F30013 ubfx r3, r3, #4, #1 +2225:Src/main.c **** Curr_setup->REF1_EN = ((uint8_t)((*temp2)>>5))&0x01; + 7046 .loc 1 2225 21 view .LVU2222 + ARM GAS /tmp/ccwR4KB7.s page 504 - 6204 .loc 1 2173 22 view .LVU1970 - 6205 0036 A370 strb r3, [r4, #2] -2174:Src/main.c **** Curr_setup->LD2_EN = ((uint8_t)((*temp2)>>4))&0x01; - 6206 .loc 1 2174 2 is_stmt 1 view .LVU1971 -2174:Src/main.c **** Curr_setup->LD2_EN = ((uint8_t)((*temp2)>>4))&0x01; - 6207 .loc 1 2174 35 is_stmt 0 view .LVU1972 - 6208 0038 2B88 ldrh r3, [r5] -2174:Src/main.c **** Curr_setup->LD2_EN = ((uint8_t)((*temp2)>>4))&0x01; - 6209 .loc 1 2174 47 view .LVU1973 - 6210 003a C3F3C003 ubfx r3, r3, #3, #1 -2174:Src/main.c **** Curr_setup->LD2_EN = ((uint8_t)((*temp2)>>4))&0x01; - 6211 .loc 1 2174 21 view .LVU1974 - 6212 003e E370 strb r3, [r4, #3] -2175:Src/main.c **** Curr_setup->REF1_EN = ((uint8_t)((*temp2)>>5))&0x01; - 6213 .loc 1 2175 2 is_stmt 1 view .LVU1975 -2175:Src/main.c **** Curr_setup->REF1_EN = ((uint8_t)((*temp2)>>5))&0x01; - 6214 .loc 1 2175 35 is_stmt 0 view .LVU1976 - 6215 0040 2B88 ldrh r3, [r5] -2175:Src/main.c **** Curr_setup->REF1_EN = ((uint8_t)((*temp2)>>5))&0x01; - 6216 .loc 1 2175 47 view .LVU1977 - 6217 0042 C3F30013 ubfx r3, r3, #4, #1 -2175:Src/main.c **** Curr_setup->REF1_EN = ((uint8_t)((*temp2)>>5))&0x01; - 6218 .loc 1 2175 21 view .LVU1978 - 6219 0046 2371 strb r3, [r4, #4] -2176:Src/main.c **** Curr_setup->REF2_EN = ((uint8_t)((*temp2)>>6))&0x01; - 6220 .loc 1 2176 2 is_stmt 1 view .LVU1979 -2176:Src/main.c **** Curr_setup->REF2_EN = ((uint8_t)((*temp2)>>6))&0x01; - 6221 .loc 1 2176 36 is_stmt 0 view .LVU1980 - 6222 0048 2B88 ldrh r3, [r5] -2176:Src/main.c **** Curr_setup->REF2_EN = ((uint8_t)((*temp2)>>6))&0x01; - 6223 .loc 1 2176 48 view .LVU1981 - 6224 004a C3F34013 ubfx r3, r3, #5, #1 -2176:Src/main.c **** Curr_setup->REF2_EN = ((uint8_t)((*temp2)>>6))&0x01; - 6225 .loc 1 2176 22 view .LVU1982 - 6226 004e 6371 strb r3, [r4, #5] -2177:Src/main.c **** Curr_setup->TEC1_EN = ((uint8_t)((*temp2)>>7))&0x01; - 6227 .loc 1 2177 2 is_stmt 1 view .LVU1983 -2177:Src/main.c **** Curr_setup->TEC1_EN = ((uint8_t)((*temp2)>>7))&0x01; - 6228 .loc 1 2177 36 is_stmt 0 view .LVU1984 - 6229 0050 2B88 ldrh r3, [r5] -2177:Src/main.c **** Curr_setup->TEC1_EN = ((uint8_t)((*temp2)>>7))&0x01; - 6230 .loc 1 2177 48 view .LVU1985 - 6231 0052 C3F38013 ubfx r3, r3, #6, #1 -2177:Src/main.c **** Curr_setup->TEC1_EN = ((uint8_t)((*temp2)>>7))&0x01; - 6232 .loc 1 2177 22 view .LVU1986 - 6233 0056 A371 strb r3, [r4, #6] -2178:Src/main.c **** Curr_setup->TEC2_EN = ((uint8_t)((*temp2)>>8))&0x01; - 6234 .loc 1 2178 2 is_stmt 1 view .LVU1987 -2178:Src/main.c **** Curr_setup->TEC2_EN = ((uint8_t)((*temp2)>>8))&0x01; - 6235 .loc 1 2178 36 is_stmt 0 view .LVU1988 - 6236 0058 2B88 ldrh r3, [r5] -2178:Src/main.c **** Curr_setup->TEC2_EN = ((uint8_t)((*temp2)>>8))&0x01; - 6237 .loc 1 2178 48 view .LVU1989 - 6238 005a C3F3C013 ubfx r3, r3, #7, #1 -2178:Src/main.c **** Curr_setup->TEC2_EN = ((uint8_t)((*temp2)>>8))&0x01; - 6239 .loc 1 2178 22 view .LVU1990 - 6240 005e E371 strb r3, [r4, #7] - ARM GAS /tmp/ccYgfTud.s page 481 + 7047 0046 2371 strb r3, [r4, #4] +2226:Src/main.c **** Curr_setup->REF2_EN = ((uint8_t)((*temp2)>>6))&0x01; + 7048 .loc 1 2226 2 is_stmt 1 view .LVU2223 +2226:Src/main.c **** Curr_setup->REF2_EN = ((uint8_t)((*temp2)>>6))&0x01; + 7049 .loc 1 2226 36 is_stmt 0 view .LVU2224 + 7050 0048 2B88 ldrh r3, [r5] +2226:Src/main.c **** Curr_setup->REF2_EN = ((uint8_t)((*temp2)>>6))&0x01; + 7051 .loc 1 2226 48 view .LVU2225 + 7052 004a C3F34013 ubfx r3, r3, #5, #1 +2226:Src/main.c **** Curr_setup->REF2_EN = ((uint8_t)((*temp2)>>6))&0x01; + 7053 .loc 1 2226 22 view .LVU2226 + 7054 004e 6371 strb r3, [r4, #5] +2227:Src/main.c **** Curr_setup->TEC1_EN = ((uint8_t)((*temp2)>>7))&0x01; + 7055 .loc 1 2227 2 is_stmt 1 view .LVU2227 +2227:Src/main.c **** Curr_setup->TEC1_EN = ((uint8_t)((*temp2)>>7))&0x01; + 7056 .loc 1 2227 36 is_stmt 0 view .LVU2228 + 7057 0050 2B88 ldrh r3, [r5] +2227:Src/main.c **** Curr_setup->TEC1_EN = ((uint8_t)((*temp2)>>7))&0x01; + 7058 .loc 1 2227 48 view .LVU2229 + 7059 0052 C3F38013 ubfx r3, r3, #6, #1 +2227:Src/main.c **** Curr_setup->TEC1_EN = ((uint8_t)((*temp2)>>7))&0x01; + 7060 .loc 1 2227 22 view .LVU2230 + 7061 0056 A371 strb r3, [r4, #6] +2228:Src/main.c **** Curr_setup->TEC2_EN = ((uint8_t)((*temp2)>>8))&0x01; + 7062 .loc 1 2228 2 is_stmt 1 view .LVU2231 +2228:Src/main.c **** Curr_setup->TEC2_EN = ((uint8_t)((*temp2)>>8))&0x01; + 7063 .loc 1 2228 36 is_stmt 0 view .LVU2232 + 7064 0058 2B88 ldrh r3, [r5] +2228:Src/main.c **** Curr_setup->TEC2_EN = ((uint8_t)((*temp2)>>8))&0x01; + 7065 .loc 1 2228 48 view .LVU2233 + 7066 005a C3F3C013 ubfx r3, r3, #7, #1 +2228:Src/main.c **** Curr_setup->TEC2_EN = ((uint8_t)((*temp2)>>8))&0x01; + 7067 .loc 1 2228 22 view .LVU2234 + 7068 005e E371 strb r3, [r4, #7] +2229:Src/main.c **** Curr_setup->TS1_EN = ((uint8_t)((*temp2)>>9))&0x01; + 7069 .loc 1 2229 2 is_stmt 1 view .LVU2235 +2229:Src/main.c **** Curr_setup->TS1_EN = ((uint8_t)((*temp2)>>9))&0x01; + 7070 .loc 1 2229 36 is_stmt 0 view .LVU2236 + 7071 0060 2B88 ldrh r3, [r5] +2229:Src/main.c **** Curr_setup->TS1_EN = ((uint8_t)((*temp2)>>9))&0x01; + 7072 .loc 1 2229 48 view .LVU2237 + 7073 0062 C3F30023 ubfx r3, r3, #8, #1 +2229:Src/main.c **** Curr_setup->TS1_EN = ((uint8_t)((*temp2)>>9))&0x01; + 7074 .loc 1 2229 22 view .LVU2238 + 7075 0066 2372 strb r3, [r4, #8] +2230:Src/main.c **** Curr_setup->TS2_EN = ((uint8_t)((*temp2)>>10))&0x01; + 7076 .loc 1 2230 2 is_stmt 1 view .LVU2239 +2230:Src/main.c **** Curr_setup->TS2_EN = ((uint8_t)((*temp2)>>10))&0x01; + 7077 .loc 1 2230 35 is_stmt 0 view .LVU2240 + 7078 0068 2B88 ldrh r3, [r5] +2230:Src/main.c **** Curr_setup->TS2_EN = ((uint8_t)((*temp2)>>10))&0x01; + 7079 .loc 1 2230 47 view .LVU2241 + 7080 006a C3F34023 ubfx r3, r3, #9, #1 +2230:Src/main.c **** Curr_setup->TS2_EN = ((uint8_t)((*temp2)>>10))&0x01; + 7081 .loc 1 2230 21 view .LVU2242 + 7082 006e 6372 strb r3, [r4, #9] +2231:Src/main.c **** Curr_setup->SD_EN = ((uint8_t)((*temp2)>>11))&0x01; + ARM GAS /tmp/ccwR4KB7.s page 505 -2179:Src/main.c **** Curr_setup->TS1_EN = ((uint8_t)((*temp2)>>9))&0x01; - 6241 .loc 1 2179 2 is_stmt 1 view .LVU1991 -2179:Src/main.c **** Curr_setup->TS1_EN = ((uint8_t)((*temp2)>>9))&0x01; - 6242 .loc 1 2179 36 is_stmt 0 view .LVU1992 - 6243 0060 2B88 ldrh r3, [r5] -2179:Src/main.c **** Curr_setup->TS1_EN = ((uint8_t)((*temp2)>>9))&0x01; - 6244 .loc 1 2179 48 view .LVU1993 - 6245 0062 C3F30023 ubfx r3, r3, #8, #1 -2179:Src/main.c **** Curr_setup->TS1_EN = ((uint8_t)((*temp2)>>9))&0x01; - 6246 .loc 1 2179 22 view .LVU1994 - 6247 0066 2372 strb r3, [r4, #8] -2180:Src/main.c **** Curr_setup->TS2_EN = ((uint8_t)((*temp2)>>10))&0x01; - 6248 .loc 1 2180 2 is_stmt 1 view .LVU1995 -2180:Src/main.c **** Curr_setup->TS2_EN = ((uint8_t)((*temp2)>>10))&0x01; - 6249 .loc 1 2180 35 is_stmt 0 view .LVU1996 - 6250 0068 2B88 ldrh r3, [r5] -2180:Src/main.c **** Curr_setup->TS2_EN = ((uint8_t)((*temp2)>>10))&0x01; - 6251 .loc 1 2180 47 view .LVU1997 - 6252 006a C3F34023 ubfx r3, r3, #9, #1 -2180:Src/main.c **** Curr_setup->TS2_EN = ((uint8_t)((*temp2)>>10))&0x01; - 6253 .loc 1 2180 21 view .LVU1998 - 6254 006e 6372 strb r3, [r4, #9] -2181:Src/main.c **** Curr_setup->SD_EN = ((uint8_t)((*temp2)>>11))&0x01; - 6255 .loc 1 2181 2 is_stmt 1 view .LVU1999 -2181:Src/main.c **** Curr_setup->SD_EN = ((uint8_t)((*temp2)>>11))&0x01; - 6256 .loc 1 2181 35 is_stmt 0 view .LVU2000 - 6257 0070 2B88 ldrh r3, [r5] -2181:Src/main.c **** Curr_setup->SD_EN = ((uint8_t)((*temp2)>>11))&0x01; - 6258 .loc 1 2181 48 view .LVU2001 - 6259 0072 C3F38023 ubfx r3, r3, #10, #1 -2181:Src/main.c **** Curr_setup->SD_EN = ((uint8_t)((*temp2)>>11))&0x01; - 6260 .loc 1 2181 21 view .LVU2002 - 6261 0076 A372 strb r3, [r4, #10] -2182:Src/main.c **** Curr_setup->PI1_RD = ((uint8_t)((*temp2)>>12))&0x01; - 6262 .loc 1 2182 2 is_stmt 1 view .LVU2003 -2182:Src/main.c **** Curr_setup->PI1_RD = ((uint8_t)((*temp2)>>12))&0x01; - 6263 .loc 1 2182 34 is_stmt 0 view .LVU2004 - 6264 0078 2B88 ldrh r3, [r5] -2182:Src/main.c **** Curr_setup->PI1_RD = ((uint8_t)((*temp2)>>12))&0x01; - 6265 .loc 1 2182 47 view .LVU2005 - 6266 007a C3F3C023 ubfx r3, r3, #11, #1 -2182:Src/main.c **** Curr_setup->PI1_RD = ((uint8_t)((*temp2)>>12))&0x01; - 6267 .loc 1 2182 20 view .LVU2006 - 6268 007e E372 strb r3, [r4, #11] -2183:Src/main.c **** Curr_setup->PI2_RD = ((uint8_t)((*temp2)>>13))&0x01; - 6269 .loc 1 2183 2 is_stmt 1 view .LVU2007 -2183:Src/main.c **** Curr_setup->PI2_RD = ((uint8_t)((*temp2)>>13))&0x01; - 6270 .loc 1 2183 35 is_stmt 0 view .LVU2008 - 6271 0080 2B88 ldrh r3, [r5] -2183:Src/main.c **** Curr_setup->PI2_RD = ((uint8_t)((*temp2)>>13))&0x01; - 6272 .loc 1 2183 48 view .LVU2009 - 6273 0082 C3F30033 ubfx r3, r3, #12, #1 -2183:Src/main.c **** Curr_setup->PI2_RD = ((uint8_t)((*temp2)>>13))&0x01; - 6274 .loc 1 2183 21 view .LVU2010 - 6275 0086 2373 strb r3, [r4, #12] -2184:Src/main.c **** - 6276 .loc 1 2184 2 is_stmt 1 view .LVU2011 - ARM GAS /tmp/ccYgfTud.s page 482 + 7083 .loc 1 2231 2 is_stmt 1 view .LVU2243 +2231:Src/main.c **** Curr_setup->SD_EN = ((uint8_t)((*temp2)>>11))&0x01; + 7084 .loc 1 2231 35 is_stmt 0 view .LVU2244 + 7085 0070 2B88 ldrh r3, [r5] +2231:Src/main.c **** Curr_setup->SD_EN = ((uint8_t)((*temp2)>>11))&0x01; + 7086 .loc 1 2231 48 view .LVU2245 + 7087 0072 C3F38023 ubfx r3, r3, #10, #1 +2231:Src/main.c **** Curr_setup->SD_EN = ((uint8_t)((*temp2)>>11))&0x01; + 7088 .loc 1 2231 21 view .LVU2246 + 7089 0076 A372 strb r3, [r4, #10] +2232:Src/main.c **** Curr_setup->PI1_RD = ((uint8_t)((*temp2)>>12))&0x01; + 7090 .loc 1 2232 2 is_stmt 1 view .LVU2247 +2232:Src/main.c **** Curr_setup->PI1_RD = ((uint8_t)((*temp2)>>12))&0x01; + 7091 .loc 1 2232 34 is_stmt 0 view .LVU2248 + 7092 0078 2B88 ldrh r3, [r5] +2232:Src/main.c **** Curr_setup->PI1_RD = ((uint8_t)((*temp2)>>12))&0x01; + 7093 .loc 1 2232 47 view .LVU2249 + 7094 007a C3F3C023 ubfx r3, r3, #11, #1 +2232:Src/main.c **** Curr_setup->PI1_RD = ((uint8_t)((*temp2)>>12))&0x01; + 7095 .loc 1 2232 20 view .LVU2250 + 7096 007e E372 strb r3, [r4, #11] +2233:Src/main.c **** Curr_setup->PI2_RD = ((uint8_t)((*temp2)>>13))&0x01; + 7097 .loc 1 2233 2 is_stmt 1 view .LVU2251 +2233:Src/main.c **** Curr_setup->PI2_RD = ((uint8_t)((*temp2)>>13))&0x01; + 7098 .loc 1 2233 35 is_stmt 0 view .LVU2252 + 7099 0080 2B88 ldrh r3, [r5] +2233:Src/main.c **** Curr_setup->PI2_RD = ((uint8_t)((*temp2)>>13))&0x01; + 7100 .loc 1 2233 48 view .LVU2253 + 7101 0082 C3F30033 ubfx r3, r3, #12, #1 +2233:Src/main.c **** Curr_setup->PI2_RD = ((uint8_t)((*temp2)>>13))&0x01; + 7102 .loc 1 2233 21 view .LVU2254 + 7103 0086 2373 strb r3, [r4, #12] +2234:Src/main.c **** + 7104 .loc 1 2234 2 is_stmt 1 view .LVU2255 +2234:Src/main.c **** + 7105 .loc 1 2234 35 is_stmt 0 view .LVU2256 + 7106 0088 2B88 ldrh r3, [r5] +2234:Src/main.c **** + 7107 .loc 1 2234 48 view .LVU2257 + 7108 008a C3F34033 ubfx r3, r3, #13, #1 +2234:Src/main.c **** + 7109 .loc 1 2234 21 view .LVU2258 + 7110 008e 6373 strb r3, [r4, #13] +2236:Src/main.c **** LD1_curr_setup->LD_TEMP = (uint16_t)(*temp2); + 7111 .loc 1 2236 2 is_stmt 1 view .LVU2259 + 7112 .LVL658: +2237:Src/main.c **** temp2++; + 7113 .loc 1 2237 2 view .LVU2260 +2237:Src/main.c **** temp2++; + 7114 .loc 1 2237 28 is_stmt 0 view .LVU2261 + 7115 0090 6B88 ldrh r3, [r5, #2] +2237:Src/main.c **** temp2++; + 7116 .loc 1 2237 26 view .LVU2262 + 7117 0092 3B80 strh r3, [r7] @ movhi +2238:Src/main.c **** LD2_curr_setup->LD_TEMP = (uint16_t)(*temp2); + 7118 .loc 1 2238 2 is_stmt 1 view .LVU2263 + 7119 .LVL659: + ARM GAS /tmp/ccwR4KB7.s page 506 -2184:Src/main.c **** - 6277 .loc 1 2184 35 is_stmt 0 view .LVU2012 - 6278 0088 2B88 ldrh r3, [r5] -2184:Src/main.c **** - 6279 .loc 1 2184 48 view .LVU2013 - 6280 008a C3F34033 ubfx r3, r3, #13, #1 -2184:Src/main.c **** - 6281 .loc 1 2184 21 view .LVU2014 - 6282 008e 6373 strb r3, [r4, #13] -2186:Src/main.c **** LD1_curr_setup->LD_TEMP = (uint16_t)(*temp2); - 6283 .loc 1 2186 2 is_stmt 1 view .LVU2015 - 6284 .LVL540: -2187:Src/main.c **** temp2++; - 6285 .loc 1 2187 2 view .LVU2016 -2187:Src/main.c **** temp2++; - 6286 .loc 1 2187 28 is_stmt 0 view .LVU2017 - 6287 0090 6B88 ldrh r3, [r5, #2] -2187:Src/main.c **** temp2++; - 6288 .loc 1 2187 26 view .LVU2018 - 6289 0092 3B80 strh r3, [r7] @ movhi -2188:Src/main.c **** LD2_curr_setup->LD_TEMP = (uint16_t)(*temp2); - 6290 .loc 1 2188 2 is_stmt 1 view .LVU2019 - 6291 .LVL541: -2189:Src/main.c **** temp2++; - 6292 .loc 1 2189 2 view .LVU2020 -2189:Src/main.c **** temp2++; - 6293 .loc 1 2189 28 is_stmt 0 view .LVU2021 - 6294 0094 AB88 ldrh r3, [r5, #4] -2189:Src/main.c **** temp2++; - 6295 .loc 1 2189 26 view .LVU2022 - 6296 0096 3380 strh r3, [r6] @ movhi -2190:Src/main.c **** temp2++; - 6297 .loc 1 2190 2 is_stmt 1 view .LVU2023 - 6298 .LVL542: -2191:Src/main.c **** temp2++; - 6299 .loc 1 2191 2 view .LVU2024 -2192:Src/main.c **** Curr_setup->AVERAGES = (uint16_t)(*temp2); - 6300 .loc 1 2192 2 view .LVU2025 -2193:Src/main.c **** temp2++; - 6301 .loc 1 2193 2 view .LVU2026 -2193:Src/main.c **** temp2++; - 6302 .loc 1 2193 25 is_stmt 0 view .LVU2027 - 6303 0098 6B89 ldrh r3, [r5, #10] -2193:Src/main.c **** temp2++; - 6304 .loc 1 2193 23 view .LVU2028 - 6305 009a E381 strh r3, [r4, #14] @ movhi -2194:Src/main.c **** LD1_curr_setup->P_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint - 6306 .loc 1 2194 2 is_stmt 1 view .LVU2029 - 6307 .LVL543: -2195:Src/main.c **** temp2++; - 6308 .loc 1 2195 2 view .LVU2030 -2195:Src/main.c **** temp2++; - 6309 .loc 1 2195 51 is_stmt 0 view .LVU2031 - 6310 009c AB89 ldrh r3, [r5, #12] - 6311 009e 07EE903A vmov s15, r3 @ int -2195:Src/main.c **** temp2++; - 6312 .loc 1 2195 32 view .LVU2032 - ARM GAS /tmp/ccYgfTud.s page 483 +2239:Src/main.c **** temp2++; + 7120 .loc 1 2239 2 view .LVU2264 +2239:Src/main.c **** temp2++; + 7121 .loc 1 2239 28 is_stmt 0 view .LVU2265 + 7122 0094 AB88 ldrh r3, [r5, #4] +2239:Src/main.c **** temp2++; + 7123 .loc 1 2239 26 view .LVU2266 + 7124 0096 3380 strh r3, [r6] @ movhi +2240:Src/main.c **** temp2++; + 7125 .loc 1 2240 2 is_stmt 1 view .LVU2267 + 7126 .LVL660: +2241:Src/main.c **** temp2++; + 7127 .loc 1 2241 2 view .LVU2268 +2242:Src/main.c **** Curr_setup->AVERAGES = (uint16_t)(*temp2); + 7128 .loc 1 2242 2 view .LVU2269 +2243:Src/main.c **** temp2++; + 7129 .loc 1 2243 2 view .LVU2270 +2243:Src/main.c **** temp2++; + 7130 .loc 1 2243 25 is_stmt 0 view .LVU2271 + 7131 0098 6B89 ldrh r3, [r5, #10] +2243:Src/main.c **** temp2++; + 7132 .loc 1 2243 23 view .LVU2272 + 7133 009a E381 strh r3, [r4, #14] @ movhi +2244:Src/main.c **** LD1_curr_setup->P_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint + 7134 .loc 1 2244 2 is_stmt 1 view .LVU2273 + 7135 .LVL661: +2245:Src/main.c **** temp2++; + 7136 .loc 1 2245 2 view .LVU2274 +2245:Src/main.c **** temp2++; + 7137 .loc 1 2245 51 is_stmt 0 view .LVU2275 + 7138 009c AB89 ldrh r3, [r5, #12] + 7139 009e 07EE903A vmov s15, r3 @ int +2245:Src/main.c **** temp2++; + 7140 .loc 1 2245 32 view .LVU2276 + 7141 00a2 F8EE677A vcvt.f32.u32 s15, s15 +2245:Src/main.c **** temp2++; + 7142 .loc 1 2245 59 view .LVU2277 + 7143 00a6 9FED8B7A vldr.32 s14, .L382+8 + 7144 00aa 67EE877A vmul.f32 s15, s15, s14 +2245:Src/main.c **** temp2++; + 7145 .loc 1 2245 30 view .LVU2278 + 7146 00ae C7ED017A vstr.32 s15, [r7, #4] +2246:Src/main.c **** LD1_curr_setup->I_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint + 7147 .loc 1 2246 2 is_stmt 1 view .LVU2279 + 7148 .LVL662: +2247:Src/main.c **** temp2++; + 7149 .loc 1 2247 2 view .LVU2280 +2247:Src/main.c **** temp2++; + 7150 .loc 1 2247 51 is_stmt 0 view .LVU2281 + 7151 00b2 EB89 ldrh r3, [r5, #14] + 7152 00b4 07EE903A vmov s15, r3 @ int +2247:Src/main.c **** temp2++; + 7153 .loc 1 2247 32 view .LVU2282 + 7154 00b8 F8EE677A vcvt.f32.u32 s15, s15 +2247:Src/main.c **** temp2++; + 7155 .loc 1 2247 59 view .LVU2283 + 7156 00bc 67EE877A vmul.f32 s15, s15, s14 + ARM GAS /tmp/ccwR4KB7.s page 507 - 6313 00a2 F8EE677A vcvt.f32.u32 s15, s15 -2195:Src/main.c **** temp2++; - 6314 .loc 1 2195 59 view .LVU2033 - 6315 00a6 9FED8B7A vldr.32 s14, .L303+8 - 6316 00aa 67EE877A vmul.f32 s15, s15, s14 -2195:Src/main.c **** temp2++; - 6317 .loc 1 2195 30 view .LVU2034 - 6318 00ae C7ED017A vstr.32 s15, [r7, #4] -2196:Src/main.c **** LD1_curr_setup->I_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint - 6319 .loc 1 2196 2 is_stmt 1 view .LVU2035 - 6320 .LVL544: -2197:Src/main.c **** temp2++; - 6321 .loc 1 2197 2 view .LVU2036 -2197:Src/main.c **** temp2++; - 6322 .loc 1 2197 51 is_stmt 0 view .LVU2037 - 6323 00b2 EB89 ldrh r3, [r5, #14] - 6324 00b4 07EE903A vmov s15, r3 @ int -2197:Src/main.c **** temp2++; - 6325 .loc 1 2197 32 view .LVU2038 - 6326 00b8 F8EE677A vcvt.f32.u32 s15, s15 -2197:Src/main.c **** temp2++; - 6327 .loc 1 2197 59 view .LVU2039 - 6328 00bc 67EE877A vmul.f32 s15, s15, s14 -2197:Src/main.c **** temp2++; - 6329 .loc 1 2197 30 view .LVU2040 - 6330 00c0 C7ED027A vstr.32 s15, [r7, #8] -2198:Src/main.c **** LD2_curr_setup->P_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint - 6331 .loc 1 2198 2 is_stmt 1 view .LVU2041 - 6332 .LVL545: -2199:Src/main.c **** temp2++; - 6333 .loc 1 2199 2 view .LVU2042 -2199:Src/main.c **** temp2++; - 6334 .loc 1 2199 51 is_stmt 0 view .LVU2043 - 6335 00c4 2B8A ldrh r3, [r5, #16] - 6336 00c6 07EE903A vmov s15, r3 @ int -2199:Src/main.c **** temp2++; - 6337 .loc 1 2199 32 view .LVU2044 - 6338 00ca F8EE677A vcvt.f32.u32 s15, s15 -2199:Src/main.c **** temp2++; - 6339 .loc 1 2199 59 view .LVU2045 - 6340 00ce 67EE877A vmul.f32 s15, s15, s14 -2199:Src/main.c **** temp2++; - 6341 .loc 1 2199 30 view .LVU2046 - 6342 00d2 C6ED017A vstr.32 s15, [r6, #4] -2200:Src/main.c **** LD2_curr_setup->I_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint - 6343 .loc 1 2200 2 is_stmt 1 view .LVU2047 - 6344 .LVL546: -2201:Src/main.c **** temp2++; - 6345 .loc 1 2201 2 view .LVU2048 -2201:Src/main.c **** temp2++; - 6346 .loc 1 2201 51 is_stmt 0 view .LVU2049 - 6347 00d6 6B8A ldrh r3, [r5, #18] - 6348 00d8 07EE903A vmov s15, r3 @ int -2201:Src/main.c **** temp2++; - 6349 .loc 1 2201 32 view .LVU2050 - 6350 00dc F8EE677A vcvt.f32.u32 s15, s15 -2201:Src/main.c **** temp2++; - ARM GAS /tmp/ccYgfTud.s page 484 +2247:Src/main.c **** temp2++; + 7157 .loc 1 2247 30 view .LVU2284 + 7158 00c0 C7ED027A vstr.32 s15, [r7, #8] +2248:Src/main.c **** LD2_curr_setup->P_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint + 7159 .loc 1 2248 2 is_stmt 1 view .LVU2285 + 7160 .LVL663: +2249:Src/main.c **** temp2++; + 7161 .loc 1 2249 2 view .LVU2286 +2249:Src/main.c **** temp2++; + 7162 .loc 1 2249 51 is_stmt 0 view .LVU2287 + 7163 00c4 2B8A ldrh r3, [r5, #16] + 7164 00c6 07EE903A vmov s15, r3 @ int +2249:Src/main.c **** temp2++; + 7165 .loc 1 2249 32 view .LVU2288 + 7166 00ca F8EE677A vcvt.f32.u32 s15, s15 +2249:Src/main.c **** temp2++; + 7167 .loc 1 2249 59 view .LVU2289 + 7168 00ce 67EE877A vmul.f32 s15, s15, s14 +2249:Src/main.c **** temp2++; + 7169 .loc 1 2249 30 view .LVU2290 + 7170 00d2 C6ED017A vstr.32 s15, [r6, #4] +2250:Src/main.c **** LD2_curr_setup->I_coef_temp = (float)((uint16_t)(*temp2))/((float)(256));//(float)(1/(float)((uint + 7171 .loc 1 2250 2 is_stmt 1 view .LVU2291 + 7172 .LVL664: +2251:Src/main.c **** temp2++; + 7173 .loc 1 2251 2 view .LVU2292 +2251:Src/main.c **** temp2++; + 7174 .loc 1 2251 51 is_stmt 0 view .LVU2293 + 7175 00d6 6B8A ldrh r3, [r5, #18] + 7176 00d8 07EE903A vmov s15, r3 @ int +2251:Src/main.c **** temp2++; + 7177 .loc 1 2251 32 view .LVU2294 + 7178 00dc F8EE677A vcvt.f32.u32 s15, s15 +2251:Src/main.c **** temp2++; + 7179 .loc 1 2251 59 view .LVU2295 + 7180 00e0 67EE877A vmul.f32 s15, s15, s14 +2251:Src/main.c **** temp2++; + 7181 .loc 1 2251 30 view .LVU2296 + 7182 00e4 C6ED027A vstr.32 s15, [r6, #8] +2252:Src/main.c **** Long_Data[13] = (uint16_t)(*temp2);//Message ID + 7183 .loc 1 2252 2 is_stmt 1 view .LVU2297 + 7184 .LVL665: +2253:Src/main.c **** temp2++; + 7185 .loc 1 2253 2 view .LVU2298 +2253:Src/main.c **** temp2++; + 7186 .loc 1 2253 18 is_stmt 0 view .LVU2299 + 7187 00e8 AA8A ldrh r2, [r5, #20] +2253:Src/main.c **** temp2++; + 7188 .loc 1 2253 16 view .LVU2300 + 7189 00ea 7B4B ldr r3, .L382+12 + 7190 00ec 5A83 strh r2, [r3, #26] @ movhi +2254:Src/main.c **** LD1_curr_setup->CURRENT = (uint16_t)(*temp2); + 7191 .loc 1 2254 2 is_stmt 1 view .LVU2301 + 7192 .LVL666: +2255:Src/main.c **** temp2++; + 7193 .loc 1 2255 2 view .LVU2302 +2255:Src/main.c **** temp2++; + ARM GAS /tmp/ccwR4KB7.s page 508 - 6351 .loc 1 2201 59 view .LVU2051 - 6352 00e0 67EE877A vmul.f32 s15, s15, s14 -2201:Src/main.c **** temp2++; - 6353 .loc 1 2201 30 view .LVU2052 - 6354 00e4 C6ED027A vstr.32 s15, [r6, #8] -2202:Src/main.c **** Long_Data[13] = (uint16_t)(*temp2);//Message ID - 6355 .loc 1 2202 2 is_stmt 1 view .LVU2053 - 6356 .LVL547: -2203:Src/main.c **** temp2++; - 6357 .loc 1 2203 2 view .LVU2054 -2203:Src/main.c **** temp2++; - 6358 .loc 1 2203 18 is_stmt 0 view .LVU2055 - 6359 00e8 AA8A ldrh r2, [r5, #20] -2203:Src/main.c **** temp2++; - 6360 .loc 1 2203 16 view .LVU2056 - 6361 00ea 7B4B ldr r3, .L303+12 - 6362 00ec 5A83 strh r2, [r3, #26] @ movhi -2204:Src/main.c **** LD1_curr_setup->CURRENT = (uint16_t)(*temp2); - 6363 .loc 1 2204 2 is_stmt 1 view .LVU2057 - 6364 .LVL548: -2205:Src/main.c **** temp2++; - 6365 .loc 1 2205 2 view .LVU2058 -2205:Src/main.c **** temp2++; - 6366 .loc 1 2205 28 is_stmt 0 view .LVU2059 - 6367 00ee EB8A ldrh r3, [r5, #22] -2205:Src/main.c **** temp2++; - 6368 .loc 1 2205 26 view .LVU2060 - 6369 00f0 BB81 strh r3, [r7, #12] @ movhi -2206:Src/main.c **** LD2_curr_setup->CURRENT = (uint16_t)(*temp2); - 6370 .loc 1 2206 2 is_stmt 1 view .LVU2061 - 6371 .LVL549: -2207:Src/main.c **** temp2++; - 6372 .loc 1 2207 2 view .LVU2062 -2207:Src/main.c **** temp2++; - 6373 .loc 1 2207 28 is_stmt 0 view .LVU2063 - 6374 00f2 2B8B ldrh r3, [r5, #24] -2207:Src/main.c **** temp2++; - 6375 .loc 1 2207 26 view .LVU2064 - 6376 00f4 B381 strh r3, [r6, #12] @ movhi -2208:Src/main.c **** - 6377 .loc 1 2208 2 is_stmt 1 view .LVU2065 - 6378 .LVL550: -2210:Src/main.c **** { - 6379 .loc 1 2210 2 view .LVU2066 -2210:Src/main.c **** { - 6380 .loc 1 2210 16 is_stmt 0 view .LVU2067 - 6381 00f6 6378 ldrb r3, [r4, #1] @ zero_extendqisi2 -2210:Src/main.c **** { - 6382 .loc 1 2210 5 view .LVU2068 - 6383 00f8 002B cmp r3, #0 - 6384 00fa 00F09580 beq .L281 -2212:Src/main.c **** } - 6385 .loc 1 2212 3 is_stmt 1 view .LVU2069 - 6386 00fe 0122 movs r2, #1 - 6387 0100 0821 movs r1, #8 - 6388 0102 7648 ldr r0, .L303+16 - 6389 0104 FFF7FEFF bl HAL_GPIO_WritePin - ARM GAS /tmp/ccYgfTud.s page 485 + 7194 .loc 1 2255 28 is_stmt 0 view .LVU2303 + 7195 00ee EB8A ldrh r3, [r5, #22] +2255:Src/main.c **** temp2++; + 7196 .loc 1 2255 26 view .LVU2304 + 7197 00f0 BB81 strh r3, [r7, #12] @ movhi +2256:Src/main.c **** LD2_curr_setup->CURRENT = (uint16_t)(*temp2); + 7198 .loc 1 2256 2 is_stmt 1 view .LVU2305 + 7199 .LVL667: +2257:Src/main.c **** temp2++; + 7200 .loc 1 2257 2 view .LVU2306 +2257:Src/main.c **** temp2++; + 7201 .loc 1 2257 28 is_stmt 0 view .LVU2307 + 7202 00f2 2B8B ldrh r3, [r5, #24] +2257:Src/main.c **** temp2++; + 7203 .loc 1 2257 26 view .LVU2308 + 7204 00f4 B381 strh r3, [r6, #12] @ movhi +2258:Src/main.c **** + 7205 .loc 1 2258 2 is_stmt 1 view .LVU2309 + 7206 .LVL668: +2260:Src/main.c **** { + 7207 .loc 1 2260 2 view .LVU2310 +2260:Src/main.c **** { + 7208 .loc 1 2260 16 is_stmt 0 view .LVU2311 + 7209 00f6 6378 ldrb r3, [r4, #1] @ zero_extendqisi2 +2260:Src/main.c **** { + 7210 .loc 1 2260 5 view .LVU2312 + 7211 00f8 002B cmp r3, #0 + 7212 00fa 00F09580 beq .L360 +2262:Src/main.c **** } + 7213 .loc 1 2262 3 is_stmt 1 view .LVU2313 + 7214 00fe 0122 movs r2, #1 + 7215 0100 0821 movs r1, #8 + 7216 0102 7648 ldr r0, .L382+16 + 7217 0104 FFF7FEFF bl HAL_GPIO_WritePin + 7218 .LVL669: + 7219 .L361: +2269:Src/main.c **** { + 7220 .loc 1 2269 2 view .LVU2314 +2269:Src/main.c **** { + 7221 .loc 1 2269 16 is_stmt 0 view .LVU2315 + 7222 0108 A378 ldrb r3, [r4, #2] @ zero_extendqisi2 +2269:Src/main.c **** { + 7223 .loc 1 2269 5 view .LVU2316 + 7224 010a 002B cmp r3, #0 + 7225 010c 00F09280 beq .L362 +2271:Src/main.c **** } + 7226 .loc 1 2271 3 is_stmt 1 view .LVU2317 + 7227 0110 0122 movs r2, #1 + 7228 0112 0421 movs r1, #4 + 7229 0114 7148 ldr r0, .L382+16 + 7230 0116 FFF7FEFF bl HAL_GPIO_WritePin + 7231 .LVL670: + 7232 .L363: +2278:Src/main.c **** { + 7233 .loc 1 2278 2 view .LVU2318 +2278:Src/main.c **** { + 7234 .loc 1 2278 16 is_stmt 0 view .LVU2319 + ARM GAS /tmp/ccwR4KB7.s page 509 - 6390 .LVL551: - 6391 .L282: -2219:Src/main.c **** { - 6392 .loc 1 2219 2 view .LVU2070 -2219:Src/main.c **** { - 6393 .loc 1 2219 16 is_stmt 0 view .LVU2071 - 6394 0108 A378 ldrb r3, [r4, #2] @ zero_extendqisi2 -2219:Src/main.c **** { - 6395 .loc 1 2219 5 view .LVU2072 - 6396 010a 002B cmp r3, #0 - 6397 010c 00F09280 beq .L283 -2221:Src/main.c **** } - 6398 .loc 1 2221 3 is_stmt 1 view .LVU2073 - 6399 0110 0122 movs r2, #1 - 6400 0112 0421 movs r1, #4 - 6401 0114 7148 ldr r0, .L303+16 - 6402 0116 FFF7FEFF bl HAL_GPIO_WritePin - 6403 .LVL552: - 6404 .L284: -2228:Src/main.c **** { - 6405 .loc 1 2228 2 view .LVU2074 -2228:Src/main.c **** { - 6406 .loc 1 2228 16 is_stmt 0 view .LVU2075 - 6407 011a E378 ldrb r3, [r4, #3] @ zero_extendqisi2 -2228:Src/main.c **** { - 6408 .loc 1 2228 5 view .LVU2076 - 6409 011c 002B cmp r3, #0 - 6410 011e 00F08F80 beq .L285 -2230:Src/main.c **** //LL_SPI_Enable(SPI2);//Enable SPI for Laser1 DAC - 6411 .loc 1 2230 3 is_stmt 1 view .LVU2077 - 6412 0122 0122 movs r2, #1 - 6413 0124 4FF48071 mov r1, #256 - 6414 0128 6948 ldr r0, .L303+4 - 6415 012a FFF7FEFF bl HAL_GPIO_WritePin - 6416 .LVL553: - 6417 .L286: -2239:Src/main.c **** { - 6418 .loc 1 2239 2 view .LVU2078 -2239:Src/main.c **** { - 6419 .loc 1 2239 16 is_stmt 0 view .LVU2079 - 6420 012e 2379 ldrb r3, [r4, #4] @ zero_extendqisi2 -2239:Src/main.c **** { - 6421 .loc 1 2239 5 view .LVU2080 - 6422 0130 002B cmp r3, #0 - 6423 0132 00F08C80 beq .L287 -2241:Src/main.c **** //LL_SPI_Enable(SPI6);//Enable SPI for Laser2 DAC - 6424 .loc 1 2241 3 is_stmt 1 view .LVU2081 - 6425 0136 0122 movs r2, #1 - 6426 0138 1021 movs r1, #16 - 6427 013a 6848 ldr r0, .L303+16 - 6428 013c FFF7FEFF bl HAL_GPIO_WritePin - 6429 .LVL554: - 6430 .L288: -2250:Src/main.c **** { - 6431 .loc 1 2250 2 view .LVU2082 -2250:Src/main.c **** { - 6432 .loc 1 2250 16 is_stmt 0 view .LVU2083 - ARM GAS /tmp/ccYgfTud.s page 486 - - - 6433 0140 6379 ldrb r3, [r4, #5] @ zero_extendqisi2 -2250:Src/main.c **** { - 6434 .loc 1 2250 5 view .LVU2084 - 6435 0142 002B cmp r3, #0 - 6436 0144 00F08980 beq .L289 -2252:Src/main.c **** } - 6437 .loc 1 2252 3 is_stmt 1 view .LVU2085 - 6438 0148 0122 movs r2, #1 - 6439 014a 4FF48061 mov r1, #1024 - 6440 014e 6448 ldr r0, .L303+20 - 6441 0150 FFF7FEFF bl HAL_GPIO_WritePin - 6442 .LVL555: - 6443 .L290: -2259:Src/main.c **** { - 6444 .loc 1 2259 2 view .LVU2086 -2259:Src/main.c **** { - 6445 .loc 1 2259 16 is_stmt 0 view .LVU2087 - 6446 0154 A379 ldrb r3, [r4, #6] @ zero_extendqisi2 -2259:Src/main.c **** { - 6447 .loc 1 2259 5 view .LVU2088 - 6448 0156 002B cmp r3, #0 - 6449 0158 00F08680 beq .L291 -2261:Src/main.c **** } - 6450 .loc 1 2261 3 is_stmt 1 view .LVU2089 - 6451 015c 0122 movs r2, #1 - 6452 015e 0821 movs r1, #8 - 6453 0160 6048 ldr r0, .L303+24 - 6454 0162 FFF7FEFF bl HAL_GPIO_WritePin - 6455 .LVL556: - 6456 .L292: -2268:Src/main.c **** { - 6457 .loc 1 2268 2 view .LVU2090 -2268:Src/main.c **** { - 6458 .loc 1 2268 17 is_stmt 0 view .LVU2091 - 6459 0166 637A ldrb r3, [r4, #9] @ zero_extendqisi2 -2268:Src/main.c **** { - 6460 .loc 1 2268 5 view .LVU2092 - 6461 0168 1BB1 cbz r3, .L293 -2268:Src/main.c **** { - 6462 .loc 1 2268 39 discriminator 1 view .LVU2093 - 6463 016a E379 ldrb r3, [r4, #7] @ zero_extendqisi2 -2268:Src/main.c **** { - 6464 .loc 1 2268 26 discriminator 1 view .LVU2094 - 6465 016c 002B cmp r3, #0 - 6466 016e 40F08180 bne .L301 - 6467 .L293: -2277:Src/main.c **** HAL_GPIO_WritePin(TEC1_PD_GPIO_Port, TEC1_PD_Pin, GPIO_PIN_RESET); - 6468 .loc 1 2277 3 is_stmt 1 view .LVU2095 - 6469 0172 0022 movs r2, #0 - 6470 0174 0121 movs r1, #1 - 6471 0176 5B48 ldr r0, .L303+24 - 6472 0178 FFF7FEFF bl HAL_GPIO_WritePin - 6473 .LVL557: -2278:Src/main.c **** } - 6474 .loc 1 2278 3 view .LVU2096 - 6475 017c 0022 movs r2, #0 - 6476 017e 4FF40061 mov r1, #2048 - ARM GAS /tmp/ccYgfTud.s page 487 - - - 6477 0182 5748 ldr r0, .L303+20 - 6478 0184 FFF7FEFF bl HAL_GPIO_WritePin - 6479 .LVL558: - 6480 .L294: -2281:Src/main.c **** { - 6481 .loc 1 2281 2 view .LVU2097 -2281:Src/main.c **** { - 6482 .loc 1 2281 17 is_stmt 0 view .LVU2098 - 6483 0188 A37A ldrb r3, [r4, #10] @ zero_extendqisi2 -2281:Src/main.c **** { - 6484 .loc 1 2281 5 view .LVU2099 - 6485 018a 1BB1 cbz r3, .L295 -2281:Src/main.c **** { - 6486 .loc 1 2281 39 discriminator 1 view .LVU2100 - 6487 018c 237A ldrb r3, [r4, #8] @ zero_extendqisi2 -2281:Src/main.c **** { - 6488 .loc 1 2281 26 discriminator 1 view .LVU2101 - 6489 018e 002B cmp r3, #0 - 6490 0190 40F08680 bne .L302 - 6491 .L295: -2290:Src/main.c **** HAL_GPIO_WritePin(TEC2_PD_GPIO_Port, TEC2_PD_Pin, GPIO_PIN_RESET); - 6492 .loc 1 2290 3 is_stmt 1 view .LVU2102 - 6493 0194 0022 movs r2, #0 - 6494 0196 0221 movs r1, #2 - 6495 0198 5248 ldr r0, .L303+24 - 6496 019a FFF7FEFF bl HAL_GPIO_WritePin - 6497 .LVL559: -2291:Src/main.c **** } - 6498 .loc 1 2291 3 view .LVU2103 - 6499 019e 0022 movs r2, #0 - 6500 01a0 2021 movs r1, #32 - 6501 01a2 4E48 ldr r0, .L303+16 - 6502 01a4 FFF7FEFF bl HAL_GPIO_WritePin - 6503 .LVL560: - 6504 .L296: -2294:Src/main.c **** { - 6505 .loc 1 2294 2 view .LVU2104 -2294:Src/main.c **** { - 6506 .loc 1 2294 16 is_stmt 0 view .LVU2105 - 6507 01a8 237B ldrb r3, [r4, #12] @ zero_extendqisi2 -2294:Src/main.c **** { - 6508 .loc 1 2294 5 view .LVU2106 - 6509 01aa 1BB9 cbnz r3, .L297 -2296:Src/main.c **** LD1_curr_setup->I_coef_temp = 0.01; - 6510 .loc 1 2296 3 is_stmt 1 view .LVU2107 -2296:Src/main.c **** LD1_curr_setup->I_coef_temp = 0.01; - 6511 .loc 1 2296 31 is_stmt 0 view .LVU2108 - 6512 01ac 4E4B ldr r3, .L303+28 - 6513 01ae 7B60 str r3, [r7, #4] @ float -2297:Src/main.c **** } - 6514 .loc 1 2297 3 is_stmt 1 view .LVU2109 -2297:Src/main.c **** } - 6515 .loc 1 2297 31 is_stmt 0 view .LVU2110 - 6516 01b0 4E4B ldr r3, .L303+32 - 6517 01b2 BB60 str r3, [r7, #8] @ float - 6518 .L297: + 7235 011a E378 ldrb r3, [r4, #3] @ zero_extendqisi2 +2278:Src/main.c **** { + 7236 .loc 1 2278 5 view .LVU2320 + 7237 011c 002B cmp r3, #0 + 7238 011e 00F08F80 beq .L364 +2280:Src/main.c **** //LL_SPI_Enable(SPI2);//Enable SPI for Laser1 DAC + 7239 .loc 1 2280 3 is_stmt 1 view .LVU2321 + 7240 0122 0122 movs r2, #1 + 7241 0124 4FF48071 mov r1, #256 + 7242 0128 6948 ldr r0, .L382+4 + 7243 012a FFF7FEFF bl HAL_GPIO_WritePin + 7244 .LVL671: + 7245 .L365: +2289:Src/main.c **** { + 7246 .loc 1 2289 2 view .LVU2322 +2289:Src/main.c **** { + 7247 .loc 1 2289 16 is_stmt 0 view .LVU2323 + 7248 012e 2379 ldrb r3, [r4, #4] @ zero_extendqisi2 +2289:Src/main.c **** { + 7249 .loc 1 2289 5 view .LVU2324 + 7250 0130 002B cmp r3, #0 + 7251 0132 00F08C80 beq .L366 +2291:Src/main.c **** //LL_SPI_Enable(SPI6);//Enable SPI for Laser2 DAC + 7252 .loc 1 2291 3 is_stmt 1 view .LVU2325 + 7253 0136 0122 movs r2, #1 + 7254 0138 1021 movs r1, #16 + 7255 013a 6848 ldr r0, .L382+16 + 7256 013c FFF7FEFF bl HAL_GPIO_WritePin + 7257 .LVL672: + 7258 .L367: 2300:Src/main.c **** { - ARM GAS /tmp/ccYgfTud.s page 488 - - - 6519 .loc 1 2300 2 is_stmt 1 view .LVU2111 + 7259 .loc 1 2300 2 view .LVU2326 2300:Src/main.c **** { - 6520 .loc 1 2300 16 is_stmt 0 view .LVU2112 - 6521 01b4 637B ldrb r3, [r4, #13] @ zero_extendqisi2 + 7260 .loc 1 2300 16 is_stmt 0 view .LVU2327 + 7261 0140 6379 ldrb r3, [r4, #5] @ zero_extendqisi2 2300:Src/main.c **** { - 6522 .loc 1 2300 5 view .LVU2113 - 6523 01b6 1BB9 cbnz r3, .L279 -2302:Src/main.c **** LD2_curr_setup->I_coef_temp = 0.01; - 6524 .loc 1 2302 3 is_stmt 1 view .LVU2114 -2302:Src/main.c **** LD2_curr_setup->I_coef_temp = 0.01; - 6525 .loc 1 2302 31 is_stmt 0 view .LVU2115 - 6526 01b8 4B4B ldr r3, .L303+28 - 6527 01ba 7360 str r3, [r6, #4] @ float -2303:Src/main.c **** } - 6528 .loc 1 2303 3 is_stmt 1 view .LVU2116 -2303:Src/main.c **** } - 6529 .loc 1 2303 31 is_stmt 0 view .LVU2117 - 6530 01bc 4B4B ldr r3, .L303+32 - 6531 01be B360 str r3, [r6, #8] @ float - 6532 .L279: -2305:Src/main.c **** - 6533 .loc 1 2305 1 view .LVU2118 - 6534 01c0 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} - 6535 .LVL561: - 6536 .L300: -2156:Src/main.c **** { - 6537 .loc 1 2156 6 view .LVU2119 - 6538 01c4 4FF48071 mov r1, #256 - 6539 01c8 4648 ldr r0, .L303+24 - 6540 01ca FFF7FEFF bl HAL_GPIO_ReadPin - 6541 .LVL562: -2155:Src/main.c **** (HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin) == GPIO_PIN_SET))//if exist sd && connect u - 6542 .loc 1 2155 78 discriminator 1 view .LVU2120 - 6543 01ce 0128 cmp r0, #1 - 6544 01d0 7FF426AF bne .L280 -2158:Src/main.c **** if (test == 0) //0 - suc - 6545 .loc 1 2158 3 is_stmt 1 view .LVU2121 -2158:Src/main.c **** if (test == 0) //0 - suc - 6546 .loc 1 2158 10 is_stmt 0 view .LVU2122 - 6547 01d4 4648 ldr r0, .L303+36 - 6548 01d6 FFF7FEFF bl Mount_SD - 6549 .LVL563: -2158:Src/main.c **** if (test == 0) //0 - suc - 6550 .loc 1 2158 8 discriminator 1 view .LVU2123 - 6551 01da 3C4B ldr r3, .L303 - 6552 01dc 1860 str r0, [r3] -2159:Src/main.c **** { - 6553 .loc 1 2159 3 is_stmt 1 view .LVU2124 -2159:Src/main.c **** { - 6554 .loc 1 2159 6 is_stmt 0 view .LVU2125 - 6555 01de 0028 cmp r0, #0 - 6556 01e0 7FF41EAF bne .L280 -2162:Src/main.c **** test = Create_File("COMMAND.TXT"); // 0 -succ - 6557 .loc 1 2162 4 is_stmt 1 view .LVU2126 -2162:Src/main.c **** test = Create_File("COMMAND.TXT"); // 0 -succ - 6558 .loc 1 2162 11 is_stmt 0 view .LVU2127 - 6559 01e4 DFF80C91 ldr r9, .L303+40 - ARM GAS /tmp/ccYgfTud.s page 489 + 7262 .loc 1 2300 5 view .LVU2328 + 7263 0142 002B cmp r3, #0 + 7264 0144 00F08980 beq .L368 +2302:Src/main.c **** } + 7265 .loc 1 2302 3 is_stmt 1 view .LVU2329 + 7266 0148 0122 movs r2, #1 + 7267 014a 4FF48061 mov r1, #1024 + 7268 014e 6448 ldr r0, .L382+20 + 7269 0150 FFF7FEFF bl HAL_GPIO_WritePin + 7270 .LVL673: + 7271 .L369: +2309:Src/main.c **** { + 7272 .loc 1 2309 2 view .LVU2330 +2309:Src/main.c **** { + 7273 .loc 1 2309 16 is_stmt 0 view .LVU2331 + 7274 0154 A379 ldrb r3, [r4, #6] @ zero_extendqisi2 +2309:Src/main.c **** { + 7275 .loc 1 2309 5 view .LVU2332 + 7276 0156 002B cmp r3, #0 + 7277 0158 00F08680 beq .L370 +2311:Src/main.c **** } + ARM GAS /tmp/ccwR4KB7.s page 510 - 6560 01e8 4846 mov r0, r9 - 6561 01ea FFF7FEFF bl Remove_File - 6562 .LVL564: -2162:Src/main.c **** test = Create_File("COMMAND.TXT"); // 0 -succ - 6563 .loc 1 2162 9 discriminator 1 view .LVU2128 - 6564 01ee DFF8DC80 ldr r8, .L303 - 6565 01f2 C8F80000 str r0, [r8] -2163:Src/main.c **** test = Write_File_byte("COMMAND.TXT", (uint8_t *)Command, CL_8); - 6566 .loc 1 2163 4 is_stmt 1 view .LVU2129 -2163:Src/main.c **** test = Write_File_byte("COMMAND.TXT", (uint8_t *)Command, CL_8); - 6567 .loc 1 2163 11 is_stmt 0 view .LVU2130 - 6568 01f6 4846 mov r0, r9 - 6569 01f8 FFF7FEFF bl Create_File - 6570 .LVL565: -2163:Src/main.c **** test = Write_File_byte("COMMAND.TXT", (uint8_t *)Command, CL_8); - 6571 .loc 1 2163 9 discriminator 1 view .LVU2131 - 6572 01fc C8F80000 str r0, [r8] -2164:Src/main.c **** test = Update_File_byte("COMMAND.TXT", (uint8_t *)Command, CL_8); - 6573 .loc 1 2164 4 is_stmt 1 view .LVU2132 -2164:Src/main.c **** test = Update_File_byte("COMMAND.TXT", (uint8_t *)Command, CL_8); - 6574 .loc 1 2164 11 is_stmt 0 view .LVU2133 - 6575 0200 1E22 movs r2, #30 - 6576 0202 2946 mov r1, r5 - 6577 0204 4846 mov r0, r9 - 6578 0206 FFF7FEFF bl Write_File_byte - 6579 .LVL566: -2164:Src/main.c **** test = Update_File_byte("COMMAND.TXT", (uint8_t *)Command, CL_8); - 6580 .loc 1 2164 9 discriminator 1 view .LVU2134 - 6581 020a C8F80000 str r0, [r8] -2165:Src/main.c **** test = Unmount_SD("/"); // 0 - succ - 6582 .loc 1 2165 4 is_stmt 1 view .LVU2135 -2165:Src/main.c **** test = Unmount_SD("/"); // 0 - succ - 6583 .loc 1 2165 11 is_stmt 0 view .LVU2136 - 6584 020e 1E22 movs r2, #30 - 6585 0210 2946 mov r1, r5 - 6586 0212 4846 mov r0, r9 - 6587 0214 FFF7FEFF bl Update_File_byte - 6588 .LVL567: -2165:Src/main.c **** test = Unmount_SD("/"); // 0 - succ - 6589 .loc 1 2165 9 discriminator 1 view .LVU2137 - 6590 0218 C8F80000 str r0, [r8] -2166:Src/main.c **** } - 6591 .loc 1 2166 4 is_stmt 1 view .LVU2138 -2166:Src/main.c **** } - 6592 .loc 1 2166 11 is_stmt 0 view .LVU2139 - 6593 021c 3448 ldr r0, .L303+36 - 6594 021e FFF7FEFF bl Unmount_SD - 6595 .LVL568: -2166:Src/main.c **** } - 6596 .loc 1 2166 9 discriminator 1 view .LVU2140 - 6597 0222 C8F80000 str r0, [r8] - 6598 0226 FBE6 b .L280 - 6599 .LVL569: - 6600 .L281: -2216:Src/main.c **** } - 6601 .loc 1 2216 3 is_stmt 1 view .LVU2141 - 6602 0228 0022 movs r2, #0 - ARM GAS /tmp/ccYgfTud.s page 490 + 7278 .loc 1 2311 3 is_stmt 1 view .LVU2333 + 7279 015c 0122 movs r2, #1 + 7280 015e 0821 movs r1, #8 + 7281 0160 6048 ldr r0, .L382+24 + 7282 0162 FFF7FEFF bl HAL_GPIO_WritePin + 7283 .LVL674: + 7284 .L371: +2318:Src/main.c **** { + 7285 .loc 1 2318 2 view .LVU2334 +2318:Src/main.c **** { + 7286 .loc 1 2318 17 is_stmt 0 view .LVU2335 + 7287 0166 637A ldrb r3, [r4, #9] @ zero_extendqisi2 +2318:Src/main.c **** { + 7288 .loc 1 2318 5 view .LVU2336 + 7289 0168 1BB1 cbz r3, .L372 +2318:Src/main.c **** { + 7290 .loc 1 2318 39 discriminator 1 view .LVU2337 + 7291 016a E379 ldrb r3, [r4, #7] @ zero_extendqisi2 +2318:Src/main.c **** { + 7292 .loc 1 2318 26 discriminator 1 view .LVU2338 + 7293 016c 002B cmp r3, #0 + 7294 016e 40F08180 bne .L380 + 7295 .L372: +2327:Src/main.c **** HAL_GPIO_WritePin(TEC1_PD_GPIO_Port, TEC1_PD_Pin, GPIO_PIN_RESET); + 7296 .loc 1 2327 3 is_stmt 1 view .LVU2339 + 7297 0172 0022 movs r2, #0 + 7298 0174 0121 movs r1, #1 + 7299 0176 5B48 ldr r0, .L382+24 + 7300 0178 FFF7FEFF bl HAL_GPIO_WritePin + 7301 .LVL675: +2328:Src/main.c **** } + 7302 .loc 1 2328 3 view .LVU2340 + 7303 017c 0022 movs r2, #0 + 7304 017e 4FF40061 mov r1, #2048 + 7305 0182 5748 ldr r0, .L382+20 + 7306 0184 FFF7FEFF bl HAL_GPIO_WritePin + 7307 .LVL676: + 7308 .L373: +2331:Src/main.c **** { + 7309 .loc 1 2331 2 view .LVU2341 +2331:Src/main.c **** { + 7310 .loc 1 2331 17 is_stmt 0 view .LVU2342 + 7311 0188 A37A ldrb r3, [r4, #10] @ zero_extendqisi2 +2331:Src/main.c **** { + 7312 .loc 1 2331 5 view .LVU2343 + 7313 018a 1BB1 cbz r3, .L374 +2331:Src/main.c **** { + 7314 .loc 1 2331 39 discriminator 1 view .LVU2344 + 7315 018c 237A ldrb r3, [r4, #8] @ zero_extendqisi2 +2331:Src/main.c **** { + 7316 .loc 1 2331 26 discriminator 1 view .LVU2345 + 7317 018e 002B cmp r3, #0 + 7318 0190 40F08680 bne .L381 + 7319 .L374: +2340:Src/main.c **** HAL_GPIO_WritePin(TEC2_PD_GPIO_Port, TEC2_PD_Pin, GPIO_PIN_RESET); + 7320 .loc 1 2340 3 is_stmt 1 view .LVU2346 + 7321 0194 0022 movs r2, #0 + ARM GAS /tmp/ccwR4KB7.s page 511 - 6603 022a 0821 movs r1, #8 - 6604 022c 2B48 ldr r0, .L303+16 - 6605 022e FFF7FEFF bl HAL_GPIO_WritePin - 6606 .LVL570: - 6607 0232 69E7 b .L282 - 6608 .L283: -2225:Src/main.c **** } - 6609 .loc 1 2225 3 view .LVU2142 - 6610 0234 0022 movs r2, #0 - 6611 0236 0421 movs r1, #4 - 6612 0238 2848 ldr r0, .L303+16 - 6613 023a FFF7FEFF bl HAL_GPIO_WritePin - 6614 .LVL571: - 6615 023e 6CE7 b .L284 - 6616 .L285: -2235:Src/main.c **** //LL_SPI_Disable(SPI2);//Disable SPI for Laser1 DAC - 6617 .loc 1 2235 3 view .LVU2143 - 6618 0240 0022 movs r2, #0 - 6619 0242 4FF48071 mov r1, #256 - 6620 0246 2248 ldr r0, .L303+4 - 6621 0248 FFF7FEFF bl HAL_GPIO_WritePin - 6622 .LVL572: - 6623 024c 6FE7 b .L286 - 6624 .L287: -2246:Src/main.c **** //LL_SPI_Disable(SPI6);//Disable SPI for Laser2 DAC - 6625 .loc 1 2246 3 view .LVU2144 - 6626 024e 0022 movs r2, #0 - 6627 0250 1021 movs r1, #16 - 6628 0252 2248 ldr r0, .L303+16 - 6629 0254 FFF7FEFF bl HAL_GPIO_WritePin - 6630 .LVL573: - 6631 0258 72E7 b .L288 - 6632 .L289: -2256:Src/main.c **** } - 6633 .loc 1 2256 3 view .LVU2145 - 6634 025a 0022 movs r2, #0 - 6635 025c 4FF48061 mov r1, #1024 - 6636 0260 1F48 ldr r0, .L303+20 - 6637 0262 FFF7FEFF bl HAL_GPIO_WritePin - 6638 .LVL574: - 6639 0266 75E7 b .L290 - 6640 .L291: -2265:Src/main.c **** } - 6641 .loc 1 2265 3 view .LVU2146 - 6642 0268 0022 movs r2, #0 - 6643 026a 0821 movs r1, #8 - 6644 026c 1D48 ldr r0, .L303+24 - 6645 026e FFF7FEFF bl HAL_GPIO_WritePin - 6646 .LVL575: - 6647 0272 78E7 b .L292 - 6648 .L301: -2270:Src/main.c **** Set_LTEC(3,32767); - 6649 .loc 1 2270 3 view .LVU2147 - 6650 0274 47F6FF71 movw r1, #32767 - 6651 0278 0320 movs r0, #3 - 6652 027a FFF7FEFF bl Set_LTEC - 6653 .LVL576: - ARM GAS /tmp/ccYgfTud.s page 491 + 7322 0196 0221 movs r1, #2 + 7323 0198 5248 ldr r0, .L382+24 + 7324 019a FFF7FEFF bl HAL_GPIO_WritePin + 7325 .LVL677: +2341:Src/main.c **** } + 7326 .loc 1 2341 3 view .LVU2347 + 7327 019e 0022 movs r2, #0 + 7328 01a0 2021 movs r1, #32 + 7329 01a2 4E48 ldr r0, .L382+16 + 7330 01a4 FFF7FEFF bl HAL_GPIO_WritePin + 7331 .LVL678: + 7332 .L375: +2344:Src/main.c **** { + 7333 .loc 1 2344 2 view .LVU2348 +2344:Src/main.c **** { + 7334 .loc 1 2344 16 is_stmt 0 view .LVU2349 + 7335 01a8 237B ldrb r3, [r4, #12] @ zero_extendqisi2 +2344:Src/main.c **** { + 7336 .loc 1 2344 5 view .LVU2350 + 7337 01aa 1BB9 cbnz r3, .L376 +2346:Src/main.c **** LD1_curr_setup->I_coef_temp = 0.01; + 7338 .loc 1 2346 3 is_stmt 1 view .LVU2351 +2346:Src/main.c **** LD1_curr_setup->I_coef_temp = 0.01; + 7339 .loc 1 2346 31 is_stmt 0 view .LVU2352 + 7340 01ac 4E4B ldr r3, .L382+28 + 7341 01ae 7B60 str r3, [r7, #4] @ float +2347:Src/main.c **** } + 7342 .loc 1 2347 3 is_stmt 1 view .LVU2353 +2347:Src/main.c **** } + 7343 .loc 1 2347 31 is_stmt 0 view .LVU2354 + 7344 01b0 4E4B ldr r3, .L382+32 + 7345 01b2 BB60 str r3, [r7, #8] @ float + 7346 .L376: +2350:Src/main.c **** { + 7347 .loc 1 2350 2 is_stmt 1 view .LVU2355 +2350:Src/main.c **** { + 7348 .loc 1 2350 16 is_stmt 0 view .LVU2356 + 7349 01b4 637B ldrb r3, [r4, #13] @ zero_extendqisi2 +2350:Src/main.c **** { + 7350 .loc 1 2350 5 view .LVU2357 + 7351 01b6 1BB9 cbnz r3, .L358 +2352:Src/main.c **** LD2_curr_setup->I_coef_temp = 0.01; + 7352 .loc 1 2352 3 is_stmt 1 view .LVU2358 +2352:Src/main.c **** LD2_curr_setup->I_coef_temp = 0.01; + 7353 .loc 1 2352 31 is_stmt 0 view .LVU2359 + 7354 01b8 4B4B ldr r3, .L382+28 + 7355 01ba 7360 str r3, [r6, #4] @ float +2353:Src/main.c **** } + 7356 .loc 1 2353 3 is_stmt 1 view .LVU2360 +2353:Src/main.c **** } + 7357 .loc 1 2353 31 is_stmt 0 view .LVU2361 + 7358 01bc 4B4B ldr r3, .L382+32 + 7359 01be B360 str r3, [r6, #8] @ float + 7360 .L358: +2355:Src/main.c **** + 7361 .loc 1 2355 1 view .LVU2362 + 7362 01c0 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} + ARM GAS /tmp/ccwR4KB7.s page 512 -2271:Src/main.c **** HAL_GPIO_WritePin(TEC1_PD_GPIO_Port, TEC1_PD_Pin, GPIO_PIN_SET); - 6654 .loc 1 2271 3 view .LVU2148 - 6655 027e 47F6FF71 movw r1, #32767 - 6656 0282 0320 movs r0, #3 - 6657 0284 FFF7FEFF bl Set_LTEC - 6658 .LVL577: -2272:Src/main.c **** HAL_GPIO_WritePin(TECEN1_GPIO_Port, TECEN1_Pin, GPIO_PIN_SET); - 6659 .loc 1 2272 3 view .LVU2149 - 6660 0288 0122 movs r2, #1 - 6661 028a 4FF40061 mov r1, #2048 - 6662 028e 1448 ldr r0, .L303+20 - 6663 0290 FFF7FEFF bl HAL_GPIO_WritePin - 6664 .LVL578: -2273:Src/main.c **** } - 6665 .loc 1 2273 3 view .LVU2150 - 6666 0294 0122 movs r2, #1 - 6667 0296 1146 mov r1, r2 - 6668 0298 1248 ldr r0, .L303+24 - 6669 029a FFF7FEFF bl HAL_GPIO_WritePin - 6670 .LVL579: - 6671 029e 73E7 b .L294 - 6672 .L302: -2283:Src/main.c **** Set_LTEC(4,32767); - 6673 .loc 1 2283 3 view .LVU2151 - 6674 02a0 47F6FF71 movw r1, #32767 - 6675 02a4 0420 movs r0, #4 - 6676 02a6 FFF7FEFF bl Set_LTEC - 6677 .LVL580: -2284:Src/main.c **** HAL_GPIO_WritePin(TEC2_PD_GPIO_Port, TEC2_PD_Pin, GPIO_PIN_SET); - 6678 .loc 1 2284 3 view .LVU2152 - 6679 02aa 47F6FF71 movw r1, #32767 - 6680 02ae 0420 movs r0, #4 - 6681 02b0 FFF7FEFF bl Set_LTEC - 6682 .LVL581: -2285:Src/main.c **** HAL_GPIO_WritePin(TECEN2_GPIO_Port, TECEN2_Pin, GPIO_PIN_SET); - 6683 .loc 1 2285 3 view .LVU2153 - 6684 02b4 0122 movs r2, #1 - 6685 02b6 2021 movs r1, #32 - 6686 02b8 0848 ldr r0, .L303+16 - 6687 02ba FFF7FEFF bl HAL_GPIO_WritePin - 6688 .LVL582: -2286:Src/main.c **** } - 6689 .loc 1 2286 3 view .LVU2154 - 6690 02be 0122 movs r2, #1 - 6691 02c0 0221 movs r1, #2 - 6692 02c2 0848 ldr r0, .L303+24 - 6693 02c4 FFF7FEFF bl HAL_GPIO_WritePin - 6694 .LVL583: - 6695 02c8 6EE7 b .L296 - 6696 .L304: - 6697 02ca 00BF .align 2 - 6698 .L303: - 6699 02cc 00000000 .word test - 6700 02d0 000C0240 .word 1073875968 - 6701 02d4 0000803B .word 998244352 - 6702 02d8 00000000 .word Long_Data - 6703 02dc 00080240 .word 1073874944 - ARM GAS /tmp/ccYgfTud.s page 492 + 7363 .LVL679: + 7364 .L379: +2206:Src/main.c **** { + 7365 .loc 1 2206 6 view .LVU2363 + 7366 01c4 4FF48071 mov r1, #256 + 7367 01c8 4648 ldr r0, .L382+24 + 7368 01ca FFF7FEFF bl HAL_GPIO_ReadPin + 7369 .LVL680: +2205:Src/main.c **** (HAL_GPIO_ReadPin(USB_FLAG_GPIO_Port, USB_FLAG_Pin) == GPIO_PIN_SET))//if exist sd && connect u + 7370 .loc 1 2205 78 discriminator 1 view .LVU2364 + 7371 01ce 0128 cmp r0, #1 + 7372 01d0 7FF426AF bne .L359 +2208:Src/main.c **** if (test == 0) //0 - suc + 7373 .loc 1 2208 3 is_stmt 1 view .LVU2365 +2208:Src/main.c **** if (test == 0) //0 - suc + 7374 .loc 1 2208 10 is_stmt 0 view .LVU2366 + 7375 01d4 4648 ldr r0, .L382+36 + 7376 01d6 FFF7FEFF bl Mount_SD + 7377 .LVL681: +2208:Src/main.c **** if (test == 0) //0 - suc + 7378 .loc 1 2208 8 discriminator 1 view .LVU2367 + 7379 01da 3C4B ldr r3, .L382 + 7380 01dc 1860 str r0, [r3] +2209:Src/main.c **** { + 7381 .loc 1 2209 3 is_stmt 1 view .LVU2368 +2209:Src/main.c **** { + 7382 .loc 1 2209 6 is_stmt 0 view .LVU2369 + 7383 01de 0028 cmp r0, #0 + 7384 01e0 7FF41EAF bne .L359 +2212:Src/main.c **** test = Create_File("COMMAND.TXT"); // 0 -succ + 7385 .loc 1 2212 4 is_stmt 1 view .LVU2370 +2212:Src/main.c **** test = Create_File("COMMAND.TXT"); // 0 -succ + 7386 .loc 1 2212 11 is_stmt 0 view .LVU2371 + 7387 01e4 DFF80C91 ldr r9, .L382+40 + 7388 01e8 4846 mov r0, r9 + 7389 01ea FFF7FEFF bl Remove_File + 7390 .LVL682: +2212:Src/main.c **** test = Create_File("COMMAND.TXT"); // 0 -succ + 7391 .loc 1 2212 9 discriminator 1 view .LVU2372 + 7392 01ee DFF8DC80 ldr r8, .L382 + 7393 01f2 C8F80000 str r0, [r8] +2213:Src/main.c **** test = Write_File_byte("COMMAND.TXT", (uint8_t *)Command, CL_8); + 7394 .loc 1 2213 4 is_stmt 1 view .LVU2373 +2213:Src/main.c **** test = Write_File_byte("COMMAND.TXT", (uint8_t *)Command, CL_8); + 7395 .loc 1 2213 11 is_stmt 0 view .LVU2374 + 7396 01f6 4846 mov r0, r9 + 7397 01f8 FFF7FEFF bl Create_File + 7398 .LVL683: +2213:Src/main.c **** test = Write_File_byte("COMMAND.TXT", (uint8_t *)Command, CL_8); + 7399 .loc 1 2213 9 discriminator 1 view .LVU2375 + 7400 01fc C8F80000 str r0, [r8] +2214:Src/main.c **** test = Update_File_byte("COMMAND.TXT", (uint8_t *)Command, CL_8); + 7401 .loc 1 2214 4 is_stmt 1 view .LVU2376 +2214:Src/main.c **** test = Update_File_byte("COMMAND.TXT", (uint8_t *)Command, CL_8); + 7402 .loc 1 2214 11 is_stmt 0 view .LVU2377 + 7403 0200 1E22 movs r2, #30 + 7404 0202 2946 mov r1, r5 + ARM GAS /tmp/ccwR4KB7.s page 513 - 6704 02e0 00040240 .word 1073873920 - 6705 02e4 00000240 .word 1073872896 - 6706 02e8 00002041 .word 1092616192 - 6707 02ec 0AD7233C .word 1008981770 - 6708 02f0 00000000 .word .LC0 - 6709 02f4 04000000 .word .LC1 - 6710 .cfi_endproc - 6711 .LFE1208: - 6713 .section .text.Advanced_Controller_Temp,"ax",%progbits - 6714 .align 1 - 6715 .global Advanced_Controller_Temp - 6716 .syntax unified - 6717 .thumb - 6718 .thumb_func - 6720 Advanced_Controller_Temp: - 6721 .LVL584: - 6722 .LFB1220: -2814:Src/main.c **** // Main idea: - 6723 .loc 1 2814 1 view -0 - 6724 .cfi_startproc - 6725 @ args = 0, pretend = 0, frame = 0 - 6726 @ frame_needed = 0, uses_anonymous_args = 0 - 6727 @ link register save eliminated. -2814:Src/main.c **** // Main idea: - 6728 .loc 1 2814 1 is_stmt 0 view .LVU2156 - 6729 0000 30B4 push {r4, r5} - 6730 .LCFI58: - 6731 .cfi_def_cfa_offset 8 - 6732 .cfi_offset 4, -8 - 6733 .cfi_offset 5, -4 -2832:Src/main.c **** float P_coef_current;//, I_coef_current; - 6734 .loc 1 2832 2 is_stmt 1 view .LVU2157 -2833:Src/main.c **** float e_integral; - 6735 .loc 1 2833 2 view .LVU2158 -2834:Src/main.c **** int x_output; - 6736 .loc 1 2834 2 view .LVU2159 -2835:Src/main.c **** - 6737 .loc 1 2835 2 view .LVU2160 -2837:Src/main.c **** - 6738 .loc 1 2837 2 view .LVU2161 -2837:Src/main.c **** - 6739 .loc 1 2837 28 is_stmt 0 view .LVU2162 - 6740 0002 0B88 ldrh r3, [r1] -2837:Src/main.c **** - 6741 .loc 1 2837 65 view .LVU2163 - 6742 0004 0488 ldrh r4, [r0] -2837:Src/main.c **** - 6743 .loc 1 2837 8 view .LVU2164 - 6744 0006 1B1B subs r3, r3, r4 - 6745 .LVL585: -2839:Src/main.c **** - 6746 .loc 1 2839 2 is_stmt 1 view .LVU2165 -2839:Src/main.c **** - 6747 .loc 1 2839 13 is_stmt 0 view .LVU2166 - 6748 0008 D1ED017A vldr.32 s15, [r1, #4] - 6749 .LVL586: -2841:Src/main.c **** e_integral += LDx_curr_setup->I_coef_temp * (float)(e_pid) * (float)(TO7 - TO7_PID) / (float) 100 - ARM GAS /tmp/ccYgfTud.s page 493 + 7405 0204 4846 mov r0, r9 + 7406 0206 FFF7FEFF bl Write_File_byte + 7407 .LVL684: +2214:Src/main.c **** test = Update_File_byte("COMMAND.TXT", (uint8_t *)Command, CL_8); + 7408 .loc 1 2214 9 discriminator 1 view .LVU2378 + 7409 020a C8F80000 str r0, [r8] +2215:Src/main.c **** test = Unmount_SD("/"); // 0 - succ + 7410 .loc 1 2215 4 is_stmt 1 view .LVU2379 +2215:Src/main.c **** test = Unmount_SD("/"); // 0 - succ + 7411 .loc 1 2215 11 is_stmt 0 view .LVU2380 + 7412 020e 1E22 movs r2, #30 + 7413 0210 2946 mov r1, r5 + 7414 0212 4846 mov r0, r9 + 7415 0214 FFF7FEFF bl Update_File_byte + 7416 .LVL685: +2215:Src/main.c **** test = Unmount_SD("/"); // 0 - succ + 7417 .loc 1 2215 9 discriminator 1 view .LVU2381 + 7418 0218 C8F80000 str r0, [r8] +2216:Src/main.c **** } + 7419 .loc 1 2216 4 is_stmt 1 view .LVU2382 +2216:Src/main.c **** } + 7420 .loc 1 2216 11 is_stmt 0 view .LVU2383 + 7421 021c 3448 ldr r0, .L382+36 + 7422 021e FFF7FEFF bl Unmount_SD + 7423 .LVL686: +2216:Src/main.c **** } + 7424 .loc 1 2216 9 discriminator 1 view .LVU2384 + 7425 0222 C8F80000 str r0, [r8] + 7426 0226 FBE6 b .L359 + 7427 .LVL687: + 7428 .L360: +2266:Src/main.c **** } + 7429 .loc 1 2266 3 is_stmt 1 view .LVU2385 + 7430 0228 0022 movs r2, #0 + 7431 022a 0821 movs r1, #8 + 7432 022c 2B48 ldr r0, .L382+16 + 7433 022e FFF7FEFF bl HAL_GPIO_WritePin + 7434 .LVL688: + 7435 0232 69E7 b .L361 + 7436 .L362: +2275:Src/main.c **** } + 7437 .loc 1 2275 3 view .LVU2386 + 7438 0234 0022 movs r2, #0 + 7439 0236 0421 movs r1, #4 + 7440 0238 2848 ldr r0, .L382+16 + 7441 023a FFF7FEFF bl HAL_GPIO_WritePin + 7442 .LVL689: + 7443 023e 6CE7 b .L363 + 7444 .L364: +2285:Src/main.c **** //LL_SPI_Disable(SPI2);//Disable SPI for Laser1 DAC + 7445 .loc 1 2285 3 view .LVU2387 + 7446 0240 0022 movs r2, #0 + 7447 0242 4FF48071 mov r1, #256 + 7448 0246 2248 ldr r0, .L382+4 + 7449 0248 FFF7FEFF bl HAL_GPIO_WritePin + 7450 .LVL690: + 7451 024c 6FE7 b .L365 + ARM GAS /tmp/ccwR4KB7.s page 514 - 6750 .loc 1 2841 2 is_stmt 1 view .LVU2167 -2841:Src/main.c **** e_integral += LDx_curr_setup->I_coef_temp * (float)(e_pid) * (float)(TO7 - TO7_PID) / (float) 100 - 6751 .loc 1 2841 20 is_stmt 0 view .LVU2168 - 6752 000c 03F6B73C addw ip, r3, #2999 -2841:Src/main.c **** e_integral += LDx_curr_setup->I_coef_temp * (float)(e_pid) * (float)(TO7 - TO7_PID) / (float) 100 - 6753 .loc 1 2841 4 view .LVU2169 - 6754 0010 41F26E74 movw r4, #5998 - 6755 0014 A445 cmp ip, r4 - 6756 0016 18D8 bhi .L306 -2842:Src/main.c **** } - 6757 .loc 1 2842 3 is_stmt 1 view .LVU2170 -2842:Src/main.c **** } - 6758 .loc 1 2842 31 is_stmt 0 view .LVU2171 - 6759 0018 90ED027A vldr.32 s14, [r0, #8] -2842:Src/main.c **** } - 6760 .loc 1 2842 47 view .LVU2172 - 6761 001c 06EE903A vmov s13, r3 @ int - 6762 0020 F8EEE66A vcvt.f32.s32 s13, s13 -2842:Src/main.c **** } - 6763 .loc 1 2842 45 view .LVU2173 - 6764 0024 27EE267A vmul.f32 s14, s14, s13 -2842:Src/main.c **** } - 6765 .loc 1 2842 76 view .LVU2174 - 6766 0028 284C ldr r4, .L316 - 6767 002a 2468 ldr r4, [r4] - 6768 002c 284D ldr r5, .L316+4 - 6769 002e 2D68 ldr r5, [r5] - 6770 0030 641B subs r4, r4, r5 -2842:Src/main.c **** } - 6771 .loc 1 2842 64 view .LVU2175 - 6772 0032 06EE904A vmov s13, r4 @ int - 6773 0036 F8EE666A vcvt.f32.u32 s13, s13 -2842:Src/main.c **** } - 6774 .loc 1 2842 62 view .LVU2176 - 6775 003a 27EE267A vmul.f32 s14, s14, s13 -2842:Src/main.c **** } - 6776 .loc 1 2842 87 view .LVU2177 - 6777 003e 9FED256A vldr.32 s12, .L316+8 - 6778 0042 C7EE066A vdiv.f32 s13, s14, s12 -2842:Src/main.c **** } - 6779 .loc 1 2842 14 view .LVU2178 - 6780 0046 77EEA67A vadd.f32 s15, s15, s13 - 6781 .LVL587: - 6782 .L306: -2844:Src/main.c **** - 6783 .loc 1 2844 2 is_stmt 1 view .LVU2179 -2844:Src/main.c **** - 6784 .loc 1 2844 17 is_stmt 0 view .LVU2180 - 6785 004a D0ED016A vldr.32 s13, [r0, #4] - 6786 .LVL588: -2846:Src/main.c **** e_integral = 32000; - 6787 .loc 1 2846 2 is_stmt 1 view .LVU2181 -2846:Src/main.c **** e_integral = 32000; - 6788 .loc 1 2846 5 is_stmt 0 view .LVU2182 - 6789 004e 9FED227A vldr.32 s14, .L316+12 - 6790 0052 F4EEC77A vcmpe.f32 s15, s14 - 6791 0056 F1EE10FA vmrs APSR_nzcv, FPSCR - ARM GAS /tmp/ccYgfTud.s page 494 + 7452 .L366: +2296:Src/main.c **** //LL_SPI_Disable(SPI6);//Disable SPI for Laser2 DAC + 7453 .loc 1 2296 3 view .LVU2388 + 7454 024e 0022 movs r2, #0 + 7455 0250 1021 movs r1, #16 + 7456 0252 2248 ldr r0, .L382+16 + 7457 0254 FFF7FEFF bl HAL_GPIO_WritePin + 7458 .LVL691: + 7459 0258 72E7 b .L367 + 7460 .L368: +2306:Src/main.c **** } + 7461 .loc 1 2306 3 view .LVU2389 + 7462 025a 0022 movs r2, #0 + 7463 025c 4FF48061 mov r1, #1024 + 7464 0260 1F48 ldr r0, .L382+20 + 7465 0262 FFF7FEFF bl HAL_GPIO_WritePin + 7466 .LVL692: + 7467 0266 75E7 b .L369 + 7468 .L370: +2315:Src/main.c **** } + 7469 .loc 1 2315 3 view .LVU2390 + 7470 0268 0022 movs r2, #0 + 7471 026a 0821 movs r1, #8 + 7472 026c 1D48 ldr r0, .L382+24 + 7473 026e FFF7FEFF bl HAL_GPIO_WritePin + 7474 .LVL693: + 7475 0272 78E7 b .L371 + 7476 .L380: +2320:Src/main.c **** Set_LTEC(3,32767); + 7477 .loc 1 2320 3 view .LVU2391 + 7478 0274 47F6FF71 movw r1, #32767 + 7479 0278 0320 movs r0, #3 + 7480 027a FFF7FEFF bl Set_LTEC + 7481 .LVL694: +2321:Src/main.c **** HAL_GPIO_WritePin(TEC1_PD_GPIO_Port, TEC1_PD_Pin, GPIO_PIN_SET); + 7482 .loc 1 2321 3 view .LVU2392 + 7483 027e 47F6FF71 movw r1, #32767 + 7484 0282 0320 movs r0, #3 + 7485 0284 FFF7FEFF bl Set_LTEC + 7486 .LVL695: +2322:Src/main.c **** HAL_GPIO_WritePin(TECEN1_GPIO_Port, TECEN1_Pin, GPIO_PIN_SET); + 7487 .loc 1 2322 3 view .LVU2393 + 7488 0288 0122 movs r2, #1 + 7489 028a 4FF40061 mov r1, #2048 + 7490 028e 1448 ldr r0, .L382+20 + 7491 0290 FFF7FEFF bl HAL_GPIO_WritePin + 7492 .LVL696: +2323:Src/main.c **** } + 7493 .loc 1 2323 3 view .LVU2394 + 7494 0294 0122 movs r2, #1 + 7495 0296 1146 mov r1, r2 + 7496 0298 1248 ldr r0, .L382+24 + 7497 029a FFF7FEFF bl HAL_GPIO_WritePin + 7498 .LVL697: + 7499 029e 73E7 b .L373 + 7500 .L381: +2333:Src/main.c **** Set_LTEC(4,32767); + ARM GAS /tmp/ccwR4KB7.s page 515 - 6792 005a 09DC bgt .L310 -2849:Src/main.c **** e_integral = -32000; - 6793 .loc 1 2849 7 is_stmt 1 view .LVU2183 -2849:Src/main.c **** e_integral = -32000; - 6794 .loc 1 2849 10 is_stmt 0 view .LVU2184 - 6795 005c 9FED1F7A vldr.32 s14, .L316+16 - 6796 0060 F4EEC77A vcmpe.f32 s15, s14 - 6797 0064 F1EE10FA vmrs APSR_nzcv, FPSCR - 6798 0068 04D5 bpl .L307 -2850:Src/main.c **** } - 6799 .loc 1 2850 15 view .LVU2185 - 6800 006a DFED1C7A vldr.32 s15, .L316+16 - 6801 .LVL589: -2850:Src/main.c **** } - 6802 .loc 1 2850 15 view .LVU2186 - 6803 006e 01E0 b .L307 - 6804 .LVL590: - 6805 .L310: -2847:Src/main.c **** } - 6806 .loc 1 2847 15 view .LVU2187 - 6807 0070 DFED197A vldr.32 s15, .L316+12 - 6808 .LVL591: - 6809 .L307: -2852:Src/main.c **** - 6810 .loc 1 2852 2 is_stmt 1 view .LVU2188 -2852:Src/main.c **** - 6811 .loc 1 2852 26 is_stmt 0 view .LVU2189 - 6812 0074 C1ED017A vstr.32 s15, [r1, #4] -2854:Src/main.c **** - 6813 .loc 1 2854 2 is_stmt 1 view .LVU2190 -2854:Src/main.c **** - 6814 .loc 1 2854 36 is_stmt 0 view .LVU2191 - 6815 0078 07EE103A vmov s14, r3 @ int - 6816 007c B8EEC77A vcvt.f32.s32 s14, s14 - 6817 0080 27EE267A vmul.f32 s14, s14, s13 -2854:Src/main.c **** - 6818 .loc 1 2854 19 view .LVU2192 - 6819 0084 DFED166A vldr.32 s13, .L316+20 - 6820 .LVL592: -2854:Src/main.c **** - 6821 .loc 1 2854 19 view .LVU2193 - 6822 0088 37EE267A vadd.f32 s14, s14, s13 -2854:Src/main.c **** - 6823 .loc 1 2854 46 view .LVU2194 - 6824 008c FDEEE77A vcvt.s32.f32 s15, s15 - 6825 .LVL593: -2854:Src/main.c **** - 6826 .loc 1 2854 44 view .LVU2195 - 6827 0090 F8EEE77A vcvt.f32.s32 s15, s15 - 6828 0094 77EE877A vadd.f32 s15, s15, s14 -2854:Src/main.c **** - 6829 .loc 1 2854 11 view .LVU2196 - 6830 0098 FDEEE77A vcvt.s32.f32 s15, s15 - 6831 009c 17EE900A vmov r0, s15 @ int - 6832 .LVL594: -2856:Src/main.c **** x_output = 8800; - 6833 .loc 1 2856 2 is_stmt 1 view .LVU2197 - ARM GAS /tmp/ccYgfTud.s page 495 + 7501 .loc 1 2333 3 view .LVU2395 + 7502 02a0 47F6FF71 movw r1, #32767 + 7503 02a4 0420 movs r0, #4 + 7504 02a6 FFF7FEFF bl Set_LTEC + 7505 .LVL698: +2334:Src/main.c **** HAL_GPIO_WritePin(TEC2_PD_GPIO_Port, TEC2_PD_Pin, GPIO_PIN_SET); + 7506 .loc 1 2334 3 view .LVU2396 + 7507 02aa 47F6FF71 movw r1, #32767 + 7508 02ae 0420 movs r0, #4 + 7509 02b0 FFF7FEFF bl Set_LTEC + 7510 .LVL699: +2335:Src/main.c **** HAL_GPIO_WritePin(TECEN2_GPIO_Port, TECEN2_Pin, GPIO_PIN_SET); + 7511 .loc 1 2335 3 view .LVU2397 + 7512 02b4 0122 movs r2, #1 + 7513 02b6 2021 movs r1, #32 + 7514 02b8 0848 ldr r0, .L382+16 + 7515 02ba FFF7FEFF bl HAL_GPIO_WritePin + 7516 .LVL700: +2336:Src/main.c **** } + 7517 .loc 1 2336 3 view .LVU2398 + 7518 02be 0122 movs r2, #1 + 7519 02c0 0221 movs r1, #2 + 7520 02c2 0848 ldr r0, .L382+24 + 7521 02c4 FFF7FEFF bl HAL_GPIO_WritePin + 7522 .LVL701: + 7523 02c8 6EE7 b .L375 + 7524 .L383: + 7525 02ca 00BF .align 2 + 7526 .L382: + 7527 02cc 00000000 .word test + 7528 02d0 000C0240 .word 1073875968 + 7529 02d4 0000803B .word 998244352 + 7530 02d8 00000000 .word Long_Data + 7531 02dc 00080240 .word 1073874944 + 7532 02e0 00040240 .word 1073873920 + 7533 02e4 00000240 .word 1073872896 + 7534 02e8 00002041 .word 1092616192 + 7535 02ec 0AD7233C .word 1008981770 + 7536 02f0 00000000 .word .LC0 + 7537 02f4 04000000 .word .LC1 + 7538 .cfi_endproc + 7539 .LFE1208: + 7541 .section .text.Advanced_Controller_Temp,"ax",%progbits + 7542 .align 1 + 7543 .global Advanced_Controller_Temp + 7544 .syntax unified + 7545 .thumb + 7546 .thumb_func + 7548 Advanced_Controller_Temp: + 7549 .LVL702: + 7550 .LFB1223: +3093:Src/main.c **** // Main idea: + 7551 .loc 1 3093 1 view -0 + 7552 .cfi_startproc + 7553 @ args = 0, pretend = 0, frame = 0 + 7554 @ frame_needed = 0, uses_anonymous_args = 0 + 7555 @ link register save eliminated. + ARM GAS /tmp/ccwR4KB7.s page 516 -2856:Src/main.c **** x_output = 8800; - 6834 .loc 1 2856 4 is_stmt 0 view .LVU2198 - 6835 00a0 B0F57A7F cmp r0, #1000 - 6836 00a4 06DB blt .L312 -2859:Src/main.c **** x_output = 56800; - 6837 .loc 1 2859 7 is_stmt 1 view .LVU2199 -2859:Src/main.c **** x_output = 56800; - 6838 .loc 1 2859 9 is_stmt 0 view .LVU2200 - 6839 00a6 4DF6E053 movw r3, #56800 - 6840 .LVL595: -2859:Src/main.c **** x_output = 56800; - 6841 .loc 1 2859 9 view .LVU2201 - 6842 00aa 9842 cmp r0, r3 - 6843 00ac 04DD ble .L308 -2860:Src/main.c **** } - 6844 .loc 1 2860 12 view .LVU2202 - 6845 00ae 4DF6E050 movw r0, #56800 - 6846 .LVL596: -2860:Src/main.c **** } - 6847 .loc 1 2860 12 view .LVU2203 - 6848 00b2 01E0 b .L308 - 6849 .LVL597: - 6850 .L312: -2857:Src/main.c **** } - 6851 .loc 1 2857 12 view .LVU2204 - 6852 00b4 42F26020 movw r0, #8800 - 6853 .LVL598: - 6854 .L308: -2863:Src/main.c **** TO7_PID = TO7;//Save current time only on 2nd laser - 6855 .loc 1 2863 2 is_stmt 1 view .LVU2205 -2863:Src/main.c **** TO7_PID = TO7;//Save current time only on 2nd laser - 6856 .loc 1 2863 5 is_stmt 0 view .LVU2206 - 6857 00b8 022A cmp r2, #2 - 6858 00ba 02D0 beq .L315 - 6859 .LVL599: - 6860 .L309: -2866:Src/main.c **** } - 6861 .loc 1 2866 2 is_stmt 1 view .LVU2207 -2867:Src/main.c **** - 6862 .loc 1 2867 1 is_stmt 0 view .LVU2208 - 6863 00bc 80B2 uxth r0, r0 - 6864 .LVL600: -2867:Src/main.c **** - 6865 .loc 1 2867 1 view .LVU2209 - 6866 00be 30BC pop {r4, r5} - 6867 .LCFI59: - 6868 .cfi_remember_state - 6869 .cfi_restore 5 - 6870 .cfi_restore 4 - 6871 .cfi_def_cfa_offset 0 - 6872 00c0 7047 bx lr - 6873 .LVL601: - 6874 .L315: - 6875 .LCFI60: - 6876 .cfi_restore_state -2864:Src/main.c **** - 6877 .loc 1 2864 3 is_stmt 1 view .LVU2210 - ARM GAS /tmp/ccYgfTud.s page 496 +3093:Src/main.c **** // Main idea: + 7556 .loc 1 3093 1 is_stmt 0 view .LVU2400 + 7557 0000 30B4 push {r4, r5} + 7558 .LCFI67: + 7559 .cfi_def_cfa_offset 8 + 7560 .cfi_offset 4, -8 + 7561 .cfi_offset 5, -4 +3111:Src/main.c **** float P_coef_current;//, I_coef_current; + 7562 .loc 1 3111 2 is_stmt 1 view .LVU2401 +3112:Src/main.c **** float e_integral; + 7563 .loc 1 3112 2 view .LVU2402 +3113:Src/main.c **** int x_output; + 7564 .loc 1 3113 2 view .LVU2403 +3114:Src/main.c **** + 7565 .loc 1 3114 2 view .LVU2404 +3116:Src/main.c **** + 7566 .loc 1 3116 2 view .LVU2405 +3116:Src/main.c **** + 7567 .loc 1 3116 28 is_stmt 0 view .LVU2406 + 7568 0002 0B88 ldrh r3, [r1] +3116:Src/main.c **** + 7569 .loc 1 3116 65 view .LVU2407 + 7570 0004 0488 ldrh r4, [r0] +3116:Src/main.c **** + 7571 .loc 1 3116 8 view .LVU2408 + 7572 0006 1B1B subs r3, r3, r4 + 7573 .LVL703: +3118:Src/main.c **** + 7574 .loc 1 3118 2 is_stmt 1 view .LVU2409 +3118:Src/main.c **** + 7575 .loc 1 3118 13 is_stmt 0 view .LVU2410 + 7576 0008 D1ED017A vldr.32 s15, [r1, #4] + 7577 .LVL704: +3120:Src/main.c **** e_integral += LDx_curr_setup->I_coef_temp * (float)(e_pid) * (float)(TO7 - TO7_PID) / (float) 100 + 7578 .loc 1 3120 2 is_stmt 1 view .LVU2411 +3120:Src/main.c **** e_integral += LDx_curr_setup->I_coef_temp * (float)(e_pid) * (float)(TO7 - TO7_PID) / (float) 100 + 7579 .loc 1 3120 20 is_stmt 0 view .LVU2412 + 7580 000c 03F6B73C addw ip, r3, #2999 +3120:Src/main.c **** e_integral += LDx_curr_setup->I_coef_temp * (float)(e_pid) * (float)(TO7 - TO7_PID) / (float) 100 + 7581 .loc 1 3120 4 view .LVU2413 + 7582 0010 41F26E74 movw r4, #5998 + 7583 0014 A445 cmp ip, r4 + 7584 0016 18D8 bhi .L385 +3121:Src/main.c **** } + 7585 .loc 1 3121 3 is_stmt 1 view .LVU2414 +3121:Src/main.c **** } + 7586 .loc 1 3121 31 is_stmt 0 view .LVU2415 + 7587 0018 90ED027A vldr.32 s14, [r0, #8] +3121:Src/main.c **** } + 7588 .loc 1 3121 47 view .LVU2416 + 7589 001c 06EE903A vmov s13, r3 @ int + 7590 0020 F8EEE66A vcvt.f32.s32 s13, s13 +3121:Src/main.c **** } + 7591 .loc 1 3121 45 view .LVU2417 + 7592 0024 27EE267A vmul.f32 s14, s14, s13 +3121:Src/main.c **** } + 7593 .loc 1 3121 76 view .LVU2418 + ARM GAS /tmp/ccwR4KB7.s page 517 -2864:Src/main.c **** - 6878 .loc 1 2864 11 is_stmt 0 view .LVU2211 - 6879 00c2 024B ldr r3, .L316 - 6880 00c4 1A68 ldr r2, [r3] - 6881 .LVL602: -2864:Src/main.c **** - 6882 .loc 1 2864 11 view .LVU2212 - 6883 00c6 024B ldr r3, .L316+4 - 6884 00c8 1A60 str r2, [r3] - 6885 00ca F7E7 b .L309 - 6886 .L317: - 6887 .align 2 - 6888 .L316: - 6889 00cc 00000000 .word TO7 - 6890 00d0 00000000 .word TO7_PID - 6891 00d4 0000C842 .word 1120403456 - 6892 00d8 0000FA46 .word 1190789120 - 6893 00dc 0000FAC6 .word -956694528 - 6894 00e0 00000047 .word 1191182336 - 6895 .cfi_endproc - 6896 .LFE1220: - 6898 .section .text.CalculateChecksum,"ax",%progbits - 6899 .align 1 - 6900 .global CalculateChecksum - 6901 .syntax unified - 6902 .thumb - 6903 .thumb_func - 6905 CalculateChecksum: - 6906 .LVL603: - 6907 .LFB1223: -2930:Src/main.c **** short i; - 6908 .loc 1 2930 1 is_stmt 1 view -0 - 6909 .cfi_startproc - 6910 @ args = 0, pretend = 0, frame = 0 - 6911 @ frame_needed = 0, uses_anonymous_args = 0 - 6912 @ link register save eliminated. -2930:Src/main.c **** short i; - 6913 .loc 1 2930 1 is_stmt 0 view .LVU2214 - 6914 0000 8446 mov ip, r0 -2931:Src/main.c **** uint16_t cs = *pbuff; - 6915 .loc 1 2931 2 is_stmt 1 view .LVU2215 -2932:Src/main.c **** - 6916 .loc 1 2932 2 view .LVU2216 -2932:Src/main.c **** - 6917 .loc 1 2932 11 is_stmt 0 view .LVU2217 - 6918 0002 0088 ldrh r0, [r0] - 6919 .LVL604: -2934:Src/main.c **** { - 6920 .loc 1 2934 3 is_stmt 1 view .LVU2218 -2934:Src/main.c **** { - 6921 .loc 1 2934 9 is_stmt 0 view .LVU2219 - 6922 0004 0123 movs r3, #1 -2934:Src/main.c **** { - 6923 .loc 1 2934 3 view .LVU2220 - 6924 0006 04E0 b .L319 - 6925 .LVL605: - 6926 .L320: - ARM GAS /tmp/ccYgfTud.s page 497 + 7594 0028 284C ldr r4, .L395 + 7595 002a 2468 ldr r4, [r4] + 7596 002c 284D ldr r5, .L395+4 + 7597 002e 2D68 ldr r5, [r5] + 7598 0030 641B subs r4, r4, r5 +3121:Src/main.c **** } + 7599 .loc 1 3121 64 view .LVU2419 + 7600 0032 06EE904A vmov s13, r4 @ int + 7601 0036 F8EE666A vcvt.f32.u32 s13, s13 +3121:Src/main.c **** } + 7602 .loc 1 3121 62 view .LVU2420 + 7603 003a 27EE267A vmul.f32 s14, s14, s13 +3121:Src/main.c **** } + 7604 .loc 1 3121 87 view .LVU2421 + 7605 003e 9FED256A vldr.32 s12, .L395+8 + 7606 0042 C7EE066A vdiv.f32 s13, s14, s12 +3121:Src/main.c **** } + 7607 .loc 1 3121 14 view .LVU2422 + 7608 0046 77EEA67A vadd.f32 s15, s15, s13 + 7609 .LVL705: + 7610 .L385: +3123:Src/main.c **** + 7611 .loc 1 3123 2 is_stmt 1 view .LVU2423 +3123:Src/main.c **** + 7612 .loc 1 3123 17 is_stmt 0 view .LVU2424 + 7613 004a D0ED016A vldr.32 s13, [r0, #4] + 7614 .LVL706: +3125:Src/main.c **** e_integral = 32000; + 7615 .loc 1 3125 2 is_stmt 1 view .LVU2425 +3125:Src/main.c **** e_integral = 32000; + 7616 .loc 1 3125 5 is_stmt 0 view .LVU2426 + 7617 004e 9FED227A vldr.32 s14, .L395+12 + 7618 0052 F4EEC77A vcmpe.f32 s15, s14 + 7619 0056 F1EE10FA vmrs APSR_nzcv, FPSCR + 7620 005a 09DC bgt .L389 +3128:Src/main.c **** e_integral = -32000; + 7621 .loc 1 3128 7 is_stmt 1 view .LVU2427 +3128:Src/main.c **** e_integral = -32000; + 7622 .loc 1 3128 10 is_stmt 0 view .LVU2428 + 7623 005c 9FED1F7A vldr.32 s14, .L395+16 + 7624 0060 F4EEC77A vcmpe.f32 s15, s14 + 7625 0064 F1EE10FA vmrs APSR_nzcv, FPSCR + 7626 0068 04D5 bpl .L386 +3129:Src/main.c **** } + 7627 .loc 1 3129 15 view .LVU2429 + 7628 006a DFED1C7A vldr.32 s15, .L395+16 + 7629 .LVL707: +3129:Src/main.c **** } + 7630 .loc 1 3129 15 view .LVU2430 + 7631 006e 01E0 b .L386 + 7632 .LVL708: + 7633 .L389: +3126:Src/main.c **** } + 7634 .loc 1 3126 15 view .LVU2431 + 7635 0070 DFED197A vldr.32 s15, .L395+12 + 7636 .LVL709: + 7637 .L386: + ARM GAS /tmp/ccwR4KB7.s page 518 -2936:Src/main.c **** } - 6927 .loc 1 2936 3 is_stmt 1 view .LVU2221 -2936:Src/main.c **** } - 6928 .loc 1 2936 9 is_stmt 0 view .LVU2222 - 6929 0008 3CF81320 ldrh r2, [ip, r3, lsl #1] -2936:Src/main.c **** } - 6930 .loc 1 2936 6 view .LVU2223 - 6931 000c 5040 eors r0, r0, r2 - 6932 .LVL606: -2934:Src/main.c **** { - 6933 .loc 1 2934 24 is_stmt 1 discriminator 3 view .LVU2224 - 6934 000e 0133 adds r3, r3, #1 - 6935 .LVL607: -2934:Src/main.c **** { - 6936 .loc 1 2934 24 is_stmt 0 discriminator 3 view .LVU2225 - 6937 0010 1BB2 sxth r3, r3 - 6938 .LVL608: - 6939 .L319: -2934:Src/main.c **** { - 6940 .loc 1 2934 16 is_stmt 1 discriminator 1 view .LVU2226 - 6941 0012 8B42 cmp r3, r1 - 6942 0014 F8DB blt .L320 -2938:Src/main.c **** } - 6943 .loc 1 2938 2 view .LVU2227 -2939:Src/main.c **** - 6944 .loc 1 2939 1 is_stmt 0 view .LVU2228 - 6945 0016 7047 bx lr - 6946 .cfi_endproc - 6947 .LFE1223: - 6949 .section .text.CheckChecksum,"ax",%progbits - 6950 .align 1 - 6951 .global CheckChecksum - 6952 .syntax unified - 6953 .thumb - 6954 .thumb_func - 6956 CheckChecksum: - 6957 .LVL609: - 6958 .LFB1222: -2909:Src/main.c **** uint16_t cl_ind; - 6959 .loc 1 2909 1 is_stmt 1 view -0 - 6960 .cfi_startproc - 6961 @ args = 0, pretend = 0, frame = 0 - 6962 @ frame_needed = 0, uses_anonymous_args = 0 -2909:Src/main.c **** uint16_t cl_ind; - 6963 .loc 1 2909 1 is_stmt 0 view .LVU2230 - 6964 0000 10B5 push {r4, lr} - 6965 .LCFI61: - 6966 .cfi_def_cfa_offset 8 - 6967 .cfi_offset 4, -8 - 6968 .cfi_offset 14, -4 -2910:Src/main.c **** - 6969 .loc 1 2910 3 is_stmt 1 view .LVU2231 -2912:Src/main.c **** { - 6970 .loc 1 2912 3 view .LVU2232 - 6971 0002 0E4B ldr r3, .L327 - 6972 0004 1B88 ldrh r3, [r3] - 6973 0006 41F21112 movw r2, #4369 - ARM GAS /tmp/ccYgfTud.s page 498 +3131:Src/main.c **** + 7638 .loc 1 3131 2 is_stmt 1 view .LVU2432 +3131:Src/main.c **** + 7639 .loc 1 3131 26 is_stmt 0 view .LVU2433 + 7640 0074 C1ED017A vstr.32 s15, [r1, #4] +3133:Src/main.c **** + 7641 .loc 1 3133 2 is_stmt 1 view .LVU2434 +3133:Src/main.c **** + 7642 .loc 1 3133 36 is_stmt 0 view .LVU2435 + 7643 0078 07EE103A vmov s14, r3 @ int + 7644 007c B8EEC77A vcvt.f32.s32 s14, s14 + 7645 0080 27EE267A vmul.f32 s14, s14, s13 +3133:Src/main.c **** + 7646 .loc 1 3133 19 view .LVU2436 + 7647 0084 DFED166A vldr.32 s13, .L395+20 + 7648 .LVL710: +3133:Src/main.c **** + 7649 .loc 1 3133 19 view .LVU2437 + 7650 0088 37EE267A vadd.f32 s14, s14, s13 +3133:Src/main.c **** + 7651 .loc 1 3133 46 view .LVU2438 + 7652 008c FDEEE77A vcvt.s32.f32 s15, s15 + 7653 .LVL711: +3133:Src/main.c **** + 7654 .loc 1 3133 44 view .LVU2439 + 7655 0090 F8EEE77A vcvt.f32.s32 s15, s15 + 7656 0094 77EE877A vadd.f32 s15, s15, s14 +3133:Src/main.c **** + 7657 .loc 1 3133 11 view .LVU2440 + 7658 0098 FDEEE77A vcvt.s32.f32 s15, s15 + 7659 009c 17EE900A vmov r0, s15 @ int + 7660 .LVL712: +3135:Src/main.c **** x_output = 8800; + 7661 .loc 1 3135 2 is_stmt 1 view .LVU2441 +3135:Src/main.c **** x_output = 8800; + 7662 .loc 1 3135 4 is_stmt 0 view .LVU2442 + 7663 00a0 B0F57A7F cmp r0, #1000 + 7664 00a4 06DB blt .L391 +3138:Src/main.c **** x_output = 56800; + 7665 .loc 1 3138 7 is_stmt 1 view .LVU2443 +3138:Src/main.c **** x_output = 56800; + 7666 .loc 1 3138 9 is_stmt 0 view .LVU2444 + 7667 00a6 4DF6E053 movw r3, #56800 + 7668 .LVL713: +3138:Src/main.c **** x_output = 56800; + 7669 .loc 1 3138 9 view .LVU2445 + 7670 00aa 9842 cmp r0, r3 + 7671 00ac 04DD ble .L387 +3139:Src/main.c **** } + 7672 .loc 1 3139 12 view .LVU2446 + 7673 00ae 4DF6E050 movw r0, #56800 + 7674 .LVL714: +3139:Src/main.c **** } + 7675 .loc 1 3139 12 view .LVU2447 + 7676 00b2 01E0 b .L387 + 7677 .LVL715: + 7678 .L391: + ARM GAS /tmp/ccwR4KB7.s page 519 - 6974 000a 9342 cmp r3, r2 - 6975 000c 05D0 beq .L324 - 6976 000e 47F27772 movw r2, #30583 - 6977 0012 9342 cmp r3, r2 - 6978 0014 0FD1 bne .L325 - 6979 0016 0E24 movs r4, #14 - 6980 0018 00E0 b .L322 - 6981 .L324: -2918:Src/main.c **** break; - 6982 .loc 1 2918 14 is_stmt 0 view .LVU2233 - 6983 001a 0D24 movs r4, #13 - 6984 .L322: - 6985 .LVL610: -2922:Src/main.c **** } - 6986 .loc 1 2922 5 is_stmt 1 view .LVU2234 -2925:Src/main.c **** - 6987 .loc 1 2925 3 view .LVU2235 -2925:Src/main.c **** - 6988 .loc 1 2925 15 is_stmt 0 view .LVU2236 - 6989 001c 2146 mov r1, r4 - 6990 001e FFF7FEFF bl CalculateChecksum - 6991 .LVL611: -2925:Src/main.c **** - 6992 .loc 1 2925 13 discriminator 1 view .LVU2237 - 6993 0022 074B ldr r3, .L327+4 - 6994 0024 1880 strh r0, [r3] @ movhi -2927:Src/main.c **** } - 6995 .loc 1 2927 3 is_stmt 1 view .LVU2238 -2927:Src/main.c **** } - 6996 .loc 1 2927 32 is_stmt 0 view .LVU2239 - 6997 0026 074B ldr r3, .L327+8 - 6998 0028 33F81430 ldrh r3, [r3, r4, lsl #1] -2927:Src/main.c **** } - 6999 .loc 1 2927 46 view .LVU2240 - 7000 002c 9842 cmp r0, r3 - 7001 002e 14BF ite ne - 7002 0030 0020 movne r0, #0 - 7003 0032 0120 moveq r0, #1 - 7004 .LVL612: - 7005 .L323: -2928:Src/main.c **** uint16_t CalculateChecksum(uint16_t *pbuff, uint16_t len) - 7006 .loc 1 2928 1 view .LVU2241 - 7007 0034 10BD pop {r4, pc} - 7008 .LVL613: - 7009 .L325: -2912:Src/main.c **** { - 7010 .loc 1 2912 3 view .LVU2242 - 7011 0036 0020 movs r0, #0 - 7012 .LVL614: -2912:Src/main.c **** { - 7013 .loc 1 2912 3 view .LVU2243 - 7014 0038 FCE7 b .L323 - 7015 .L328: - 7016 003a 00BF .align 2 - 7017 .L327: - 7018 003c 00000000 .word UART_header - 7019 0040 00000000 .word CS_result - ARM GAS /tmp/ccYgfTud.s page 499 +3136:Src/main.c **** } + 7679 .loc 1 3136 12 view .LVU2448 + 7680 00b4 42F26020 movw r0, #8800 + 7681 .LVL716: + 7682 .L387: +3142:Src/main.c **** TO7_PID = TO7;//Save current time only on 2nd laser + 7683 .loc 1 3142 2 is_stmt 1 view .LVU2449 +3142:Src/main.c **** TO7_PID = TO7;//Save current time only on 2nd laser + 7684 .loc 1 3142 5 is_stmt 0 view .LVU2450 + 7685 00b8 022A cmp r2, #2 + 7686 00ba 02D0 beq .L394 + 7687 .LVL717: + 7688 .L388: +3145:Src/main.c **** } + 7689 .loc 1 3145 2 is_stmt 1 view .LVU2451 +3146:Src/main.c **** + 7690 .loc 1 3146 1 is_stmt 0 view .LVU2452 + 7691 00bc 80B2 uxth r0, r0 + 7692 .LVL718: +3146:Src/main.c **** + 7693 .loc 1 3146 1 view .LVU2453 + 7694 00be 30BC pop {r4, r5} + 7695 .LCFI68: + 7696 .cfi_remember_state + 7697 .cfi_restore 5 + 7698 .cfi_restore 4 + 7699 .cfi_def_cfa_offset 0 + 7700 00c0 7047 bx lr + 7701 .LVL719: + 7702 .L394: + 7703 .LCFI69: + 7704 .cfi_restore_state +3143:Src/main.c **** + 7705 .loc 1 3143 3 is_stmt 1 view .LVU2454 +3143:Src/main.c **** + 7706 .loc 1 3143 11 is_stmt 0 view .LVU2455 + 7707 00c2 024B ldr r3, .L395 + 7708 00c4 1A68 ldr r2, [r3] + 7709 .LVL720: +3143:Src/main.c **** + 7710 .loc 1 3143 11 view .LVU2456 + 7711 00c6 024B ldr r3, .L395+4 + 7712 00c8 1A60 str r2, [r3] + 7713 00ca F7E7 b .L388 + 7714 .L396: + 7715 .align 2 + 7716 .L395: + 7717 00cc 00000000 .word TO7 + 7718 00d0 00000000 .word TO7_PID + 7719 00d4 0000C842 .word 1120403456 + 7720 00d8 0000FA46 .word 1190789120 + 7721 00dc 0000FAC6 .word -956694528 + 7722 00e0 00000047 .word 1191182336 + 7723 .cfi_endproc + 7724 .LFE1223: + 7726 .section .text.CalculateChecksum,"ax",%progbits + 7727 .align 1 + ARM GAS /tmp/ccwR4KB7.s page 520 - 7020 0044 00000000 .word COMMAND - 7021 .cfi_endproc - 7022 .LFE1222: - 7024 .section .rodata.SD_SAVE.str1.4,"aMS",%progbits,1 - 7025 .align 2 - 7026 .LC2: - 7027 0000 46494C45 .ascii "FILE1.TXT\000" - 7027 312E5458 - 7027 5400 - 7028 .section .text.SD_SAVE,"ax",%progbits - 7029 .align 1 - 7030 .global SD_SAVE - 7031 .syntax unified - 7032 .thumb - 7033 .thumb_func - 7035 SD_SAVE: - 7036 .LVL615: - 7037 .LFB1224: -2968:Src/main.c **** int test=0; - 7038 .loc 1 2968 1 is_stmt 1 view -0 - 7039 .cfi_startproc - 7040 @ args = 0, pretend = 0, frame = 0 - 7041 @ frame_needed = 0, uses_anonymous_args = 0 -2968:Src/main.c **** int test=0; - 7042 .loc 1 2968 1 is_stmt 0 view .LVU2245 - 7043 0000 10B5 push {r4, lr} - 7044 .LCFI62: - 7045 .cfi_def_cfa_offset 8 - 7046 .cfi_offset 4, -8 - 7047 .cfi_offset 14, -4 - 7048 0002 0446 mov r4, r0 -2969:Src/main.c **** if (HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin)==GPIO_PIN_RESET) - 7049 .loc 1 2969 2 is_stmt 1 view .LVU2246 - 7050 .LVL616: -2970:Src/main.c **** { - 7051 .loc 1 2970 2 view .LVU2247 -2970:Src/main.c **** { - 7052 .loc 1 2970 6 is_stmt 0 view .LVU2248 - 7053 0004 0121 movs r1, #1 - 7054 0006 0A48 ldr r0, .L336 - 7055 .LVL617: -2970:Src/main.c **** { - 7056 .loc 1 2970 6 view .LVU2249 - 7057 0008 FFF7FEFF bl HAL_GPIO_ReadPin - 7058 .LVL618: -2970:Src/main.c **** { - 7059 .loc 1 2970 5 discriminator 1 view .LVU2250 - 7060 000c 08B1 cbz r0, .L334 -2987:Src/main.c **** } - 7061 .loc 1 2987 10 view .LVU2251 - 7062 000e 0120 movs r0, #1 - 7063 .LVL619: - 7064 .L329: -2989:Src/main.c **** - 7065 .loc 1 2989 1 view .LVU2252 - 7066 0010 10BD pop {r4, pc} - 7067 .LVL620: - ARM GAS /tmp/ccYgfTud.s page 500 + 7728 .global CalculateChecksum + 7729 .syntax unified + 7730 .thumb + 7731 .thumb_func + 7733 CalculateChecksum: + 7734 .LVL721: + 7735 .LFB1226: +3209:Src/main.c **** short i; + 7736 .loc 1 3209 1 is_stmt 1 view -0 + 7737 .cfi_startproc + 7738 @ args = 0, pretend = 0, frame = 0 + 7739 @ frame_needed = 0, uses_anonymous_args = 0 + 7740 @ link register save eliminated. +3209:Src/main.c **** short i; + 7741 .loc 1 3209 1 is_stmt 0 view .LVU2458 + 7742 0000 8446 mov ip, r0 +3210:Src/main.c **** uint16_t cs = *pbuff; + 7743 .loc 1 3210 2 is_stmt 1 view .LVU2459 +3211:Src/main.c **** + 7744 .loc 1 3211 2 view .LVU2460 +3211:Src/main.c **** + 7745 .loc 1 3211 11 is_stmt 0 view .LVU2461 + 7746 0002 0088 ldrh r0, [r0] + 7747 .LVL722: +3213:Src/main.c **** { + 7748 .loc 1 3213 3 is_stmt 1 view .LVU2462 +3213:Src/main.c **** { + 7749 .loc 1 3213 9 is_stmt 0 view .LVU2463 + 7750 0004 0123 movs r3, #1 +3213:Src/main.c **** { + 7751 .loc 1 3213 3 view .LVU2464 + 7752 0006 04E0 b .L398 + 7753 .LVL723: + 7754 .L399: +3215:Src/main.c **** } + 7755 .loc 1 3215 3 is_stmt 1 view .LVU2465 +3215:Src/main.c **** } + 7756 .loc 1 3215 9 is_stmt 0 view .LVU2466 + 7757 0008 3CF81320 ldrh r2, [ip, r3, lsl #1] +3215:Src/main.c **** } + 7758 .loc 1 3215 6 view .LVU2467 + 7759 000c 5040 eors r0, r0, r2 + 7760 .LVL724: +3213:Src/main.c **** { + 7761 .loc 1 3213 24 is_stmt 1 discriminator 3 view .LVU2468 + 7762 000e 0133 adds r3, r3, #1 + 7763 .LVL725: +3213:Src/main.c **** { + 7764 .loc 1 3213 24 is_stmt 0 discriminator 3 view .LVU2469 + 7765 0010 1BB2 sxth r3, r3 + 7766 .LVL726: + 7767 .L398: +3213:Src/main.c **** { + 7768 .loc 1 3213 16 is_stmt 1 discriminator 1 view .LVU2470 + 7769 0012 8B42 cmp r3, r1 + 7770 0014 F8DB blt .L399 +3217:Src/main.c **** } + ARM GAS /tmp/ccwR4KB7.s page 521 - 7068 .L334: -2972:Src/main.c **** if (test == 0) //0 - suc - 7069 .loc 1 2972 3 is_stmt 1 view .LVU2253 -2972:Src/main.c **** if (test == 0) //0 - suc - 7070 .loc 1 2972 10 is_stmt 0 view .LVU2254 - 7071 0012 0848 ldr r0, .L336+4 - 7072 0014 FFF7FEFF bl Mount_SD - 7073 .LVL621: -2973:Src/main.c **** { - 7074 .loc 1 2973 3 is_stmt 1 view .LVU2255 -2973:Src/main.c **** { - 7075 .loc 1 2973 6 is_stmt 0 view .LVU2256 - 7076 0018 08B1 cbz r0, .L335 -2982:Src/main.c **** } - 7077 .loc 1 2982 11 view .LVU2257 - 7078 001a 0120 movs r0, #1 - 7079 .LVL622: -2982:Src/main.c **** } - 7080 .loc 1 2982 11 view .LVU2258 - 7081 001c F8E7 b .L329 - 7082 .LVL623: - 7083 .L335: -2976:Src/main.c **** test = Unmount_SD("/"); // 0 - succ - 7084 .loc 1 2976 4 is_stmt 1 view .LVU2259 -2976:Src/main.c **** test = Unmount_SD("/"); // 0 - succ - 7085 .loc 1 2976 11 is_stmt 0 view .LVU2260 - 7086 001e 1E22 movs r2, #30 - 7087 0020 2146 mov r1, r4 - 7088 0022 0548 ldr r0, .L336+8 - 7089 .LVL624: -2976:Src/main.c **** test = Unmount_SD("/"); // 0 - succ - 7090 .loc 1 2976 11 view .LVU2261 - 7091 0024 FFF7FEFF bl Update_File_byte - 7092 .LVL625: -2977:Src/main.c **** return test; - 7093 .loc 1 2977 4 is_stmt 1 view .LVU2262 -2977:Src/main.c **** return test; - 7094 .loc 1 2977 11 is_stmt 0 view .LVU2263 - 7095 0028 0248 ldr r0, .L336+4 - 7096 002a FFF7FEFF bl Unmount_SD - 7097 .LVL626: -2978:Src/main.c **** } - 7098 .loc 1 2978 4 is_stmt 1 view .LVU2264 -2978:Src/main.c **** } - 7099 .loc 1 2978 11 is_stmt 0 view .LVU2265 - 7100 002e EFE7 b .L329 - 7101 .L337: - 7102 .align 2 - 7103 .L336: - 7104 0030 000C0240 .word 1073875968 - 7105 0034 00000000 .word .LC0 - 7106 0038 00000000 .word .LC2 - 7107 .cfi_endproc - 7108 .LFE1224: - 7110 .section .text.SD_READ,"ax",%progbits - 7111 .align 1 - 7112 .global SD_READ - ARM GAS /tmp/ccYgfTud.s page 501 + 7771 .loc 1 3217 2 view .LVU2471 +3218:Src/main.c **** + 7772 .loc 1 3218 1 is_stmt 0 view .LVU2472 + 7773 0016 7047 bx lr + 7774 .cfi_endproc + 7775 .LFE1226: + 7777 .section .text.CheckChecksum,"ax",%progbits + 7778 .align 1 + 7779 .global CheckChecksum + 7780 .syntax unified + 7781 .thumb + 7782 .thumb_func + 7784 CheckChecksum: + 7785 .LVL727: + 7786 .LFB1225: +3188:Src/main.c **** uint16_t cl_ind; + 7787 .loc 1 3188 1 is_stmt 1 view -0 + 7788 .cfi_startproc + 7789 @ args = 0, pretend = 0, frame = 0 + 7790 @ frame_needed = 0, uses_anonymous_args = 0 +3188:Src/main.c **** uint16_t cl_ind; + 7791 .loc 1 3188 1 is_stmt 0 view .LVU2474 + 7792 0000 10B5 push {r4, lr} + 7793 .LCFI70: + 7794 .cfi_def_cfa_offset 8 + 7795 .cfi_offset 4, -8 + 7796 .cfi_offset 14, -4 +3189:Src/main.c **** + 7797 .loc 1 3189 3 is_stmt 1 view .LVU2475 +3191:Src/main.c **** { + 7798 .loc 1 3191 3 view .LVU2476 + 7799 0002 0E4B ldr r3, .L406 + 7800 0004 1B88 ldrh r3, [r3] + 7801 0006 41F21112 movw r2, #4369 + 7802 000a 9342 cmp r3, r2 + 7803 000c 05D0 beq .L403 + 7804 000e 47F27772 movw r2, #30583 + 7805 0012 9342 cmp r3, r2 + 7806 0014 0FD1 bne .L404 + 7807 0016 0E24 movs r4, #14 + 7808 0018 00E0 b .L401 + 7809 .L403: +3197:Src/main.c **** break; + 7810 .loc 1 3197 14 is_stmt 0 view .LVU2477 + 7811 001a 0D24 movs r4, #13 + 7812 .L401: + 7813 .LVL728: +3201:Src/main.c **** } + 7814 .loc 1 3201 5 is_stmt 1 view .LVU2478 +3204:Src/main.c **** + 7815 .loc 1 3204 3 view .LVU2479 +3204:Src/main.c **** + 7816 .loc 1 3204 15 is_stmt 0 view .LVU2480 + 7817 001c 2146 mov r1, r4 + 7818 001e FFF7FEFF bl CalculateChecksum + 7819 .LVL729: +3204:Src/main.c **** + ARM GAS /tmp/ccwR4KB7.s page 522 - 7113 .syntax unified - 7114 .thumb - 7115 .thumb_func - 7117 SD_READ: - 7118 .LVL627: - 7119 .LFB1225: -2999:Src/main.c **** int test=0; - 7120 .loc 1 2999 1 is_stmt 1 view -0 - 7121 .cfi_startproc - 7122 @ args = 0, pretend = 0, frame = 0 - 7123 @ frame_needed = 0, uses_anonymous_args = 0 -2999:Src/main.c **** int test=0; - 7124 .loc 1 2999 1 is_stmt 0 view .LVU2267 - 7125 0000 38B5 push {r3, r4, r5, lr} - 7126 .LCFI63: - 7127 .cfi_def_cfa_offset 16 - 7128 .cfi_offset 3, -16 - 7129 .cfi_offset 4, -12 - 7130 .cfi_offset 5, -8 - 7131 .cfi_offset 14, -4 - 7132 0002 0446 mov r4, r0 -3000:Src/main.c **** if (HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin)==GPIO_PIN_RESET) - 7133 .loc 1 3000 2 is_stmt 1 view .LVU2268 - 7134 .LVL628: -3001:Src/main.c **** { - 7135 .loc 1 3001 2 view .LVU2269 -3001:Src/main.c **** { - 7136 .loc 1 3001 6 is_stmt 0 view .LVU2270 - 7137 0004 0121 movs r1, #1 - 7138 0006 0D48 ldr r0, .L345 - 7139 .LVL629: -3001:Src/main.c **** { - 7140 .loc 1 3001 6 view .LVU2271 - 7141 0008 FFF7FEFF bl HAL_GPIO_ReadPin - 7142 .LVL630: -3001:Src/main.c **** { - 7143 .loc 1 3001 5 discriminator 1 view .LVU2272 - 7144 000c 08B1 cbz r0, .L343 -3019:Src/main.c **** } - 7145 .loc 1 3019 10 view .LVU2273 - 7146 000e 0120 movs r0, #1 - 7147 .LVL631: - 7148 .L338: -3035:Src/main.c **** - 7149 .loc 1 3035 1 view .LVU2274 - 7150 0010 38BD pop {r3, r4, r5, pc} - 7151 .LVL632: - 7152 .L343: -3003:Src/main.c **** if (test == 0) //0 - suc - 7153 .loc 1 3003 3 is_stmt 1 view .LVU2275 -3003:Src/main.c **** if (test == 0) //0 - suc - 7154 .loc 1 3003 10 is_stmt 0 view .LVU2276 - 7155 0012 0B48 ldr r0, .L345+4 - 7156 0014 FFF7FEFF bl Mount_SD - 7157 .LVL633: -3004:Src/main.c **** { - 7158 .loc 1 3004 3 is_stmt 1 view .LVU2277 - ARM GAS /tmp/ccYgfTud.s page 502 + 7820 .loc 1 3204 13 discriminator 1 view .LVU2481 + 7821 0022 074B ldr r3, .L406+4 + 7822 0024 1880 strh r0, [r3] @ movhi +3206:Src/main.c **** } + 7823 .loc 1 3206 3 is_stmt 1 view .LVU2482 +3206:Src/main.c **** } + 7824 .loc 1 3206 32 is_stmt 0 view .LVU2483 + 7825 0026 074B ldr r3, .L406+8 + 7826 0028 33F81430 ldrh r3, [r3, r4, lsl #1] +3206:Src/main.c **** } + 7827 .loc 1 3206 46 view .LVU2484 + 7828 002c 9842 cmp r0, r3 + 7829 002e 14BF ite ne + 7830 0030 0020 movne r0, #0 + 7831 0032 0120 moveq r0, #1 + 7832 .LVL730: + 7833 .L402: +3207:Src/main.c **** uint16_t CalculateChecksum(uint16_t *pbuff, uint16_t len) + 7834 .loc 1 3207 1 view .LVU2485 + 7835 0034 10BD pop {r4, pc} + 7836 .LVL731: + 7837 .L404: +3191:Src/main.c **** { + 7838 .loc 1 3191 3 view .LVU2486 + 7839 0036 0020 movs r0, #0 + 7840 .LVL732: +3191:Src/main.c **** { + 7841 .loc 1 3191 3 view .LVU2487 + 7842 0038 FCE7 b .L402 + 7843 .L407: + 7844 003a 00BF .align 2 + 7845 .L406: + 7846 003c 00000000 .word UART_header + 7847 0040 00000000 .word CS_result + 7848 0044 00000000 .word COMMAND + 7849 .cfi_endproc + 7850 .LFE1225: + 7852 .section .rodata.SD_SAVE.str1.4,"aMS",%progbits,1 + 7853 .align 2 + 7854 .LC2: + 7855 0000 46494C45 .ascii "FILE1.TXT\000" + 7855 312E5458 + 7855 5400 + 7856 .section .text.SD_SAVE,"ax",%progbits + 7857 .align 1 + 7858 .global SD_SAVE + 7859 .syntax unified + 7860 .thumb + 7861 .thumb_func + 7863 SD_SAVE: + 7864 .LVL733: + 7865 .LFB1227: +3247:Src/main.c **** int test=0; + 7866 .loc 1 3247 1 is_stmt 1 view -0 + 7867 .cfi_startproc + 7868 @ args = 0, pretend = 0, frame = 0 + 7869 @ frame_needed = 0, uses_anonymous_args = 0 + ARM GAS /tmp/ccwR4KB7.s page 523 -3004:Src/main.c **** { - 7159 .loc 1 3004 6 is_stmt 0 view .LVU2278 - 7160 0018 08B1 cbz r0, .L344 -3014:Src/main.c **** } - 7161 .loc 1 3014 11 view .LVU2279 - 7162 001a 0120 movs r0, #1 - 7163 .LVL634: -3014:Src/main.c **** } - 7164 .loc 1 3014 11 view .LVU2280 - 7165 001c F8E7 b .L338 - 7166 .LVL635: - 7167 .L344: -3007:Src/main.c **** fgoto+=DL_8; - 7168 .loc 1 3007 4 is_stmt 1 view .LVU2281 -3007:Src/main.c **** fgoto+=DL_8; - 7169 .loc 1 3007 11 is_stmt 0 view .LVU2282 - 7170 001e 094D ldr r5, .L345+8 - 7171 0020 2B68 ldr r3, [r5] - 7172 0022 1E22 movs r2, #30 - 7173 0024 2146 mov r1, r4 - 7174 0026 0848 ldr r0, .L345+12 - 7175 .LVL636: -3007:Src/main.c **** fgoto+=DL_8; - 7176 .loc 1 3007 11 view .LVU2283 - 7177 0028 FFF7FEFF bl Seek_Read_File - 7178 .LVL637: -3008:Src/main.c **** test = Unmount_SD("/"); // 0 - succ - 7179 .loc 1 3008 4 is_stmt 1 view .LVU2284 -3008:Src/main.c **** test = Unmount_SD("/"); // 0 - succ - 7180 .loc 1 3008 9 is_stmt 0 view .LVU2285 - 7181 002c 2B68 ldr r3, [r5] - 7182 002e 1E33 adds r3, r3, #30 - 7183 0030 2B60 str r3, [r5] -3009:Src/main.c **** return test; - 7184 .loc 1 3009 4 is_stmt 1 view .LVU2286 -3009:Src/main.c **** return test; - 7185 .loc 1 3009 11 is_stmt 0 view .LVU2287 - 7186 0032 0348 ldr r0, .L345+4 - 7187 0034 FFF7FEFF bl Unmount_SD - 7188 .LVL638: -3010:Src/main.c **** } - 7189 .loc 1 3010 4 is_stmt 1 view .LVU2288 -3010:Src/main.c **** } - 7190 .loc 1 3010 11 is_stmt 0 view .LVU2289 - 7191 0038 EAE7 b .L338 - 7192 .L346: - 7193 003a 00BF .align 2 - 7194 .L345: - 7195 003c 000C0240 .word 1073875968 - 7196 0040 00000000 .word .LC0 - 7197 0044 00000000 .word fgoto - 7198 0048 00000000 .word .LC2 - 7199 .cfi_endproc - 7200 .LFE1225: - 7202 .section .text.SD_REMOVE,"ax",%progbits - 7203 .align 1 - 7204 .global SD_REMOVE - ARM GAS /tmp/ccYgfTud.s page 503 +3247:Src/main.c **** int test=0; + 7870 .loc 1 3247 1 is_stmt 0 view .LVU2489 + 7871 0000 10B5 push {r4, lr} + 7872 .LCFI71: + 7873 .cfi_def_cfa_offset 8 + 7874 .cfi_offset 4, -8 + 7875 .cfi_offset 14, -4 + 7876 0002 0446 mov r4, r0 +3248:Src/main.c **** if (HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin)==GPIO_PIN_RESET) + 7877 .loc 1 3248 2 is_stmt 1 view .LVU2490 + 7878 .LVL734: +3249:Src/main.c **** { + 7879 .loc 1 3249 2 view .LVU2491 +3249:Src/main.c **** { + 7880 .loc 1 3249 6 is_stmt 0 view .LVU2492 + 7881 0004 0121 movs r1, #1 + 7882 0006 0A48 ldr r0, .L415 + 7883 .LVL735: +3249:Src/main.c **** { + 7884 .loc 1 3249 6 view .LVU2493 + 7885 0008 FFF7FEFF bl HAL_GPIO_ReadPin + 7886 .LVL736: +3249:Src/main.c **** { + 7887 .loc 1 3249 5 discriminator 1 view .LVU2494 + 7888 000c 08B1 cbz r0, .L413 +3266:Src/main.c **** } + 7889 .loc 1 3266 10 view .LVU2495 + 7890 000e 0120 movs r0, #1 + 7891 .LVL737: + 7892 .L408: +3268:Src/main.c **** + 7893 .loc 1 3268 1 view .LVU2496 + 7894 0010 10BD pop {r4, pc} + 7895 .LVL738: + 7896 .L413: +3251:Src/main.c **** if (test == 0) //0 - suc + 7897 .loc 1 3251 3 is_stmt 1 view .LVU2497 +3251:Src/main.c **** if (test == 0) //0 - suc + 7898 .loc 1 3251 10 is_stmt 0 view .LVU2498 + 7899 0012 0848 ldr r0, .L415+4 + 7900 0014 FFF7FEFF bl Mount_SD + 7901 .LVL739: +3252:Src/main.c **** { + 7902 .loc 1 3252 3 is_stmt 1 view .LVU2499 +3252:Src/main.c **** { + 7903 .loc 1 3252 6 is_stmt 0 view .LVU2500 + 7904 0018 08B1 cbz r0, .L414 +3261:Src/main.c **** } + 7905 .loc 1 3261 11 view .LVU2501 + 7906 001a 0120 movs r0, #1 + 7907 .LVL740: +3261:Src/main.c **** } + 7908 .loc 1 3261 11 view .LVU2502 + 7909 001c F8E7 b .L408 + 7910 .LVL741: + 7911 .L414: +3255:Src/main.c **** test = Unmount_SD("/"); // 0 - succ + ARM GAS /tmp/ccwR4KB7.s page 524 - 7205 .syntax unified - 7206 .thumb - 7207 .thumb_func - 7209 SD_REMOVE: - 7210 .LFB1226: -3038:Src/main.c **** int test=0; - 7211 .loc 1 3038 1 is_stmt 1 view -0 - 7212 .cfi_startproc - 7213 @ args = 0, pretend = 0, frame = 0 - 7214 @ frame_needed = 0, uses_anonymous_args = 0 - 7215 0000 10B5 push {r4, lr} - 7216 .LCFI64: - 7217 .cfi_def_cfa_offset 8 - 7218 .cfi_offset 4, -8 - 7219 .cfi_offset 14, -4 -3039:Src/main.c **** if (HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin)==GPIO_PIN_RESET) - 7220 .loc 1 3039 2 view .LVU2291 - 7221 .LVL639: -3040:Src/main.c **** { - 7222 .loc 1 3040 2 view .LVU2292 -3040:Src/main.c **** { - 7223 .loc 1 3040 6 is_stmt 0 view .LVU2293 - 7224 0002 0121 movs r1, #1 - 7225 0004 0B48 ldr r0, .L354 - 7226 0006 FFF7FEFF bl HAL_GPIO_ReadPin - 7227 .LVL640: -3040:Src/main.c **** { - 7228 .loc 1 3040 5 discriminator 1 view .LVU2294 - 7229 000a 08B1 cbz r0, .L352 -3058:Src/main.c **** } - 7230 .loc 1 3058 10 view .LVU2295 - 7231 000c 0120 movs r0, #1 - 7232 .LVL641: - 7233 .L347: -3060:Src/main.c **** - 7234 .loc 1 3060 1 view .LVU2296 - 7235 000e 10BD pop {r4, pc} - 7236 .LVL642: - 7237 .L352: -3042:Src/main.c **** if (test==FR_OK) - 7238 .loc 1 3042 3 is_stmt 1 view .LVU2297 -3042:Src/main.c **** if (test==FR_OK) - 7239 .loc 1 3042 10 is_stmt 0 view .LVU2298 - 7240 0010 0948 ldr r0, .L354+4 - 7241 0012 FFF7FEFF bl Mount_SD - 7242 .LVL643: -3043:Src/main.c **** { - 7243 .loc 1 3043 3 is_stmt 1 view .LVU2299 -3043:Src/main.c **** { - 7244 .loc 1 3043 6 is_stmt 0 view .LVU2300 - 7245 0016 08B1 cbz r0, .L353 -3053:Src/main.c **** } - 7246 .loc 1 3053 11 view .LVU2301 - 7247 0018 0120 movs r0, #1 - 7248 .LVL644: -3053:Src/main.c **** } - 7249 .loc 1 3053 11 view .LVU2302 - ARM GAS /tmp/ccYgfTud.s page 504 + 7912 .loc 1 3255 4 is_stmt 1 view .LVU2503 +3255:Src/main.c **** test = Unmount_SD("/"); // 0 - succ + 7913 .loc 1 3255 11 is_stmt 0 view .LVU2504 + 7914 001e 1E22 movs r2, #30 + 7915 0020 2146 mov r1, r4 + 7916 0022 0548 ldr r0, .L415+8 + 7917 .LVL742: +3255:Src/main.c **** test = Unmount_SD("/"); // 0 - succ + 7918 .loc 1 3255 11 view .LVU2505 + 7919 0024 FFF7FEFF bl Update_File_byte + 7920 .LVL743: +3256:Src/main.c **** return test; + 7921 .loc 1 3256 4 is_stmt 1 view .LVU2506 +3256:Src/main.c **** return test; + 7922 .loc 1 3256 11 is_stmt 0 view .LVU2507 + 7923 0028 0248 ldr r0, .L415+4 + 7924 002a FFF7FEFF bl Unmount_SD + 7925 .LVL744: +3257:Src/main.c **** } + 7926 .loc 1 3257 4 is_stmt 1 view .LVU2508 +3257:Src/main.c **** } + 7927 .loc 1 3257 11 is_stmt 0 view .LVU2509 + 7928 002e EFE7 b .L408 + 7929 .L416: + 7930 .align 2 + 7931 .L415: + 7932 0030 000C0240 .word 1073875968 + 7933 0034 00000000 .word .LC0 + 7934 0038 00000000 .word .LC2 + 7935 .cfi_endproc + 7936 .LFE1227: + 7938 .section .text.SD_READ,"ax",%progbits + 7939 .align 1 + 7940 .global SD_READ + 7941 .syntax unified + 7942 .thumb + 7943 .thumb_func + 7945 SD_READ: + 7946 .LVL745: + 7947 .LFB1228: +3278:Src/main.c **** int test=0; + 7948 .loc 1 3278 1 is_stmt 1 view -0 + 7949 .cfi_startproc + 7950 @ args = 0, pretend = 0, frame = 0 + 7951 @ frame_needed = 0, uses_anonymous_args = 0 +3278:Src/main.c **** int test=0; + 7952 .loc 1 3278 1 is_stmt 0 view .LVU2511 + 7953 0000 38B5 push {r3, r4, r5, lr} + 7954 .LCFI72: + 7955 .cfi_def_cfa_offset 16 + 7956 .cfi_offset 3, -16 + 7957 .cfi_offset 4, -12 + 7958 .cfi_offset 5, -8 + 7959 .cfi_offset 14, -4 + 7960 0002 0446 mov r4, r0 +3279:Src/main.c **** if (HAL_GPIO_ReadPin(SDMMC1_EN_GPIO_Port, SDMMC1_EN_Pin)==GPIO_PIN_RESET) + 7961 .loc 1 3279 2 is_stmt 1 view .LVU2512 + ARM GAS /tmp/ccwR4KB7.s page 525 - 7250 001a F8E7 b .L347 - 7251 .LVL645: - 7252 .L353: -3045:Src/main.c **** test = Create_File("FILE1.TXT"); // 0 -suc - 7253 .loc 1 3045 4 is_stmt 1 view .LVU2303 -3045:Src/main.c **** test = Create_File("FILE1.TXT"); // 0 -suc - 7254 .loc 1 3045 11 is_stmt 0 view .LVU2304 - 7255 001c 074C ldr r4, .L354+8 - 7256 001e 2046 mov r0, r4 - 7257 .LVL646: -3045:Src/main.c **** test = Create_File("FILE1.TXT"); // 0 -suc - 7258 .loc 1 3045 11 view .LVU2305 - 7259 0020 FFF7FEFF bl Remove_File - 7260 .LVL647: -3046:Src/main.c **** //test = Write_File ("FILE1.TXT", "____OSGG main borad information. Program made by Kazakov Vikt - 7261 .loc 1 3046 4 is_stmt 1 view .LVU2306 -3046:Src/main.c **** //test = Write_File ("FILE1.TXT", "____OSGG main borad information. Program made by Kazakov Vikt - 7262 .loc 1 3046 11 is_stmt 0 view .LVU2307 - 7263 0024 2046 mov r0, r4 - 7264 0026 FFF7FEFF bl Create_File - 7265 .LVL648: -3048:Src/main.c **** return test; - 7266 .loc 1 3048 4 is_stmt 1 view .LVU2308 -3048:Src/main.c **** return test; - 7267 .loc 1 3048 11 is_stmt 0 view .LVU2309 - 7268 002a 0348 ldr r0, .L354+4 - 7269 002c FFF7FEFF bl Unmount_SD - 7270 .LVL649: -3049:Src/main.c **** } - 7271 .loc 1 3049 4 is_stmt 1 view .LVU2310 -3049:Src/main.c **** } - 7272 .loc 1 3049 11 is_stmt 0 view .LVU2311 - 7273 0030 EDE7 b .L347 - 7274 .L355: - 7275 0032 00BF .align 2 - 7276 .L354: - 7277 0034 000C0240 .word 1073875968 - 7278 0038 00000000 .word .LC0 - 7279 003c 00000000 .word .LC2 - 7280 .cfi_endproc - 7281 .LFE1226: - 7283 .section .text.USART_TX,"ax",%progbits - 7284 .align 1 - 7285 .global USART_TX - 7286 .syntax unified - 7287 .thumb - 7288 .thumb_func - 7290 USART_TX: - 7291 .LVL650: - 7292 .LFB1227: -3064:Src/main.c **** uint16_t ind = 0; - 7293 .loc 1 3064 1 is_stmt 1 view -0 - 7294 .cfi_startproc - 7295 @ args = 0, pretend = 0, frame = 0 - 7296 @ frame_needed = 0, uses_anonymous_args = 0 - 7297 @ link register save eliminated. -3064:Src/main.c **** uint16_t ind = 0; - ARM GAS /tmp/ccYgfTud.s page 505 + 7962 .LVL746: +3280:Src/main.c **** { + 7963 .loc 1 3280 2 view .LVU2513 +3280:Src/main.c **** { + 7964 .loc 1 3280 6 is_stmt 0 view .LVU2514 + 7965 0004 0121 movs r1, #1 + 7966 0006 0D48 ldr r0, .L424 + 7967 .LVL747: +3280:Src/main.c **** { + 7968 .loc 1 3280 6 view .LVU2515 + 7969 0008 FFF7FEFF bl HAL_GPIO_ReadPin + 7970 .LVL748: +3280:Src/main.c **** { + 7971 .loc 1 3280 5 discriminator 1 view .LVU2516 + 7972 000c 08B1 cbz r0, .L422 +3298:Src/main.c **** } + 7973 .loc 1 3298 10 view .LVU2517 + 7974 000e 0120 movs r0, #1 + 7975 .LVL749: + 7976 .L417: +3314:Src/main.c **** + 7977 .loc 1 3314 1 view .LVU2518 + 7978 0010 38BD pop {r3, r4, r5, pc} + 7979 .LVL750: + 7980 .L422: +3282:Src/main.c **** if (test == 0) //0 - suc + 7981 .loc 1 3282 3 is_stmt 1 view .LVU2519 +3282:Src/main.c **** if (test == 0) //0 - suc + 7982 .loc 1 3282 10 is_stmt 0 view .LVU2520 + 7983 0012 0B48 ldr r0, .L424+4 + 7984 0014 FFF7FEFF bl Mount_SD + 7985 .LVL751: +3283:Src/main.c **** { + 7986 .loc 1 3283 3 is_stmt 1 view .LVU2521 +3283:Src/main.c **** { + 7987 .loc 1 3283 6 is_stmt 0 view .LVU2522 + 7988 0018 08B1 cbz r0, .L423 +3293:Src/main.c **** } + 7989 .loc 1 3293 11 view .LVU2523 + 7990 001a 0120 movs r0, #1 + 7991 .LVL752: +3293:Src/main.c **** } + 7992 .loc 1 3293 11 view .LVU2524 + 7993 001c F8E7 b .L417 + 7994 .LVL753: + 7995 .L423: +3286:Src/main.c **** fgoto+=DL_8; + 7996 .loc 1 3286 4 is_stmt 1 view .LVU2525 +3286:Src/main.c **** fgoto+=DL_8; + 7997 .loc 1 3286 11 is_stmt 0 view .LVU2526 + 7998 001e 094D ldr r5, .L424+8 + 7999 0020 2B68 ldr r3, [r5] + 8000 0022 1E22 movs r2, #30 + 8001 0024 2146 mov r1, r4 + 8002 0026 0848 ldr r0, .L424+12 + 8003 .LVL754: +3286:Src/main.c **** fgoto+=DL_8; + ARM GAS /tmp/ccwR4KB7.s page 526 - 7298 .loc 1 3064 1 is_stmt 0 view .LVU2313 - 7299 0000 8C46 mov ip, r1 -3065:Src/main.c **** while (indRDR); 3639:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 3640:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** + ARM GAS /tmp/ccwR4KB7.s page 531 + + 3641:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** return data_reg_addr; 3642:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 3643:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** @@ -30418,9 +31835,6 @@ ARM GAS /tmp/ccYgfTud.s page 1 3672:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } 3673:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** 3674:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** /** - ARM GAS /tmp/ccYgfTud.s page 508 - - 3675:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @brief Write in Transmitter Data Register (Transmit Data value, 8 bits) 3676:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @rmtoll TDR TDR LL_USART_TransmitData8 3677:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @param USARTx USART Instance @@ -30428,6145 +31842,6305 @@ ARM GAS /tmp/ccYgfTud.s page 1 3679:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** * @retval None 3680:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** */ 3681:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** __STATIC_INLINE void LL_USART_TransmitData8(USART_TypeDef *USARTx, uint8_t Value) - 7339 .loc 7 3681 22 view .LVU2328 - 7340 .LBB577: + 8167 .loc 7 3681 22 view .LVU2572 + 8168 .LBB593: 3682:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { 3683:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** USARTx->TDR = Value; - 7341 .loc 7 3683 3 view .LVU2329 - 7342 .loc 7 3683 15 is_stmt 0 view .LVU2330 - 7343 0018 034B ldr r3, .L361 - 7344 001a 9962 str r1, [r3, #40] - 7345 .LVL656: - 7346 .loc 7 3683 15 view .LVU2331 - 7347 .LBE577: - 7348 .LBE576: -3070:Src/main.c **** } - 7349 .loc 1 3070 5 is_stmt 1 view .LVU2332 -3070:Src/main.c **** } - 7350 .loc 1 3070 8 is_stmt 0 view .LVU2333 - 7351 001c 0132 adds r2, r2, #1 - 7352 .LVL657: -3070:Src/main.c **** } - 7353 .loc 1 3070 8 view .LVU2334 - 7354 001e 92B2 uxth r2, r2 - 7355 .LVL658: - 7356 .L357: -3066:Src/main.c **** { - 7357 .loc 1 3066 13 is_stmt 1 view .LVU2335 - 7358 0020 6245 cmp r2, ip - 7359 0022 F1D3 bcc .L359 -3072:Src/main.c **** - 7360 .loc 1 3072 1 is_stmt 0 view .LVU2336 - 7361 0024 7047 bx lr - 7362 .L362: - 7363 0026 00BF .align 2 - 7364 .L361: - 7365 0028 00100140 .word 1073811456 - 7366 .cfi_endproc - 7367 .LFE1227: - 7369 .section .text.USART_TX_DMA,"ax",%progbits - 7370 .align 1 - 7371 .global USART_TX_DMA - 7372 .syntax unified - 7373 .thumb - 7374 .thumb_func - 7376 USART_TX_DMA: - 7377 .LFB1228: -3075:Src/main.c **** while (u_tx_flg) {}//Wait until previous transfer not complete. u_tx_flg is resetting in DMA inter - 7378 .loc 1 3075 1 is_stmt 1 view -0 - 7379 .cfi_startproc - 7380 @ args = 0, pretend = 0, frame = 0 - 7381 @ frame_needed = 0, uses_anonymous_args = 0 - 7382 @ link register save eliminated. - ARM GAS /tmp/ccYgfTud.s page 509 + 8169 .loc 7 3683 3 view .LVU2573 + 8170 .loc 7 3683 15 is_stmt 0 view .LVU2574 + 8171 0018 034B ldr r3, .L440 + 8172 001a 9962 str r1, [r3, #40] + 8173 .LVL774: + 8174 .loc 7 3683 15 view .LVU2575 + 8175 .LBE593: + 8176 .LBE592: +3349:Src/main.c **** } + 8177 .loc 1 3349 5 is_stmt 1 view .LVU2576 +3349:Src/main.c **** } + 8178 .loc 1 3349 8 is_stmt 0 view .LVU2577 + ARM GAS /tmp/ccwR4KB7.s page 532 - 7383 .LVL659: - 7384 .L364: -3076:Src/main.c **** LL_DMA_DisableStream(DMA2, LL_DMA_STREAM_7); - 7385 .loc 1 3076 20 discriminator 1 view .LVU2338 -3076:Src/main.c **** LL_DMA_DisableStream(DMA2, LL_DMA_STREAM_7); - 7386 .loc 1 3076 9 discriminator 1 view .LVU2339 - 7387 0000 0D4B ldr r3, .L365 - 7388 0002 1B78 ldrb r3, [r3] @ zero_extendqisi2 - 7389 0004 002B cmp r3, #0 - 7390 0006 FBD1 bne .L364 -3077:Src/main.c **** LL_DMA_SetDataLength(DMA2, LL_DMA_STREAM_7, sz); - 7391 .loc 1 3077 2 view .LVU2340 - 7392 .LVL660: - 7393 .LBB578: - 7394 .LBI578: + 8179 001c 0132 adds r2, r2, #1 + 8180 .LVL775: +3349:Src/main.c **** } + 8181 .loc 1 3349 8 view .LVU2578 + 8182 001e 92B2 uxth r2, r2 + 8183 .LVL776: + 8184 .L436: +3345:Src/main.c **** { + 8185 .loc 1 3345 13 is_stmt 1 view .LVU2579 + 8186 0020 6245 cmp r2, ip + 8187 0022 F1D3 bcc .L438 +3351:Src/main.c **** + 8188 .loc 1 3351 1 is_stmt 0 view .LVU2580 + 8189 0024 7047 bx lr + 8190 .L441: + 8191 0026 00BF .align 2 + 8192 .L440: + 8193 0028 00100140 .word 1073811456 + 8194 .cfi_endproc + 8195 .LFE1230: + 8197 .section .text.USART_TX_DMA,"ax",%progbits + 8198 .align 1 + 8199 .global USART_TX_DMA + 8200 .syntax unified + 8201 .thumb + 8202 .thumb_func + 8204 USART_TX_DMA: + 8205 .LFB1231: +3354:Src/main.c **** while (u_tx_flg) {}//Wait until previous transfer not complete. u_tx_flg is resetting in DMA inter + 8206 .loc 1 3354 1 is_stmt 1 view -0 + 8207 .cfi_startproc + 8208 @ args = 0, pretend = 0, frame = 0 + 8209 @ frame_needed = 0, uses_anonymous_args = 0 + 8210 @ link register save eliminated. + 8211 .LVL777: + 8212 .L443: +3355:Src/main.c **** LL_DMA_DisableStream(DMA2, LL_DMA_STREAM_7); + 8213 .loc 1 3355 20 discriminator 1 view .LVU2582 +3355:Src/main.c **** LL_DMA_DisableStream(DMA2, LL_DMA_STREAM_7); + 8214 .loc 1 3355 9 discriminator 1 view .LVU2583 + 8215 0000 0D4B ldr r3, .L444 + 8216 0002 1B78 ldrb r3, [r3] @ zero_extendqisi2 + 8217 0004 002B cmp r3, #0 + 8218 0006 FBD1 bne .L443 +3356:Src/main.c **** LL_DMA_SetDataLength(DMA2, LL_DMA_STREAM_7, sz); + 8219 .loc 1 3356 2 view .LVU2584 + 8220 .LVL778: + 8221 .LBB594: + 8222 .LBI594: 517:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 7395 .loc 6 517 22 view .LVU2341 - 7396 .LBB579: + 8223 .loc 6 517 22 view .LVU2585 + 8224 .LBB595: 519:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 7397 .loc 6 519 3 view .LVU2342 - 7398 0008 0C4B ldr r3, .L365+4 - 7399 000a D3F8B820 ldr r2, [r3, #184] - 7400 000e 22F00102 bic r2, r2, #1 - 7401 0012 C3F8B820 str r2, [r3, #184] - 7402 .LVL661: + 8225 .loc 6 519 3 view .LVU2586 + 8226 0008 0C4B ldr r3, .L444+4 + 8227 000a D3F8B820 ldr r2, [r3, #184] + 8228 000e 22F00102 bic r2, r2, #1 + ARM GAS /tmp/ccwR4KB7.s page 533 + + + 8229 0012 C3F8B820 str r2, [r3, #184] + 8230 .LVL779: 519:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 7403 .loc 6 519 3 is_stmt 0 view .LVU2343 - 7404 .LBE579: - 7405 .LBE578: -3078:Src/main.c **** LL_DMA_EnableStream(DMA2, LL_DMA_STREAM_7); - 7406 .loc 1 3078 3 is_stmt 1 view .LVU2344 - 7407 .LBB580: - 7408 .LBI580: + 8231 .loc 6 519 3 is_stmt 0 view .LVU2587 + 8232 .LBE595: + 8233 .LBE594: +3357:Src/main.c **** LL_DMA_EnableStream(DMA2, LL_DMA_STREAM_7); + 8234 .loc 1 3357 3 is_stmt 1 view .LVU2588 + 8235 .LBB596: + 8236 .LBI596: 971:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 7409 .loc 6 971 22 view .LVU2345 - 7410 .LBB581: + 8237 .loc 6 971 22 view .LVU2589 + 8238 .LBB597: 973:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 7411 .loc 6 973 3 view .LVU2346 - 7412 0016 D3F8BC20 ldr r2, [r3, #188] - 7413 001a 6FF30F02 bfc r2, #0, #16 - 7414 001e 1043 orrs r0, r0, r2 - 7415 .LVL662: + 8239 .loc 6 973 3 view .LVU2590 + 8240 0016 D3F8BC20 ldr r2, [r3, #188] + 8241 001a 6FF30F02 bfc r2, #0, #16 + 8242 001e 1043 orrs r0, r0, r2 + 8243 .LVL780: 973:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 7416 .loc 6 973 3 is_stmt 0 view .LVU2347 - 7417 0020 C3F8BC00 str r0, [r3, #188] - 7418 .LVL663: + 8244 .loc 6 973 3 is_stmt 0 view .LVU2591 + 8245 0020 C3F8BC00 str r0, [r3, #188] + 8246 .LVL781: 973:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 7419 .loc 6 973 3 view .LVU2348 - 7420 .LBE581: - 7421 .LBE580: -3079:Src/main.c **** u_tx_flg = 1;//indicate that transfer begin - 7422 .loc 1 3079 3 is_stmt 1 view .LVU2349 - 7423 .LBB582: - 7424 .LBI582: + 8247 .loc 6 973 3 view .LVU2592 + 8248 .LBE597: + 8249 .LBE596: +3358:Src/main.c **** u_tx_flg = 1;//indicate that transfer begin + 8250 .loc 1 3358 3 is_stmt 1 view .LVU2593 + 8251 .LBB598: + 8252 .LBI598: 497:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 7425 .loc 6 497 22 view .LVU2350 - 7426 .LBB583: - ARM GAS /tmp/ccYgfTud.s page 510 - - + 8253 .loc 6 497 22 view .LVU2594 + 8254 .LBB599: 499:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 7427 .loc 6 499 3 view .LVU2351 - 7428 0024 D3F8B820 ldr r2, [r3, #184] - 7429 0028 42F00102 orr r2, r2, #1 - 7430 002c C3F8B820 str r2, [r3, #184] - 7431 .LVL664: + 8255 .loc 6 499 3 view .LVU2595 + 8256 0024 D3F8B820 ldr r2, [r3, #184] + 8257 0028 42F00102 orr r2, r2, #1 + 8258 002c C3F8B820 str r2, [r3, #184] + 8259 .LVL782: 499:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 7432 .loc 6 499 3 is_stmt 0 view .LVU2352 - 7433 .LBE583: - 7434 .LBE582: -3080:Src/main.c **** } - 7435 .loc 1 3080 2 is_stmt 1 view .LVU2353 -3080:Src/main.c **** } - 7436 .loc 1 3080 11 is_stmt 0 view .LVU2354 - 7437 0030 014B ldr r3, .L365 - 7438 0032 0122 movs r2, #1 - 7439 0034 1A70 strb r2, [r3] -3081:Src/main.c **** - 7440 .loc 1 3081 1 view .LVU2355 - 7441 0036 7047 bx lr - 7442 .L366: - 7443 .align 2 - 7444 .L365: - 7445 0038 00000000 .word u_tx_flg - 7446 003c 00640240 .word 1073898496 - 7447 .cfi_endproc - 7448 .LFE1228: - 7450 .section .text.Error_Handler,"ax",%progbits - 7451 .align 1 - 7452 .global Error_Handler - 7453 .syntax unified - 7454 .thumb - 7455 .thumb_func - 7457 Error_Handler: - 7458 .LFB1230: -3089:Src/main.c **** //------------------------------------------------------- -3090:Src/main.c **** /* USER CODE END 4 */ -3091:Src/main.c **** -3092:Src/main.c **** /** -3093:Src/main.c **** * @brief This function is executed in case of error occurrence. -3094:Src/main.c **** * @retval None -3095:Src/main.c **** */ -3096:Src/main.c **** void Error_Handler(void) -3097:Src/main.c **** { - 7459 .loc 1 3097 1 is_stmt 1 view -0 - 7460 .cfi_startproc - 7461 @ Volatile: function does not return. - 7462 @ args = 0, pretend = 0, frame = 0 - 7463 @ frame_needed = 0, uses_anonymous_args = 0 - 7464 @ link register save eliminated. -3098:Src/main.c **** /* USER CODE BEGIN Error_Handler_Debug */ -3099:Src/main.c **** /* User can add his own implementation to report the HAL error return state */ -3100:Src/main.c **** __disable_irq(); - 7465 .loc 1 3100 3 view .LVU2357 - 7466 .LBB584: - 7467 .LBI584: - 140:Drivers/CMSIS/Include/cmsis_gcc.h **** { - ARM GAS /tmp/ccYgfTud.s page 511 + 8260 .loc 6 499 3 is_stmt 0 view .LVU2596 + 8261 .LBE599: + 8262 .LBE598: +3359:Src/main.c **** } + 8263 .loc 1 3359 2 is_stmt 1 view .LVU2597 +3359:Src/main.c **** } + 8264 .loc 1 3359 11 is_stmt 0 view .LVU2598 + 8265 0030 014B ldr r3, .L444 + 8266 0032 0122 movs r2, #1 + 8267 0034 1A70 strb r2, [r3] +3360:Src/main.c **** + 8268 .loc 1 3360 1 view .LVU2599 + 8269 0036 7047 bx lr + 8270 .L445: + 8271 .align 2 + 8272 .L444: + ARM GAS /tmp/ccwR4KB7.s page 534 - 7468 .loc 8 140 27 view .LVU2358 - 7469 .LBB585: - 142:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 7470 .loc 8 142 3 view .LVU2359 - 7471 .syntax unified - 7472 @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 - 7473 0000 72B6 cpsid i - 7474 @ 0 "" 2 - 7475 .thumb - 7476 .syntax unified - 7477 .L368: - 7478 .LBE585: - 7479 .LBE584: -3101:Src/main.c **** while (1) - 7480 .loc 1 3101 3 view .LVU2360 -3102:Src/main.c **** { -3103:Src/main.c **** } - 7481 .loc 1 3103 3 view .LVU2361 -3101:Src/main.c **** while (1) - 7482 .loc 1 3101 9 view .LVU2362 - 7483 0002 FEE7 b .L368 - 7484 .cfi_endproc - 7485 .LFE1230: - 7487 .section .text.MX_ADC1_Init,"ax",%progbits - 7488 .align 1 - 7489 .syntax unified - 7490 .thumb - 7491 .thumb_func - 7493 MX_ADC1_Init: - 7494 .LFB1188: - 939:Src/main.c **** - 7495 .loc 1 939 1 view -0 - 7496 .cfi_startproc - 7497 @ args = 0, pretend = 0, frame = 16 - 7498 @ frame_needed = 0, uses_anonymous_args = 0 - 7499 0000 00B5 push {lr} - 7500 .LCFI65: - 7501 .cfi_def_cfa_offset 4 - 7502 .cfi_offset 14, -4 - 7503 0002 85B0 sub sp, sp, #20 - 7504 .LCFI66: - 7505 .cfi_def_cfa_offset 24 - 945:Src/main.c **** - 7506 .loc 1 945 3 view .LVU2364 - 945:Src/main.c **** - 7507 .loc 1 945 26 is_stmt 0 view .LVU2365 - 7508 0004 0023 movs r3, #0 - 7509 0006 0093 str r3, [sp] - 7510 0008 0193 str r3, [sp, #4] - 7511 000a 0293 str r3, [sp, #8] - 7512 000c 0393 str r3, [sp, #12] - 953:Src/main.c **** hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV8; - 7513 .loc 1 953 3 is_stmt 1 view .LVU2366 - 953:Src/main.c **** hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV8; - 7514 .loc 1 953 18 is_stmt 0 view .LVU2367 - 7515 000e 2B48 ldr r0, .L383 - 7516 0010 2B4A ldr r2, .L383+4 - ARM GAS /tmp/ccYgfTud.s page 512 - - - 7517 0012 0260 str r2, [r0] - 954:Src/main.c **** hadc1.Init.Resolution = ADC_RESOLUTION_12B; - 7518 .loc 1 954 3 is_stmt 1 view .LVU2368 - 954:Src/main.c **** hadc1.Init.Resolution = ADC_RESOLUTION_12B; - 7519 .loc 1 954 29 is_stmt 0 view .LVU2369 - 7520 0014 4FF44032 mov r2, #196608 - 7521 0018 4260 str r2, [r0, #4] - 955:Src/main.c **** hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE; - 7522 .loc 1 955 3 is_stmt 1 view .LVU2370 - 955:Src/main.c **** hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE; - 7523 .loc 1 955 25 is_stmt 0 view .LVU2371 - 7524 001a 8360 str r3, [r0, #8] - 956:Src/main.c **** hadc1.Init.ContinuousConvMode = DISABLE; - 7525 .loc 1 956 3 is_stmt 1 view .LVU2372 - 956:Src/main.c **** hadc1.Init.ContinuousConvMode = DISABLE; - 7526 .loc 1 956 27 is_stmt 0 view .LVU2373 - 7527 001c 0122 movs r2, #1 - 7528 001e 0261 str r2, [r0, #16] - 957:Src/main.c **** hadc1.Init.DiscontinuousConvMode = DISABLE; - 7529 .loc 1 957 3 is_stmt 1 view .LVU2374 - 957:Src/main.c **** hadc1.Init.DiscontinuousConvMode = DISABLE; - 7530 .loc 1 957 33 is_stmt 0 view .LVU2375 - 7531 0020 8361 str r3, [r0, #24] - 958:Src/main.c **** hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; - 7532 .loc 1 958 3 is_stmt 1 view .LVU2376 - 958:Src/main.c **** hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; - 7533 .loc 1 958 36 is_stmt 0 view .LVU2377 - 7534 0022 80F82030 strb r3, [r0, #32] - 959:Src/main.c **** hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; - 7535 .loc 1 959 3 is_stmt 1 view .LVU2378 - 959:Src/main.c **** hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; - 7536 .loc 1 959 35 is_stmt 0 view .LVU2379 - 7537 0026 C362 str r3, [r0, #44] - 960:Src/main.c **** hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; - 7538 .loc 1 960 3 is_stmt 1 view .LVU2380 - 960:Src/main.c **** hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; - 7539 .loc 1 960 31 is_stmt 0 view .LVU2381 - 7540 0028 2649 ldr r1, .L383+8 - 7541 002a 8162 str r1, [r0, #40] - 961:Src/main.c **** hadc1.Init.NbrOfConversion = 5; - 7542 .loc 1 961 3 is_stmt 1 view .LVU2382 - 961:Src/main.c **** hadc1.Init.NbrOfConversion = 5; - 7543 .loc 1 961 24 is_stmt 0 view .LVU2383 - 7544 002c C360 str r3, [r0, #12] - 962:Src/main.c **** hadc1.Init.DMAContinuousRequests = DISABLE; - 7545 .loc 1 962 3 is_stmt 1 view .LVU2384 - 962:Src/main.c **** hadc1.Init.DMAContinuousRequests = DISABLE; - 7546 .loc 1 962 30 is_stmt 0 view .LVU2385 - 7547 002e 0521 movs r1, #5 - 7548 0030 C161 str r1, [r0, #28] - 963:Src/main.c **** hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; - 7549 .loc 1 963 3 is_stmt 1 view .LVU2386 - 963:Src/main.c **** hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; - 7550 .loc 1 963 36 is_stmt 0 view .LVU2387 - 7551 0032 80F83030 strb r3, [r0, #48] - 964:Src/main.c **** if (HAL_ADC_Init(&hadc1) != HAL_OK) - 7552 .loc 1 964 3 is_stmt 1 view .LVU2388 - ARM GAS /tmp/ccYgfTud.s page 513 - - - 964:Src/main.c **** if (HAL_ADC_Init(&hadc1) != HAL_OK) - 7553 .loc 1 964 27 is_stmt 0 view .LVU2389 - 7554 0036 4261 str r2, [r0, #20] - 965:Src/main.c **** { - 7555 .loc 1 965 3 is_stmt 1 view .LVU2390 - 965:Src/main.c **** { - 7556 .loc 1 965 7 is_stmt 0 view .LVU2391 - 7557 0038 FFF7FEFF bl HAL_ADC_Init - 7558 .LVL665: - 965:Src/main.c **** { - 7559 .loc 1 965 6 discriminator 1 view .LVU2392 - 7560 003c 0028 cmp r0, #0 - 7561 003e 31D1 bne .L377 - 972:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_1; - 7562 .loc 1 972 3 is_stmt 1 view .LVU2393 - 972:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_1; - 7563 .loc 1 972 19 is_stmt 0 view .LVU2394 - 7564 0040 0923 movs r3, #9 - 7565 0042 0093 str r3, [sp] - 973:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; - 7566 .loc 1 973 3 is_stmt 1 view .LVU2395 - 973:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; - 7567 .loc 1 973 16 is_stmt 0 view .LVU2396 - 7568 0044 0123 movs r3, #1 - 7569 0046 0193 str r3, [sp, #4] - 974:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) - 7570 .loc 1 974 3 is_stmt 1 view .LVU2397 - 974:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) - 7571 .loc 1 974 24 is_stmt 0 view .LVU2398 - 7572 0048 0723 movs r3, #7 - 7573 004a 0293 str r3, [sp, #8] - 975:Src/main.c **** { - 7574 .loc 1 975 3 is_stmt 1 view .LVU2399 - 975:Src/main.c **** { - 7575 .loc 1 975 7 is_stmt 0 view .LVU2400 - 7576 004c 6946 mov r1, sp - 7577 004e 1B48 ldr r0, .L383 - 7578 0050 FFF7FEFF bl HAL_ADC_ConfigChannel - 7579 .LVL666: - 975:Src/main.c **** { - 7580 .loc 1 975 6 discriminator 1 view .LVU2401 - 7581 0054 40BB cbnz r0, .L378 - 982:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_2; - 7582 .loc 1 982 3 is_stmt 1 view .LVU2402 - 982:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_2; - 7583 .loc 1 982 19 is_stmt 0 view .LVU2403 - 7584 0056 0823 movs r3, #8 - 7585 0058 0093 str r3, [sp] - 983:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) - 7586 .loc 1 983 3 is_stmt 1 view .LVU2404 - 983:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) - 7587 .loc 1 983 16 is_stmt 0 view .LVU2405 - 7588 005a 0223 movs r3, #2 - 7589 005c 0193 str r3, [sp, #4] - 984:Src/main.c **** { - 7590 .loc 1 984 3 is_stmt 1 view .LVU2406 - 984:Src/main.c **** { - ARM GAS /tmp/ccYgfTud.s page 514 - - - 7591 .loc 1 984 7 is_stmt 0 view .LVU2407 - 7592 005e 6946 mov r1, sp - 7593 0060 1648 ldr r0, .L383 - 7594 0062 FFF7FEFF bl HAL_ADC_ConfigChannel - 7595 .LVL667: - 984:Src/main.c **** { - 7596 .loc 1 984 6 discriminator 1 view .LVU2408 - 7597 0066 08BB cbnz r0, .L379 - 991:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_3; - 7598 .loc 1 991 3 is_stmt 1 view .LVU2409 - 991:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_3; - 7599 .loc 1 991 19 is_stmt 0 view .LVU2410 - 7600 0068 0223 movs r3, #2 - 7601 006a 0093 str r3, [sp] - 992:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) - 7602 .loc 1 992 3 is_stmt 1 view .LVU2411 - 992:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) - 7603 .loc 1 992 16 is_stmt 0 view .LVU2412 - 7604 006c 0323 movs r3, #3 - 7605 006e 0193 str r3, [sp, #4] - 993:Src/main.c **** { - 7606 .loc 1 993 3 is_stmt 1 view .LVU2413 - 993:Src/main.c **** { - 7607 .loc 1 993 7 is_stmt 0 view .LVU2414 - 7608 0070 6946 mov r1, sp - 7609 0072 1248 ldr r0, .L383 - 7610 0074 FFF7FEFF bl HAL_ADC_ConfigChannel - 7611 .LVL668: - 993:Src/main.c **** { - 7612 .loc 1 993 6 discriminator 1 view .LVU2415 - 7613 0078 D0B9 cbnz r0, .L380 -1000:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_4; - 7614 .loc 1 1000 3 is_stmt 1 view .LVU2416 -1000:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_4; - 7615 .loc 1 1000 19 is_stmt 0 view .LVU2417 - 7616 007a 0A23 movs r3, #10 - 7617 007c 0093 str r3, [sp] -1001:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) - 7618 .loc 1 1001 3 is_stmt 1 view .LVU2418 -1001:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) - 7619 .loc 1 1001 16 is_stmt 0 view .LVU2419 - 7620 007e 0423 movs r3, #4 - 7621 0080 0193 str r3, [sp, #4] -1002:Src/main.c **** { - 7622 .loc 1 1002 3 is_stmt 1 view .LVU2420 -1002:Src/main.c **** { - 7623 .loc 1 1002 7 is_stmt 0 view .LVU2421 - 7624 0082 6946 mov r1, sp - 7625 0084 0D48 ldr r0, .L383 - 7626 0086 FFF7FEFF bl HAL_ADC_ConfigChannel - 7627 .LVL669: -1002:Src/main.c **** { - 7628 .loc 1 1002 6 discriminator 1 view .LVU2422 - 7629 008a 98B9 cbnz r0, .L381 -1009:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_5; - 7630 .loc 1 1009 3 is_stmt 1 view .LVU2423 -1009:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_5; - ARM GAS /tmp/ccYgfTud.s page 515 - - - 7631 .loc 1 1009 19 is_stmt 0 view .LVU2424 - 7632 008c 0B23 movs r3, #11 - 7633 008e 0093 str r3, [sp] -1010:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) - 7634 .loc 1 1010 3 is_stmt 1 view .LVU2425 -1010:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) - 7635 .loc 1 1010 16 is_stmt 0 view .LVU2426 - 7636 0090 0523 movs r3, #5 - 7637 0092 0193 str r3, [sp, #4] -1011:Src/main.c **** { - 7638 .loc 1 1011 3 is_stmt 1 view .LVU2427 -1011:Src/main.c **** { - 7639 .loc 1 1011 7 is_stmt 0 view .LVU2428 - 7640 0094 6946 mov r1, sp - 7641 0096 0948 ldr r0, .L383 - 7642 0098 FFF7FEFF bl HAL_ADC_ConfigChannel - 7643 .LVL670: -1011:Src/main.c **** { - 7644 .loc 1 1011 6 discriminator 1 view .LVU2429 - 7645 009c 60B9 cbnz r0, .L382 -1019:Src/main.c **** - 7646 .loc 1 1019 1 view .LVU2430 - 7647 009e 05B0 add sp, sp, #20 - 7648 .LCFI67: - 7649 .cfi_remember_state - 7650 .cfi_def_cfa_offset 4 - 7651 @ sp needed - 7652 00a0 5DF804FB ldr pc, [sp], #4 - 7653 .L377: - 7654 .LCFI68: - 7655 .cfi_restore_state - 967:Src/main.c **** } - 7656 .loc 1 967 5 is_stmt 1 view .LVU2431 - 7657 00a4 FFF7FEFF bl Error_Handler - 7658 .LVL671: - 7659 .L378: - 977:Src/main.c **** } - 7660 .loc 1 977 5 view .LVU2432 - 7661 00a8 FFF7FEFF bl Error_Handler - 7662 .LVL672: - 7663 .L379: - 986:Src/main.c **** } - 7664 .loc 1 986 5 view .LVU2433 - 7665 00ac FFF7FEFF bl Error_Handler - 7666 .LVL673: - 7667 .L380: - 995:Src/main.c **** } - 7668 .loc 1 995 5 view .LVU2434 - 7669 00b0 FFF7FEFF bl Error_Handler - 7670 .LVL674: - 7671 .L381: -1004:Src/main.c **** } - 7672 .loc 1 1004 5 view .LVU2435 - 7673 00b4 FFF7FEFF bl Error_Handler - 7674 .LVL675: - 7675 .L382: -1013:Src/main.c **** } - ARM GAS /tmp/ccYgfTud.s page 516 - - - 7676 .loc 1 1013 5 view .LVU2436 - 7677 00b8 FFF7FEFF bl Error_Handler - 7678 .LVL676: - 7679 .L384: - 7680 .align 2 - 7681 .L383: - 7682 00bc 00000000 .word hadc1 - 7683 00c0 00200140 .word 1073815552 - 7684 00c4 0100000F .word 251658241 - 7685 .cfi_endproc - 7686 .LFE1188: - 7688 .section .text.MX_ADC3_Init,"ax",%progbits - 7689 .align 1 - 7690 .syntax unified - 7691 .thumb - 7692 .thumb_func - 7694 MX_ADC3_Init: - 7695 .LFB1189: -1027:Src/main.c **** - 7696 .loc 1 1027 1 view -0 - 7697 .cfi_startproc - 7698 @ args = 0, pretend = 0, frame = 16 - 7699 @ frame_needed = 0, uses_anonymous_args = 0 - 7700 0000 00B5 push {lr} - 7701 .LCFI69: - 7702 .cfi_def_cfa_offset 4 - 7703 .cfi_offset 14, -4 - 7704 0002 85B0 sub sp, sp, #20 - 7705 .LCFI70: - 7706 .cfi_def_cfa_offset 24 -1033:Src/main.c **** - 7707 .loc 1 1033 3 view .LVU2438 -1033:Src/main.c **** - 7708 .loc 1 1033 26 is_stmt 0 view .LVU2439 - 7709 0004 0023 movs r3, #0 - 7710 0006 0093 str r3, [sp] - 7711 0008 0193 str r3, [sp, #4] - 7712 000a 0293 str r3, [sp, #8] - 7713 000c 0393 str r3, [sp, #12] -1041:Src/main.c **** hadc3.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV8; - 7714 .loc 1 1041 3 is_stmt 1 view .LVU2440 -1041:Src/main.c **** hadc3.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV8; - 7715 .loc 1 1041 18 is_stmt 0 view .LVU2441 - 7716 000e 1448 ldr r0, .L391 - 7717 0010 144A ldr r2, .L391+4 - 7718 0012 0260 str r2, [r0] -1042:Src/main.c **** hadc3.Init.Resolution = ADC_RESOLUTION_12B; - 7719 .loc 1 1042 3 is_stmt 1 view .LVU2442 -1042:Src/main.c **** hadc3.Init.Resolution = ADC_RESOLUTION_12B; - 7720 .loc 1 1042 29 is_stmt 0 view .LVU2443 - 7721 0014 4FF44032 mov r2, #196608 - 7722 0018 4260 str r2, [r0, #4] -1043:Src/main.c **** hadc3.Init.ScanConvMode = ADC_SCAN_DISABLE; - 7723 .loc 1 1043 3 is_stmt 1 view .LVU2444 -1043:Src/main.c **** hadc3.Init.ScanConvMode = ADC_SCAN_DISABLE; - 7724 .loc 1 1043 25 is_stmt 0 view .LVU2445 - 7725 001a 8360 str r3, [r0, #8] - ARM GAS /tmp/ccYgfTud.s page 517 - - -1044:Src/main.c **** hadc3.Init.ContinuousConvMode = DISABLE; - 7726 .loc 1 1044 3 is_stmt 1 view .LVU2446 -1044:Src/main.c **** hadc3.Init.ContinuousConvMode = DISABLE; - 7727 .loc 1 1044 27 is_stmt 0 view .LVU2447 - 7728 001c 0361 str r3, [r0, #16] -1045:Src/main.c **** hadc3.Init.DiscontinuousConvMode = DISABLE; - 7729 .loc 1 1045 3 is_stmt 1 view .LVU2448 -1045:Src/main.c **** hadc3.Init.DiscontinuousConvMode = DISABLE; - 7730 .loc 1 1045 33 is_stmt 0 view .LVU2449 - 7731 001e 8361 str r3, [r0, #24] -1046:Src/main.c **** hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; - 7732 .loc 1 1046 3 is_stmt 1 view .LVU2450 -1046:Src/main.c **** hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; - 7733 .loc 1 1046 36 is_stmt 0 view .LVU2451 - 7734 0020 80F82030 strb r3, [r0, #32] -1047:Src/main.c **** hadc3.Init.ExternalTrigConv = ADC_SOFTWARE_START; - 7735 .loc 1 1047 3 is_stmt 1 view .LVU2452 -1047:Src/main.c **** hadc3.Init.ExternalTrigConv = ADC_SOFTWARE_START; - 7736 .loc 1 1047 35 is_stmt 0 view .LVU2453 - 7737 0024 C362 str r3, [r0, #44] -1048:Src/main.c **** hadc3.Init.DataAlign = ADC_DATAALIGN_RIGHT; - 7738 .loc 1 1048 3 is_stmt 1 view .LVU2454 -1048:Src/main.c **** hadc3.Init.DataAlign = ADC_DATAALIGN_RIGHT; - 7739 .loc 1 1048 31 is_stmt 0 view .LVU2455 - 7740 0026 104A ldr r2, .L391+8 - 7741 0028 8262 str r2, [r0, #40] -1049:Src/main.c **** hadc3.Init.NbrOfConversion = 1; - 7742 .loc 1 1049 3 is_stmt 1 view .LVU2456 -1049:Src/main.c **** hadc3.Init.NbrOfConversion = 1; - 7743 .loc 1 1049 24 is_stmt 0 view .LVU2457 - 7744 002a C360 str r3, [r0, #12] -1050:Src/main.c **** hadc3.Init.DMAContinuousRequests = DISABLE; - 7745 .loc 1 1050 3 is_stmt 1 view .LVU2458 -1050:Src/main.c **** hadc3.Init.DMAContinuousRequests = DISABLE; - 7746 .loc 1 1050 30 is_stmt 0 view .LVU2459 - 7747 002c 0122 movs r2, #1 - 7748 002e C261 str r2, [r0, #28] -1051:Src/main.c **** hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV; - 7749 .loc 1 1051 3 is_stmt 1 view .LVU2460 -1051:Src/main.c **** hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV; - 7750 .loc 1 1051 36 is_stmt 0 view .LVU2461 - 7751 0030 80F83030 strb r3, [r0, #48] -1052:Src/main.c **** if (HAL_ADC_Init(&hadc3) != HAL_OK) - 7752 .loc 1 1052 3 is_stmt 1 view .LVU2462 -1052:Src/main.c **** if (HAL_ADC_Init(&hadc3) != HAL_OK) - 7753 .loc 1 1052 27 is_stmt 0 view .LVU2463 - 7754 0034 4261 str r2, [r0, #20] -1053:Src/main.c **** { - 7755 .loc 1 1053 3 is_stmt 1 view .LVU2464 -1053:Src/main.c **** { - 7756 .loc 1 1053 7 is_stmt 0 view .LVU2465 - 7757 0036 FFF7FEFF bl HAL_ADC_Init - 7758 .LVL677: -1053:Src/main.c **** { - 7759 .loc 1 1053 6 discriminator 1 view .LVU2466 - 7760 003a 68B9 cbnz r0, .L389 -1060:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_1; - ARM GAS /tmp/ccYgfTud.s page 518 - - - 7761 .loc 1 1060 3 is_stmt 1 view .LVU2467 -1060:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_1; - 7762 .loc 1 1060 19 is_stmt 0 view .LVU2468 - 7763 003c 0F23 movs r3, #15 - 7764 003e 0093 str r3, [sp] -1061:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; - 7765 .loc 1 1061 3 is_stmt 1 view .LVU2469 -1061:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; - 7766 .loc 1 1061 16 is_stmt 0 view .LVU2470 - 7767 0040 0123 movs r3, #1 - 7768 0042 0193 str r3, [sp, #4] -1062:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) - 7769 .loc 1 1062 3 is_stmt 1 view .LVU2471 -1062:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) - 7770 .loc 1 1062 24 is_stmt 0 view .LVU2472 - 7771 0044 0723 movs r3, #7 - 7772 0046 0293 str r3, [sp, #8] -1063:Src/main.c **** { - 7773 .loc 1 1063 3 is_stmt 1 view .LVU2473 -1063:Src/main.c **** { - 7774 .loc 1 1063 7 is_stmt 0 view .LVU2474 - 7775 0048 6946 mov r1, sp - 7776 004a 0548 ldr r0, .L391 - 7777 004c FFF7FEFF bl HAL_ADC_ConfigChannel - 7778 .LVL678: -1063:Src/main.c **** { - 7779 .loc 1 1063 6 discriminator 1 view .LVU2475 - 7780 0050 20B9 cbnz r0, .L390 -1071:Src/main.c **** - 7781 .loc 1 1071 1 view .LVU2476 - 7782 0052 05B0 add sp, sp, #20 - 7783 .LCFI71: - 7784 .cfi_remember_state - 7785 .cfi_def_cfa_offset 4 - 7786 @ sp needed - 7787 0054 5DF804FB ldr pc, [sp], #4 - 7788 .L389: - 7789 .LCFI72: - 7790 .cfi_restore_state -1055:Src/main.c **** } - 7791 .loc 1 1055 5 is_stmt 1 view .LVU2477 - 7792 0058 FFF7FEFF bl Error_Handler - 7793 .LVL679: - 7794 .L390: -1065:Src/main.c **** } - 7795 .loc 1 1065 5 view .LVU2478 - 7796 005c FFF7FEFF bl Error_Handler - 7797 .LVL680: - 7798 .L392: - 7799 .align 2 - 7800 .L391: - 7801 0060 00000000 .word hadc3 - 7802 0064 00220140 .word 1073816064 - 7803 0068 0100000F .word 251658241 - 7804 .cfi_endproc - 7805 .LFE1189: - 7807 .section .text.MX_USART1_UART_Init,"ax",%progbits - ARM GAS /tmp/ccYgfTud.s page 519 - - - 7808 .align 1 - 7809 .syntax unified - 7810 .thumb - 7811 .thumb_func - 7813 MX_USART1_UART_Init: - 7814 .LFB1204: -1738:Src/main.c **** - 7815 .loc 1 1738 1 view -0 - 7816 .cfi_startproc - 7817 @ args = 0, pretend = 0, frame = 208 - 7818 @ frame_needed = 0, uses_anonymous_args = 0 - 7819 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} - 7820 .LCFI73: - 7821 .cfi_def_cfa_offset 24 - 7822 .cfi_offset 4, -24 - 7823 .cfi_offset 5, -20 - 7824 .cfi_offset 6, -16 - 7825 .cfi_offset 7, -12 - 7826 .cfi_offset 8, -8 - 7827 .cfi_offset 14, -4 - 7828 0004 B4B0 sub sp, sp, #208 - 7829 .LCFI74: - 7830 .cfi_def_cfa_offset 232 -1744:Src/main.c **** - 7831 .loc 1 1744 3 view .LVU2480 -1744:Src/main.c **** - 7832 .loc 1 1744 24 is_stmt 0 view .LVU2481 - 7833 0006 0021 movs r1, #0 - 7834 0008 2D91 str r1, [sp, #180] - 7835 000a 2E91 str r1, [sp, #184] - 7836 000c 2F91 str r1, [sp, #188] - 7837 000e 3091 str r1, [sp, #192] - 7838 0010 3191 str r1, [sp, #196] - 7839 0012 3291 str r1, [sp, #200] - 7840 0014 3391 str r1, [sp, #204] -1746:Src/main.c **** RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; - 7841 .loc 1 1746 3 is_stmt 1 view .LVU2482 -1746:Src/main.c **** RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; - 7842 .loc 1 1746 23 is_stmt 0 view .LVU2483 - 7843 0016 2791 str r1, [sp, #156] - 7844 0018 2891 str r1, [sp, #160] - 7845 001a 2991 str r1, [sp, #164] - 7846 001c 2A91 str r1, [sp, #168] - 7847 001e 2B91 str r1, [sp, #172] - 7848 0020 2C91 str r1, [sp, #176] -1747:Src/main.c **** - 7849 .loc 1 1747 3 is_stmt 1 view .LVU2484 -1747:Src/main.c **** - 7850 .loc 1 1747 28 is_stmt 0 view .LVU2485 - 7851 0022 9022 movs r2, #144 - 7852 0024 03A8 add r0, sp, #12 - 7853 0026 FFF7FEFF bl memset - 7854 .LVL681: -1751:Src/main.c **** PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2; - 7855 .loc 1 1751 3 is_stmt 1 view .LVU2486 -1751:Src/main.c **** PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2; - 7856 .loc 1 1751 44 is_stmt 0 view .LVU2487 - ARM GAS /tmp/ccYgfTud.s page 520 - - - 7857 002a 4023 movs r3, #64 - 7858 002c 0393 str r3, [sp, #12] -1752:Src/main.c **** if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) - 7859 .loc 1 1752 3 is_stmt 1 view .LVU2488 -1753:Src/main.c **** { - 7860 .loc 1 1753 3 view .LVU2489 -1753:Src/main.c **** { - 7861 .loc 1 1753 7 is_stmt 0 view .LVU2490 - 7862 002e 03A8 add r0, sp, #12 - 7863 0030 FFF7FEFF bl HAL_RCCEx_PeriphCLKConfig - 7864 .LVL682: -1753:Src/main.c **** { - 7865 .loc 1 1753 6 discriminator 1 view .LVU2491 - 7866 0034 0028 cmp r0, #0 - 7867 0036 40F09E80 bne .L396 -1759:Src/main.c **** - 7868 .loc 1 1759 3 is_stmt 1 view .LVU2492 - 7869 .LVL683: - 7870 .LBB586: - 7871 .LBI586: -1587:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { - 7872 .loc 3 1587 22 view .LVU2493 - 7873 .LBB587: -1589:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->APB2ENR, Periphs); - 7874 .loc 3 1589 3 view .LVU2494 -1590:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ - 7875 .loc 3 1590 3 view .LVU2495 - 7876 003a 504B ldr r3, .L397 - 7877 003c 5A6C ldr r2, [r3, #68] - 7878 003e 42F01002 orr r2, r2, #16 - 7879 0042 5A64 str r2, [r3, #68] -1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 7880 .loc 3 1592 3 view .LVU2496 -1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 7881 .loc 3 1592 12 is_stmt 0 view .LVU2497 - 7882 0044 5A6C ldr r2, [r3, #68] - 7883 0046 02F01002 and r2, r2, #16 -1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 7884 .loc 3 1592 10 view .LVU2498 - 7885 004a 0292 str r2, [sp, #8] - 7886 .loc 3 1593 3 is_stmt 1 view .LVU2499 - 7887 004c 029A ldr r2, [sp, #8] - 7888 .LVL684: - 7889 .loc 3 1593 3 is_stmt 0 view .LVU2500 - 7890 .LBE587: - 7891 .LBE586: -1761:Src/main.c **** /**USART1 GPIO Configuration - 7892 .loc 1 1761 3 is_stmt 1 view .LVU2501 - 7893 .LBB588: - 7894 .LBI588: - 309:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { - 7895 .loc 3 309 22 view .LVU2502 - 7896 .LBB589: - 311:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->AHB1ENR, Periphs); - 7897 .loc 3 311 3 view .LVU2503 - 312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ - 7898 .loc 3 312 3 view .LVU2504 - ARM GAS /tmp/ccYgfTud.s page 521 - - - 7899 004e 1A6B ldr r2, [r3, #48] - 7900 0050 42F00102 orr r2, r2, #1 - 7901 0054 1A63 str r2, [r3, #48] - 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 7902 .loc 3 314 3 view .LVU2505 - 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 7903 .loc 3 314 12 is_stmt 0 view .LVU2506 - 7904 0056 1B6B ldr r3, [r3, #48] - 7905 0058 03F00103 and r3, r3, #1 - 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; - 7906 .loc 3 314 10 view .LVU2507 - 7907 005c 0193 str r3, [sp, #4] - 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 7908 .loc 3 315 3 is_stmt 1 view .LVU2508 - 7909 005e 019B ldr r3, [sp, #4] - 7910 .LVL685: - 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } - 7911 .loc 3 315 3 is_stmt 0 view .LVU2509 - 7912 .LBE589: - 7913 .LBE588: -1766:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 7914 .loc 1 1766 3 is_stmt 1 view .LVU2510 -1766:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 7915 .loc 1 1766 23 is_stmt 0 view .LVU2511 - 7916 0060 4FF40073 mov r3, #512 - 7917 0064 2793 str r3, [sp, #156] -1767:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 7918 .loc 1 1767 3 is_stmt 1 view .LVU2512 -1767:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 7919 .loc 1 1767 24 is_stmt 0 view .LVU2513 - 7920 0066 4FF00208 mov r8, #2 - 7921 006a CDF8A080 str r8, [sp, #160] -1768:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 7922 .loc 1 1768 3 is_stmt 1 view .LVU2514 -1768:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 7923 .loc 1 1768 25 is_stmt 0 view .LVU2515 - 7924 006e 0327 movs r7, #3 - 7925 0070 2997 str r7, [sp, #164] -1769:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 7926 .loc 1 1769 3 is_stmt 1 view .LVU2516 -1769:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 7927 .loc 1 1769 30 is_stmt 0 view .LVU2517 - 7928 0072 0024 movs r4, #0 - 7929 0074 2A94 str r4, [sp, #168] -1770:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_7; - 7930 .loc 1 1770 3 is_stmt 1 view .LVU2518 -1770:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_7; - 7931 .loc 1 1770 24 is_stmt 0 view .LVU2519 - 7932 0076 2B94 str r4, [sp, #172] -1771:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 7933 .loc 1 1771 3 is_stmt 1 view .LVU2520 -1771:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 7934 .loc 1 1771 29 is_stmt 0 view .LVU2521 - 7935 0078 0726 movs r6, #7 - 7936 007a 2C96 str r6, [sp, #176] -1772:Src/main.c **** - 7937 .loc 1 1772 3 is_stmt 1 view .LVU2522 - ARM GAS /tmp/ccYgfTud.s page 522 - - - 7938 007c 404D ldr r5, .L397+4 - 7939 007e 27A9 add r1, sp, #156 - 7940 0080 2846 mov r0, r5 - 7941 0082 FFF7FEFF bl LL_GPIO_Init - 7942 .LVL686: -1774:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 7943 .loc 1 1774 3 view .LVU2523 -1774:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; - 7944 .loc 1 1774 23 is_stmt 0 view .LVU2524 - 7945 0086 4FF48063 mov r3, #1024 - 7946 008a 2793 str r3, [sp, #156] -1775:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 7947 .loc 1 1775 3 is_stmt 1 view .LVU2525 -1775:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; - 7948 .loc 1 1775 24 is_stmt 0 view .LVU2526 - 7949 008c CDF8A080 str r8, [sp, #160] -1776:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 7950 .loc 1 1776 3 is_stmt 1 view .LVU2527 -1776:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - 7951 .loc 1 1776 25 is_stmt 0 view .LVU2528 - 7952 0090 2997 str r7, [sp, #164] -1777:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 7953 .loc 1 1777 3 is_stmt 1 view .LVU2529 -1777:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; - 7954 .loc 1 1777 30 is_stmt 0 view .LVU2530 - 7955 0092 2A94 str r4, [sp, #168] -1778:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_7; - 7956 .loc 1 1778 3 is_stmt 1 view .LVU2531 -1778:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_7; - 7957 .loc 1 1778 24 is_stmt 0 view .LVU2532 - 7958 0094 2B94 str r4, [sp, #172] -1779:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 7959 .loc 1 1779 3 is_stmt 1 view .LVU2533 -1779:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); - 7960 .loc 1 1779 29 is_stmt 0 view .LVU2534 - 7961 0096 2C96 str r6, [sp, #176] -1780:Src/main.c **** - 7962 .loc 1 1780 3 is_stmt 1 view .LVU2535 - 7963 0098 27A9 add r1, sp, #156 - 7964 009a 2846 mov r0, r5 - 7965 009c FFF7FEFF bl LL_GPIO_Init - 7966 .LVL687: -1785:Src/main.c **** - 7967 .loc 1 1785 3 view .LVU2536 - 7968 .LBB590: - 7969 .LBI590: -1032:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 7970 .loc 6 1032 22 view .LVU2537 - 7971 .LBB591: -1034:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 7972 .loc 6 1034 3 view .LVU2538 - 7973 00a0 384B ldr r3, .L397+8 - 7974 00a2 D3F8B820 ldr r2, [r3, #184] - 7975 00a6 22F0F052 bic r2, r2, #503316480 - 7976 00aa 42F00062 orr r2, r2, #134217728 - 7977 00ae C3F8B820 str r2, [r3, #184] - 7978 .LVL688: - ARM GAS /tmp/ccYgfTud.s page 523 - - -1034:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 7979 .loc 6 1034 3 is_stmt 0 view .LVU2539 - 7980 .LBE591: - 7981 .LBE590: -1787:Src/main.c **** - 7982 .loc 1 1787 3 is_stmt 1 view .LVU2540 - 7983 .LBB592: - 7984 .LBI592: - 598:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 7985 .loc 6 598 22 view .LVU2541 - 7986 .LBB593: - 600:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 7987 .loc 6 600 3 view .LVU2542 - 7988 00b2 D3F8B820 ldr r2, [r3, #184] - 7989 00b6 22F0C002 bic r2, r2, #192 - 7990 00ba 42F04002 orr r2, r2, #64 - 7991 00be C3F8B820 str r2, [r3, #184] - 7992 .LVL689: - 600:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 7993 .loc 6 600 3 is_stmt 0 view .LVU2543 - 7994 .LBE593: - 7995 .LBE592: -1789:Src/main.c **** - 7996 .loc 1 1789 3 is_stmt 1 view .LVU2544 - 7997 .LBB594: - 7998 .LBI594: - 924:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 7999 .loc 6 924 22 view .LVU2545 - 8000 .LBB595: - 926:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 8001 .loc 6 926 3 view .LVU2546 - 8002 00c2 D3F8B820 ldr r2, [r3, #184] - 8003 00c6 42F44032 orr r2, r2, #196608 - 8004 00ca C3F8B820 str r2, [r3, #184] - 8005 .LVL690: - 926:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 8006 .loc 6 926 3 is_stmt 0 view .LVU2547 - 8007 .LBE595: - 8008 .LBE594: -1791:Src/main.c **** - 8009 .loc 1 1791 3 is_stmt 1 view .LVU2548 - 8010 .LBB596: - 8011 .LBI596: - 646:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 8012 .loc 6 646 22 view .LVU2549 - 8013 .LBB597: - 648:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 8014 .loc 6 648 3 view .LVU2550 - 8015 00ce D3F8B820 ldr r2, [r3, #184] - 8016 00d2 22F49072 bic r2, r2, #288 - 8017 00d6 C3F8B820 str r2, [r3, #184] - 8018 .LVL691: - 648:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 8019 .loc 6 648 3 is_stmt 0 view .LVU2551 - 8020 .LBE597: - 8021 .LBE596: -1793:Src/main.c **** - ARM GAS /tmp/ccYgfTud.s page 524 - - - 8022 .loc 1 1793 3 is_stmt 1 view .LVU2552 - 8023 .LBB598: - 8024 .LBI598: - 693:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 8025 .loc 6 693 22 view .LVU2553 - 8026 .LBB599: - 695:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 8027 .loc 6 695 3 view .LVU2554 - 8028 00da D3F8B820 ldr r2, [r3, #184] - 8029 00de 22F40072 bic r2, r2, #512 - 8030 00e2 C3F8B820 str r2, [r3, #184] - 8031 .LVL692: - 695:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 8032 .loc 6 695 3 is_stmt 0 view .LVU2555 - 8033 .LBE599: - 8034 .LBE598: -1795:Src/main.c **** - 8035 .loc 1 1795 3 is_stmt 1 view .LVU2556 - 8036 .LBB600: - 8037 .LBI600: - 738:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 8038 .loc 6 738 22 view .LVU2557 - 8039 .LBB601: - 740:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 8040 .loc 6 740 3 view .LVU2558 - 8041 00e6 D3F8B820 ldr r2, [r3, #184] - 8042 00ea 42F48062 orr r2, r2, #1024 - 8043 00ee C3F8B820 str r2, [r3, #184] - 8044 .LVL693: - 740:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 8045 .loc 6 740 3 is_stmt 0 view .LVU2559 - 8046 .LBE601: - 8047 .LBE600: -1797:Src/main.c **** - 8048 .loc 1 1797 3 is_stmt 1 view .LVU2560 - 8049 .LBB602: - 8050 .LBI602: - 784:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 8051 .loc 6 784 22 view .LVU2561 - 8052 .LBB603: - 786:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 8053 .loc 6 786 3 view .LVU2562 - 8054 00f2 D3F8B820 ldr r2, [r3, #184] - 8055 00f6 22F4C052 bic r2, r2, #6144 - 8056 00fa C3F8B820 str r2, [r3, #184] - 8057 .LVL694: - 786:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 8058 .loc 6 786 3 is_stmt 0 view .LVU2563 - 8059 .LBE603: - 8060 .LBE602: -1799:Src/main.c **** - 8061 .loc 1 1799 3 is_stmt 1 view .LVU2564 - 8062 .LBB604: - 8063 .LBI604: - 831:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 8064 .loc 6 831 22 view .LVU2565 - 8065 .LBB605: - ARM GAS /tmp/ccYgfTud.s page 525 - - - 833:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 8066 .loc 6 833 3 view .LVU2566 - 8067 00fe D3F8B820 ldr r2, [r3, #184] - 8068 0102 22F4C042 bic r2, r2, #24576 - 8069 0106 C3F8B820 str r2, [r3, #184] - 8070 .LVL695: - 833:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 8071 .loc 6 833 3 is_stmt 0 view .LVU2567 - 8072 .LBE605: - 8073 .LBE604: -1801:Src/main.c **** - 8074 .loc 1 1801 3 is_stmt 1 view .LVU2568 - 8075 .LBB606: - 8076 .LBI606: -1299:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { - 8077 .loc 6 1299 22 view .LVU2569 - 8078 .LBB607: -1301:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 8079 .loc 6 1301 3 view .LVU2570 - 8080 010a D3F8CC20 ldr r2, [r3, #204] - 8081 010e 22F00402 bic r2, r2, #4 - 8082 0112 C3F8CC20 str r2, [r3, #204] - 8083 .LVL696: -1301:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } - 8084 .loc 6 1301 3 is_stmt 0 view .LVU2571 - 8085 .LBE607: - 8086 .LBE606: -1804:Src/main.c **** NVIC_EnableIRQ(USART1_IRQn); - 8087 .loc 1 1804 3 is_stmt 1 view .LVU2572 - 8088 .LBB608: - 8089 .LBI608: -1884:Drivers/CMSIS/Include/core_cm7.h **** { - 8090 .loc 2 1884 26 view .LVU2573 - 8091 .LBB609: -1886:Drivers/CMSIS/Include/core_cm7.h **** } - 8092 .loc 2 1886 3 view .LVU2574 -1886:Drivers/CMSIS/Include/core_cm7.h **** } - 8093 .loc 2 1886 26 is_stmt 0 view .LVU2575 - 8094 0116 1C4B ldr r3, .L397+12 - 8095 0118 D868 ldr r0, [r3, #12] - 8096 .LBE609: - 8097 .LBE608: -1804:Src/main.c **** NVIC_EnableIRQ(USART1_IRQn); - 8098 .loc 1 1804 3 discriminator 1 view .LVU2576 - 8099 011a 2246 mov r2, r4 - 8100 011c 2146 mov r1, r4 - 8101 011e C0F30220 ubfx r0, r0, #8, #3 - 8102 0122 FFF7FEFF bl NVIC_EncodePriority - 8103 .LVL697: - 8104 .LBB610: - 8105 .LBI610: -2024:Drivers/CMSIS/Include/core_cm7.h **** { - 8106 .loc 2 2024 22 is_stmt 1 view .LVU2577 - 8107 .LBB611: -2026:Drivers/CMSIS/Include/core_cm7.h **** { - 8108 .loc 2 2026 3 view .LVU2578 -2028:Drivers/CMSIS/Include/core_cm7.h **** } - ARM GAS /tmp/ccYgfTud.s page 526 - - - 8109 .loc 2 2028 5 view .LVU2579 -2028:Drivers/CMSIS/Include/core_cm7.h **** } - 8110 .loc 2 2028 49 is_stmt 0 view .LVU2580 - 8111 0126 0001 lsls r0, r0, #4 - 8112 .LVL698: -2028:Drivers/CMSIS/Include/core_cm7.h **** } - 8113 .loc 2 2028 49 view .LVU2581 - 8114 0128 C0B2 uxtb r0, r0 -2028:Drivers/CMSIS/Include/core_cm7.h **** } - 8115 .loc 2 2028 47 view .LVU2582 - 8116 012a 184B ldr r3, .L397+16 - 8117 012c 83F82503 strb r0, [r3, #805] - 8118 .LVL699: -2028:Drivers/CMSIS/Include/core_cm7.h **** } - 8119 .loc 2 2028 47 view .LVU2583 - 8120 .LBE611: - 8121 .LBE610: -1805:Src/main.c **** - 8122 .loc 1 1805 3 is_stmt 1 view .LVU2584 - 8123 .LBB612: - 8124 .LBI612: -1896:Drivers/CMSIS/Include/core_cm7.h **** { - 8125 .loc 2 1896 22 view .LVU2585 - 8126 .LBB613: -1898:Drivers/CMSIS/Include/core_cm7.h **** { - 8127 .loc 2 1898 3 view .LVU2586 -1900:Drivers/CMSIS/Include/core_cm7.h **** } - 8128 .loc 2 1900 5 view .LVU2587 -1900:Drivers/CMSIS/Include/core_cm7.h **** } - 8129 .loc 2 1900 43 is_stmt 0 view .LVU2588 - 8130 0130 2022 movs r2, #32 - 8131 0132 5A60 str r2, [r3, #4] - 8132 .LVL700: -1900:Drivers/CMSIS/Include/core_cm7.h **** } - 8133 .loc 2 1900 43 view .LVU2589 - 8134 .LBE613: - 8135 .LBE612: -1810:Src/main.c **** USART_InitStruct.DataWidth = LL_USART_DATAWIDTH_8B; - 8136 .loc 1 1810 3 is_stmt 1 view .LVU2590 -1810:Src/main.c **** USART_InitStruct.DataWidth = LL_USART_DATAWIDTH_8B; - 8137 .loc 1 1810 29 is_stmt 0 view .LVU2591 - 8138 0134 4FF4E133 mov r3, #115200 - 8139 0138 2D93 str r3, [sp, #180] -1811:Src/main.c **** USART_InitStruct.StopBits = LL_USART_STOPBITS_1; - 8140 .loc 1 1811 3 is_stmt 1 view .LVU2592 -1811:Src/main.c **** USART_InitStruct.StopBits = LL_USART_STOPBITS_1; - 8141 .loc 1 1811 30 is_stmt 0 view .LVU2593 - 8142 013a 2E94 str r4, [sp, #184] -1812:Src/main.c **** USART_InitStruct.Parity = LL_USART_PARITY_NONE; - 8143 .loc 1 1812 3 is_stmt 1 view .LVU2594 -1812:Src/main.c **** USART_InitStruct.Parity = LL_USART_PARITY_NONE; - 8144 .loc 1 1812 29 is_stmt 0 view .LVU2595 - 8145 013c 2F94 str r4, [sp, #188] -1813:Src/main.c **** USART_InitStruct.TransferDirection = LL_USART_DIRECTION_TX_RX; - 8146 .loc 1 1813 3 is_stmt 1 view .LVU2596 -1813:Src/main.c **** USART_InitStruct.TransferDirection = LL_USART_DIRECTION_TX_RX; - 8147 .loc 1 1813 27 is_stmt 0 view .LVU2597 - ARM GAS /tmp/ccYgfTud.s page 527 - - - 8148 013e 3094 str r4, [sp, #192] -1814:Src/main.c **** USART_InitStruct.HardwareFlowControl = LL_USART_HWCONTROL_NONE; - 8149 .loc 1 1814 3 is_stmt 1 view .LVU2598 -1814:Src/main.c **** USART_InitStruct.HardwareFlowControl = LL_USART_HWCONTROL_NONE; - 8150 .loc 1 1814 38 is_stmt 0 view .LVU2599 - 8151 0140 0C23 movs r3, #12 - 8152 0142 3193 str r3, [sp, #196] -1815:Src/main.c **** USART_InitStruct.OverSampling = LL_USART_OVERSAMPLING_16; - 8153 .loc 1 1815 3 is_stmt 1 view .LVU2600 -1815:Src/main.c **** USART_InitStruct.OverSampling = LL_USART_OVERSAMPLING_16; - 8154 .loc 1 1815 40 is_stmt 0 view .LVU2601 - 8155 0144 3294 str r4, [sp, #200] -1816:Src/main.c **** LL_USART_Init(USART1, &USART_InitStruct); - 8156 .loc 1 1816 3 is_stmt 1 view .LVU2602 -1816:Src/main.c **** LL_USART_Init(USART1, &USART_InitStruct); - 8157 .loc 1 1816 33 is_stmt 0 view .LVU2603 - 8158 0146 3394 str r4, [sp, #204] -1817:Src/main.c **** LL_USART_ConfigAsyncMode(USART1); - 8159 .loc 1 1817 3 is_stmt 1 view .LVU2604 - 8160 0148 04F18044 add r4, r4, #1073741824 - 8161 014c 04F58834 add r4, r4, #69632 - 8162 0150 2DA9 add r1, sp, #180 - 8163 0152 2046 mov r0, r4 - 8164 0154 FFF7FEFF bl LL_USART_Init - 8165 .LVL701: -1818:Src/main.c **** LL_USART_Enable(USART1); - 8166 .loc 1 1818 3 view .LVU2605 - 8167 .LBB614: - 8168 .LBI614: -2320:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { - 8169 .loc 7 2320 22 view .LVU2606 - 8170 .LBB615: -2326:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** CLEAR_BIT(USARTx->CR3, (USART_CR3_SCEN | USART_CR3_IREN | USART_CR3_HDSEL)); - 8171 .loc 7 2326 3 view .LVU2607 - 8172 0158 6368 ldr r3, [r4, #4] - 8173 015a 23F49043 bic r3, r3, #18432 - 8174 015e 6360 str r3, [r4, #4] -2327:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 8175 .loc 7 2327 3 view .LVU2608 - 8176 0160 A368 ldr r3, [r4, #8] - 8177 0162 23F02A03 bic r3, r3, #42 - 8178 0166 A360 str r3, [r4, #8] - 8179 .LVL702: -2327:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 8180 .loc 7 2327 3 is_stmt 0 view .LVU2609 - 8181 .LBE615: - 8182 .LBE614: -1819:Src/main.c **** /* USER CODE BEGIN USART1_Init 2 */ - 8183 .loc 1 1819 3 is_stmt 1 view .LVU2610 - 8184 .LBB616: - 8185 .LBI616: - 560:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { - 8186 .loc 7 560 22 view .LVU2611 - 8187 .LBB617: - 562:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 8188 .loc 7 562 3 view .LVU2612 - 8189 0168 2368 ldr r3, [r4] - ARM GAS /tmp/ccYgfTud.s page 528 - - - 8190 016a 43F00103 orr r3, r3, #1 - 8191 016e 2360 str r3, [r4] - 8192 .LVL703: - 562:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 8193 .loc 7 562 3 is_stmt 0 view .LVU2613 - 8194 .LBE617: - 8195 .LBE616: -1824:Src/main.c **** - 8196 .loc 1 1824 1 view .LVU2614 - 8197 0170 34B0 add sp, sp, #208 - 8198 .LCFI75: - 8199 .cfi_remember_state - 8200 .cfi_def_cfa_offset 24 - 8201 @ sp needed - 8202 0172 BDE8F081 pop {r4, r5, r6, r7, r8, pc} - 8203 .L396: - 8204 .LCFI76: - 8205 .cfi_restore_state -1755:Src/main.c **** } - 8206 .loc 1 1755 5 is_stmt 1 view .LVU2615 - 8207 0176 FFF7FEFF bl Error_Handler - 8208 .LVL704: - 8209 .L398: - 8210 017a 00BF .align 2 - 8211 .L397: - 8212 017c 00380240 .word 1073887232 - 8213 0180 00000240 .word 1073872896 - 8214 0184 00640240 .word 1073898496 - 8215 0188 00ED00E0 .word -536810240 - 8216 018c 00E100E0 .word -536813312 - 8217 .cfi_endproc - 8218 .LFE1204: - 8220 .section .text.MX_TIM10_Init,"ax",%progbits - 8221 .align 1 - 8222 .syntax unified - 8223 .thumb - 8224 .thumb_func - 8226 MX_TIM10_Init: - 8227 .LFB1201: -1626:Src/main.c **** - 8228 .loc 1 1626 1 view -0 - 8229 .cfi_startproc - 8230 @ args = 0, pretend = 0, frame = 0 - 8231 @ frame_needed = 0, uses_anonymous_args = 0 - 8232 0000 08B5 push {r3, lr} - 8233 .LCFI77: - 8234 .cfi_def_cfa_offset 8 - 8235 .cfi_offset 3, -8 - 8236 .cfi_offset 14, -4 -1635:Src/main.c **** htim10.Init.Prescaler = 183; - 8237 .loc 1 1635 3 view .LVU2617 -1635:Src/main.c **** htim10.Init.Prescaler = 183; - 8238 .loc 1 1635 19 is_stmt 0 view .LVU2618 - 8239 0002 0848 ldr r0, .L403 - 8240 0004 084B ldr r3, .L403+4 - 8241 0006 0360 str r3, [r0] -1636:Src/main.c **** htim10.Init.CounterMode = TIM_COUNTERMODE_UP; - ARM GAS /tmp/ccYgfTud.s page 529 - - - 8242 .loc 1 1636 3 is_stmt 1 view .LVU2619 -1636:Src/main.c **** htim10.Init.CounterMode = TIM_COUNTERMODE_UP; - 8243 .loc 1 1636 25 is_stmt 0 view .LVU2620 - 8244 0008 B723 movs r3, #183 - 8245 000a 4360 str r3, [r0, #4] -1637:Src/main.c **** htim10.Init.Period = 9; - 8246 .loc 1 1637 3 is_stmt 1 view .LVU2621 -1637:Src/main.c **** htim10.Init.Period = 9; - 8247 .loc 1 1637 27 is_stmt 0 view .LVU2622 - 8248 000c 0023 movs r3, #0 - 8249 000e 8360 str r3, [r0, #8] -1638:Src/main.c **** htim10.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 8250 .loc 1 1638 3 is_stmt 1 view .LVU2623 -1638:Src/main.c **** htim10.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 8251 .loc 1 1638 22 is_stmt 0 view .LVU2624 - 8252 0010 0922 movs r2, #9 - 8253 0012 C260 str r2, [r0, #12] -1639:Src/main.c **** htim10.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - 8254 .loc 1 1639 3 is_stmt 1 view .LVU2625 -1639:Src/main.c **** htim10.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - 8255 .loc 1 1639 29 is_stmt 0 view .LVU2626 - 8256 0014 0361 str r3, [r0, #16] -1640:Src/main.c **** if (HAL_TIM_Base_Init(&htim10) != HAL_OK) - 8257 .loc 1 1640 3 is_stmt 1 view .LVU2627 -1640:Src/main.c **** if (HAL_TIM_Base_Init(&htim10) != HAL_OK) - 8258 .loc 1 1640 33 is_stmt 0 view .LVU2628 - 8259 0016 8361 str r3, [r0, #24] -1641:Src/main.c **** { - 8260 .loc 1 1641 3 is_stmt 1 view .LVU2629 -1641:Src/main.c **** { - 8261 .loc 1 1641 7 is_stmt 0 view .LVU2630 - 8262 0018 FFF7FEFF bl HAL_TIM_Base_Init - 8263 .LVL705: -1641:Src/main.c **** { - 8264 .loc 1 1641 6 discriminator 1 view .LVU2631 - 8265 001c 00B9 cbnz r0, .L402 -1649:Src/main.c **** - 8266 .loc 1 1649 1 view .LVU2632 - 8267 001e 08BD pop {r3, pc} - 8268 .L402: -1643:Src/main.c **** } - 8269 .loc 1 1643 5 is_stmt 1 view .LVU2633 - 8270 0020 FFF7FEFF bl Error_Handler - 8271 .LVL706: - 8272 .L404: - 8273 .align 2 - 8274 .L403: - 8275 0024 00000000 .word htim10 - 8276 0028 00440140 .word 1073824768 - 8277 .cfi_endproc - 8278 .LFE1201: - 8280 .section .text.MX_UART8_Init,"ax",%progbits - 8281 .align 1 - 8282 .syntax unified - 8283 .thumb - 8284 .thumb_func - 8286 MX_UART8_Init: - ARM GAS /tmp/ccYgfTud.s page 530 - - - 8287 .LFB1203: -1703:Src/main.c **** - 8288 .loc 1 1703 1 view -0 - 8289 .cfi_startproc + 8273 0038 00000000 .word u_tx_flg + 8274 003c 00640240 .word 1073898496 + 8275 .cfi_endproc + 8276 .LFE1231: + 8278 .section .text.Error_Handler,"ax",%progbits + 8279 .align 1 + 8280 .global Error_Handler + 8281 .syntax unified + 8282 .thumb + 8283 .thumb_func + 8285 Error_Handler: + 8286 .LFB1233: +3368:Src/main.c **** //------------------------------------------------------- +3369:Src/main.c **** /* USER CODE END 4 */ +3370:Src/main.c **** +3371:Src/main.c **** /** +3372:Src/main.c **** * @brief This function is executed in case of error occurrence. +3373:Src/main.c **** * @retval None +3374:Src/main.c **** */ +3375:Src/main.c **** void Error_Handler(void) +3376:Src/main.c **** { + 8287 .loc 1 3376 1 is_stmt 1 view -0 + 8288 .cfi_startproc + 8289 @ Volatile: function does not return. 8290 @ args = 0, pretend = 0, frame = 0 8291 @ frame_needed = 0, uses_anonymous_args = 0 - 8292 0000 08B5 push {r3, lr} - 8293 .LCFI78: - 8294 .cfi_def_cfa_offset 8 - 8295 .cfi_offset 3, -8 - 8296 .cfi_offset 14, -4 -1712:Src/main.c **** huart8.Init.BaudRate = 115200; - 8297 .loc 1 1712 3 view .LVU2635 -1712:Src/main.c **** huart8.Init.BaudRate = 115200; - 8298 .loc 1 1712 19 is_stmt 0 view .LVU2636 - 8299 0002 0B48 ldr r0, .L409 - 8300 0004 0B4B ldr r3, .L409+4 - 8301 0006 0360 str r3, [r0] -1713:Src/main.c **** huart8.Init.WordLength = UART_WORDLENGTH_8B; - 8302 .loc 1 1713 3 is_stmt 1 view .LVU2637 -1713:Src/main.c **** huart8.Init.WordLength = UART_WORDLENGTH_8B; - 8303 .loc 1 1713 24 is_stmt 0 view .LVU2638 - 8304 0008 4FF4E133 mov r3, #115200 - 8305 000c 4360 str r3, [r0, #4] -1714:Src/main.c **** huart8.Init.StopBits = UART_STOPBITS_1; - 8306 .loc 1 1714 3 is_stmt 1 view .LVU2639 -1714:Src/main.c **** huart8.Init.StopBits = UART_STOPBITS_1; - 8307 .loc 1 1714 26 is_stmt 0 view .LVU2640 - 8308 000e 0023 movs r3, #0 - 8309 0010 8360 str r3, [r0, #8] -1715:Src/main.c **** huart8.Init.Parity = UART_PARITY_NONE; - 8310 .loc 1 1715 3 is_stmt 1 view .LVU2641 -1715:Src/main.c **** huart8.Init.Parity = UART_PARITY_NONE; - 8311 .loc 1 1715 24 is_stmt 0 view .LVU2642 - 8312 0012 C360 str r3, [r0, #12] -1716:Src/main.c **** huart8.Init.Mode = UART_MODE_TX_RX; - 8313 .loc 1 1716 3 is_stmt 1 view .LVU2643 -1716:Src/main.c **** huart8.Init.Mode = UART_MODE_TX_RX; - 8314 .loc 1 1716 22 is_stmt 0 view .LVU2644 - 8315 0014 0361 str r3, [r0, #16] -1717:Src/main.c **** huart8.Init.HwFlowCtl = UART_HWCONTROL_NONE; - 8316 .loc 1 1717 3 is_stmt 1 view .LVU2645 -1717:Src/main.c **** huart8.Init.HwFlowCtl = UART_HWCONTROL_NONE; - 8317 .loc 1 1717 20 is_stmt 0 view .LVU2646 - 8318 0016 0C22 movs r2, #12 - 8319 0018 4261 str r2, [r0, #20] -1718:Src/main.c **** huart8.Init.OverSampling = UART_OVERSAMPLING_16; - 8320 .loc 1 1718 3 is_stmt 1 view .LVU2647 -1718:Src/main.c **** huart8.Init.OverSampling = UART_OVERSAMPLING_16; - 8321 .loc 1 1718 25 is_stmt 0 view .LVU2648 - 8322 001a 8361 str r3, [r0, #24] -1719:Src/main.c **** huart8.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; - 8323 .loc 1 1719 3 is_stmt 1 view .LVU2649 -1719:Src/main.c **** huart8.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; - 8324 .loc 1 1719 28 is_stmt 0 view .LVU2650 - 8325 001c C361 str r3, [r0, #28] -1720:Src/main.c **** huart8.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; - ARM GAS /tmp/ccYgfTud.s page 531 + 8292 @ link register save eliminated. +3377:Src/main.c **** /* USER CODE BEGIN Error_Handler_Debug */ +3378:Src/main.c **** /* User can add his own implementation to report the HAL error return state */ +3379:Src/main.c **** __disable_irq(); + 8293 .loc 1 3379 3 view .LVU2601 + 8294 .LBB600: + 8295 .LBI600: + 140:Drivers/CMSIS/Include/cmsis_gcc.h **** { + 8296 .loc 8 140 27 view .LVU2602 + 8297 .LBB601: + 142:Drivers/CMSIS/Include/cmsis_gcc.h **** } + 8298 .loc 8 142 3 view .LVU2603 + 8299 .syntax unified + 8300 @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 + 8301 0000 72B6 cpsid i + 8302 @ 0 "" 2 + 8303 .thumb + 8304 .syntax unified + 8305 .L447: + 8306 .LBE601: + 8307 .LBE600: +3380:Src/main.c **** while (1) + 8308 .loc 1 3380 3 view .LVU2604 +3381:Src/main.c **** { +3382:Src/main.c **** } + 8309 .loc 1 3382 3 view .LVU2605 +3380:Src/main.c **** while (1) + 8310 .loc 1 3380 9 view .LVU2606 + 8311 0002 FEE7 b .L447 + 8312 .cfi_endproc + 8313 .LFE1233: + ARM GAS /tmp/ccwR4KB7.s page 535 - 8326 .loc 1 1720 3 is_stmt 1 view .LVU2651 -1720:Src/main.c **** huart8.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; - 8327 .loc 1 1720 30 is_stmt 0 view .LVU2652 - 8328 001e 0362 str r3, [r0, #32] -1721:Src/main.c **** if (HAL_UART_Init(&huart8) != HAL_OK) - 8329 .loc 1 1721 3 is_stmt 1 view .LVU2653 -1721:Src/main.c **** if (HAL_UART_Init(&huart8) != HAL_OK) - 8330 .loc 1 1721 38 is_stmt 0 view .LVU2654 - 8331 0020 4362 str r3, [r0, #36] -1722:Src/main.c **** { - 8332 .loc 1 1722 3 is_stmt 1 view .LVU2655 -1722:Src/main.c **** { - 8333 .loc 1 1722 7 is_stmt 0 view .LVU2656 - 8334 0022 FFF7FEFF bl HAL_UART_Init - 8335 .LVL707: -1722:Src/main.c **** { - 8336 .loc 1 1722 6 discriminator 1 view .LVU2657 - 8337 0026 00B9 cbnz r0, .L408 -1730:Src/main.c **** - 8338 .loc 1 1730 1 view .LVU2658 - 8339 0028 08BD pop {r3, pc} - 8340 .L408: -1724:Src/main.c **** } - 8341 .loc 1 1724 5 is_stmt 1 view .LVU2659 - 8342 002a FFF7FEFF bl Error_Handler - 8343 .LVL708: - 8344 .L410: - 8345 002e 00BF .align 2 - 8346 .L409: - 8347 0030 00000000 .word huart8 - 8348 0034 007C0040 .word 1073773568 - 8349 .cfi_endproc - 8350 .LFE1203: - 8352 .section .text.MX_TIM8_Init,"ax",%progbits - 8353 .align 1 - 8354 .syntax unified - 8355 .thumb - 8356 .thumb_func - 8358 MX_TIM8_Init: - 8359 .LFB1200: -1579:Src/main.c **** - 8360 .loc 1 1579 1 view -0 - 8361 .cfi_startproc - 8362 @ args = 0, pretend = 0, frame = 32 - 8363 @ frame_needed = 0, uses_anonymous_args = 0 - 8364 0000 00B5 push {lr} - 8365 .LCFI79: - 8366 .cfi_def_cfa_offset 4 - 8367 .cfi_offset 14, -4 - 8368 0002 89B0 sub sp, sp, #36 - 8369 .LCFI80: - 8370 .cfi_def_cfa_offset 40 -1585:Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0}; - 8371 .loc 1 1585 3 view .LVU2661 -1585:Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0}; - 8372 .loc 1 1585 26 is_stmt 0 view .LVU2662 - 8373 0004 0023 movs r3, #0 - ARM GAS /tmp/ccYgfTud.s page 532 + 8315 .section .text.MX_ADC1_Init,"ax",%progbits + 8316 .align 1 + 8317 .syntax unified + 8318 .thumb + 8319 .thumb_func + 8321 MX_ADC1_Init: + 8322 .LFB1188: + 989:Src/main.c **** + 8323 .loc 1 989 1 view -0 + 8324 .cfi_startproc + 8325 @ args = 0, pretend = 0, frame = 16 + 8326 @ frame_needed = 0, uses_anonymous_args = 0 + 8327 0000 00B5 push {lr} + 8328 .LCFI74: + 8329 .cfi_def_cfa_offset 4 + 8330 .cfi_offset 14, -4 + 8331 0002 85B0 sub sp, sp, #20 + 8332 .LCFI75: + 8333 .cfi_def_cfa_offset 24 + 995:Src/main.c **** + 8334 .loc 1 995 3 view .LVU2608 + 995:Src/main.c **** + 8335 .loc 1 995 26 is_stmt 0 view .LVU2609 + 8336 0004 0023 movs r3, #0 + 8337 0006 0093 str r3, [sp] + 8338 0008 0193 str r3, [sp, #4] + 8339 000a 0293 str r3, [sp, #8] + 8340 000c 0393 str r3, [sp, #12] +1003:Src/main.c **** hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV8; + 8341 .loc 1 1003 3 is_stmt 1 view .LVU2610 +1003:Src/main.c **** hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV8; + 8342 .loc 1 1003 18 is_stmt 0 view .LVU2611 + 8343 000e 2B48 ldr r0, .L462 + 8344 0010 2B4A ldr r2, .L462+4 + 8345 0012 0260 str r2, [r0] +1004:Src/main.c **** hadc1.Init.Resolution = ADC_RESOLUTION_12B; + 8346 .loc 1 1004 3 is_stmt 1 view .LVU2612 +1004:Src/main.c **** hadc1.Init.Resolution = ADC_RESOLUTION_12B; + 8347 .loc 1 1004 29 is_stmt 0 view .LVU2613 + 8348 0014 4FF44032 mov r2, #196608 + 8349 0018 4260 str r2, [r0, #4] +1005:Src/main.c **** hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE; + 8350 .loc 1 1005 3 is_stmt 1 view .LVU2614 +1005:Src/main.c **** hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE; + 8351 .loc 1 1005 25 is_stmt 0 view .LVU2615 + 8352 001a 8360 str r3, [r0, #8] +1006:Src/main.c **** hadc1.Init.ContinuousConvMode = DISABLE; + 8353 .loc 1 1006 3 is_stmt 1 view .LVU2616 +1006:Src/main.c **** hadc1.Init.ContinuousConvMode = DISABLE; + 8354 .loc 1 1006 27 is_stmt 0 view .LVU2617 + 8355 001c 0122 movs r2, #1 + 8356 001e 0261 str r2, [r0, #16] +1007:Src/main.c **** hadc1.Init.DiscontinuousConvMode = DISABLE; + 8357 .loc 1 1007 3 is_stmt 1 view .LVU2618 +1007:Src/main.c **** hadc1.Init.DiscontinuousConvMode = DISABLE; + 8358 .loc 1 1007 33 is_stmt 0 view .LVU2619 + 8359 0020 8361 str r3, [r0, #24] + ARM GAS /tmp/ccwR4KB7.s page 536 - 8374 0006 0493 str r3, [sp, #16] - 8375 0008 0593 str r3, [sp, #20] - 8376 000a 0693 str r3, [sp, #24] - 8377 000c 0793 str r3, [sp, #28] -1586:Src/main.c **** - 8378 .loc 1 1586 3 is_stmt 1 view .LVU2663 -1586:Src/main.c **** - 8379 .loc 1 1586 27 is_stmt 0 view .LVU2664 - 8380 000e 0193 str r3, [sp, #4] - 8381 0010 0293 str r3, [sp, #8] - 8382 0012 0393 str r3, [sp, #12] -1591:Src/main.c **** htim8.Init.Prescaler = 0; - 8383 .loc 1 1591 3 is_stmt 1 view .LVU2665 -1591:Src/main.c **** htim8.Init.Prescaler = 0; - 8384 .loc 1 1591 18 is_stmt 0 view .LVU2666 - 8385 0014 1348 ldr r0, .L419 - 8386 0016 144A ldr r2, .L419+4 - 8387 0018 0260 str r2, [r0] -1592:Src/main.c **** htim8.Init.CounterMode = TIM_COUNTERMODE_UP; - 8388 .loc 1 1592 3 is_stmt 1 view .LVU2667 -1592:Src/main.c **** htim8.Init.CounterMode = TIM_COUNTERMODE_UP; - 8389 .loc 1 1592 24 is_stmt 0 view .LVU2668 - 8390 001a 4360 str r3, [r0, #4] -1593:Src/main.c **** htim8.Init.Period = 91; - 8391 .loc 1 1593 3 is_stmt 1 view .LVU2669 -1593:Src/main.c **** htim8.Init.Period = 91; - 8392 .loc 1 1593 26 is_stmt 0 view .LVU2670 - 8393 001c 8360 str r3, [r0, #8] -1594:Src/main.c **** htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 8394 .loc 1 1594 3 is_stmt 1 view .LVU2671 -1594:Src/main.c **** htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 8395 .loc 1 1594 21 is_stmt 0 view .LVU2672 - 8396 001e 5B22 movs r2, #91 - 8397 0020 C260 str r2, [r0, #12] -1595:Src/main.c **** htim8.Init.RepetitionCounter = 0; - 8398 .loc 1 1595 3 is_stmt 1 view .LVU2673 -1595:Src/main.c **** htim8.Init.RepetitionCounter = 0; - 8399 .loc 1 1595 28 is_stmt 0 view .LVU2674 - 8400 0022 0361 str r3, [r0, #16] -1596:Src/main.c **** htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - 8401 .loc 1 1596 3 is_stmt 1 view .LVU2675 -1596:Src/main.c **** htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - 8402 .loc 1 1596 32 is_stmt 0 view .LVU2676 - 8403 0024 4361 str r3, [r0, #20] -1597:Src/main.c **** if (HAL_TIM_Base_Init(&htim8) != HAL_OK) - 8404 .loc 1 1597 3 is_stmt 1 view .LVU2677 -1597:Src/main.c **** if (HAL_TIM_Base_Init(&htim8) != HAL_OK) - 8405 .loc 1 1597 32 is_stmt 0 view .LVU2678 - 8406 0026 8361 str r3, [r0, #24] -1598:Src/main.c **** { - 8407 .loc 1 1598 3 is_stmt 1 view .LVU2679 -1598:Src/main.c **** { - 8408 .loc 1 1598 7 is_stmt 0 view .LVU2680 - 8409 0028 FFF7FEFF bl HAL_TIM_Base_Init - 8410 .LVL709: -1598:Src/main.c **** { - 8411 .loc 1 1598 6 discriminator 1 view .LVU2681 - ARM GAS /tmp/ccYgfTud.s page 533 +1008:Src/main.c **** hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; + 8360 .loc 1 1008 3 is_stmt 1 view .LVU2620 +1008:Src/main.c **** hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; + 8361 .loc 1 1008 36 is_stmt 0 view .LVU2621 + 8362 0022 80F82030 strb r3, [r0, #32] +1009:Src/main.c **** hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; + 8363 .loc 1 1009 3 is_stmt 1 view .LVU2622 +1009:Src/main.c **** hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; + 8364 .loc 1 1009 35 is_stmt 0 view .LVU2623 + 8365 0026 C362 str r3, [r0, #44] +1010:Src/main.c **** hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; + 8366 .loc 1 1010 3 is_stmt 1 view .LVU2624 +1010:Src/main.c **** hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; + 8367 .loc 1 1010 31 is_stmt 0 view .LVU2625 + 8368 0028 2649 ldr r1, .L462+8 + 8369 002a 8162 str r1, [r0, #40] +1011:Src/main.c **** hadc1.Init.NbrOfConversion = 5; + 8370 .loc 1 1011 3 is_stmt 1 view .LVU2626 +1011:Src/main.c **** hadc1.Init.NbrOfConversion = 5; + 8371 .loc 1 1011 24 is_stmt 0 view .LVU2627 + 8372 002c C360 str r3, [r0, #12] +1012:Src/main.c **** hadc1.Init.DMAContinuousRequests = DISABLE; + 8373 .loc 1 1012 3 is_stmt 1 view .LVU2628 +1012:Src/main.c **** hadc1.Init.DMAContinuousRequests = DISABLE; + 8374 .loc 1 1012 30 is_stmt 0 view .LVU2629 + 8375 002e 0521 movs r1, #5 + 8376 0030 C161 str r1, [r0, #28] +1013:Src/main.c **** hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; + 8377 .loc 1 1013 3 is_stmt 1 view .LVU2630 +1013:Src/main.c **** hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; + 8378 .loc 1 1013 36 is_stmt 0 view .LVU2631 + 8379 0032 80F83030 strb r3, [r0, #48] +1014:Src/main.c **** if (HAL_ADC_Init(&hadc1) != HAL_OK) + 8380 .loc 1 1014 3 is_stmt 1 view .LVU2632 +1014:Src/main.c **** if (HAL_ADC_Init(&hadc1) != HAL_OK) + 8381 .loc 1 1014 27 is_stmt 0 view .LVU2633 + 8382 0036 4261 str r2, [r0, #20] +1015:Src/main.c **** { + 8383 .loc 1 1015 3 is_stmt 1 view .LVU2634 +1015:Src/main.c **** { + 8384 .loc 1 1015 7 is_stmt 0 view .LVU2635 + 8385 0038 FFF7FEFF bl HAL_ADC_Init + 8386 .LVL783: +1015:Src/main.c **** { + 8387 .loc 1 1015 6 discriminator 1 view .LVU2636 + 8388 003c 0028 cmp r0, #0 + 8389 003e 31D1 bne .L456 +1022:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_1; + 8390 .loc 1 1022 3 is_stmt 1 view .LVU2637 +1022:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_1; + 8391 .loc 1 1022 19 is_stmt 0 view .LVU2638 + 8392 0040 0923 movs r3, #9 + 8393 0042 0093 str r3, [sp] +1023:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; + 8394 .loc 1 1023 3 is_stmt 1 view .LVU2639 +1023:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; + 8395 .loc 1 1023 16 is_stmt 0 view .LVU2640 + ARM GAS /tmp/ccwR4KB7.s page 537 - 8412 002c 98B9 cbnz r0, .L416 -1602:Src/main.c **** if (HAL_TIM_ConfigClockSource(&htim8, &sClockSourceConfig) != HAL_OK) - 8413 .loc 1 1602 3 is_stmt 1 view .LVU2682 -1602:Src/main.c **** if (HAL_TIM_ConfigClockSource(&htim8, &sClockSourceConfig) != HAL_OK) - 8414 .loc 1 1602 34 is_stmt 0 view .LVU2683 - 8415 002e 4FF48053 mov r3, #4096 - 8416 0032 0493 str r3, [sp, #16] -1603:Src/main.c **** { - 8417 .loc 1 1603 3 is_stmt 1 view .LVU2684 -1603:Src/main.c **** { - 8418 .loc 1 1603 7 is_stmt 0 view .LVU2685 - 8419 0034 04A9 add r1, sp, #16 - 8420 0036 0B48 ldr r0, .L419 - 8421 0038 FFF7FEFF bl HAL_TIM_ConfigClockSource - 8422 .LVL710: -1603:Src/main.c **** { - 8423 .loc 1 1603 6 discriminator 1 view .LVU2686 - 8424 003c 68B9 cbnz r0, .L417 -1607:Src/main.c **** sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET; - 8425 .loc 1 1607 3 is_stmt 1 view .LVU2687 -1607:Src/main.c **** sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET; - 8426 .loc 1 1607 37 is_stmt 0 view .LVU2688 - 8427 003e 0023 movs r3, #0 - 8428 0040 0193 str r3, [sp, #4] -1608:Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - 8429 .loc 1 1608 3 is_stmt 1 view .LVU2689 -1608:Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - 8430 .loc 1 1608 38 is_stmt 0 view .LVU2690 - 8431 0042 0293 str r3, [sp, #8] -1609:Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK) - 8432 .loc 1 1609 3 is_stmt 1 view .LVU2691 -1609:Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK) - 8433 .loc 1 1609 33 is_stmt 0 view .LVU2692 - 8434 0044 0393 str r3, [sp, #12] -1610:Src/main.c **** { - 8435 .loc 1 1610 3 is_stmt 1 view .LVU2693 -1610:Src/main.c **** { - 8436 .loc 1 1610 7 is_stmt 0 view .LVU2694 - 8437 0046 01A9 add r1, sp, #4 - 8438 0048 0648 ldr r0, .L419 - 8439 004a FFF7FEFF bl HAL_TIMEx_MasterConfigSynchronization - 8440 .LVL711: -1610:Src/main.c **** { - 8441 .loc 1 1610 6 discriminator 1 view .LVU2695 - 8442 004e 30B9 cbnz r0, .L418 -1618:Src/main.c **** - 8443 .loc 1 1618 1 view .LVU2696 - 8444 0050 09B0 add sp, sp, #36 - 8445 .LCFI81: - 8446 .cfi_remember_state - 8447 .cfi_def_cfa_offset 4 - 8448 @ sp needed - 8449 0052 5DF804FB ldr pc, [sp], #4 - 8450 .L416: - 8451 .LCFI82: - 8452 .cfi_restore_state -1600:Src/main.c **** } - ARM GAS /tmp/ccYgfTud.s page 534 + 8396 0044 0123 movs r3, #1 + 8397 0046 0193 str r3, [sp, #4] +1024:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + 8398 .loc 1 1024 3 is_stmt 1 view .LVU2641 +1024:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + 8399 .loc 1 1024 24 is_stmt 0 view .LVU2642 + 8400 0048 0723 movs r3, #7 + 8401 004a 0293 str r3, [sp, #8] +1025:Src/main.c **** { + 8402 .loc 1 1025 3 is_stmt 1 view .LVU2643 +1025:Src/main.c **** { + 8403 .loc 1 1025 7 is_stmt 0 view .LVU2644 + 8404 004c 6946 mov r1, sp + 8405 004e 1B48 ldr r0, .L462 + 8406 0050 FFF7FEFF bl HAL_ADC_ConfigChannel + 8407 .LVL784: +1025:Src/main.c **** { + 8408 .loc 1 1025 6 discriminator 1 view .LVU2645 + 8409 0054 40BB cbnz r0, .L457 +1032:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_2; + 8410 .loc 1 1032 3 is_stmt 1 view .LVU2646 +1032:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_2; + 8411 .loc 1 1032 19 is_stmt 0 view .LVU2647 + 8412 0056 0823 movs r3, #8 + 8413 0058 0093 str r3, [sp] +1033:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + 8414 .loc 1 1033 3 is_stmt 1 view .LVU2648 +1033:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + 8415 .loc 1 1033 16 is_stmt 0 view .LVU2649 + 8416 005a 0223 movs r3, #2 + 8417 005c 0193 str r3, [sp, #4] +1034:Src/main.c **** { + 8418 .loc 1 1034 3 is_stmt 1 view .LVU2650 +1034:Src/main.c **** { + 8419 .loc 1 1034 7 is_stmt 0 view .LVU2651 + 8420 005e 6946 mov r1, sp + 8421 0060 1648 ldr r0, .L462 + 8422 0062 FFF7FEFF bl HAL_ADC_ConfigChannel + 8423 .LVL785: +1034:Src/main.c **** { + 8424 .loc 1 1034 6 discriminator 1 view .LVU2652 + 8425 0066 08BB cbnz r0, .L458 +1041:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_3; + 8426 .loc 1 1041 3 is_stmt 1 view .LVU2653 +1041:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_3; + 8427 .loc 1 1041 19 is_stmt 0 view .LVU2654 + 8428 0068 0223 movs r3, #2 + 8429 006a 0093 str r3, [sp] +1042:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + 8430 .loc 1 1042 3 is_stmt 1 view .LVU2655 +1042:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + 8431 .loc 1 1042 16 is_stmt 0 view .LVU2656 + 8432 006c 0323 movs r3, #3 + 8433 006e 0193 str r3, [sp, #4] +1043:Src/main.c **** { + 8434 .loc 1 1043 3 is_stmt 1 view .LVU2657 +1043:Src/main.c **** { + ARM GAS /tmp/ccwR4KB7.s page 538 - 8453 .loc 1 1600 5 is_stmt 1 view .LVU2697 - 8454 0056 FFF7FEFF bl Error_Handler - 8455 .LVL712: - 8456 .L417: -1605:Src/main.c **** } - 8457 .loc 1 1605 5 view .LVU2698 - 8458 005a FFF7FEFF bl Error_Handler - 8459 .LVL713: - 8460 .L418: -1612:Src/main.c **** } - 8461 .loc 1 1612 5 view .LVU2699 - 8462 005e FFF7FEFF bl Error_Handler - 8463 .LVL714: - 8464 .L420: - 8465 0062 00BF .align 2 - 8466 .L419: - 8467 0064 00000000 .word htim8 - 8468 0068 00040140 .word 1073808384 - 8469 .cfi_endproc - 8470 .LFE1200: - 8472 .section .text.MX_TIM11_Init,"ax",%progbits - 8473 .align 1 - 8474 .syntax unified - 8475 .thumb - 8476 .thumb_func - 8478 MX_TIM11_Init: - 8479 .LFB1202: -1657:Src/main.c **** - 8480 .loc 1 1657 1 view -0 - 8481 .cfi_startproc - 8482 @ args = 0, pretend = 0, frame = 32 - 8483 @ frame_needed = 0, uses_anonymous_args = 0 - 8484 0000 00B5 push {lr} - 8485 .LCFI83: - 8486 .cfi_def_cfa_offset 4 - 8487 .cfi_offset 14, -4 - 8488 0002 89B0 sub sp, sp, #36 - 8489 .LCFI84: - 8490 .cfi_def_cfa_offset 40 -1663:Src/main.c **** - 8491 .loc 1 1663 3 view .LVU2701 -1663:Src/main.c **** - 8492 .loc 1 1663 22 is_stmt 0 view .LVU2702 - 8493 0004 0023 movs r3, #0 - 8494 0006 0193 str r3, [sp, #4] - 8495 0008 0293 str r3, [sp, #8] - 8496 000a 0393 str r3, [sp, #12] - 8497 000c 0493 str r3, [sp, #16] - 8498 000e 0593 str r3, [sp, #20] - 8499 0010 0693 str r3, [sp, #24] - 8500 0012 0793 str r3, [sp, #28] -1668:Src/main.c **** htim11.Init.Prescaler = 1; - 8501 .loc 1 1668 3 is_stmt 1 view .LVU2703 -1668:Src/main.c **** htim11.Init.Prescaler = 1; - 8502 .loc 1 1668 19 is_stmt 0 view .LVU2704 - 8503 0014 1448 ldr r0, .L429 - 8504 0016 154A ldr r2, .L429+4 - ARM GAS /tmp/ccYgfTud.s page 535 + 8435 .loc 1 1043 7 is_stmt 0 view .LVU2658 + 8436 0070 6946 mov r1, sp + 8437 0072 1248 ldr r0, .L462 + 8438 0074 FFF7FEFF bl HAL_ADC_ConfigChannel + 8439 .LVL786: +1043:Src/main.c **** { + 8440 .loc 1 1043 6 discriminator 1 view .LVU2659 + 8441 0078 D0B9 cbnz r0, .L459 +1050:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_4; + 8442 .loc 1 1050 3 is_stmt 1 view .LVU2660 +1050:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_4; + 8443 .loc 1 1050 19 is_stmt 0 view .LVU2661 + 8444 007a 0A23 movs r3, #10 + 8445 007c 0093 str r3, [sp] +1051:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + 8446 .loc 1 1051 3 is_stmt 1 view .LVU2662 +1051:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + 8447 .loc 1 1051 16 is_stmt 0 view .LVU2663 + 8448 007e 0423 movs r3, #4 + 8449 0080 0193 str r3, [sp, #4] +1052:Src/main.c **** { + 8450 .loc 1 1052 3 is_stmt 1 view .LVU2664 +1052:Src/main.c **** { + 8451 .loc 1 1052 7 is_stmt 0 view .LVU2665 + 8452 0082 6946 mov r1, sp + 8453 0084 0D48 ldr r0, .L462 + 8454 0086 FFF7FEFF bl HAL_ADC_ConfigChannel + 8455 .LVL787: +1052:Src/main.c **** { + 8456 .loc 1 1052 6 discriminator 1 view .LVU2666 + 8457 008a 98B9 cbnz r0, .L460 +1059:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_5; + 8458 .loc 1 1059 3 is_stmt 1 view .LVU2667 +1059:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_5; + 8459 .loc 1 1059 19 is_stmt 0 view .LVU2668 + 8460 008c 0B23 movs r3, #11 + 8461 008e 0093 str r3, [sp] +1060:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + 8462 .loc 1 1060 3 is_stmt 1 view .LVU2669 +1060:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + 8463 .loc 1 1060 16 is_stmt 0 view .LVU2670 + 8464 0090 0523 movs r3, #5 + 8465 0092 0193 str r3, [sp, #4] +1061:Src/main.c **** { + 8466 .loc 1 1061 3 is_stmt 1 view .LVU2671 +1061:Src/main.c **** { + 8467 .loc 1 1061 7 is_stmt 0 view .LVU2672 + 8468 0094 6946 mov r1, sp + 8469 0096 0948 ldr r0, .L462 + 8470 0098 FFF7FEFF bl HAL_ADC_ConfigChannel + 8471 .LVL788: +1061:Src/main.c **** { + 8472 .loc 1 1061 6 discriminator 1 view .LVU2673 + 8473 009c 60B9 cbnz r0, .L461 +1069:Src/main.c **** + 8474 .loc 1 1069 1 view .LVU2674 + 8475 009e 05B0 add sp, sp, #20 + ARM GAS /tmp/ccwR4KB7.s page 539 - 8505 0018 0260 str r2, [r0] -1669:Src/main.c **** htim11.Init.CounterMode = TIM_COUNTERMODE_UP; - 8506 .loc 1 1669 3 is_stmt 1 view .LVU2705 -1669:Src/main.c **** htim11.Init.CounterMode = TIM_COUNTERMODE_UP; - 8507 .loc 1 1669 25 is_stmt 0 view .LVU2706 - 8508 001a 0122 movs r2, #1 - 8509 001c 4260 str r2, [r0, #4] -1670:Src/main.c **** htim11.Init.Period = 91; - 8510 .loc 1 1670 3 is_stmt 1 view .LVU2707 -1670:Src/main.c **** htim11.Init.Period = 91; - 8511 .loc 1 1670 27 is_stmt 0 view .LVU2708 - 8512 001e 8360 str r3, [r0, #8] -1671:Src/main.c **** htim11.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 8513 .loc 1 1671 3 is_stmt 1 view .LVU2709 -1671:Src/main.c **** htim11.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 8514 .loc 1 1671 22 is_stmt 0 view .LVU2710 - 8515 0020 5B22 movs r2, #91 - 8516 0022 C260 str r2, [r0, #12] -1672:Src/main.c **** htim11.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; - 8517 .loc 1 1672 3 is_stmt 1 view .LVU2711 -1672:Src/main.c **** htim11.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; - 8518 .loc 1 1672 29 is_stmt 0 view .LVU2712 - 8519 0024 0361 str r3, [r0, #16] -1673:Src/main.c **** if (HAL_TIM_Base_Init(&htim11) != HAL_OK) - 8520 .loc 1 1673 3 is_stmt 1 view .LVU2713 -1673:Src/main.c **** if (HAL_TIM_Base_Init(&htim11) != HAL_OK) - 8521 .loc 1 1673 33 is_stmt 0 view .LVU2714 - 8522 0026 8023 movs r3, #128 - 8523 0028 8361 str r3, [r0, #24] -1674:Src/main.c **** { - 8524 .loc 1 1674 3 is_stmt 1 view .LVU2715 -1674:Src/main.c **** { - 8525 .loc 1 1674 7 is_stmt 0 view .LVU2716 - 8526 002a FFF7FEFF bl HAL_TIM_Base_Init - 8527 .LVL715: -1674:Src/main.c **** { - 8528 .loc 1 1674 6 discriminator 1 view .LVU2717 - 8529 002e A8B9 cbnz r0, .L426 -1678:Src/main.c **** { - 8530 .loc 1 1678 3 is_stmt 1 view .LVU2718 -1678:Src/main.c **** { - 8531 .loc 1 1678 7 is_stmt 0 view .LVU2719 - 8532 0030 0D48 ldr r0, .L429 - 8533 0032 FFF7FEFF bl HAL_TIM_PWM_Init - 8534 .LVL716: -1678:Src/main.c **** { - 8535 .loc 1 1678 6 discriminator 1 view .LVU2720 - 8536 0036 98B9 cbnz r0, .L427 -1682:Src/main.c **** sConfigOC.Pulse = 91; - 8537 .loc 1 1682 3 is_stmt 1 view .LVU2721 -1682:Src/main.c **** sConfigOC.Pulse = 91; - 8538 .loc 1 1682 20 is_stmt 0 view .LVU2722 - 8539 0038 6023 movs r3, #96 - 8540 003a 0193 str r3, [sp, #4] -1683:Src/main.c **** sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; - 8541 .loc 1 1683 3 is_stmt 1 view .LVU2723 -1683:Src/main.c **** sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; - ARM GAS /tmp/ccYgfTud.s page 536 + 8476 .LCFI76: + 8477 .cfi_remember_state + 8478 .cfi_def_cfa_offset 4 + 8479 @ sp needed + 8480 00a0 5DF804FB ldr pc, [sp], #4 + 8481 .L456: + 8482 .LCFI77: + 8483 .cfi_restore_state +1017:Src/main.c **** } + 8484 .loc 1 1017 5 is_stmt 1 view .LVU2675 + 8485 00a4 FFF7FEFF bl Error_Handler + 8486 .LVL789: + 8487 .L457: +1027:Src/main.c **** } + 8488 .loc 1 1027 5 view .LVU2676 + 8489 00a8 FFF7FEFF bl Error_Handler + 8490 .LVL790: + 8491 .L458: +1036:Src/main.c **** } + 8492 .loc 1 1036 5 view .LVU2677 + 8493 00ac FFF7FEFF bl Error_Handler + 8494 .LVL791: + 8495 .L459: +1045:Src/main.c **** } + 8496 .loc 1 1045 5 view .LVU2678 + 8497 00b0 FFF7FEFF bl Error_Handler + 8498 .LVL792: + 8499 .L460: +1054:Src/main.c **** } + 8500 .loc 1 1054 5 view .LVU2679 + 8501 00b4 FFF7FEFF bl Error_Handler + 8502 .LVL793: + 8503 .L461: +1063:Src/main.c **** } + 8504 .loc 1 1063 5 view .LVU2680 + 8505 00b8 FFF7FEFF bl Error_Handler + 8506 .LVL794: + 8507 .L463: + 8508 .align 2 + 8509 .L462: + 8510 00bc 00000000 .word hadc1 + 8511 00c0 00200140 .word 1073815552 + 8512 00c4 0100000F .word 251658241 + 8513 .cfi_endproc + 8514 .LFE1188: + 8516 .section .text.MX_ADC3_Init,"ax",%progbits + 8517 .align 1 + 8518 .syntax unified + 8519 .thumb + 8520 .thumb_func + 8522 MX_ADC3_Init: + 8523 .LFB1189: +1077:Src/main.c **** + 8524 .loc 1 1077 1 view -0 + 8525 .cfi_startproc + 8526 @ args = 0, pretend = 0, frame = 16 + 8527 @ frame_needed = 0, uses_anonymous_args = 0 + ARM GAS /tmp/ccwR4KB7.s page 540 - 8542 .loc 1 1683 19 is_stmt 0 view .LVU2724 - 8543 003c 5B23 movs r3, #91 - 8544 003e 0293 str r3, [sp, #8] -1684:Src/main.c **** sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; - 8545 .loc 1 1684 3 is_stmt 1 view .LVU2725 -1684:Src/main.c **** sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; - 8546 .loc 1 1684 24 is_stmt 0 view .LVU2726 - 8547 0040 0022 movs r2, #0 - 8548 0042 0392 str r2, [sp, #12] -1685:Src/main.c **** if (HAL_TIM_PWM_ConfigChannel(&htim11, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) - 8549 .loc 1 1685 3 is_stmt 1 view .LVU2727 -1685:Src/main.c **** if (HAL_TIM_PWM_ConfigChannel(&htim11, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) - 8550 .loc 1 1685 24 is_stmt 0 view .LVU2728 - 8551 0044 0592 str r2, [sp, #20] -1686:Src/main.c **** { - 8552 .loc 1 1686 3 is_stmt 1 view .LVU2729 -1686:Src/main.c **** { - 8553 .loc 1 1686 7 is_stmt 0 view .LVU2730 - 8554 0046 01A9 add r1, sp, #4 - 8555 0048 0748 ldr r0, .L429 - 8556 004a FFF7FEFF bl HAL_TIM_PWM_ConfigChannel - 8557 .LVL717: -1686:Src/main.c **** { - 8558 .loc 1 1686 6 discriminator 1 view .LVU2731 - 8559 004e 48B9 cbnz r0, .L428 -1693:Src/main.c **** - 8560 .loc 1 1693 3 is_stmt 1 view .LVU2732 - 8561 0050 0548 ldr r0, .L429 - 8562 0052 FFF7FEFF bl HAL_TIM_MspPostInit - 8563 .LVL718: -1695:Src/main.c **** - 8564 .loc 1 1695 1 is_stmt 0 view .LVU2733 - 8565 0056 09B0 add sp, sp, #36 - 8566 .LCFI85: - 8567 .cfi_remember_state - 8568 .cfi_def_cfa_offset 4 - 8569 @ sp needed - 8570 0058 5DF804FB ldr pc, [sp], #4 - 8571 .L426: - 8572 .LCFI86: - 8573 .cfi_restore_state -1676:Src/main.c **** } - 8574 .loc 1 1676 5 is_stmt 1 view .LVU2734 - 8575 005c FFF7FEFF bl Error_Handler - 8576 .LVL719: - 8577 .L427: -1680:Src/main.c **** } - 8578 .loc 1 1680 5 view .LVU2735 - 8579 0060 FFF7FEFF bl Error_Handler - 8580 .LVL720: - 8581 .L428: -1688:Src/main.c **** } - 8582 .loc 1 1688 5 view .LVU2736 - 8583 0064 FFF7FEFF bl Error_Handler - 8584 .LVL721: - 8585 .L430: - 8586 .align 2 - ARM GAS /tmp/ccYgfTud.s page 537 + 8528 0000 00B5 push {lr} + 8529 .LCFI78: + 8530 .cfi_def_cfa_offset 4 + 8531 .cfi_offset 14, -4 + 8532 0002 85B0 sub sp, sp, #20 + 8533 .LCFI79: + 8534 .cfi_def_cfa_offset 24 +1083:Src/main.c **** + 8535 .loc 1 1083 3 view .LVU2682 +1083:Src/main.c **** + 8536 .loc 1 1083 26 is_stmt 0 view .LVU2683 + 8537 0004 0023 movs r3, #0 + 8538 0006 0093 str r3, [sp] + 8539 0008 0193 str r3, [sp, #4] + 8540 000a 0293 str r3, [sp, #8] + 8541 000c 0393 str r3, [sp, #12] +1091:Src/main.c **** hadc3.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV8; + 8542 .loc 1 1091 3 is_stmt 1 view .LVU2684 +1091:Src/main.c **** hadc3.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV8; + 8543 .loc 1 1091 18 is_stmt 0 view .LVU2685 + 8544 000e 1448 ldr r0, .L470 + 8545 0010 144A ldr r2, .L470+4 + 8546 0012 0260 str r2, [r0] +1092:Src/main.c **** hadc3.Init.Resolution = ADC_RESOLUTION_12B; + 8547 .loc 1 1092 3 is_stmt 1 view .LVU2686 +1092:Src/main.c **** hadc3.Init.Resolution = ADC_RESOLUTION_12B; + 8548 .loc 1 1092 29 is_stmt 0 view .LVU2687 + 8549 0014 4FF44032 mov r2, #196608 + 8550 0018 4260 str r2, [r0, #4] +1093:Src/main.c **** hadc3.Init.ScanConvMode = ADC_SCAN_DISABLE; + 8551 .loc 1 1093 3 is_stmt 1 view .LVU2688 +1093:Src/main.c **** hadc3.Init.ScanConvMode = ADC_SCAN_DISABLE; + 8552 .loc 1 1093 25 is_stmt 0 view .LVU2689 + 8553 001a 8360 str r3, [r0, #8] +1094:Src/main.c **** hadc3.Init.ContinuousConvMode = DISABLE; + 8554 .loc 1 1094 3 is_stmt 1 view .LVU2690 +1094:Src/main.c **** hadc3.Init.ContinuousConvMode = DISABLE; + 8555 .loc 1 1094 27 is_stmt 0 view .LVU2691 + 8556 001c 0361 str r3, [r0, #16] +1095:Src/main.c **** hadc3.Init.DiscontinuousConvMode = DISABLE; + 8557 .loc 1 1095 3 is_stmt 1 view .LVU2692 +1095:Src/main.c **** hadc3.Init.DiscontinuousConvMode = DISABLE; + 8558 .loc 1 1095 33 is_stmt 0 view .LVU2693 + 8559 001e 8361 str r3, [r0, #24] +1096:Src/main.c **** hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; + 8560 .loc 1 1096 3 is_stmt 1 view .LVU2694 +1096:Src/main.c **** hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; + 8561 .loc 1 1096 36 is_stmt 0 view .LVU2695 + 8562 0020 80F82030 strb r3, [r0, #32] +1097:Src/main.c **** hadc3.Init.ExternalTrigConv = ADC_SOFTWARE_START; + 8563 .loc 1 1097 3 is_stmt 1 view .LVU2696 +1097:Src/main.c **** hadc3.Init.ExternalTrigConv = ADC_SOFTWARE_START; + 8564 .loc 1 1097 35 is_stmt 0 view .LVU2697 + 8565 0024 C362 str r3, [r0, #44] +1098:Src/main.c **** hadc3.Init.DataAlign = ADC_DATAALIGN_RIGHT; + 8566 .loc 1 1098 3 is_stmt 1 view .LVU2698 +1098:Src/main.c **** hadc3.Init.DataAlign = ADC_DATAALIGN_RIGHT; + ARM GAS /tmp/ccwR4KB7.s page 541 - 8587 .L429: - 8588 0068 00000000 .word htim11 - 8589 006c 00480140 .word 1073825792 - 8590 .cfi_endproc - 8591 .LFE1202: - 8593 .section .text.MX_TIM4_Init,"ax",%progbits - 8594 .align 1 - 8595 .syntax unified - 8596 .thumb - 8597 .thumb_func - 8599 MX_TIM4_Init: - 8600 .LFB1196: -1407:Src/main.c **** - 8601 .loc 1 1407 1 view -0 - 8602 .cfi_startproc - 8603 @ args = 0, pretend = 0, frame = 56 - 8604 @ frame_needed = 0, uses_anonymous_args = 0 - 8605 0000 00B5 push {lr} - 8606 .LCFI87: - 8607 .cfi_def_cfa_offset 4 - 8608 .cfi_offset 14, -4 - 8609 0002 8FB0 sub sp, sp, #60 - 8610 .LCFI88: - 8611 .cfi_def_cfa_offset 64 -1413:Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0}; - 8612 .loc 1 1413 3 view .LVU2738 -1413:Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0}; - 8613 .loc 1 1413 26 is_stmt 0 view .LVU2739 - 8614 0004 0023 movs r3, #0 - 8615 0006 0A93 str r3, [sp, #40] - 8616 0008 0B93 str r3, [sp, #44] - 8617 000a 0C93 str r3, [sp, #48] - 8618 000c 0D93 str r3, [sp, #52] -1414:Src/main.c **** TIM_OC_InitTypeDef sConfigOC = {0}; - 8619 .loc 1 1414 3 is_stmt 1 view .LVU2740 -1414:Src/main.c **** TIM_OC_InitTypeDef sConfigOC = {0}; - 8620 .loc 1 1414 27 is_stmt 0 view .LVU2741 - 8621 000e 0793 str r3, [sp, #28] - 8622 0010 0893 str r3, [sp, #32] - 8623 0012 0993 str r3, [sp, #36] -1415:Src/main.c **** - 8624 .loc 1 1415 3 is_stmt 1 view .LVU2742 -1415:Src/main.c **** - 8625 .loc 1 1415 22 is_stmt 0 view .LVU2743 - 8626 0014 0093 str r3, [sp] - 8627 0016 0193 str r3, [sp, #4] - 8628 0018 0293 str r3, [sp, #8] - 8629 001a 0393 str r3, [sp, #12] - 8630 001c 0493 str r3, [sp, #16] - 8631 001e 0593 str r3, [sp, #20] - 8632 0020 0693 str r3, [sp, #24] -1420:Src/main.c **** htim4.Init.Prescaler = 0; - 8633 .loc 1 1420 3 is_stmt 1 view .LVU2744 -1420:Src/main.c **** htim4.Init.Prescaler = 0; - 8634 .loc 1 1420 18 is_stmt 0 view .LVU2745 - 8635 0022 1E48 ldr r0, .L443 - 8636 0024 1E4A ldr r2, .L443+4 - ARM GAS /tmp/ccYgfTud.s page 538 + 8567 .loc 1 1098 31 is_stmt 0 view .LVU2699 + 8568 0026 104A ldr r2, .L470+8 + 8569 0028 8262 str r2, [r0, #40] +1099:Src/main.c **** hadc3.Init.NbrOfConversion = 1; + 8570 .loc 1 1099 3 is_stmt 1 view .LVU2700 +1099:Src/main.c **** hadc3.Init.NbrOfConversion = 1; + 8571 .loc 1 1099 24 is_stmt 0 view .LVU2701 + 8572 002a C360 str r3, [r0, #12] +1100:Src/main.c **** hadc3.Init.DMAContinuousRequests = DISABLE; + 8573 .loc 1 1100 3 is_stmt 1 view .LVU2702 +1100:Src/main.c **** hadc3.Init.DMAContinuousRequests = DISABLE; + 8574 .loc 1 1100 30 is_stmt 0 view .LVU2703 + 8575 002c 0122 movs r2, #1 + 8576 002e C261 str r2, [r0, #28] +1101:Src/main.c **** hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV; + 8577 .loc 1 1101 3 is_stmt 1 view .LVU2704 +1101:Src/main.c **** hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV; + 8578 .loc 1 1101 36 is_stmt 0 view .LVU2705 + 8579 0030 80F83030 strb r3, [r0, #48] +1102:Src/main.c **** if (HAL_ADC_Init(&hadc3) != HAL_OK) + 8580 .loc 1 1102 3 is_stmt 1 view .LVU2706 +1102:Src/main.c **** if (HAL_ADC_Init(&hadc3) != HAL_OK) + 8581 .loc 1 1102 27 is_stmt 0 view .LVU2707 + 8582 0034 4261 str r2, [r0, #20] +1103:Src/main.c **** { + 8583 .loc 1 1103 3 is_stmt 1 view .LVU2708 +1103:Src/main.c **** { + 8584 .loc 1 1103 7 is_stmt 0 view .LVU2709 + 8585 0036 FFF7FEFF bl HAL_ADC_Init + 8586 .LVL795: +1103:Src/main.c **** { + 8587 .loc 1 1103 6 discriminator 1 view .LVU2710 + 8588 003a 68B9 cbnz r0, .L468 +1110:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_1; + 8589 .loc 1 1110 3 is_stmt 1 view .LVU2711 +1110:Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_1; + 8590 .loc 1 1110 19 is_stmt 0 view .LVU2712 + 8591 003c 0F23 movs r3, #15 + 8592 003e 0093 str r3, [sp] +1111:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; + 8593 .loc 1 1111 3 is_stmt 1 view .LVU2713 +1111:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; + 8594 .loc 1 1111 16 is_stmt 0 view .LVU2714 + 8595 0040 0123 movs r3, #1 + 8596 0042 0193 str r3, [sp, #4] +1112:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) + 8597 .loc 1 1112 3 is_stmt 1 view .LVU2715 +1112:Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) + 8598 .loc 1 1112 24 is_stmt 0 view .LVU2716 + 8599 0044 0723 movs r3, #7 + 8600 0046 0293 str r3, [sp, #8] +1113:Src/main.c **** { + 8601 .loc 1 1113 3 is_stmt 1 view .LVU2717 +1113:Src/main.c **** { + 8602 .loc 1 1113 7 is_stmt 0 view .LVU2718 + 8603 0048 6946 mov r1, sp + 8604 004a 0548 ldr r0, .L470 + ARM GAS /tmp/ccwR4KB7.s page 542 - 8637 0026 0260 str r2, [r0] -1421:Src/main.c **** htim4.Init.CounterMode = TIM_COUNTERMODE_UP; - 8638 .loc 1 1421 3 is_stmt 1 view .LVU2746 -1421:Src/main.c **** htim4.Init.CounterMode = TIM_COUNTERMODE_UP; - 8639 .loc 1 1421 24 is_stmt 0 view .LVU2747 - 8640 0028 4360 str r3, [r0, #4] -1422:Src/main.c **** htim4.Init.Period = 45; - 8641 .loc 1 1422 3 is_stmt 1 view .LVU2748 -1422:Src/main.c **** htim4.Init.Period = 45; - 8642 .loc 1 1422 26 is_stmt 0 view .LVU2749 - 8643 002a 8360 str r3, [r0, #8] -1423:Src/main.c **** htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 8644 .loc 1 1423 3 is_stmt 1 view .LVU2750 -1423:Src/main.c **** htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; - 8645 .loc 1 1423 21 is_stmt 0 view .LVU2751 - 8646 002c 2D22 movs r2, #45 - 8647 002e C260 str r2, [r0, #12] -1424:Src/main.c **** htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - 8648 .loc 1 1424 3 is_stmt 1 view .LVU2752 -1424:Src/main.c **** htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; - 8649 .loc 1 1424 28 is_stmt 0 view .LVU2753 - 8650 0030 0361 str r3, [r0, #16] -1425:Src/main.c **** if (HAL_TIM_Base_Init(&htim4) != HAL_OK) - 8651 .loc 1 1425 3 is_stmt 1 view .LVU2754 -1425:Src/main.c **** if (HAL_TIM_Base_Init(&htim4) != HAL_OK) - 8652 .loc 1 1425 32 is_stmt 0 view .LVU2755 - 8653 0032 8361 str r3, [r0, #24] -1426:Src/main.c **** { - 8654 .loc 1 1426 3 is_stmt 1 view .LVU2756 -1426:Src/main.c **** { - 8655 .loc 1 1426 7 is_stmt 0 view .LVU2757 - 8656 0034 FFF7FEFF bl HAL_TIM_Base_Init - 8657 .LVL722: -1426:Src/main.c **** { - 8658 .loc 1 1426 6 discriminator 1 view .LVU2758 - 8659 0038 30BB cbnz r0, .L438 -1430:Src/main.c **** if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK) - 8660 .loc 1 1430 3 is_stmt 1 view .LVU2759 -1430:Src/main.c **** if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK) - 8661 .loc 1 1430 34 is_stmt 0 view .LVU2760 - 8662 003a 4FF48053 mov r3, #4096 - 8663 003e 0A93 str r3, [sp, #40] -1431:Src/main.c **** { - 8664 .loc 1 1431 3 is_stmt 1 view .LVU2761 -1431:Src/main.c **** { - 8665 .loc 1 1431 7 is_stmt 0 view .LVU2762 - 8666 0040 0AA9 add r1, sp, #40 - 8667 0042 1648 ldr r0, .L443 - 8668 0044 FFF7FEFF bl HAL_TIM_ConfigClockSource - 8669 .LVL723: -1431:Src/main.c **** { - 8670 .loc 1 1431 6 discriminator 1 view .LVU2763 - 8671 0048 00BB cbnz r0, .L439 -1435:Src/main.c **** { - 8672 .loc 1 1435 3 is_stmt 1 view .LVU2764 -1435:Src/main.c **** { - 8673 .loc 1 1435 7 is_stmt 0 view .LVU2765 - ARM GAS /tmp/ccYgfTud.s page 539 + 8605 004c FFF7FEFF bl HAL_ADC_ConfigChannel + 8606 .LVL796: +1113:Src/main.c **** { + 8607 .loc 1 1113 6 discriminator 1 view .LVU2719 + 8608 0050 20B9 cbnz r0, .L469 +1121:Src/main.c **** + 8609 .loc 1 1121 1 view .LVU2720 + 8610 0052 05B0 add sp, sp, #20 + 8611 .LCFI80: + 8612 .cfi_remember_state + 8613 .cfi_def_cfa_offset 4 + 8614 @ sp needed + 8615 0054 5DF804FB ldr pc, [sp], #4 + 8616 .L468: + 8617 .LCFI81: + 8618 .cfi_restore_state +1105:Src/main.c **** } + 8619 .loc 1 1105 5 is_stmt 1 view .LVU2721 + 8620 0058 FFF7FEFF bl Error_Handler + 8621 .LVL797: + 8622 .L469: +1115:Src/main.c **** } + 8623 .loc 1 1115 5 view .LVU2722 + 8624 005c FFF7FEFF bl Error_Handler + 8625 .LVL798: + 8626 .L471: + 8627 .align 2 + 8628 .L470: + 8629 0060 00000000 .word hadc3 + 8630 0064 00220140 .word 1073816064 + 8631 0068 0100000F .word 251658241 + 8632 .cfi_endproc + 8633 .LFE1189: + 8635 .section .text.MX_USART1_UART_Init,"ax",%progbits + 8636 .align 1 + 8637 .syntax unified + 8638 .thumb + 8639 .thumb_func + 8641 MX_USART1_UART_Init: + 8642 .LFB1204: +1788:Src/main.c **** + 8643 .loc 1 1788 1 view -0 + 8644 .cfi_startproc + 8645 @ args = 0, pretend = 0, frame = 208 + 8646 @ frame_needed = 0, uses_anonymous_args = 0 + 8647 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} + 8648 .LCFI82: + 8649 .cfi_def_cfa_offset 24 + 8650 .cfi_offset 4, -24 + 8651 .cfi_offset 5, -20 + 8652 .cfi_offset 6, -16 + 8653 .cfi_offset 7, -12 + 8654 .cfi_offset 8, -8 + 8655 .cfi_offset 14, -4 + 8656 0004 B4B0 sub sp, sp, #208 + 8657 .LCFI83: + 8658 .cfi_def_cfa_offset 232 + ARM GAS /tmp/ccwR4KB7.s page 543 - 8674 004a 1448 ldr r0, .L443 - 8675 004c FFF7FEFF bl HAL_TIM_PWM_Init - 8676 .LVL724: -1435:Src/main.c **** { - 8677 .loc 1 1435 6 discriminator 1 view .LVU2766 - 8678 0050 F0B9 cbnz r0, .L440 -1439:Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - 8679 .loc 1 1439 3 is_stmt 1 view .LVU2767 -1439:Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; - 8680 .loc 1 1439 37 is_stmt 0 view .LVU2768 - 8681 0052 0023 movs r3, #0 - 8682 0054 0793 str r3, [sp, #28] -1440:Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) - 8683 .loc 1 1440 3 is_stmt 1 view .LVU2769 -1440:Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) - 8684 .loc 1 1440 33 is_stmt 0 view .LVU2770 - 8685 0056 0993 str r3, [sp, #36] -1441:Src/main.c **** { - 8686 .loc 1 1441 3 is_stmt 1 view .LVU2771 -1441:Src/main.c **** { - 8687 .loc 1 1441 7 is_stmt 0 view .LVU2772 - 8688 0058 07A9 add r1, sp, #28 - 8689 005a 1048 ldr r0, .L443 - 8690 005c FFF7FEFF bl HAL_TIMEx_MasterConfigSynchronization - 8691 .LVL725: -1441:Src/main.c **** { - 8692 .loc 1 1441 6 discriminator 1 view .LVU2773 - 8693 0060 C0B9 cbnz r0, .L441 -1445:Src/main.c **** sConfigOC.Pulse = 22; - 8694 .loc 1 1445 3 is_stmt 1 view .LVU2774 -1445:Src/main.c **** sConfigOC.Pulse = 22; - 8695 .loc 1 1445 20 is_stmt 0 view .LVU2775 - 8696 0062 6023 movs r3, #96 - 8697 0064 0093 str r3, [sp] -1446:Src/main.c **** sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; - 8698 .loc 1 1446 3 is_stmt 1 view .LVU2776 -1446:Src/main.c **** sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; - 8699 .loc 1 1446 19 is_stmt 0 view .LVU2777 - 8700 0066 1623 movs r3, #22 - 8701 0068 0193 str r3, [sp, #4] -1447:Src/main.c **** sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; - 8702 .loc 1 1447 3 is_stmt 1 view .LVU2778 -1447:Src/main.c **** sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; - 8703 .loc 1 1447 24 is_stmt 0 view .LVU2779 - 8704 006a 0023 movs r3, #0 - 8705 006c 0293 str r3, [sp, #8] -1448:Src/main.c **** if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) - 8706 .loc 1 1448 3 is_stmt 1 view .LVU2780 -1448:Src/main.c **** if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) - 8707 .loc 1 1448 24 is_stmt 0 view .LVU2781 - 8708 006e 0493 str r3, [sp, #16] -1449:Src/main.c **** { - 8709 .loc 1 1449 3 is_stmt 1 view .LVU2782 -1449:Src/main.c **** { - 8710 .loc 1 1449 7 is_stmt 0 view .LVU2783 - 8711 0070 0822 movs r2, #8 - 8712 0072 6946 mov r1, sp - ARM GAS /tmp/ccYgfTud.s page 540 +1794:Src/main.c **** + 8659 .loc 1 1794 3 view .LVU2724 +1794:Src/main.c **** + 8660 .loc 1 1794 24 is_stmt 0 view .LVU2725 + 8661 0006 0021 movs r1, #0 + 8662 0008 2D91 str r1, [sp, #180] + 8663 000a 2E91 str r1, [sp, #184] + 8664 000c 2F91 str r1, [sp, #188] + 8665 000e 3091 str r1, [sp, #192] + 8666 0010 3191 str r1, [sp, #196] + 8667 0012 3291 str r1, [sp, #200] + 8668 0014 3391 str r1, [sp, #204] +1796:Src/main.c **** RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; + 8669 .loc 1 1796 3 is_stmt 1 view .LVU2726 +1796:Src/main.c **** RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; + 8670 .loc 1 1796 23 is_stmt 0 view .LVU2727 + 8671 0016 2791 str r1, [sp, #156] + 8672 0018 2891 str r1, [sp, #160] + 8673 001a 2991 str r1, [sp, #164] + 8674 001c 2A91 str r1, [sp, #168] + 8675 001e 2B91 str r1, [sp, #172] + 8676 0020 2C91 str r1, [sp, #176] +1797:Src/main.c **** + 8677 .loc 1 1797 3 is_stmt 1 view .LVU2728 +1797:Src/main.c **** + 8678 .loc 1 1797 28 is_stmt 0 view .LVU2729 + 8679 0022 9022 movs r2, #144 + 8680 0024 03A8 add r0, sp, #12 + 8681 0026 FFF7FEFF bl memset + 8682 .LVL799: +1801:Src/main.c **** PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2; + 8683 .loc 1 1801 3 is_stmt 1 view .LVU2730 +1801:Src/main.c **** PeriphClkInitStruct.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2; + 8684 .loc 1 1801 44 is_stmt 0 view .LVU2731 + 8685 002a 4023 movs r3, #64 + 8686 002c 0393 str r3, [sp, #12] +1802:Src/main.c **** if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) + 8687 .loc 1 1802 3 is_stmt 1 view .LVU2732 +1803:Src/main.c **** { + 8688 .loc 1 1803 3 view .LVU2733 +1803:Src/main.c **** { + 8689 .loc 1 1803 7 is_stmt 0 view .LVU2734 + 8690 002e 03A8 add r0, sp, #12 + 8691 0030 FFF7FEFF bl HAL_RCCEx_PeriphCLKConfig + 8692 .LVL800: +1803:Src/main.c **** { + 8693 .loc 1 1803 6 discriminator 1 view .LVU2735 + 8694 0034 0028 cmp r0, #0 + 8695 0036 40F09E80 bne .L475 +1809:Src/main.c **** + 8696 .loc 1 1809 3 is_stmt 1 view .LVU2736 + 8697 .LVL801: + 8698 .LBB602: + 8699 .LBI602: +1587:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { + 8700 .loc 3 1587 22 view .LVU2737 + 8701 .LBB603: + ARM GAS /tmp/ccwR4KB7.s page 544 - 8713 0074 0948 ldr r0, .L443 - 8714 0076 FFF7FEFF bl HAL_TIM_PWM_ConfigChannel - 8715 .LVL726: -1449:Src/main.c **** { - 8716 .loc 1 1449 6 discriminator 1 view .LVU2784 - 8717 007a 68B9 cbnz r0, .L442 -1456:Src/main.c **** - 8718 .loc 1 1456 3 is_stmt 1 view .LVU2785 - 8719 007c 0748 ldr r0, .L443 - 8720 007e FFF7FEFF bl HAL_TIM_MspPostInit - 8721 .LVL727: -1458:Src/main.c **** - 8722 .loc 1 1458 1 is_stmt 0 view .LVU2786 - 8723 0082 0FB0 add sp, sp, #60 - 8724 .LCFI89: - 8725 .cfi_remember_state - 8726 .cfi_def_cfa_offset 4 - 8727 @ sp needed - 8728 0084 5DF804FB ldr pc, [sp], #4 - 8729 .L438: - 8730 .LCFI90: - 8731 .cfi_restore_state -1428:Src/main.c **** } - 8732 .loc 1 1428 5 is_stmt 1 view .LVU2787 - 8733 0088 FFF7FEFF bl Error_Handler - 8734 .LVL728: - 8735 .L439: -1433:Src/main.c **** } - 8736 .loc 1 1433 5 view .LVU2788 - 8737 008c FFF7FEFF bl Error_Handler - 8738 .LVL729: - 8739 .L440: -1437:Src/main.c **** } - 8740 .loc 1 1437 5 view .LVU2789 - 8741 0090 FFF7FEFF bl Error_Handler - 8742 .LVL730: - 8743 .L441: -1443:Src/main.c **** } - 8744 .loc 1 1443 5 view .LVU2790 - 8745 0094 FFF7FEFF bl Error_Handler - 8746 .LVL731: - 8747 .L442: -1451:Src/main.c **** } - 8748 .loc 1 1451 5 view .LVU2791 - 8749 0098 FFF7FEFF bl Error_Handler - 8750 .LVL732: - 8751 .L444: - 8752 .align 2 - 8753 .L443: - 8754 009c 00000000 .word htim4 - 8755 00a0 00080040 .word 1073743872 - 8756 .cfi_endproc - 8757 .LFE1196: - 8759 .section .text.SystemClock_Config,"ax",%progbits - 8760 .align 1 - 8761 .global SystemClock_Config - 8762 .syntax unified - ARM GAS /tmp/ccYgfTud.s page 541 +1589:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->APB2ENR, Periphs); + 8702 .loc 3 1589 3 view .LVU2738 +1590:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ + 8703 .loc 3 1590 3 view .LVU2739 + 8704 003a 504B ldr r3, .L476 + 8705 003c 5A6C ldr r2, [r3, #68] + 8706 003e 42F01002 orr r2, r2, #16 + 8707 0042 5A64 str r2, [r3, #68] +1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 8708 .loc 3 1592 3 view .LVU2740 +1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 8709 .loc 3 1592 12 is_stmt 0 view .LVU2741 + 8710 0044 5A6C ldr r2, [r3, #68] + 8711 0046 02F01002 and r2, r2, #16 +1592:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 8712 .loc 3 1592 10 view .LVU2742 + 8713 004a 0292 str r2, [sp, #8] + 8714 .loc 3 1593 3 is_stmt 1 view .LVU2743 + 8715 004c 029A ldr r2, [sp, #8] + 8716 .LVL802: + 8717 .loc 3 1593 3 is_stmt 0 view .LVU2744 + 8718 .LBE603: + 8719 .LBE602: +1811:Src/main.c **** /**USART1 GPIO Configuration + 8720 .loc 1 1811 3 is_stmt 1 view .LVU2745 + 8721 .LBB604: + 8722 .LBI604: + 309:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** { + 8723 .loc 3 309 22 view .LVU2746 + 8724 .LBB605: + 311:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** SET_BIT(RCC->AHB1ENR, Periphs); + 8725 .loc 3 311 3 view .LVU2747 + 312:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** /* Delay after an RCC peripheral clock enabling */ + 8726 .loc 3 312 3 view .LVU2748 + 8727 004e 1A6B ldr r2, [r3, #48] + 8728 0050 42F00102 orr r2, r2, #1 + 8729 0054 1A63 str r2, [r3, #48] + 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 8730 .loc 3 314 3 view .LVU2749 + 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 8731 .loc 3 314 12 is_stmt 0 view .LVU2750 + 8732 0056 1B6B ldr r3, [r3, #48] + 8733 0058 03F00103 and r3, r3, #1 + 314:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** (void)tmpreg; + 8734 .loc 3 314 10 view .LVU2751 + 8735 005c 0193 str r3, [sp, #4] + 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } + 8736 .loc 3 315 3 is_stmt 1 view .LVU2752 + 8737 005e 019B ldr r3, [sp, #4] + 8738 .LVL803: + 315:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_bus.h **** } + 8739 .loc 3 315 3 is_stmt 0 view .LVU2753 + 8740 .LBE605: + 8741 .LBE604: +1816:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 8742 .loc 1 1816 3 is_stmt 1 view .LVU2754 +1816:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + ARM GAS /tmp/ccwR4KB7.s page 545 - 8763 .thumb - 8764 .thumb_func - 8766 SystemClock_Config: - 8767 .LFB1187: - 885:Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0}; - 8768 .loc 1 885 1 view -0 - 8769 .cfi_startproc - 8770 @ args = 0, pretend = 0, frame = 80 - 8771 @ frame_needed = 0, uses_anonymous_args = 0 - 8772 0000 00B5 push {lr} - 8773 .LCFI91: - 8774 .cfi_def_cfa_offset 4 - 8775 .cfi_offset 14, -4 - 8776 0002 95B0 sub sp, sp, #84 - 8777 .LCFI92: - 8778 .cfi_def_cfa_offset 88 - 886:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - 8779 .loc 1 886 3 view .LVU2793 - 886:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; - 8780 .loc 1 886 22 is_stmt 0 view .LVU2794 - 8781 0004 3422 movs r2, #52 - 8782 0006 0021 movs r1, #0 - 8783 0008 07A8 add r0, sp, #28 - 8784 000a FFF7FEFF bl memset - 8785 .LVL733: - 887:Src/main.c **** - 8786 .loc 1 887 3 is_stmt 1 view .LVU2795 - 887:Src/main.c **** - 8787 .loc 1 887 22 is_stmt 0 view .LVU2796 - 8788 000e 0023 movs r3, #0 - 8789 0010 0293 str r3, [sp, #8] - 8790 0012 0393 str r3, [sp, #12] - 8791 0014 0493 str r3, [sp, #16] - 8792 0016 0593 str r3, [sp, #20] - 8793 0018 0693 str r3, [sp, #24] - 891:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); - 8794 .loc 1 891 3 is_stmt 1 view .LVU2797 - 8795 .LBB618: - 891:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); - 8796 .loc 1 891 3 view .LVU2798 - 891:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); - 8797 .loc 1 891 3 view .LVU2799 - 8798 001a 244B ldr r3, .L453 - 8799 001c 1A6C ldr r2, [r3, #64] - 8800 001e 42F08052 orr r2, r2, #268435456 - 8801 0022 1A64 str r2, [r3, #64] - 891:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); - 8802 .loc 1 891 3 view .LVU2800 - 8803 0024 1B6C ldr r3, [r3, #64] - 8804 0026 03F08053 and r3, r3, #268435456 - 8805 002a 0093 str r3, [sp] - 891:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); - 8806 .loc 1 891 3 view .LVU2801 - 8807 002c 009B ldr r3, [sp] - 8808 .LBE618: - 891:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); - 8809 .loc 1 891 3 view .LVU2802 - ARM GAS /tmp/ccYgfTud.s page 542 + 8743 .loc 1 1816 23 is_stmt 0 view .LVU2755 + 8744 0060 4FF40073 mov r3, #512 + 8745 0064 2793 str r3, [sp, #156] +1817:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 8746 .loc 1 1817 3 is_stmt 1 view .LVU2756 +1817:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 8747 .loc 1 1817 24 is_stmt 0 view .LVU2757 + 8748 0066 4FF00208 mov r8, #2 + 8749 006a CDF8A080 str r8, [sp, #160] +1818:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 8750 .loc 1 1818 3 is_stmt 1 view .LVU2758 +1818:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 8751 .loc 1 1818 25 is_stmt 0 view .LVU2759 + 8752 006e 0327 movs r7, #3 + 8753 0070 2997 str r7, [sp, #164] +1819:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 8754 .loc 1 1819 3 is_stmt 1 view .LVU2760 +1819:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 8755 .loc 1 1819 30 is_stmt 0 view .LVU2761 + 8756 0072 0024 movs r4, #0 + 8757 0074 2A94 str r4, [sp, #168] +1820:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_7; + 8758 .loc 1 1820 3 is_stmt 1 view .LVU2762 +1820:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_7; + 8759 .loc 1 1820 24 is_stmt 0 view .LVU2763 + 8760 0076 2B94 str r4, [sp, #172] +1821:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); + 8761 .loc 1 1821 3 is_stmt 1 view .LVU2764 +1821:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); + 8762 .loc 1 1821 29 is_stmt 0 view .LVU2765 + 8763 0078 0726 movs r6, #7 + 8764 007a 2C96 str r6, [sp, #176] +1822:Src/main.c **** + 8765 .loc 1 1822 3 is_stmt 1 view .LVU2766 + 8766 007c 404D ldr r5, .L476+4 + 8767 007e 27A9 add r1, sp, #156 + 8768 0080 2846 mov r0, r5 + 8769 0082 FFF7FEFF bl LL_GPIO_Init + 8770 .LVL804: +1824:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 8771 .loc 1 1824 3 view .LVU2767 +1824:Src/main.c **** GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE; + 8772 .loc 1 1824 23 is_stmt 0 view .LVU2768 + 8773 0086 4FF48063 mov r3, #1024 + 8774 008a 2793 str r3, [sp, #156] +1825:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 8775 .loc 1 1825 3 is_stmt 1 view .LVU2769 +1825:Src/main.c **** GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH; + 8776 .loc 1 1825 24 is_stmt 0 view .LVU2770 + 8777 008c CDF8A080 str r8, [sp, #160] +1826:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 8778 .loc 1 1826 3 is_stmt 1 view .LVU2771 +1826:Src/main.c **** GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + 8779 .loc 1 1826 25 is_stmt 0 view .LVU2772 + 8780 0090 2997 str r7, [sp, #164] +1827:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 8781 .loc 1 1827 3 is_stmt 1 view .LVU2773 + ARM GAS /tmp/ccwR4KB7.s page 546 - 892:Src/main.c **** - 8810 .loc 1 892 3 view .LVU2803 - 8811 .LBB619: - 892:Src/main.c **** - 8812 .loc 1 892 3 view .LVU2804 - 892:Src/main.c **** - 8813 .loc 1 892 3 view .LVU2805 - 8814 002e 204B ldr r3, .L453+4 - 8815 0030 1A68 ldr r2, [r3] - 8816 0032 42F44042 orr r2, r2, #49152 - 8817 0036 1A60 str r2, [r3] - 892:Src/main.c **** - 8818 .loc 1 892 3 view .LVU2806 - 8819 0038 1B68 ldr r3, [r3] - 8820 003a 03F44043 and r3, r3, #49152 - 8821 003e 0193 str r3, [sp, #4] - 892:Src/main.c **** - 8822 .loc 1 892 3 view .LVU2807 - 8823 0040 019B ldr r3, [sp, #4] - 8824 .LBE619: - 892:Src/main.c **** - 8825 .loc 1 892 3 view .LVU2808 - 897:Src/main.c **** RCC_OscInitStruct.HSEState = RCC_HSE_ON; - 8826 .loc 1 897 3 view .LVU2809 - 897:Src/main.c **** RCC_OscInitStruct.HSEState = RCC_HSE_ON; - 8827 .loc 1 897 36 is_stmt 0 view .LVU2810 - 8828 0042 0123 movs r3, #1 - 8829 0044 0793 str r3, [sp, #28] - 898:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - 8830 .loc 1 898 3 is_stmt 1 view .LVU2811 - 898:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; - 8831 .loc 1 898 30 is_stmt 0 view .LVU2812 - 8832 0046 4FF48033 mov r3, #65536 - 8833 004a 0893 str r3, [sp, #32] - 899:Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - 8834 .loc 1 899 3 is_stmt 1 view .LVU2813 - 899:Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; - 8835 .loc 1 899 34 is_stmt 0 view .LVU2814 - 8836 004c 0223 movs r3, #2 - 8837 004e 0D93 str r3, [sp, #52] - 900:Src/main.c **** RCC_OscInitStruct.PLL.PLLM = 25; - 8838 .loc 1 900 3 is_stmt 1 view .LVU2815 - 900:Src/main.c **** RCC_OscInitStruct.PLL.PLLM = 25; - 8839 .loc 1 900 35 is_stmt 0 view .LVU2816 - 8840 0050 4FF48002 mov r2, #4194304 - 8841 0054 0E92 str r2, [sp, #56] - 901:Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 368; - 8842 .loc 1 901 3 is_stmt 1 view .LVU2817 - 901:Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 368; - 8843 .loc 1 901 30 is_stmt 0 view .LVU2818 - 8844 0056 1922 movs r2, #25 - 8845 0058 0F92 str r2, [sp, #60] - 902:Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - 8846 .loc 1 902 3 is_stmt 1 view .LVU2819 - 902:Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; - 8847 .loc 1 902 30 is_stmt 0 view .LVU2820 - 8848 005a 4FF4B872 mov r2, #368 - ARM GAS /tmp/ccYgfTud.s page 543 +1827:Src/main.c **** GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + 8782 .loc 1 1827 30 is_stmt 0 view .LVU2774 + 8783 0092 2A94 str r4, [sp, #168] +1828:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_7; + 8784 .loc 1 1828 3 is_stmt 1 view .LVU2775 +1828:Src/main.c **** GPIO_InitStruct.Alternate = LL_GPIO_AF_7; + 8785 .loc 1 1828 24 is_stmt 0 view .LVU2776 + 8786 0094 2B94 str r4, [sp, #172] +1829:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); + 8787 .loc 1 1829 3 is_stmt 1 view .LVU2777 +1829:Src/main.c **** LL_GPIO_Init(GPIOA, &GPIO_InitStruct); + 8788 .loc 1 1829 29 is_stmt 0 view .LVU2778 + 8789 0096 2C96 str r6, [sp, #176] +1830:Src/main.c **** + 8790 .loc 1 1830 3 is_stmt 1 view .LVU2779 + 8791 0098 27A9 add r1, sp, #156 + 8792 009a 2846 mov r0, r5 + 8793 009c FFF7FEFF bl LL_GPIO_Init + 8794 .LVL805: +1835:Src/main.c **** + 8795 .loc 1 1835 3 view .LVU2780 + 8796 .LBB606: + 8797 .LBI606: +1032:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { + 8798 .loc 6 1032 22 view .LVU2781 + 8799 .LBB607: +1034:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8800 .loc 6 1034 3 view .LVU2782 + 8801 00a0 384B ldr r3, .L476+8 + 8802 00a2 D3F8B820 ldr r2, [r3, #184] + 8803 00a6 22F0F052 bic r2, r2, #503316480 + 8804 00aa 42F00062 orr r2, r2, #134217728 + 8805 00ae C3F8B820 str r2, [r3, #184] + 8806 .LVL806: +1034:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8807 .loc 6 1034 3 is_stmt 0 view .LVU2783 + 8808 .LBE607: + 8809 .LBE606: +1837:Src/main.c **** + 8810 .loc 1 1837 3 is_stmt 1 view .LVU2784 + 8811 .LBB608: + 8812 .LBI608: + 598:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { + 8813 .loc 6 598 22 view .LVU2785 + 8814 .LBB609: + 600:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8815 .loc 6 600 3 view .LVU2786 + 8816 00b2 D3F8B820 ldr r2, [r3, #184] + 8817 00b6 22F0C002 bic r2, r2, #192 + 8818 00ba 42F04002 orr r2, r2, #64 + 8819 00be C3F8B820 str r2, [r3, #184] + 8820 .LVL807: + 600:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8821 .loc 6 600 3 is_stmt 0 view .LVU2787 + 8822 .LBE609: + 8823 .LBE608: +1839:Src/main.c **** + ARM GAS /tmp/ccwR4KB7.s page 547 - 8849 005e 1092 str r2, [sp, #64] - 903:Src/main.c **** RCC_OscInitStruct.PLL.PLLQ = 8; - 8850 .loc 1 903 3 is_stmt 1 view .LVU2821 - 903:Src/main.c **** RCC_OscInitStruct.PLL.PLLQ = 8; - 8851 .loc 1 903 30 is_stmt 0 view .LVU2822 - 8852 0060 1193 str r3, [sp, #68] - 904:Src/main.c **** RCC_OscInitStruct.PLL.PLLR = 2; - 8853 .loc 1 904 3 is_stmt 1 view .LVU2823 - 904:Src/main.c **** RCC_OscInitStruct.PLL.PLLR = 2; - 8854 .loc 1 904 30 is_stmt 0 view .LVU2824 - 8855 0062 0822 movs r2, #8 - 8856 0064 1292 str r2, [sp, #72] - 905:Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - 8857 .loc 1 905 3 is_stmt 1 view .LVU2825 - 905:Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - 8858 .loc 1 905 30 is_stmt 0 view .LVU2826 - 8859 0066 1393 str r3, [sp, #76] - 906:Src/main.c **** { - 8860 .loc 1 906 3 is_stmt 1 view .LVU2827 - 906:Src/main.c **** { - 8861 .loc 1 906 7 is_stmt 0 view .LVU2828 - 8862 0068 07A8 add r0, sp, #28 - 8863 006a FFF7FEFF bl HAL_RCC_OscConfig - 8864 .LVL734: - 906:Src/main.c **** { - 8865 .loc 1 906 6 discriminator 1 view .LVU2829 - 8866 006e B0B9 cbnz r0, .L450 - 913:Src/main.c **** { - 8867 .loc 1 913 3 is_stmt 1 view .LVU2830 - 913:Src/main.c **** { - 8868 .loc 1 913 7 is_stmt 0 view .LVU2831 - 8869 0070 FFF7FEFF bl HAL_PWREx_EnableOverDrive - 8870 .LVL735: - 913:Src/main.c **** { - 8871 .loc 1 913 6 discriminator 1 view .LVU2832 - 8872 0074 A8B9 cbnz r0, .L451 - 920:Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - 8873 .loc 1 920 3 is_stmt 1 view .LVU2833 - 920:Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - 8874 .loc 1 920 31 is_stmt 0 view .LVU2834 - 8875 0076 0F23 movs r3, #15 - 8876 0078 0293 str r3, [sp, #8] - 922:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - 8877 .loc 1 922 3 is_stmt 1 view .LVU2835 - 922:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; - 8878 .loc 1 922 34 is_stmt 0 view .LVU2836 - 8879 007a 0223 movs r3, #2 - 8880 007c 0393 str r3, [sp, #12] - 923:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; - 8881 .loc 1 923 3 is_stmt 1 view .LVU2837 - 923:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; - 8882 .loc 1 923 35 is_stmt 0 view .LVU2838 - 8883 007e 0023 movs r3, #0 - 8884 0080 0493 str r3, [sp, #16] - 924:Src/main.c **** RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; - 8885 .loc 1 924 3 is_stmt 1 view .LVU2839 - 924:Src/main.c **** RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; - ARM GAS /tmp/ccYgfTud.s page 544 + 8824 .loc 1 1839 3 is_stmt 1 view .LVU2788 + 8825 .LBB610: + 8826 .LBI610: + 924:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { + 8827 .loc 6 924 22 view .LVU2789 + 8828 .LBB611: + 926:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8829 .loc 6 926 3 view .LVU2790 + 8830 00c2 D3F8B820 ldr r2, [r3, #184] + 8831 00c6 42F44032 orr r2, r2, #196608 + 8832 00ca C3F8B820 str r2, [r3, #184] + 8833 .LVL808: + 926:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8834 .loc 6 926 3 is_stmt 0 view .LVU2791 + 8835 .LBE611: + 8836 .LBE610: +1841:Src/main.c **** + 8837 .loc 1 1841 3 is_stmt 1 view .LVU2792 + 8838 .LBB612: + 8839 .LBI612: + 646:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { + 8840 .loc 6 646 22 view .LVU2793 + 8841 .LBB613: + 648:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8842 .loc 6 648 3 view .LVU2794 + 8843 00ce D3F8B820 ldr r2, [r3, #184] + 8844 00d2 22F49072 bic r2, r2, #288 + 8845 00d6 C3F8B820 str r2, [r3, #184] + 8846 .LVL809: + 648:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8847 .loc 6 648 3 is_stmt 0 view .LVU2795 + 8848 .LBE613: + 8849 .LBE612: +1843:Src/main.c **** + 8850 .loc 1 1843 3 is_stmt 1 view .LVU2796 + 8851 .LBB614: + 8852 .LBI614: + 693:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { + 8853 .loc 6 693 22 view .LVU2797 + 8854 .LBB615: + 695:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8855 .loc 6 695 3 view .LVU2798 + 8856 00da D3F8B820 ldr r2, [r3, #184] + 8857 00de 22F40072 bic r2, r2, #512 + 8858 00e2 C3F8B820 str r2, [r3, #184] + 8859 .LVL810: + 695:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8860 .loc 6 695 3 is_stmt 0 view .LVU2799 + 8861 .LBE615: + 8862 .LBE614: +1845:Src/main.c **** + 8863 .loc 1 1845 3 is_stmt 1 view .LVU2800 + 8864 .LBB616: + 8865 .LBI616: + 738:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { + 8866 .loc 6 738 22 view .LVU2801 + 8867 .LBB617: + ARM GAS /tmp/ccwR4KB7.s page 548 - 8886 .loc 1 924 36 is_stmt 0 view .LVU2840 - 8887 0082 4FF4A053 mov r3, #5120 - 8888 0086 0593 str r3, [sp, #20] - 925:Src/main.c **** - 8889 .loc 1 925 3 is_stmt 1 view .LVU2841 - 925:Src/main.c **** - 8890 .loc 1 925 36 is_stmt 0 view .LVU2842 - 8891 0088 4FF48053 mov r3, #4096 - 8892 008c 0693 str r3, [sp, #24] - 927:Src/main.c **** { - 8893 .loc 1 927 3 is_stmt 1 view .LVU2843 - 927:Src/main.c **** { - 8894 .loc 1 927 7 is_stmt 0 view .LVU2844 - 8895 008e 0621 movs r1, #6 - 8896 0090 02A8 add r0, sp, #8 - 8897 0092 FFF7FEFF bl HAL_RCC_ClockConfig - 8898 .LVL736: - 927:Src/main.c **** { - 8899 .loc 1 927 6 discriminator 1 view .LVU2845 - 8900 0096 30B9 cbnz r0, .L452 - 931:Src/main.c **** - 8901 .loc 1 931 1 view .LVU2846 - 8902 0098 15B0 add sp, sp, #84 - 8903 .LCFI93: - 8904 .cfi_remember_state - 8905 .cfi_def_cfa_offset 4 - 8906 @ sp needed - 8907 009a 5DF804FB ldr pc, [sp], #4 - 8908 .L450: - 8909 .LCFI94: - 8910 .cfi_restore_state - 908:Src/main.c **** } - 8911 .loc 1 908 5 is_stmt 1 view .LVU2847 - 8912 009e FFF7FEFF bl Error_Handler - 8913 .LVL737: - 8914 .L451: - 915:Src/main.c **** } - 8915 .loc 1 915 5 view .LVU2848 - 8916 00a2 FFF7FEFF bl Error_Handler - 8917 .LVL738: - 8918 .L452: - 929:Src/main.c **** } - 8919 .loc 1 929 5 view .LVU2849 - 8920 00a6 FFF7FEFF bl Error_Handler - 8921 .LVL739: - 8922 .L454: - 8923 00aa 00BF .align 2 - 8924 .L453: - 8925 00ac 00380240 .word 1073887232 - 8926 00b0 00700040 .word 1073770496 - 8927 .cfi_endproc - 8928 .LFE1187: - 8930 .section .text.main,"ax",%progbits - 8931 .align 1 - 8932 .global main - 8933 .syntax unified - 8934 .thumb - ARM GAS /tmp/ccYgfTud.s page 545 + 740:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8868 .loc 6 740 3 view .LVU2802 + 8869 00e6 D3F8B820 ldr r2, [r3, #184] + 8870 00ea 42F48062 orr r2, r2, #1024 + 8871 00ee C3F8B820 str r2, [r3, #184] + 8872 .LVL811: + 740:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8873 .loc 6 740 3 is_stmt 0 view .LVU2803 + 8874 .LBE617: + 8875 .LBE616: +1847:Src/main.c **** + 8876 .loc 1 1847 3 is_stmt 1 view .LVU2804 + 8877 .LBB618: + 8878 .LBI618: + 784:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { + 8879 .loc 6 784 22 view .LVU2805 + 8880 .LBB619: + 786:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8881 .loc 6 786 3 view .LVU2806 + 8882 00f2 D3F8B820 ldr r2, [r3, #184] + 8883 00f6 22F4C052 bic r2, r2, #6144 + 8884 00fa C3F8B820 str r2, [r3, #184] + 8885 .LVL812: + 786:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8886 .loc 6 786 3 is_stmt 0 view .LVU2807 + 8887 .LBE619: + 8888 .LBE618: +1849:Src/main.c **** + 8889 .loc 1 1849 3 is_stmt 1 view .LVU2808 + 8890 .LBB620: + 8891 .LBI620: + 831:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { + 8892 .loc 6 831 22 view .LVU2809 + 8893 .LBB621: + 833:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8894 .loc 6 833 3 view .LVU2810 + 8895 00fe D3F8B820 ldr r2, [r3, #184] + 8896 0102 22F4C042 bic r2, r2, #24576 + 8897 0106 C3F8B820 str r2, [r3, #184] + 8898 .LVL813: + 833:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8899 .loc 6 833 3 is_stmt 0 view .LVU2811 + 8900 .LBE621: + 8901 .LBE620: +1851:Src/main.c **** + 8902 .loc 1 1851 3 is_stmt 1 view .LVU2812 + 8903 .LBB622: + 8904 .LBI622: +1299:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** { + 8905 .loc 6 1299 22 view .LVU2813 + 8906 .LBB623: +1301:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8907 .loc 6 1301 3 view .LVU2814 + 8908 010a D3F8CC20 ldr r2, [r3, #204] + 8909 010e 22F00402 bic r2, r2, #4 + 8910 0112 C3F8CC20 str r2, [r3, #204] + 8911 .LVL814: + ARM GAS /tmp/ccwR4KB7.s page 549 - 8935 .thumb_func - 8937 main: - 8938 .LFB1186: - 202:Src/main.c **** - 8939 .loc 1 202 1 view -0 - 8940 .cfi_startproc - 8941 @ args = 0, pretend = 0, frame = 8 - 8942 @ frame_needed = 0, uses_anonymous_args = 0 - 8943 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} - 8944 .LCFI95: - 8945 .cfi_def_cfa_offset 28 - 8946 .cfi_offset 4, -28 - 8947 .cfi_offset 5, -24 - 8948 .cfi_offset 6, -20 - 8949 .cfi_offset 7, -16 - 8950 .cfi_offset 8, -12 - 8951 .cfi_offset 9, -8 - 8952 .cfi_offset 14, -4 - 8953 0004 85B0 sub sp, sp, #20 - 8954 .LCFI96: - 8955 .cfi_def_cfa_offset 48 - 205:Src/main.c **** /* USER CODE END 1 */ - 8956 .loc 1 205 2 view .LVU2851 - 211:Src/main.c **** - 8957 .loc 1 211 3 view .LVU2852 - 8958 0006 FFF7FEFF bl HAL_Init - 8959 .LVL740: - 218:Src/main.c **** - 8960 .loc 1 218 3 view .LVU2853 - 8961 000a FFF7FEFF bl SystemClock_Config - 8962 .LVL741: - 225:Src/main.c **** MX_DMA_Init(); - 8963 .loc 1 225 3 view .LVU2854 - 8964 000e FFF7FEFF bl MX_GPIO_Init - 8965 .LVL742: - 226:Src/main.c **** MX_SPI4_Init(); - 8966 .loc 1 226 3 view .LVU2855 - 8967 0012 FFF7FEFF bl MX_DMA_Init - 8968 .LVL743: - 227:Src/main.c **** MX_FATFS_Init(); - 8969 .loc 1 227 3 view .LVU2856 - 8970 0016 FFF7FEFF bl MX_SPI4_Init - 8971 .LVL744: - 228:Src/main.c **** MX_TIM2_Init(); - 8972 .loc 1 228 3 view .LVU2857 - 8973 001a FFF7FEFF bl MX_FATFS_Init - 8974 .LVL745: - 229:Src/main.c **** MX_TIM5_Init(); - 8975 .loc 1 229 3 view .LVU2858 - 8976 001e FFF7FEFF bl MX_TIM2_Init - 8977 .LVL746: - 230:Src/main.c **** MX_ADC1_Init(); - 8978 .loc 1 230 3 view .LVU2859 - 8979 0022 FFF7FEFF bl MX_TIM5_Init - 8980 .LVL747: - 231:Src/main.c **** MX_ADC3_Init(); - 8981 .loc 1 231 3 view .LVU2860 - ARM GAS /tmp/ccYgfTud.s page 546 - - - 8982 0026 FFF7FEFF bl MX_ADC1_Init - 8983 .LVL748: - 232:Src/main.c **** MX_SPI2_Init(); - 8984 .loc 1 232 3 view .LVU2861 - 8985 002a FFF7FEFF bl MX_ADC3_Init - 8986 .LVL749: - 233:Src/main.c **** MX_SPI5_Init(); - 8987 .loc 1 233 3 view .LVU2862 - 8988 002e FFF7FEFF bl MX_SPI2_Init - 8989 .LVL750: - 234:Src/main.c **** MX_SPI6_Init(); - 8990 .loc 1 234 3 view .LVU2863 - 8991 0032 FFF7FEFF bl MX_SPI5_Init - 8992 .LVL751: - 235:Src/main.c **** MX_USART1_UART_Init(); - 8993 .loc 1 235 3 view .LVU2864 - 8994 0036 FFF7FEFF bl MX_SPI6_Init - 8995 .LVL752: - 236:Src/main.c **** MX_SDMMC1_SD_Init(); - 8996 .loc 1 236 3 view .LVU2865 - 8997 003a FFF7FEFF bl MX_USART1_UART_Init - 8998 .LVL753: - 237:Src/main.c **** MX_TIM7_Init(); - 8999 .loc 1 237 3 view .LVU2866 - 9000 003e FFF7FEFF bl MX_SDMMC1_SD_Init - 9001 .LVL754: - 238:Src/main.c **** MX_TIM6_Init(); - 9002 .loc 1 238 3 view .LVU2867 - 9003 0042 FFF7FEFF bl MX_TIM7_Init - 9004 .LVL755: - 239:Src/main.c **** MX_TIM10_Init(); - 9005 .loc 1 239 3 view .LVU2868 - 9006 0046 FFF7FEFF bl MX_TIM6_Init - 9007 .LVL756: - 240:Src/main.c **** MX_UART8_Init(); - 9008 .loc 1 240 3 view .LVU2869 - 9009 004a FFF7FEFF bl MX_TIM10_Init - 9010 .LVL757: - 241:Src/main.c **** MX_TIM8_Init(); - 9011 .loc 1 241 3 view .LVU2870 - 9012 004e FFF7FEFF bl MX_UART8_Init - 9013 .LVL758: - 242:Src/main.c **** MX_TIM11_Init(); - 9014 .loc 1 242 3 view .LVU2871 - 9015 0052 FFF7FEFF bl MX_TIM8_Init - 9016 .LVL759: - 243:Src/main.c **** MX_TIM4_Init(); - 9017 .loc 1 243 3 view .LVU2872 - 9018 0056 FFF7FEFF bl MX_TIM11_Init - 9019 .LVL760: - 244:Src/main.c **** /* USER CODE BEGIN 2 */ - 9020 .loc 1 244 3 view .LVU2873 - 9021 005a FFF7FEFF bl MX_TIM4_Init - 9022 .LVL761: - 246:Src/main.c **** //HAL_TIM_Base_Start(&htim11); - 9023 .loc 1 246 2 view .LVU2874 - 9024 005e FFF7FEFF bl Init_params - ARM GAS /tmp/ccYgfTud.s page 547 - - - 9025 .LVL762: - 257:Src/main.c **** - 9026 .loc 1 257 2 view .LVU2875 - 257:Src/main.c **** - 9027 .loc 1 257 14 is_stmt 0 view .LVU2876 - 9028 0062 854A ldr r2, .L531 - 9029 0064 3523 movs r3, #53 - 9030 0066 D362 str r3, [r2, #44] - 259:Src/main.c **** - 9031 .loc 1 259 2 is_stmt 1 view .LVU2877 - 259:Src/main.c **** - 9032 .loc 1 259 23 is_stmt 0 view .LVU2878 - 9033 0068 D36A ldr r3, [r2, #44] - 259:Src/main.c **** - 9034 .loc 1 259 30 view .LVU2879 - 9035 006a 0133 adds r3, r3, #1 - 259:Src/main.c **** - 9036 .loc 1 259 33 view .LVU2880 - 9037 006c 5B08 lsrs r3, r3, #1 - 259:Src/main.c **** - 9038 .loc 1 259 36 view .LVU2881 - 9039 006e 013B subs r3, r3, #1 - 259:Src/main.c **** - 9040 .loc 1 259 15 view .LVU2882 - 9041 0070 D363 str r3, [r2, #60] - 264:Src/main.c **** TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1; - 9042 .loc 1 264 2 is_stmt 1 view .LVU2883 - 264:Src/main.c **** TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1; - 9043 .loc 1 264 23 is_stmt 0 view .LVU2884 - 9044 0072 D36A ldr r3, [r2, #44] - 264:Src/main.c **** TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1; - 9045 .loc 1 264 36 view .LVU2885 - 9046 0074 9B00 lsls r3, r3, #2 - 9047 0076 0333 adds r3, r3, #3 - 264:Src/main.c **** TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1; - 9048 .loc 1 264 15 view .LVU2886 - 9049 0078 02F5A032 add r2, r2, #81920 - 9050 007c D362 str r3, [r2, #44] - 265:Src/main.c **** - 9051 .loc 1 265 2 is_stmt 1 view .LVU2887 - 265:Src/main.c **** - 9052 .loc 1 265 25 is_stmt 0 view .LVU2888 - 9053 007e D36A ldr r3, [r2, #44] - 265:Src/main.c **** - 9054 .loc 1 265 32 view .LVU2889 - 9055 0080 0133 adds r3, r3, #1 - 265:Src/main.c **** - 9056 .loc 1 265 35 view .LVU2890 - 9057 0082 5B08 lsrs r3, r3, #1 - 265:Src/main.c **** - 9058 .loc 1 265 38 view .LVU2891 - 9059 0084 013B subs r3, r3, #1 - 265:Src/main.c **** - 9060 .loc 1 265 16 view .LVU2892 - 9061 0086 5363 str r3, [r2, #52] - 9062 0088 4CE0 b .L456 - 9063 .L522: - ARM GAS /tmp/ccYgfTud.s page 548 - - - 279:Src/main.c **** { - 9064 .loc 1 279 85 discriminator 1 view .LVU2893 - 9065 008a 7C4B ldr r3, .L531+4 - 9066 008c 1B78 ldrb r3, [r3] @ zero_extendqisi2 - 279:Src/main.c **** { - 9067 .loc 1 279 73 discriminator 1 view .LVU2894 - 9068 008e 002B cmp r3, #0 - 9069 0090 4FD1 bne .L457 - 9070 .L458: - 9071 .LBB620: -3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9072 .loc 7 3073 3 is_stmt 1 discriminator 1 view .LVU2895 - 9073 .LBB621: -3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9074 .loc 7 3073 3 discriminator 1 view .LVU2896 -3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9075 .loc 7 3073 3 discriminator 1 view .LVU2897 -3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9076 .loc 7 3073 3 discriminator 1 view .LVU2898 - 9077 .LVL763: - 9078 .LBB622: - 9079 .LBI622: -1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 9080 .loc 8 1068 31 view .LVU2899 - 9081 .LBB623: -1070:Drivers/CMSIS/Include/cmsis_gcc.h **** - 9082 .loc 8 1070 5 view .LVU2900 -1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 9083 .loc 8 1072 4 view .LVU2901 - 9084 0092 7B4A ldr r2, .L531+8 - 9085 .syntax unified - 9086 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 - 9087 0094 52E8003F ldrex r3, [r2] - 9088 @ 0 "" 2 - 9089 .LVL764: -1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 9090 .loc 8 1073 4 view .LVU2902 -1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 9091 .loc 8 1073 4 is_stmt 0 view .LVU2903 - 9092 .thumb - 9093 .syntax unified - 9094 .LBE623: - 9095 .LBE622: -3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9096 .loc 7 3073 3 discriminator 1 view .LVU2904 - 9097 0098 43F48073 orr r3, r3, #256 - 9098 .LVL765: -3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9099 .loc 7 3073 3 is_stmt 1 discriminator 1 view .LVU2905 - 9100 .LBB624: - 9101 .LBI624: -1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 9102 .loc 8 1119 31 view .LVU2906 - 9103 .LBB625: -1121:Drivers/CMSIS/Include/cmsis_gcc.h **** - 9104 .loc 8 1121 4 view .LVU2907 -1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - ARM GAS /tmp/ccYgfTud.s page 549 - - - 9105 .loc 8 1123 4 view .LVU2908 - 9106 .syntax unified - 9107 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 - 9108 009c 42E80031 strex r1, r3, [r2] - 9109 @ 0 "" 2 - 9110 .LVL766: - 9111 .loc 8 1124 4 view .LVU2909 - 9112 .loc 8 1124 4 is_stmt 0 view .LVU2910 - 9113 .thumb - 9114 .syntax unified - 9115 .LBE625: - 9116 .LBE624: -3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9117 .loc 7 3073 3 discriminator 1 view .LVU2911 - 9118 00a0 0029 cmp r1, #0 - 9119 00a2 F6D1 bne .L458 - 9120 .LVL767: - 9121 .L459: -3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9122 .loc 7 3073 3 discriminator 1 view .LVU2912 - 9123 .LBE621: - 9124 .LBE620: - 9125 .LBB626: -3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9126 .loc 7 3040 3 is_stmt 1 discriminator 1 view .LVU2913 - 9127 .LBB627: -3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9128 .loc 7 3040 3 discriminator 1 view .LVU2914 -3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9129 .loc 7 3040 3 discriminator 1 view .LVU2915 -3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9130 .loc 7 3040 3 discriminator 1 view .LVU2916 - 9131 .LBB628: - 9132 .LBI628: -1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 9133 .loc 8 1068 31 view .LVU2917 - 9134 .LBB629: -1070:Drivers/CMSIS/Include/cmsis_gcc.h **** - 9135 .loc 8 1070 5 view .LVU2918 -1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 9136 .loc 8 1072 4 view .LVU2919 - 9137 00a4 764A ldr r2, .L531+8 - 9138 .syntax unified - 9139 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 - 9140 00a6 52E8003F ldrex r3, [r2] - 9141 @ 0 "" 2 - 9142 .LVL768: -1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 9143 .loc 8 1073 4 view .LVU2920 -1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 9144 .loc 8 1073 4 is_stmt 0 view .LVU2921 - 9145 .thumb - 9146 .syntax unified - 9147 .LBE629: - 9148 .LBE628: -3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9149 .loc 7 3040 3 discriminator 1 view .LVU2922 - ARM GAS /tmp/ccYgfTud.s page 550 - - - 9150 00aa 43F02003 orr r3, r3, #32 - 9151 .LVL769: -3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9152 .loc 7 3040 3 is_stmt 1 discriminator 1 view .LVU2923 - 9153 .LBB630: - 9154 .LBI630: -1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 9155 .loc 8 1119 31 view .LVU2924 - 9156 .LBB631: -1121:Drivers/CMSIS/Include/cmsis_gcc.h **** - 9157 .loc 8 1121 4 view .LVU2925 -1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 9158 .loc 8 1123 4 view .LVU2926 - 9159 .syntax unified - 9160 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 - 9161 00ae 42E80031 strex r1, r3, [r2] - 9162 @ 0 "" 2 - 9163 .LVL770: - 9164 .loc 8 1124 4 view .LVU2927 - 9165 .loc 8 1124 4 is_stmt 0 view .LVU2928 - 9166 .thumb - 9167 .syntax unified - 9168 .LBE631: - 9169 .LBE630: -3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9170 .loc 7 3040 3 discriminator 1 view .LVU2929 - 9171 00b2 0029 cmp r1, #0 - 9172 00b4 F6D1 bne .L459 - 9173 .LVL771: - 9174 .L460: -3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9175 .loc 7 3040 3 discriminator 1 view .LVU2930 - 9176 .LBE627: - 9177 .LBE626: - 9178 .LBB632: -3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9179 .loc 7 3136 3 is_stmt 1 discriminator 1 view .LVU2931 - 9180 .LBB633: -3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9181 .loc 7 3136 3 discriminator 1 view .LVU2932 -3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9182 .loc 7 3136 3 discriminator 1 view .LVU2933 -3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9183 .loc 7 3136 3 discriminator 1 view .LVU2934 - 9184 .LBB634: - 9185 .LBI634: -1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 9186 .loc 8 1068 31 view .LVU2935 - 9187 .LBB635: -1070:Drivers/CMSIS/Include/cmsis_gcc.h **** - 9188 .loc 8 1070 5 view .LVU2936 -1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 9189 .loc 8 1072 4 view .LVU2937 - 9190 00b6 724A ldr r2, .L531+8 - 9191 00b8 02F10803 add r3, r2, #8 - 9192 .syntax unified - 9193 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 - ARM GAS /tmp/ccYgfTud.s page 551 - - - 9194 00bc 53E8003F ldrex r3, [r3] - 9195 @ 0 "" 2 - 9196 .LVL772: -1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 9197 .loc 8 1073 4 view .LVU2938 -1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } - 9198 .loc 8 1073 4 is_stmt 0 view .LVU2939 - 9199 .thumb - 9200 .syntax unified - 9201 .LBE635: - 9202 .LBE634: -3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9203 .loc 7 3136 3 discriminator 1 view .LVU2940 - 9204 00c0 43F00103 orr r3, r3, #1 - 9205 .LVL773: -3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9206 .loc 7 3136 3 is_stmt 1 discriminator 1 view .LVU2941 - 9207 .LBB636: - 9208 .LBI636: -1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { - 9209 .loc 8 1119 31 view .LVU2942 - 9210 .LBB637: -1121:Drivers/CMSIS/Include/cmsis_gcc.h **** - 9211 .loc 8 1121 4 view .LVU2943 -1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); - 9212 .loc 8 1123 4 view .LVU2944 - 9213 00c4 0832 adds r2, r2, #8 - 9214 .syntax unified - 9215 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 - 9216 00c6 42E80031 strex r1, r3, [r2] - 9217 @ 0 "" 2 - 9218 .LVL774: - 9219 .loc 8 1124 4 view .LVU2945 - 9220 .loc 8 1124 4 is_stmt 0 view .LVU2946 - 9221 .thumb - 9222 .syntax unified - 9223 .LBE637: - 9224 .LBE636: -3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9225 .loc 7 3136 3 discriminator 1 view .LVU2947 - 9226 00ca 0029 cmp r1, #0 - 9227 00cc F3D1 bne .L460 - 9228 .LBE633: -3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9229 .loc 7 3136 3 is_stmt 1 discriminator 2 view .LVU2948 - 9230 .LVL775: -3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } - 9231 .loc 7 3136 3 is_stmt 0 discriminator 2 view .LVU2949 - 9232 .LBE632: - 285:Src/main.c **** NVIC_EnableIRQ(USART1_IRQn);//In other case you have FE error flag... - 9233 .loc 1 285 4 is_stmt 1 view .LVU2950 - 9234 .LBB638: - 9235 .LBI638: +1301:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_dma.h **** } + 8912 .loc 6 1301 3 is_stmt 0 view .LVU2815 + 8913 .LBE623: + 8914 .LBE622: +1854:Src/main.c **** NVIC_EnableIRQ(USART1_IRQn); + 8915 .loc 1 1854 3 is_stmt 1 view .LVU2816 + 8916 .LBB624: + 8917 .LBI624: +1884:Drivers/CMSIS/Include/core_cm7.h **** { + 8918 .loc 2 1884 26 view .LVU2817 + 8919 .LBB625: +1886:Drivers/CMSIS/Include/core_cm7.h **** } + 8920 .loc 2 1886 3 view .LVU2818 +1886:Drivers/CMSIS/Include/core_cm7.h **** } + 8921 .loc 2 1886 26 is_stmt 0 view .LVU2819 + 8922 0116 1C4B ldr r3, .L476+12 + 8923 0118 D868 ldr r0, [r3, #12] + 8924 .LBE625: + 8925 .LBE624: +1854:Src/main.c **** NVIC_EnableIRQ(USART1_IRQn); + 8926 .loc 1 1854 3 discriminator 1 view .LVU2820 + 8927 011a 2246 mov r2, r4 + 8928 011c 2146 mov r1, r4 + 8929 011e C0F30220 ubfx r0, r0, #8, #3 + 8930 0122 FFF7FEFF bl NVIC_EncodePriority + 8931 .LVL815: + 8932 .LBB626: + 8933 .LBI626: 2024:Drivers/CMSIS/Include/core_cm7.h **** { - 9236 .loc 2 2024 22 view .LVU2951 - 9237 .LBB639: + 8934 .loc 2 2024 22 is_stmt 1 view .LVU2821 + 8935 .LBB627: 2026:Drivers/CMSIS/Include/core_cm7.h **** { - ARM GAS /tmp/ccYgfTud.s page 552 - - - 9238 .loc 2 2026 3 view .LVU2952 + 8936 .loc 2 2026 3 view .LVU2822 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 9239 .loc 2 2028 5 view .LVU2953 + 8937 .loc 2 2028 5 view .LVU2823 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 9240 .loc 2 2028 47 is_stmt 0 view .LVU2954 - 9241 00ce 6D4B ldr r3, .L531+12 - 9242 00d0 0022 movs r2, #0 - 9243 00d2 83F82523 strb r2, [r3, #805] - 9244 .LVL776: + 8938 .loc 2 2028 49 is_stmt 0 view .LVU2824 + 8939 0126 0001 lsls r0, r0, #4 + 8940 .LVL816: 2028:Drivers/CMSIS/Include/core_cm7.h **** } - 9245 .loc 2 2028 47 view .LVU2955 - 9246 .LBE639: - 9247 .LBE638: - 286:Src/main.c **** u_rx_flg = 1; - 9248 .loc 1 286 4 is_stmt 1 view .LVU2956 - 9249 .LBB640: - 9250 .LBI640: + 8941 .loc 2 2028 49 view .LVU2825 + 8942 0128 C0B2 uxtb r0, r0 +2028:Drivers/CMSIS/Include/core_cm7.h **** } + 8943 .loc 2 2028 47 view .LVU2826 + 8944 012a 184B ldr r3, .L476+16 + 8945 012c 83F82503 strb r0, [r3, #805] + 8946 .LVL817: +2028:Drivers/CMSIS/Include/core_cm7.h **** } + 8947 .loc 2 2028 47 view .LVU2827 + 8948 .LBE627: + 8949 .LBE626: +1855:Src/main.c **** + 8950 .loc 1 1855 3 is_stmt 1 view .LVU2828 + 8951 .LBB628: + 8952 .LBI628: 1896:Drivers/CMSIS/Include/core_cm7.h **** { - 9251 .loc 2 1896 22 view .LVU2957 - 9252 .LBB641: + 8953 .loc 2 1896 22 view .LVU2829 + ARM GAS /tmp/ccwR4KB7.s page 550 + + + 8954 .LBB629: 1898:Drivers/CMSIS/Include/core_cm7.h **** { - 9253 .loc 2 1898 3 view .LVU2958 + 8955 .loc 2 1898 3 view .LVU2830 1900:Drivers/CMSIS/Include/core_cm7.h **** } - 9254 .loc 2 1900 5 view .LVU2959 + 8956 .loc 2 1900 5 view .LVU2831 1900:Drivers/CMSIS/Include/core_cm7.h **** } - 9255 .loc 2 1900 43 is_stmt 0 view .LVU2960 - 9256 00d6 2022 movs r2, #32 - 9257 00d8 5A60 str r2, [r3, #4] - 9258 .LVL777: + 8957 .loc 2 1900 43 is_stmt 0 view .LVU2832 + 8958 0130 2022 movs r2, #32 + 8959 0132 5A60 str r2, [r3, #4] + 8960 .LVL818: 1900:Drivers/CMSIS/Include/core_cm7.h **** } - 9259 .loc 2 1900 43 view .LVU2961 - 9260 .LBE641: - 9261 .LBE640: - 287:Src/main.c **** } - 9262 .loc 1 287 4 is_stmt 1 view .LVU2962 - 287:Src/main.c **** } - 9263 .loc 1 287 13 is_stmt 0 view .LVU2963 - 9264 00da 684B ldr r3, .L531+4 - 9265 00dc 0122 movs r2, #1 - 9266 00de 1A70 strb r2, [r3] - 9267 00e0 27E0 b .L457 - 9268 .L473: - 297:Src/main.c **** task.current_param = task.min_param; - 9269 .loc 1 297 6 is_stmt 1 view .LVU2964 - 297:Src/main.c **** task.current_param = task.min_param; - 9270 .loc 1 297 20 is_stmt 0 view .LVU2965 - 9271 00e2 694B ldr r3, .L531+16 - 9272 00e4 0022 movs r2, #0 - 9273 00e6 1A70 strb r2, [r3] - 298:Src/main.c **** Stop_TIM10(); - 9274 .loc 1 298 6 is_stmt 1 view .LVU2966 - 298:Src/main.c **** Stop_TIM10(); - 9275 .loc 1 298 31 is_stmt 0 view .LVU2967 - 9276 00e8 684B ldr r3, .L531+20 - 9277 00ea 5A68 ldr r2, [r3, #4] @ float - 298:Src/main.c **** Stop_TIM10(); - 9278 .loc 1 298 25 view .LVU2968 - ARM GAS /tmp/ccYgfTud.s page 553 + 8961 .loc 2 1900 43 view .LVU2833 + 8962 .LBE629: + 8963 .LBE628: +1860:Src/main.c **** USART_InitStruct.DataWidth = LL_USART_DATAWIDTH_8B; + 8964 .loc 1 1860 3 is_stmt 1 view .LVU2834 +1860:Src/main.c **** USART_InitStruct.DataWidth = LL_USART_DATAWIDTH_8B; + 8965 .loc 1 1860 29 is_stmt 0 view .LVU2835 + 8966 0134 4FF4E133 mov r3, #115200 + 8967 0138 2D93 str r3, [sp, #180] +1861:Src/main.c **** USART_InitStruct.StopBits = LL_USART_STOPBITS_1; + 8968 .loc 1 1861 3 is_stmt 1 view .LVU2836 +1861:Src/main.c **** USART_InitStruct.StopBits = LL_USART_STOPBITS_1; + 8969 .loc 1 1861 30 is_stmt 0 view .LVU2837 + 8970 013a 2E94 str r4, [sp, #184] +1862:Src/main.c **** USART_InitStruct.Parity = LL_USART_PARITY_NONE; + 8971 .loc 1 1862 3 is_stmt 1 view .LVU2838 +1862:Src/main.c **** USART_InitStruct.Parity = LL_USART_PARITY_NONE; + 8972 .loc 1 1862 29 is_stmt 0 view .LVU2839 + 8973 013c 2F94 str r4, [sp, #188] +1863:Src/main.c **** USART_InitStruct.TransferDirection = LL_USART_DIRECTION_TX_RX; + 8974 .loc 1 1863 3 is_stmt 1 view .LVU2840 +1863:Src/main.c **** USART_InitStruct.TransferDirection = LL_USART_DIRECTION_TX_RX; + 8975 .loc 1 1863 27 is_stmt 0 view .LVU2841 + 8976 013e 3094 str r4, [sp, #192] +1864:Src/main.c **** USART_InitStruct.HardwareFlowControl = LL_USART_HWCONTROL_NONE; + 8977 .loc 1 1864 3 is_stmt 1 view .LVU2842 +1864:Src/main.c **** USART_InitStruct.HardwareFlowControl = LL_USART_HWCONTROL_NONE; + 8978 .loc 1 1864 38 is_stmt 0 view .LVU2843 + 8979 0140 0C23 movs r3, #12 + 8980 0142 3193 str r3, [sp, #196] +1865:Src/main.c **** USART_InitStruct.OverSampling = LL_USART_OVERSAMPLING_16; + 8981 .loc 1 1865 3 is_stmt 1 view .LVU2844 +1865:Src/main.c **** USART_InitStruct.OverSampling = LL_USART_OVERSAMPLING_16; + 8982 .loc 1 1865 40 is_stmt 0 view .LVU2845 + 8983 0144 3294 str r4, [sp, #200] +1866:Src/main.c **** LL_USART_Init(USART1, &USART_InitStruct); + 8984 .loc 1 1866 3 is_stmt 1 view .LVU2846 +1866:Src/main.c **** LL_USART_Init(USART1, &USART_InitStruct); + 8985 .loc 1 1866 33 is_stmt 0 view .LVU2847 + 8986 0146 3394 str r4, [sp, #204] +1867:Src/main.c **** LL_USART_ConfigAsyncMode(USART1); + 8987 .loc 1 1867 3 is_stmt 1 view .LVU2848 + 8988 0148 04F18044 add r4, r4, #1073741824 + 8989 014c 04F58834 add r4, r4, #69632 + 8990 0150 2DA9 add r1, sp, #180 + 8991 0152 2046 mov r0, r4 + ARM GAS /tmp/ccwR4KB7.s page 551 - 9279 00ec 1A61 str r2, [r3, #16] @ float - 299:Src/main.c **** break; - 9280 .loc 1 299 6 is_stmt 1 view .LVU2969 - 9281 00ee FFF7FEFF bl Stop_TIM10 - 9282 .LVL778: - 300:Src/main.c **** case DECODE_ENABLE://1 - Decode rec. message - 9283 .loc 1 300 5 view .LVU2970 - 9284 .L461: - 824:Src/main.c **** { - 9285 .loc 1 824 3 view .LVU2971 - 9286 00f2 674B ldr r3, .L531+24 - 9287 00f4 1B78 ldrb r3, [r3] @ zero_extendqisi2 - 9288 00f6 022B cmp r3, #2 - 9289 00f8 00F06884 beq .L507 - 9290 00fc 032B cmp r3, #3 - 9291 00fe 00F09B84 beq .L518 - 9292 0102 012B cmp r3, #1 - 9293 0104 09D1 bne .L509 - 827:Src/main.c **** //HAL_UART_Transmit(&huart1, State_Data, 2, 10); - 9294 .loc 1 827 5 view .LVU2972 - 9295 0106 634C ldr r4, .L531+28 - 9296 0108 0221 movs r1, #2 - 9297 010a 2046 mov r0, r4 - 9298 010c FFF7FEFF bl USART_TX - 9299 .LVL779: - 829:Src/main.c **** State_Data[1]=0;//All OK! - 9300 .loc 1 829 5 view .LVU2973 - 829:Src/main.c **** State_Data[1]=0;//All OK! - 9301 .loc 1 829 18 is_stmt 0 view .LVU2974 - 9302 0110 0023 movs r3, #0 - 9303 0112 2370 strb r3, [r4] - 830:Src/main.c **** UART_transmission_request = NO_MESS; - 9304 .loc 1 830 5 is_stmt 1 view .LVU2975 - 830:Src/main.c **** UART_transmission_request = NO_MESS; - 9305 .loc 1 830 18 is_stmt 0 view .LVU2976 - 9306 0114 6370 strb r3, [r4, #1] - 831:Src/main.c **** break; - 9307 .loc 1 831 5 is_stmt 1 view .LVU2977 - 831:Src/main.c **** break; - 9308 .loc 1 831 31 is_stmt 0 view .LVU2978 - 9309 0116 5E4A ldr r2, .L531+24 - 9310 0118 1370 strb r3, [r2] - 832:Src/main.c **** case MESS_02://Transmith packet - 9311 .loc 1 832 4 is_stmt 1 view .LVU2979 - 9312 .L509: - 866:Src/main.c **** { - 9313 .loc 1 866 5 view .LVU2980 - 866:Src/main.c **** { - 9314 .loc 1 866 17 is_stmt 0 view .LVU2981 - 9315 011a 5F4B ldr r3, .L531+32 - 9316 011c 1B78 ldrb r3, [r3] @ zero_extendqisi2 - 866:Src/main.c **** { - 9317 .loc 1 866 8 view .LVU2982 - 9318 011e 012B cmp r3, #1 - 9319 0120 00F08C84 beq .L521 - 9320 .L456: - 277:Src/main.c **** { - ARM GAS /tmp/ccYgfTud.s page 554 + 8992 0154 FFF7FEFF bl LL_USART_Init + 8993 .LVL819: +1868:Src/main.c **** LL_USART_Enable(USART1); + 8994 .loc 1 1868 3 view .LVU2849 + 8995 .LBB630: + 8996 .LBI630: +2320:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { + 8997 .loc 7 2320 22 view .LVU2850 + 8998 .LBB631: +2326:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** CLEAR_BIT(USARTx->CR3, (USART_CR3_SCEN | USART_CR3_IREN | USART_CR3_HDSEL)); + 8999 .loc 7 2326 3 view .LVU2851 + 9000 0158 6368 ldr r3, [r4, #4] + 9001 015a 23F49043 bic r3, r3, #18432 + 9002 015e 6360 str r3, [r4, #4] +2327:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9003 .loc 7 2327 3 view .LVU2852 + 9004 0160 A368 ldr r3, [r4, #8] + 9005 0162 23F02A03 bic r3, r3, #42 + 9006 0166 A360 str r3, [r4, #8] + 9007 .LVL820: +2327:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9008 .loc 7 2327 3 is_stmt 0 view .LVU2853 + 9009 .LBE631: + 9010 .LBE630: +1869:Src/main.c **** /* USER CODE BEGIN USART1_Init 2 */ + 9011 .loc 1 1869 3 is_stmt 1 view .LVU2854 + 9012 .LBB632: + 9013 .LBI632: + 560:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** { + 9014 .loc 7 560 22 view .LVU2855 + 9015 .LBB633: + 562:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9016 .loc 7 562 3 view .LVU2856 + 9017 0168 2368 ldr r3, [r4] + 9018 016a 43F00103 orr r3, r3, #1 + 9019 016e 2360 str r3, [r4] + 9020 .LVL821: + 562:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9021 .loc 7 562 3 is_stmt 0 view .LVU2857 + 9022 .LBE633: + 9023 .LBE632: +1874:Src/main.c **** + 9024 .loc 1 1874 1 view .LVU2858 + 9025 0170 34B0 add sp, sp, #208 + 9026 .LCFI84: + 9027 .cfi_remember_state + 9028 .cfi_def_cfa_offset 24 + 9029 @ sp needed + 9030 0172 BDE8F081 pop {r4, r5, r6, r7, r8, pc} + 9031 .L475: + 9032 .LCFI85: + 9033 .cfi_restore_state +1805:Src/main.c **** } + 9034 .loc 1 1805 5 is_stmt 1 view .LVU2859 + 9035 0176 FFF7FEFF bl Error_Handler + 9036 .LVL822: + 9037 .L477: + ARM GAS /tmp/ccwR4KB7.s page 552 - 9321 .loc 1 277 3 is_stmt 1 view .LVU2983 - 279:Src/main.c **** { - 9322 .loc 1 279 3 view .LVU2984 - 279:Src/main.c **** { - 9323 .loc 1 279 8 is_stmt 0 view .LVU2985 - 9324 0124 4FF48071 mov r1, #256 - 9325 0128 5C48 ldr r0, .L531+36 - 9326 012a FFF7FEFF bl HAL_GPIO_ReadPin - 9327 .LVL780: - 279:Src/main.c **** { - 9328 .loc 1 279 6 discriminator 1 view .LVU2986 - 9329 012e 0128 cmp r0, #1 - 9330 0130 ABD0 beq .L522 - 9331 .L457: - 294:Src/main.c **** { - 9332 .loc 1 294 4 is_stmt 1 view .LVU2987 - 9333 0132 5B4B ldr r3, .L531+40 - 9334 0134 1B78 ldrb r3, [r3] @ zero_extendqisi2 - 9335 0136 0A2B cmp r3, #10 - 9336 0138 DBD8 bhi .L461 - 9337 013a 01A2 adr r2, .L463 - 9338 013c 52F823F0 ldr pc, [r2, r3, lsl #2] - 9339 .p2align 2 - 9340 .L463: - 9341 0140 E3000000 .word .L473+1 - 9342 0144 6D010000 .word .L472+1 - 9343 0148 D7010000 .word .L471+1 - 9344 014c 0D020000 .word .L470+1 - 9345 0150 3D020000 .word .L469+1 - 9346 0154 4D020000 .word .L468+1 - 9347 0158 69020000 .word .L467+1 - 9348 015c CD020000 .word .L466+1 - 9349 0160 B7040000 .word .L465+1 - 9350 0164 FD040000 .word .L464+1 - 9351 0168 21040000 .word .L462+1 - 9352 .p2align 1 - 9353 .L472: - 302:Src/main.c **** if (CheckChecksum(COMMAND)) - 9354 .loc 1 302 6 view .LVU2988 - 302:Src/main.c **** if (CheckChecksum(COMMAND)) - 9355 .loc 1 302 18 is_stmt 0 view .LVU2989 - 9356 016c 4D4C ldr r4, .L531+44 - 9357 016e 0D21 movs r1, #13 - 9358 0170 2046 mov r0, r4 - 9359 0172 FFF7FEFF bl CalculateChecksum - 9360 .LVL781: - 302:Src/main.c **** if (CheckChecksum(COMMAND)) - 9361 .loc 1 302 16 discriminator 1 view .LVU2990 - 9362 0176 4C4B ldr r3, .L531+48 - 9363 0178 1880 strh r0, [r3] @ movhi - 303:Src/main.c **** { - 9364 .loc 1 303 6 is_stmt 1 view .LVU2991 - 303:Src/main.c **** { - 9365 .loc 1 303 10 is_stmt 0 view .LVU2992 - 9366 017a 2046 mov r0, r4 - 9367 017c FFF7FEFF bl CheckChecksum - 9368 .LVL782: - ARM GAS /tmp/ccYgfTud.s page 555 + 9038 017a 00BF .align 2 + 9039 .L476: + 9040 017c 00380240 .word 1073887232 + 9041 0180 00000240 .word 1073872896 + 9042 0184 00640240 .word 1073898496 + 9043 0188 00ED00E0 .word -536810240 + 9044 018c 00E100E0 .word -536813312 + 9045 .cfi_endproc + 9046 .LFE1204: + 9048 .section .text.MX_TIM10_Init,"ax",%progbits + 9049 .align 1 + 9050 .syntax unified + 9051 .thumb + 9052 .thumb_func + 9054 MX_TIM10_Init: + 9055 .LFB1201: +1676:Src/main.c **** + 9056 .loc 1 1676 1 view -0 + 9057 .cfi_startproc + 9058 @ args = 0, pretend = 0, frame = 0 + 9059 @ frame_needed = 0, uses_anonymous_args = 0 + 9060 0000 08B5 push {r3, lr} + 9061 .LCFI86: + 9062 .cfi_def_cfa_offset 8 + 9063 .cfi_offset 3, -8 + 9064 .cfi_offset 14, -4 +1685:Src/main.c **** htim10.Init.Prescaler = 183; + 9065 .loc 1 1685 3 view .LVU2861 +1685:Src/main.c **** htim10.Init.Prescaler = 183; + 9066 .loc 1 1685 19 is_stmt 0 view .LVU2862 + 9067 0002 0848 ldr r0, .L482 + 9068 0004 084B ldr r3, .L482+4 + 9069 0006 0360 str r3, [r0] +1686:Src/main.c **** htim10.Init.CounterMode = TIM_COUNTERMODE_UP; + 9070 .loc 1 1686 3 is_stmt 1 view .LVU2863 +1686:Src/main.c **** htim10.Init.CounterMode = TIM_COUNTERMODE_UP; + 9071 .loc 1 1686 25 is_stmt 0 view .LVU2864 + 9072 0008 B723 movs r3, #183 + 9073 000a 4360 str r3, [r0, #4] +1687:Src/main.c **** htim10.Init.Period = 9; + 9074 .loc 1 1687 3 is_stmt 1 view .LVU2865 +1687:Src/main.c **** htim10.Init.Period = 9; + 9075 .loc 1 1687 27 is_stmt 0 view .LVU2866 + 9076 000c 0023 movs r3, #0 + 9077 000e 8360 str r3, [r0, #8] +1688:Src/main.c **** htim10.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + 9078 .loc 1 1688 3 is_stmt 1 view .LVU2867 +1688:Src/main.c **** htim10.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + 9079 .loc 1 1688 22 is_stmt 0 view .LVU2868 + 9080 0010 0922 movs r2, #9 + 9081 0012 C260 str r2, [r0, #12] +1689:Src/main.c **** htim10.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + 9082 .loc 1 1689 3 is_stmt 1 view .LVU2869 +1689:Src/main.c **** htim10.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + 9083 .loc 1 1689 29 is_stmt 0 view .LVU2870 + 9084 0014 0361 str r3, [r0, #16] +1690:Src/main.c **** if (HAL_TIM_Base_Init(&htim10) != HAL_OK) + ARM GAS /tmp/ccwR4KB7.s page 553 - 303:Src/main.c **** { - 9369 .loc 1 303 9 discriminator 1 view .LVU2993 - 9370 0180 70B9 cbnz r0, .L523 - 316:Src/main.c **** CPU_state = DEFAULT_ENABLE; - 9371 .loc 1 316 7 is_stmt 1 view .LVU2994 - 316:Src/main.c **** CPU_state = DEFAULT_ENABLE; - 9372 .loc 1 316 17 is_stmt 0 view .LVU2995 - 9373 0182 444A ldr r2, .L531+28 - 9374 0184 1378 ldrb r3, [r2] @ zero_extendqisi2 - 316:Src/main.c **** CPU_state = DEFAULT_ENABLE; - 9375 .loc 1 316 21 view .LVU2996 - 9376 0186 43F00403 orr r3, r3, #4 - 9377 018a 1370 strb r3, [r2] - 317:Src/main.c **** CPU_state_old = HALT;//Save main current cycle - 9378 .loc 1 317 7 is_stmt 1 view .LVU2997 - 317:Src/main.c **** CPU_state_old = HALT;//Save main current cycle - 9379 .loc 1 317 17 is_stmt 0 view .LVU2998 - 9380 018c 444B ldr r3, .L531+40 - 9381 018e 0222 movs r2, #2 - 9382 0190 1A70 strb r2, [r3] - 318:Src/main.c **** } - 9383 .loc 1 318 7 is_stmt 1 view .LVU2999 - 318:Src/main.c **** } - 9384 .loc 1 318 21 is_stmt 0 view .LVU3000 - 9385 0192 3D4B ldr r3, .L531+16 - 9386 0194 0022 movs r2, #0 - 9387 0196 1A70 strb r2, [r3] - 9388 .L475: - 320:Src/main.c **** break; - 9389 .loc 1 320 6 is_stmt 1 view .LVU3001 - 320:Src/main.c **** break; - 9390 .loc 1 320 32 is_stmt 0 view .LVU3002 - 9391 0198 3D4B ldr r3, .L531+24 - 9392 019a 0122 movs r2, #1 - 9393 019c 1A70 strb r2, [r3] - 321:Src/main.c **** case DEFAULT_ENABLE://2 - Go to HALT - 9394 .loc 1 321 5 is_stmt 1 view .LVU3003 - 9395 019e A8E7 b .L461 - 9396 .L523: - 305:Src/main.c **** LL_SPI_Enable(SPI6);//Enable SPI for Laser2 DAC & TEC2 - 9397 .loc 1 305 7 view .LVU3004 - 9398 .LVL783: - 9399 .LBB642: - 9400 .LBI642: - 358:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 9401 .loc 4 358 22 view .LVU3005 - 9402 .LBB643: - 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 9403 .loc 4 360 3 view .LVU3006 - 9404 01a0 424A ldr r2, .L531+52 - 9405 01a2 1368 ldr r3, [r2] - 9406 01a4 43F04003 orr r3, r3, #64 - 9407 01a8 1360 str r3, [r2] - 9408 .LVL784: - 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 9409 .loc 4 360 3 is_stmt 0 view .LVU3007 - 9410 .LBE643: - ARM GAS /tmp/ccYgfTud.s page 556 + 9085 .loc 1 1690 3 is_stmt 1 view .LVU2871 +1690:Src/main.c **** if (HAL_TIM_Base_Init(&htim10) != HAL_OK) + 9086 .loc 1 1690 33 is_stmt 0 view .LVU2872 + 9087 0016 8361 str r3, [r0, #24] +1691:Src/main.c **** { + 9088 .loc 1 1691 3 is_stmt 1 view .LVU2873 +1691:Src/main.c **** { + 9089 .loc 1 1691 7 is_stmt 0 view .LVU2874 + 9090 0018 FFF7FEFF bl HAL_TIM_Base_Init + 9091 .LVL823: +1691:Src/main.c **** { + 9092 .loc 1 1691 6 discriminator 1 view .LVU2875 + 9093 001c 00B9 cbnz r0, .L481 +1699:Src/main.c **** + 9094 .loc 1 1699 1 view .LVU2876 + 9095 001e 08BD pop {r3, pc} + 9096 .L481: +1693:Src/main.c **** } + 9097 .loc 1 1693 5 is_stmt 1 view .LVU2877 + 9098 0020 FFF7FEFF bl Error_Handler + 9099 .LVL824: + 9100 .L483: + 9101 .align 2 + 9102 .L482: + 9103 0024 00000000 .word htim10 + 9104 0028 00440140 .word 1073824768 + 9105 .cfi_endproc + 9106 .LFE1201: + 9108 .section .text.MX_UART8_Init,"ax",%progbits + 9109 .align 1 + 9110 .syntax unified + 9111 .thumb + 9112 .thumb_func + 9114 MX_UART8_Init: + 9115 .LFB1203: +1753:Src/main.c **** + 9116 .loc 1 1753 1 view -0 + 9117 .cfi_startproc + 9118 @ args = 0, pretend = 0, frame = 0 + 9119 @ frame_needed = 0, uses_anonymous_args = 0 + 9120 0000 08B5 push {r3, lr} + 9121 .LCFI87: + 9122 .cfi_def_cfa_offset 8 + 9123 .cfi_offset 3, -8 + 9124 .cfi_offset 14, -4 +1762:Src/main.c **** huart8.Init.BaudRate = 115200; + 9125 .loc 1 1762 3 view .LVU2879 +1762:Src/main.c **** huart8.Init.BaudRate = 115200; + 9126 .loc 1 1762 19 is_stmt 0 view .LVU2880 + 9127 0002 0B48 ldr r0, .L488 + 9128 0004 0B4B ldr r3, .L488+4 + 9129 0006 0360 str r3, [r0] +1763:Src/main.c **** huart8.Init.WordLength = UART_WORDLENGTH_8B; + 9130 .loc 1 1763 3 is_stmt 1 view .LVU2881 +1763:Src/main.c **** huart8.Init.WordLength = UART_WORDLENGTH_8B; + 9131 .loc 1 1763 24 is_stmt 0 view .LVU2882 + 9132 0008 4FF4E133 mov r3, #115200 + ARM GAS /tmp/ccwR4KB7.s page 554 - 9411 .LBE642: - 306:Src/main.c **** Decode_uart(COMMAND, &LD1_curr_setup, &LD2_curr_setup, &Curr_setup); - 9412 .loc 1 306 7 is_stmt 1 view .LVU3008 - 9413 .LBB644: - 9414 .LBI644: - 358:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 9415 .loc 4 358 22 view .LVU3009 - 9416 .LBB645: - 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 9417 .loc 4 360 3 view .LVU3010 - 9418 01aa 02F58E32 add r2, r2, #72704 - 9419 01ae 1368 ldr r3, [r2] - 9420 01b0 43F04003 orr r3, r3, #64 - 9421 01b4 1360 str r3, [r2] - 9422 .LVL785: - 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 9423 .loc 4 360 3 is_stmt 0 view .LVU3011 - 9424 .LBE645: - 9425 .LBE644: - 307:Src/main.c **** TO6_before = TO6; - 9426 .loc 1 307 7 is_stmt 1 view .LVU3012 - 9427 01b6 3E4B ldr r3, .L531+56 - 9428 01b8 3E4A ldr r2, .L531+60 - 9429 01ba 3F49 ldr r1, .L531+64 - 9430 01bc 2046 mov r0, r4 - 9431 01be FFF7FEFF bl Decode_uart - 9432 .LVL786: - 308:Src/main.c **** //LD1_param.LD_TEMP_Before = LD1_param.LD_TEMP; - 9433 .loc 1 308 7 view .LVU3013 - 308:Src/main.c **** //LD1_param.LD_TEMP_Before = LD1_param.LD_TEMP; - 9434 .loc 1 308 18 is_stmt 0 view .LVU3014 - 9435 01c2 3E4B ldr r3, .L531+68 - 9436 01c4 1A68 ldr r2, [r3] - 9437 01c6 3E4B ldr r3, .L531+72 - 9438 01c8 1A60 str r2, [r3] - 311:Src/main.c **** CPU_state_old = WORK_ENABLE;//Save main current cycle - 9439 .loc 1 311 7 is_stmt 1 view .LVU3015 - 311:Src/main.c **** CPU_state_old = WORK_ENABLE;//Save main current cycle - 9440 .loc 1 311 17 is_stmt 0 view .LVU3016 - 9441 01ca 0723 movs r3, #7 - 9442 01cc 344A ldr r2, .L531+40 - 9443 01ce 1370 strb r3, [r2] - 312:Src/main.c **** } - 9444 .loc 1 312 7 is_stmt 1 view .LVU3017 - 312:Src/main.c **** } - 9445 .loc 1 312 21 is_stmt 0 view .LVU3018 - 9446 01d0 2D4A ldr r2, .L531+16 - 9447 01d2 1370 strb r3, [r2] - 9448 01d4 E0E7 b .L475 - 9449 .L471: - 324:Src/main.c **** Stop_TIM10(); - 9450 .loc 1 324 6 is_stmt 1 view .LVU3019 - 324:Src/main.c **** Stop_TIM10(); - 9451 .loc 1 324 31 is_stmt 0 view .LVU3020 - 9452 01d6 2D4B ldr r3, .L531+20 - 9453 01d8 5A68 ldr r2, [r3, #4] @ float - 324:Src/main.c **** Stop_TIM10(); - ARM GAS /tmp/ccYgfTud.s page 557 + 9133 000c 4360 str r3, [r0, #4] +1764:Src/main.c **** huart8.Init.StopBits = UART_STOPBITS_1; + 9134 .loc 1 1764 3 is_stmt 1 view .LVU2883 +1764:Src/main.c **** huart8.Init.StopBits = UART_STOPBITS_1; + 9135 .loc 1 1764 26 is_stmt 0 view .LVU2884 + 9136 000e 0023 movs r3, #0 + 9137 0010 8360 str r3, [r0, #8] +1765:Src/main.c **** huart8.Init.Parity = UART_PARITY_NONE; + 9138 .loc 1 1765 3 is_stmt 1 view .LVU2885 +1765:Src/main.c **** huart8.Init.Parity = UART_PARITY_NONE; + 9139 .loc 1 1765 24 is_stmt 0 view .LVU2886 + 9140 0012 C360 str r3, [r0, #12] +1766:Src/main.c **** huart8.Init.Mode = UART_MODE_TX_RX; + 9141 .loc 1 1766 3 is_stmt 1 view .LVU2887 +1766:Src/main.c **** huart8.Init.Mode = UART_MODE_TX_RX; + 9142 .loc 1 1766 22 is_stmt 0 view .LVU2888 + 9143 0014 0361 str r3, [r0, #16] +1767:Src/main.c **** huart8.Init.HwFlowCtl = UART_HWCONTROL_NONE; + 9144 .loc 1 1767 3 is_stmt 1 view .LVU2889 +1767:Src/main.c **** huart8.Init.HwFlowCtl = UART_HWCONTROL_NONE; + 9145 .loc 1 1767 20 is_stmt 0 view .LVU2890 + 9146 0016 0C22 movs r2, #12 + 9147 0018 4261 str r2, [r0, #20] +1768:Src/main.c **** huart8.Init.OverSampling = UART_OVERSAMPLING_16; + 9148 .loc 1 1768 3 is_stmt 1 view .LVU2891 +1768:Src/main.c **** huart8.Init.OverSampling = UART_OVERSAMPLING_16; + 9149 .loc 1 1768 25 is_stmt 0 view .LVU2892 + 9150 001a 8361 str r3, [r0, #24] +1769:Src/main.c **** huart8.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; + 9151 .loc 1 1769 3 is_stmt 1 view .LVU2893 +1769:Src/main.c **** huart8.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; + 9152 .loc 1 1769 28 is_stmt 0 view .LVU2894 + 9153 001c C361 str r3, [r0, #28] +1770:Src/main.c **** huart8.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; + 9154 .loc 1 1770 3 is_stmt 1 view .LVU2895 +1770:Src/main.c **** huart8.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; + 9155 .loc 1 1770 30 is_stmt 0 view .LVU2896 + 9156 001e 0362 str r3, [r0, #32] +1771:Src/main.c **** if (HAL_UART_Init(&huart8) != HAL_OK) + 9157 .loc 1 1771 3 is_stmt 1 view .LVU2897 +1771:Src/main.c **** if (HAL_UART_Init(&huart8) != HAL_OK) + 9158 .loc 1 1771 38 is_stmt 0 view .LVU2898 + 9159 0020 4362 str r3, [r0, #36] +1772:Src/main.c **** { + 9160 .loc 1 1772 3 is_stmt 1 view .LVU2899 +1772:Src/main.c **** { + 9161 .loc 1 1772 7 is_stmt 0 view .LVU2900 + 9162 0022 FFF7FEFF bl HAL_UART_Init + 9163 .LVL825: +1772:Src/main.c **** { + 9164 .loc 1 1772 6 discriminator 1 view .LVU2901 + 9165 0026 00B9 cbnz r0, .L487 +1780:Src/main.c **** + 9166 .loc 1 1780 1 view .LVU2902 + 9167 0028 08BD pop {r3, pc} + 9168 .L487: +1774:Src/main.c **** } + ARM GAS /tmp/ccwR4KB7.s page 555 - 9454 .loc 1 324 25 view .LVU3021 - 9455 01da 1A61 str r2, [r3, #16] @ float - 325:Src/main.c **** Init_params(); - 9456 .loc 1 325 6 is_stmt 1 view .LVU3022 - 9457 01dc FFF7FEFF bl Stop_TIM10 - 9458 .LVL787: - 326:Src/main.c **** LL_SPI_Disable(SPI2);//Disable SPI for Laser1 DAC & TEC1 - 9459 .loc 1 326 6 view .LVU3023 - 9460 01e0 FFF7FEFF bl Init_params - 9461 .LVL788: - 327:Src/main.c **** LL_SPI_Disable(SPI6);//Disable SPI for Laser2 DAC & TEC2 - 9462 .loc 1 327 6 view .LVU3024 - 9463 .LBB646: - 9464 .LBI646: - 370:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 9465 .loc 4 370 22 view .LVU3025 - 9466 .LBB647: - 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 9467 .loc 4 372 3 view .LVU3026 - 9468 01e4 314A ldr r2, .L531+52 - 9469 01e6 1368 ldr r3, [r2] - 9470 01e8 23F04003 bic r3, r3, #64 - 9471 01ec 1360 str r3, [r2] - 9472 .LVL789: - 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 9473 .loc 4 372 3 is_stmt 0 view .LVU3027 - 9474 .LBE647: - 9475 .LBE646: - 328:Src/main.c **** CPU_state = HALT; - 9476 .loc 1 328 6 is_stmt 1 view .LVU3028 - 9477 .LBB648: - 9478 .LBI648: - 370:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { - 9479 .loc 4 370 22 view .LVU3029 - 9480 .LBB649: - 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 9481 .loc 4 372 3 view .LVU3030 - 9482 01ee 02F58E32 add r2, r2, #72704 - 9483 01f2 1368 ldr r3, [r2] - 9484 01f4 23F04003 bic r3, r3, #64 - 9485 01f8 1360 str r3, [r2] - 9486 .LVL790: - 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } - 9487 .loc 4 372 3 is_stmt 0 view .LVU3031 - 9488 .LBE649: - 9489 .LBE648: - 329:Src/main.c **** CPU_state_old = HALT;//Save main current cycle - 9490 .loc 1 329 6 is_stmt 1 view .LVU3032 - 329:Src/main.c **** CPU_state_old = HALT;//Save main current cycle - 9491 .loc 1 329 16 is_stmt 0 view .LVU3033 - 9492 01fa 0023 movs r3, #0 - 9493 01fc 284A ldr r2, .L531+40 - 9494 01fe 1370 strb r3, [r2] - 330:Src/main.c **** UART_transmission_request = MESS_01; - 9495 .loc 1 330 6 is_stmt 1 view .LVU3034 - 330:Src/main.c **** UART_transmission_request = MESS_01; - 9496 .loc 1 330 20 is_stmt 0 view .LVU3035 - ARM GAS /tmp/ccYgfTud.s page 558 + 9169 .loc 1 1774 5 is_stmt 1 view .LVU2903 + 9170 002a FFF7FEFF bl Error_Handler + 9171 .LVL826: + 9172 .L489: + 9173 002e 00BF .align 2 + 9174 .L488: + 9175 0030 00000000 .word huart8 + 9176 0034 007C0040 .word 1073773568 + 9177 .cfi_endproc + 9178 .LFE1203: + 9180 .section .text.MX_TIM8_Init,"ax",%progbits + 9181 .align 1 + 9182 .syntax unified + 9183 .thumb + 9184 .thumb_func + 9186 MX_TIM8_Init: + 9187 .LFB1200: +1629:Src/main.c **** + 9188 .loc 1 1629 1 view -0 + 9189 .cfi_startproc + 9190 @ args = 0, pretend = 0, frame = 32 + 9191 @ frame_needed = 0, uses_anonymous_args = 0 + 9192 0000 00B5 push {lr} + 9193 .LCFI88: + 9194 .cfi_def_cfa_offset 4 + 9195 .cfi_offset 14, -4 + 9196 0002 89B0 sub sp, sp, #36 + 9197 .LCFI89: + 9198 .cfi_def_cfa_offset 40 +1635:Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0}; + 9199 .loc 1 1635 3 view .LVU2905 +1635:Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0}; + 9200 .loc 1 1635 26 is_stmt 0 view .LVU2906 + 9201 0004 0023 movs r3, #0 + 9202 0006 0493 str r3, [sp, #16] + 9203 0008 0593 str r3, [sp, #20] + 9204 000a 0693 str r3, [sp, #24] + 9205 000c 0793 str r3, [sp, #28] +1636:Src/main.c **** + 9206 .loc 1 1636 3 is_stmt 1 view .LVU2907 +1636:Src/main.c **** + 9207 .loc 1 1636 27 is_stmt 0 view .LVU2908 + 9208 000e 0193 str r3, [sp, #4] + 9209 0010 0293 str r3, [sp, #8] + 9210 0012 0393 str r3, [sp, #12] +1641:Src/main.c **** htim8.Init.Prescaler = 0; + 9211 .loc 1 1641 3 is_stmt 1 view .LVU2909 +1641:Src/main.c **** htim8.Init.Prescaler = 0; + 9212 .loc 1 1641 18 is_stmt 0 view .LVU2910 + 9213 0014 1348 ldr r0, .L498 + 9214 0016 144A ldr r2, .L498+4 + 9215 0018 0260 str r2, [r0] +1642:Src/main.c **** htim8.Init.CounterMode = TIM_COUNTERMODE_UP; + 9216 .loc 1 1642 3 is_stmt 1 view .LVU2911 +1642:Src/main.c **** htim8.Init.CounterMode = TIM_COUNTERMODE_UP; + 9217 .loc 1 1642 24 is_stmt 0 view .LVU2912 + 9218 001a 4360 str r3, [r0, #4] + ARM GAS /tmp/ccwR4KB7.s page 556 - 9497 0200 214A ldr r2, .L531+16 - 9498 0202 1370 strb r3, [r2] - 331:Src/main.c **** break; - 9499 .loc 1 331 6 is_stmt 1 view .LVU3036 - 331:Src/main.c **** break; - 9500 .loc 1 331 32 is_stmt 0 view .LVU3037 - 9501 0204 224B ldr r3, .L531+24 - 9502 0206 0122 movs r2, #1 - 9503 0208 1A70 strb r2, [r3] - 332:Src/main.c **** case TRANS_S_ENABLE://3 - Transmith saved packet Before this operation must to be defaulting! - 9504 .loc 1 332 5 is_stmt 1 view .LVU3038 - 9505 020a 72E7 b .L461 - 9506 .L470: - 334:Src/main.c **** State_Data[0]|=temp16&0xff; - 9507 .loc 1 334 6 view .LVU3039 - 334:Src/main.c **** State_Data[0]|=temp16&0xff; - 9508 .loc 1 334 15 is_stmt 0 view .LVU3040 - 9509 020c 2D48 ldr r0, .L531+76 - 9510 020e FFF7FEFF bl SD_READ - 9511 .LVL791: - 334:Src/main.c **** State_Data[0]|=temp16&0xff; - 9512 .loc 1 334 13 discriminator 1 view .LVU3041 - 9513 0212 82B2 uxth r2, r0 - 9514 0214 2C4B ldr r3, .L531+80 - 9515 0216 1A80 strh r2, [r3] @ movhi - 335:Src/main.c **** if (temp16==0) - 9516 .loc 1 335 6 is_stmt 1 view .LVU3042 - 335:Src/main.c **** if (temp16==0) - 9517 .loc 1 335 16 is_stmt 0 view .LVU3043 - 9518 0218 1E49 ldr r1, .L531+28 - 9519 021a 0B78 ldrb r3, [r1] @ zero_extendqisi2 - 335:Src/main.c **** if (temp16==0) - 9520 .loc 1 335 19 view .LVU3044 - 9521 021c 0343 orrs r3, r3, r0 - 9522 021e 0B70 strb r3, [r1] - 336:Src/main.c **** { - 9523 .loc 1 336 6 is_stmt 1 view .LVU3045 - 336:Src/main.c **** { - 9524 .loc 1 336 9 is_stmt 0 view .LVU3046 - 9525 0220 42B9 cbnz r2, .L476 - 338:Src/main.c **** } - 9526 .loc 1 338 7 is_stmt 1 view .LVU3047 - 338:Src/main.c **** } - 9527 .loc 1 338 33 is_stmt 0 view .LVU3048 - 9528 0222 1B4B ldr r3, .L531+24 - 9529 0224 0322 movs r2, #3 - 9530 0226 1A70 strb r2, [r3] - 9531 .L477: - 344:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle - 9532 .loc 1 344 6 is_stmt 1 view .LVU3049 - 344:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle - 9533 .loc 1 344 20 is_stmt 0 view .LVU3050 - 9534 0228 0023 movs r3, #0 - 9535 022a 174A ldr r2, .L531+16 - 9536 022c 1370 strb r3, [r2] - 345:Src/main.c **** break; - 9537 .loc 1 345 6 is_stmt 1 view .LVU3051 - ARM GAS /tmp/ccYgfTud.s page 559 +1643:Src/main.c **** htim8.Init.Period = 91; + 9219 .loc 1 1643 3 is_stmt 1 view .LVU2913 +1643:Src/main.c **** htim8.Init.Period = 91; + 9220 .loc 1 1643 26 is_stmt 0 view .LVU2914 + 9221 001c 8360 str r3, [r0, #8] +1644:Src/main.c **** htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + 9222 .loc 1 1644 3 is_stmt 1 view .LVU2915 +1644:Src/main.c **** htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + 9223 .loc 1 1644 21 is_stmt 0 view .LVU2916 + 9224 001e 5B22 movs r2, #91 + 9225 0020 C260 str r2, [r0, #12] +1645:Src/main.c **** htim8.Init.RepetitionCounter = 0; + 9226 .loc 1 1645 3 is_stmt 1 view .LVU2917 +1645:Src/main.c **** htim8.Init.RepetitionCounter = 0; + 9227 .loc 1 1645 28 is_stmt 0 view .LVU2918 + 9228 0022 0361 str r3, [r0, #16] +1646:Src/main.c **** htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + 9229 .loc 1 1646 3 is_stmt 1 view .LVU2919 +1646:Src/main.c **** htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + 9230 .loc 1 1646 32 is_stmt 0 view .LVU2920 + 9231 0024 4361 str r3, [r0, #20] +1647:Src/main.c **** if (HAL_TIM_Base_Init(&htim8) != HAL_OK) + 9232 .loc 1 1647 3 is_stmt 1 view .LVU2921 +1647:Src/main.c **** if (HAL_TIM_Base_Init(&htim8) != HAL_OK) + 9233 .loc 1 1647 32 is_stmt 0 view .LVU2922 + 9234 0026 8361 str r3, [r0, #24] +1648:Src/main.c **** { + 9235 .loc 1 1648 3 is_stmt 1 view .LVU2923 +1648:Src/main.c **** { + 9236 .loc 1 1648 7 is_stmt 0 view .LVU2924 + 9237 0028 FFF7FEFF bl HAL_TIM_Base_Init + 9238 .LVL827: +1648:Src/main.c **** { + 9239 .loc 1 1648 6 discriminator 1 view .LVU2925 + 9240 002c 98B9 cbnz r0, .L495 +1652:Src/main.c **** if (HAL_TIM_ConfigClockSource(&htim8, &sClockSourceConfig) != HAL_OK) + 9241 .loc 1 1652 3 is_stmt 1 view .LVU2926 +1652:Src/main.c **** if (HAL_TIM_ConfigClockSource(&htim8, &sClockSourceConfig) != HAL_OK) + 9242 .loc 1 1652 34 is_stmt 0 view .LVU2927 + 9243 002e 4FF48053 mov r3, #4096 + 9244 0032 0493 str r3, [sp, #16] +1653:Src/main.c **** { + 9245 .loc 1 1653 3 is_stmt 1 view .LVU2928 +1653:Src/main.c **** { + 9246 .loc 1 1653 7 is_stmt 0 view .LVU2929 + 9247 0034 04A9 add r1, sp, #16 + 9248 0036 0B48 ldr r0, .L498 + 9249 0038 FFF7FEFF bl HAL_TIM_ConfigClockSource + 9250 .LVL828: +1653:Src/main.c **** { + 9251 .loc 1 1653 6 discriminator 1 view .LVU2930 + 9252 003c 68B9 cbnz r0, .L496 +1657:Src/main.c **** sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET; + 9253 .loc 1 1657 3 is_stmt 1 view .LVU2931 +1657:Src/main.c **** sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET; + 9254 .loc 1 1657 37 is_stmt 0 view .LVU2932 + 9255 003e 0023 movs r3, #0 + ARM GAS /tmp/ccwR4KB7.s page 557 - 345:Src/main.c **** break; - 9538 .loc 1 345 16 is_stmt 0 view .LVU3052 - 9539 022e 1C4A ldr r2, .L531+40 - 9540 0230 1370 strb r3, [r2] - 346:Src/main.c **** case TRANS_ENABLE://4 - Transmith current packet - 9541 .loc 1 346 5 is_stmt 1 view .LVU3053 - 9542 0232 5EE7 b .L461 - 9543 .L476: - 342:Src/main.c **** } - 9544 .loc 1 342 7 view .LVU3054 - 342:Src/main.c **** } - 9545 .loc 1 342 33 is_stmt 0 view .LVU3055 - 9546 0234 164B ldr r3, .L531+24 - 9547 0236 0122 movs r2, #1 - 9548 0238 1A70 strb r2, [r3] - 9549 023a F5E7 b .L477 - 9550 .L469: - 348:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle - 9551 .loc 1 348 6 is_stmt 1 view .LVU3056 - 348:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle - 9552 .loc 1 348 32 is_stmt 0 view .LVU3057 - 9553 023c 144B ldr r3, .L531+24 - 9554 023e 0222 movs r2, #2 - 9555 0240 1A70 strb r2, [r3] - 349:Src/main.c **** break; - 9556 .loc 1 349 6 is_stmt 1 view .LVU3058 - 349:Src/main.c **** break; - 9557 .loc 1 349 16 is_stmt 0 view .LVU3059 - 9558 0242 114B ldr r3, .L531+16 - 9559 0244 1A78 ldrb r2, [r3] @ zero_extendqisi2 - 9560 0246 164B ldr r3, .L531+40 - 9561 0248 1A70 strb r2, [r3] - 350:Src/main.c **** case REMOVE_FILE://5 - Remove file from SD - 9562 .loc 1 350 5 is_stmt 1 view .LVU3060 - 9563 024a 52E7 b .L461 - 9564 .L468: - 352:Src/main.c **** UART_transmission_request = MESS_01; - 9565 .loc 1 352 6 view .LVU3061 - 352:Src/main.c **** UART_transmission_request = MESS_01; - 9566 .loc 1 352 21 is_stmt 0 view .LVU3062 - 9567 024c FFF7FEFF bl SD_REMOVE - 9568 .LVL792: - 352:Src/main.c **** UART_transmission_request = MESS_01; - 9569 .loc 1 352 16 discriminator 1 view .LVU3063 - 9570 0250 104A ldr r2, .L531+28 - 9571 0252 1378 ldrb r3, [r2] @ zero_extendqisi2 - 352:Src/main.c **** UART_transmission_request = MESS_01; - 9572 .loc 1 352 19 discriminator 1 view .LVU3064 - 9573 0254 0343 orrs r3, r3, r0 - 9574 0256 1370 strb r3, [r2] - 353:Src/main.c **** CPU_state = CPU_state_old; - 9575 .loc 1 353 6 is_stmt 1 view .LVU3065 - 353:Src/main.c **** CPU_state = CPU_state_old; - 9576 .loc 1 353 32 is_stmt 0 view .LVU3066 - 9577 0258 0D4B ldr r3, .L531+24 - 9578 025a 0122 movs r2, #1 - 9579 025c 1A70 strb r2, [r3] - ARM GAS /tmp/ccYgfTud.s page 560 + 9256 0040 0193 str r3, [sp, #4] +1658:Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + 9257 .loc 1 1658 3 is_stmt 1 view .LVU2933 +1658:Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + 9258 .loc 1 1658 38 is_stmt 0 view .LVU2934 + 9259 0042 0293 str r3, [sp, #8] +1659:Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK) + 9260 .loc 1 1659 3 is_stmt 1 view .LVU2935 +1659:Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK) + 9261 .loc 1 1659 33 is_stmt 0 view .LVU2936 + 9262 0044 0393 str r3, [sp, #12] +1660:Src/main.c **** { + 9263 .loc 1 1660 3 is_stmt 1 view .LVU2937 +1660:Src/main.c **** { + 9264 .loc 1 1660 7 is_stmt 0 view .LVU2938 + 9265 0046 01A9 add r1, sp, #4 + 9266 0048 0648 ldr r0, .L498 + 9267 004a FFF7FEFF bl HAL_TIMEx_MasterConfigSynchronization + 9268 .LVL829: +1660:Src/main.c **** { + 9269 .loc 1 1660 6 discriminator 1 view .LVU2939 + 9270 004e 30B9 cbnz r0, .L497 +1668:Src/main.c **** + 9271 .loc 1 1668 1 view .LVU2940 + 9272 0050 09B0 add sp, sp, #36 + 9273 .LCFI90: + 9274 .cfi_remember_state + 9275 .cfi_def_cfa_offset 4 + 9276 @ sp needed + 9277 0052 5DF804FB ldr pc, [sp], #4 + 9278 .L495: + 9279 .LCFI91: + 9280 .cfi_restore_state +1650:Src/main.c **** } + 9281 .loc 1 1650 5 is_stmt 1 view .LVU2941 + 9282 0056 FFF7FEFF bl Error_Handler + 9283 .LVL830: + 9284 .L496: +1655:Src/main.c **** } + 9285 .loc 1 1655 5 view .LVU2942 + 9286 005a FFF7FEFF bl Error_Handler + 9287 .LVL831: + 9288 .L497: +1662:Src/main.c **** } + 9289 .loc 1 1662 5 view .LVU2943 + 9290 005e FFF7FEFF bl Error_Handler + 9291 .LVL832: + 9292 .L499: + 9293 0062 00BF .align 2 + 9294 .L498: + 9295 0064 00000000 .word htim8 + 9296 0068 00040140 .word 1073808384 + 9297 .cfi_endproc + 9298 .LFE1200: + 9300 .section .text.MX_TIM11_Init,"ax",%progbits + 9301 .align 1 + 9302 .syntax unified + ARM GAS /tmp/ccwR4KB7.s page 558 + 9303 .thumb + 9304 .thumb_func + 9306 MX_TIM11_Init: + 9307 .LFB1202: +1707:Src/main.c **** + 9308 .loc 1 1707 1 view -0 + 9309 .cfi_startproc + 9310 @ args = 0, pretend = 0, frame = 32 + 9311 @ frame_needed = 0, uses_anonymous_args = 0 + 9312 0000 00B5 push {lr} + 9313 .LCFI92: + 9314 .cfi_def_cfa_offset 4 + 9315 .cfi_offset 14, -4 + 9316 0002 89B0 sub sp, sp, #36 + 9317 .LCFI93: + 9318 .cfi_def_cfa_offset 40 +1713:Src/main.c **** + 9319 .loc 1 1713 3 view .LVU2945 +1713:Src/main.c **** + 9320 .loc 1 1713 22 is_stmt 0 view .LVU2946 + 9321 0004 0023 movs r3, #0 + 9322 0006 0193 str r3, [sp, #4] + 9323 0008 0293 str r3, [sp, #8] + 9324 000a 0393 str r3, [sp, #12] + 9325 000c 0493 str r3, [sp, #16] + 9326 000e 0593 str r3, [sp, #20] + 9327 0010 0693 str r3, [sp, #24] + 9328 0012 0793 str r3, [sp, #28] +1718:Src/main.c **** htim11.Init.Prescaler = 1; + 9329 .loc 1 1718 3 is_stmt 1 view .LVU2947 +1718:Src/main.c **** htim11.Init.Prescaler = 1; + 9330 .loc 1 1718 19 is_stmt 0 view .LVU2948 + 9331 0014 1448 ldr r0, .L508 + 9332 0016 154A ldr r2, .L508+4 + 9333 0018 0260 str r2, [r0] +1719:Src/main.c **** htim11.Init.CounterMode = TIM_COUNTERMODE_UP; + 9334 .loc 1 1719 3 is_stmt 1 view .LVU2949 +1719:Src/main.c **** htim11.Init.CounterMode = TIM_COUNTERMODE_UP; + 9335 .loc 1 1719 25 is_stmt 0 view .LVU2950 + 9336 001a 0122 movs r2, #1 + 9337 001c 4260 str r2, [r0, #4] +1720:Src/main.c **** htim11.Init.Period = 91; + 9338 .loc 1 1720 3 is_stmt 1 view .LVU2951 +1720:Src/main.c **** htim11.Init.Period = 91; + 9339 .loc 1 1720 27 is_stmt 0 view .LVU2952 + 9340 001e 8360 str r3, [r0, #8] +1721:Src/main.c **** htim11.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + 9341 .loc 1 1721 3 is_stmt 1 view .LVU2953 +1721:Src/main.c **** htim11.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + 9342 .loc 1 1721 22 is_stmt 0 view .LVU2954 + 9343 0020 5B22 movs r2, #91 + 9344 0022 C260 str r2, [r0, #12] +1722:Src/main.c **** htim11.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; + 9345 .loc 1 1722 3 is_stmt 1 view .LVU2955 +1722:Src/main.c **** htim11.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; + 9346 .loc 1 1722 29 is_stmt 0 view .LVU2956 + 9347 0024 0361 str r3, [r0, #16] + ARM GAS /tmp/ccwR4KB7.s page 559 + + +1723:Src/main.c **** if (HAL_TIM_Base_Init(&htim11) != HAL_OK) + 9348 .loc 1 1723 3 is_stmt 1 view .LVU2957 +1723:Src/main.c **** if (HAL_TIM_Base_Init(&htim11) != HAL_OK) + 9349 .loc 1 1723 33 is_stmt 0 view .LVU2958 + 9350 0026 8023 movs r3, #128 + 9351 0028 8361 str r3, [r0, #24] +1724:Src/main.c **** { + 9352 .loc 1 1724 3 is_stmt 1 view .LVU2959 +1724:Src/main.c **** { + 9353 .loc 1 1724 7 is_stmt 0 view .LVU2960 + 9354 002a FFF7FEFF bl HAL_TIM_Base_Init + 9355 .LVL833: +1724:Src/main.c **** { + 9356 .loc 1 1724 6 discriminator 1 view .LVU2961 + 9357 002e A8B9 cbnz r0, .L505 +1728:Src/main.c **** { + 9358 .loc 1 1728 3 is_stmt 1 view .LVU2962 +1728:Src/main.c **** { + 9359 .loc 1 1728 7 is_stmt 0 view .LVU2963 + 9360 0030 0D48 ldr r0, .L508 + 9361 0032 FFF7FEFF bl HAL_TIM_PWM_Init + 9362 .LVL834: +1728:Src/main.c **** { + 9363 .loc 1 1728 6 discriminator 1 view .LVU2964 + 9364 0036 98B9 cbnz r0, .L506 +1732:Src/main.c **** sConfigOC.Pulse = 91; + 9365 .loc 1 1732 3 is_stmt 1 view .LVU2965 +1732:Src/main.c **** sConfigOC.Pulse = 91; + 9366 .loc 1 1732 20 is_stmt 0 view .LVU2966 + 9367 0038 6023 movs r3, #96 + 9368 003a 0193 str r3, [sp, #4] +1733:Src/main.c **** sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; + 9369 .loc 1 1733 3 is_stmt 1 view .LVU2967 +1733:Src/main.c **** sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; + 9370 .loc 1 1733 19 is_stmt 0 view .LVU2968 + 9371 003c 5B23 movs r3, #91 + 9372 003e 0293 str r3, [sp, #8] +1734:Src/main.c **** sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; + 9373 .loc 1 1734 3 is_stmt 1 view .LVU2969 +1734:Src/main.c **** sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; + 9374 .loc 1 1734 24 is_stmt 0 view .LVU2970 + 9375 0040 0022 movs r2, #0 + 9376 0042 0392 str r2, [sp, #12] +1735:Src/main.c **** if (HAL_TIM_PWM_ConfigChannel(&htim11, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) + 9377 .loc 1 1735 3 is_stmt 1 view .LVU2971 +1735:Src/main.c **** if (HAL_TIM_PWM_ConfigChannel(&htim11, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) + 9378 .loc 1 1735 24 is_stmt 0 view .LVU2972 + 9379 0044 0592 str r2, [sp, #20] +1736:Src/main.c **** { + 9380 .loc 1 1736 3 is_stmt 1 view .LVU2973 +1736:Src/main.c **** { + 9381 .loc 1 1736 7 is_stmt 0 view .LVU2974 + 9382 0046 01A9 add r1, sp, #4 + 9383 0048 0748 ldr r0, .L508 + 9384 004a FFF7FEFF bl HAL_TIM_PWM_ConfigChannel + 9385 .LVL835: +1736:Src/main.c **** { + ARM GAS /tmp/ccwR4KB7.s page 560 + + + 9386 .loc 1 1736 6 discriminator 1 view .LVU2975 + 9387 004e 48B9 cbnz r0, .L507 +1743:Src/main.c **** + 9388 .loc 1 1743 3 is_stmt 1 view .LVU2976 + 9389 0050 0548 ldr r0, .L508 + 9390 0052 FFF7FEFF bl HAL_TIM_MspPostInit + 9391 .LVL836: +1745:Src/main.c **** + 9392 .loc 1 1745 1 is_stmt 0 view .LVU2977 + 9393 0056 09B0 add sp, sp, #36 + 9394 .LCFI94: + 9395 .cfi_remember_state + 9396 .cfi_def_cfa_offset 4 + 9397 @ sp needed + 9398 0058 5DF804FB ldr pc, [sp], #4 + 9399 .L505: + 9400 .LCFI95: + 9401 .cfi_restore_state +1726:Src/main.c **** } + 9402 .loc 1 1726 5 is_stmt 1 view .LVU2978 + 9403 005c FFF7FEFF bl Error_Handler + 9404 .LVL837: + 9405 .L506: +1730:Src/main.c **** } + 9406 .loc 1 1730 5 view .LVU2979 + 9407 0060 FFF7FEFF bl Error_Handler + 9408 .LVL838: + 9409 .L507: +1738:Src/main.c **** } + 9410 .loc 1 1738 5 view .LVU2980 + 9411 0064 FFF7FEFF bl Error_Handler + 9412 .LVL839: + 9413 .L509: + 9414 .align 2 + 9415 .L508: + 9416 0068 00000000 .word htim11 + 9417 006c 00480140 .word 1073825792 + 9418 .cfi_endproc + 9419 .LFE1202: + 9421 .section .text.MX_TIM4_Init,"ax",%progbits + 9422 .align 1 + 9423 .syntax unified + 9424 .thumb + 9425 .thumb_func + 9427 MX_TIM4_Init: + 9428 .LFB1196: +1457:Src/main.c **** + 9429 .loc 1 1457 1 view -0 + 9430 .cfi_startproc + 9431 @ args = 0, pretend = 0, frame = 56 + 9432 @ frame_needed = 0, uses_anonymous_args = 0 + 9433 0000 00B5 push {lr} + 9434 .LCFI96: + 9435 .cfi_def_cfa_offset 4 + 9436 .cfi_offset 14, -4 + 9437 0002 8FB0 sub sp, sp, #60 + 9438 .LCFI97: + ARM GAS /tmp/ccwR4KB7.s page 561 + + + 9439 .cfi_def_cfa_offset 64 +1463:Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0}; + 9440 .loc 1 1463 3 view .LVU2982 +1463:Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0}; + 9441 .loc 1 1463 26 is_stmt 0 view .LVU2983 + 9442 0004 0023 movs r3, #0 + 9443 0006 0A93 str r3, [sp, #40] + 9444 0008 0B93 str r3, [sp, #44] + 9445 000a 0C93 str r3, [sp, #48] + 9446 000c 0D93 str r3, [sp, #52] +1464:Src/main.c **** TIM_OC_InitTypeDef sConfigOC = {0}; + 9447 .loc 1 1464 3 is_stmt 1 view .LVU2984 +1464:Src/main.c **** TIM_OC_InitTypeDef sConfigOC = {0}; + 9448 .loc 1 1464 27 is_stmt 0 view .LVU2985 + 9449 000e 0793 str r3, [sp, #28] + 9450 0010 0893 str r3, [sp, #32] + 9451 0012 0993 str r3, [sp, #36] +1465:Src/main.c **** + 9452 .loc 1 1465 3 is_stmt 1 view .LVU2986 +1465:Src/main.c **** + 9453 .loc 1 1465 22 is_stmt 0 view .LVU2987 + 9454 0014 0093 str r3, [sp] + 9455 0016 0193 str r3, [sp, #4] + 9456 0018 0293 str r3, [sp, #8] + 9457 001a 0393 str r3, [sp, #12] + 9458 001c 0493 str r3, [sp, #16] + 9459 001e 0593 str r3, [sp, #20] + 9460 0020 0693 str r3, [sp, #24] +1470:Src/main.c **** htim4.Init.Prescaler = 0; + 9461 .loc 1 1470 3 is_stmt 1 view .LVU2988 +1470:Src/main.c **** htim4.Init.Prescaler = 0; + 9462 .loc 1 1470 18 is_stmt 0 view .LVU2989 + 9463 0022 1E48 ldr r0, .L522 + 9464 0024 1E4A ldr r2, .L522+4 + 9465 0026 0260 str r2, [r0] +1471:Src/main.c **** htim4.Init.CounterMode = TIM_COUNTERMODE_UP; + 9466 .loc 1 1471 3 is_stmt 1 view .LVU2990 +1471:Src/main.c **** htim4.Init.CounterMode = TIM_COUNTERMODE_UP; + 9467 .loc 1 1471 24 is_stmt 0 view .LVU2991 + 9468 0028 4360 str r3, [r0, #4] +1472:Src/main.c **** htim4.Init.Period = 45; + 9469 .loc 1 1472 3 is_stmt 1 view .LVU2992 +1472:Src/main.c **** htim4.Init.Period = 45; + 9470 .loc 1 1472 26 is_stmt 0 view .LVU2993 + 9471 002a 8360 str r3, [r0, #8] +1473:Src/main.c **** htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + 9472 .loc 1 1473 3 is_stmt 1 view .LVU2994 +1473:Src/main.c **** htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + 9473 .loc 1 1473 21 is_stmt 0 view .LVU2995 + 9474 002c 2D22 movs r2, #45 + 9475 002e C260 str r2, [r0, #12] +1474:Src/main.c **** htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + 9476 .loc 1 1474 3 is_stmt 1 view .LVU2996 +1474:Src/main.c **** htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + 9477 .loc 1 1474 28 is_stmt 0 view .LVU2997 + 9478 0030 0361 str r3, [r0, #16] +1475:Src/main.c **** if (HAL_TIM_Base_Init(&htim4) != HAL_OK) + ARM GAS /tmp/ccwR4KB7.s page 562 + + + 9479 .loc 1 1475 3 is_stmt 1 view .LVU2998 +1475:Src/main.c **** if (HAL_TIM_Base_Init(&htim4) != HAL_OK) + 9480 .loc 1 1475 32 is_stmt 0 view .LVU2999 + 9481 0032 8361 str r3, [r0, #24] +1476:Src/main.c **** { + 9482 .loc 1 1476 3 is_stmt 1 view .LVU3000 +1476:Src/main.c **** { + 9483 .loc 1 1476 7 is_stmt 0 view .LVU3001 + 9484 0034 FFF7FEFF bl HAL_TIM_Base_Init + 9485 .LVL840: +1476:Src/main.c **** { + 9486 .loc 1 1476 6 discriminator 1 view .LVU3002 + 9487 0038 30BB cbnz r0, .L517 +1480:Src/main.c **** if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK) + 9488 .loc 1 1480 3 is_stmt 1 view .LVU3003 +1480:Src/main.c **** if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK) + 9489 .loc 1 1480 34 is_stmt 0 view .LVU3004 + 9490 003a 4FF48053 mov r3, #4096 + 9491 003e 0A93 str r3, [sp, #40] +1481:Src/main.c **** { + 9492 .loc 1 1481 3 is_stmt 1 view .LVU3005 +1481:Src/main.c **** { + 9493 .loc 1 1481 7 is_stmt 0 view .LVU3006 + 9494 0040 0AA9 add r1, sp, #40 + 9495 0042 1648 ldr r0, .L522 + 9496 0044 FFF7FEFF bl HAL_TIM_ConfigClockSource + 9497 .LVL841: +1481:Src/main.c **** { + 9498 .loc 1 1481 6 discriminator 1 view .LVU3007 + 9499 0048 00BB cbnz r0, .L518 +1485:Src/main.c **** { + 9500 .loc 1 1485 3 is_stmt 1 view .LVU3008 +1485:Src/main.c **** { + 9501 .loc 1 1485 7 is_stmt 0 view .LVU3009 + 9502 004a 1448 ldr r0, .L522 + 9503 004c FFF7FEFF bl HAL_TIM_PWM_Init + 9504 .LVL842: +1485:Src/main.c **** { + 9505 .loc 1 1485 6 discriminator 1 view .LVU3010 + 9506 0050 F0B9 cbnz r0, .L519 +1489:Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + 9507 .loc 1 1489 3 is_stmt 1 view .LVU3011 +1489:Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + 9508 .loc 1 1489 37 is_stmt 0 view .LVU3012 + 9509 0052 0023 movs r3, #0 + 9510 0054 0793 str r3, [sp, #28] +1490:Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) + 9511 .loc 1 1490 3 is_stmt 1 view .LVU3013 +1490:Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) + 9512 .loc 1 1490 33 is_stmt 0 view .LVU3014 + 9513 0056 0993 str r3, [sp, #36] +1491:Src/main.c **** { + 9514 .loc 1 1491 3 is_stmt 1 view .LVU3015 +1491:Src/main.c **** { + 9515 .loc 1 1491 7 is_stmt 0 view .LVU3016 + 9516 0058 07A9 add r1, sp, #28 + 9517 005a 1048 ldr r0, .L522 + ARM GAS /tmp/ccwR4KB7.s page 563 + + + 9518 005c FFF7FEFF bl HAL_TIMEx_MasterConfigSynchronization + 9519 .LVL843: +1491:Src/main.c **** { + 9520 .loc 1 1491 6 discriminator 1 view .LVU3017 + 9521 0060 C0B9 cbnz r0, .L520 +1495:Src/main.c **** sConfigOC.Pulse = 22; + 9522 .loc 1 1495 3 is_stmt 1 view .LVU3018 +1495:Src/main.c **** sConfigOC.Pulse = 22; + 9523 .loc 1 1495 20 is_stmt 0 view .LVU3019 + 9524 0062 6023 movs r3, #96 + 9525 0064 0093 str r3, [sp] +1496:Src/main.c **** sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; + 9526 .loc 1 1496 3 is_stmt 1 view .LVU3020 +1496:Src/main.c **** sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; + 9527 .loc 1 1496 19 is_stmt 0 view .LVU3021 + 9528 0066 1623 movs r3, #22 + 9529 0068 0193 str r3, [sp, #4] +1497:Src/main.c **** sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; + 9530 .loc 1 1497 3 is_stmt 1 view .LVU3022 +1497:Src/main.c **** sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; + 9531 .loc 1 1497 24 is_stmt 0 view .LVU3023 + 9532 006a 0023 movs r3, #0 + 9533 006c 0293 str r3, [sp, #8] +1498:Src/main.c **** if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) + 9534 .loc 1 1498 3 is_stmt 1 view .LVU3024 +1498:Src/main.c **** if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) + 9535 .loc 1 1498 24 is_stmt 0 view .LVU3025 + 9536 006e 0493 str r3, [sp, #16] +1499:Src/main.c **** { + 9537 .loc 1 1499 3 is_stmt 1 view .LVU3026 +1499:Src/main.c **** { + 9538 .loc 1 1499 7 is_stmt 0 view .LVU3027 + 9539 0070 0822 movs r2, #8 + 9540 0072 6946 mov r1, sp + 9541 0074 0948 ldr r0, .L522 + 9542 0076 FFF7FEFF bl HAL_TIM_PWM_ConfigChannel + 9543 .LVL844: +1499:Src/main.c **** { + 9544 .loc 1 1499 6 discriminator 1 view .LVU3028 + 9545 007a 68B9 cbnz r0, .L521 +1506:Src/main.c **** + 9546 .loc 1 1506 3 is_stmt 1 view .LVU3029 + 9547 007c 0748 ldr r0, .L522 + 9548 007e FFF7FEFF bl HAL_TIM_MspPostInit + 9549 .LVL845: +1508:Src/main.c **** + 9550 .loc 1 1508 1 is_stmt 0 view .LVU3030 + 9551 0082 0FB0 add sp, sp, #60 + 9552 .LCFI98: + 9553 .cfi_remember_state + 9554 .cfi_def_cfa_offset 4 + 9555 @ sp needed + 9556 0084 5DF804FB ldr pc, [sp], #4 + 9557 .L517: + 9558 .LCFI99: + 9559 .cfi_restore_state +1478:Src/main.c **** } + ARM GAS /tmp/ccwR4KB7.s page 564 + + + 9560 .loc 1 1478 5 is_stmt 1 view .LVU3031 + 9561 0088 FFF7FEFF bl Error_Handler + 9562 .LVL846: + 9563 .L518: +1483:Src/main.c **** } + 9564 .loc 1 1483 5 view .LVU3032 + 9565 008c FFF7FEFF bl Error_Handler + 9566 .LVL847: + 9567 .L519: +1487:Src/main.c **** } + 9568 .loc 1 1487 5 view .LVU3033 + 9569 0090 FFF7FEFF bl Error_Handler + 9570 .LVL848: + 9571 .L520: +1493:Src/main.c **** } + 9572 .loc 1 1493 5 view .LVU3034 + 9573 0094 FFF7FEFF bl Error_Handler + 9574 .LVL849: + 9575 .L521: +1501:Src/main.c **** } + 9576 .loc 1 1501 5 view .LVU3035 + 9577 0098 FFF7FEFF bl Error_Handler + 9578 .LVL850: + 9579 .L523: + 9580 .align 2 + 9581 .L522: + 9582 009c 00000000 .word htim4 + 9583 00a0 00080040 .word 1073743872 + 9584 .cfi_endproc + 9585 .LFE1196: + 9587 .section .text.SystemClock_Config,"ax",%progbits + 9588 .align 1 + 9589 .global SystemClock_Config + 9590 .syntax unified + 9591 .thumb + 9592 .thumb_func + 9594 SystemClock_Config: + 9595 .LFB1187: + 935:Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + 9596 .loc 1 935 1 view -0 + 9597 .cfi_startproc + 9598 @ args = 0, pretend = 0, frame = 80 + 9599 @ frame_needed = 0, uses_anonymous_args = 0 + 9600 0000 00B5 push {lr} + 9601 .LCFI100: + 9602 .cfi_def_cfa_offset 4 + 9603 .cfi_offset 14, -4 + 9604 0002 95B0 sub sp, sp, #84 + 9605 .LCFI101: + 9606 .cfi_def_cfa_offset 88 + 936:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + 9607 .loc 1 936 3 view .LVU3037 + 936:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + 9608 .loc 1 936 22 is_stmt 0 view .LVU3038 + 9609 0004 3422 movs r2, #52 + 9610 0006 0021 movs r1, #0 + 9611 0008 07A8 add r0, sp, #28 + ARM GAS /tmp/ccwR4KB7.s page 565 + + + 9612 000a FFF7FEFF bl memset + 9613 .LVL851: + 937:Src/main.c **** + 9614 .loc 1 937 3 is_stmt 1 view .LVU3039 + 937:Src/main.c **** + 9615 .loc 1 937 22 is_stmt 0 view .LVU3040 + 9616 000e 0023 movs r3, #0 + 9617 0010 0293 str r3, [sp, #8] + 9618 0012 0393 str r3, [sp, #12] + 9619 0014 0493 str r3, [sp, #16] + 9620 0016 0593 str r3, [sp, #20] + 9621 0018 0693 str r3, [sp, #24] + 941:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + 9622 .loc 1 941 3 is_stmt 1 view .LVU3041 + 9623 .LBB634: + 941:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + 9624 .loc 1 941 3 view .LVU3042 + 941:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + 9625 .loc 1 941 3 view .LVU3043 + 9626 001a 244B ldr r3, .L532 + 9627 001c 1A6C ldr r2, [r3, #64] + 9628 001e 42F08052 orr r2, r2, #268435456 + 9629 0022 1A64 str r2, [r3, #64] + 941:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + 9630 .loc 1 941 3 view .LVU3044 + 9631 0024 1B6C ldr r3, [r3, #64] + 9632 0026 03F08053 and r3, r3, #268435456 + 9633 002a 0093 str r3, [sp] + 941:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + 9634 .loc 1 941 3 view .LVU3045 + 9635 002c 009B ldr r3, [sp] + 9636 .LBE634: + 941:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + 9637 .loc 1 941 3 view .LVU3046 + 942:Src/main.c **** + 9638 .loc 1 942 3 view .LVU3047 + 9639 .LBB635: + 942:Src/main.c **** + 9640 .loc 1 942 3 view .LVU3048 + 942:Src/main.c **** + 9641 .loc 1 942 3 view .LVU3049 + 9642 002e 204B ldr r3, .L532+4 + 9643 0030 1A68 ldr r2, [r3] + 9644 0032 42F44042 orr r2, r2, #49152 + 9645 0036 1A60 str r2, [r3] + 942:Src/main.c **** + 9646 .loc 1 942 3 view .LVU3050 + 9647 0038 1B68 ldr r3, [r3] + 9648 003a 03F44043 and r3, r3, #49152 + 9649 003e 0193 str r3, [sp, #4] + 942:Src/main.c **** + 9650 .loc 1 942 3 view .LVU3051 + 9651 0040 019B ldr r3, [sp, #4] + 9652 .LBE635: + 942:Src/main.c **** + 9653 .loc 1 942 3 view .LVU3052 + 947:Src/main.c **** RCC_OscInitStruct.HSEState = RCC_HSE_ON; + ARM GAS /tmp/ccwR4KB7.s page 566 + + + 9654 .loc 1 947 3 view .LVU3053 + 947:Src/main.c **** RCC_OscInitStruct.HSEState = RCC_HSE_ON; + 9655 .loc 1 947 36 is_stmt 0 view .LVU3054 + 9656 0042 0123 movs r3, #1 + 9657 0044 0793 str r3, [sp, #28] + 948:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + 9658 .loc 1 948 3 is_stmt 1 view .LVU3055 + 948:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + 9659 .loc 1 948 30 is_stmt 0 view .LVU3056 + 9660 0046 4FF48033 mov r3, #65536 + 9661 004a 0893 str r3, [sp, #32] + 949:Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; + 9662 .loc 1 949 3 is_stmt 1 view .LVU3057 + 949:Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; + 9663 .loc 1 949 34 is_stmt 0 view .LVU3058 + 9664 004c 0223 movs r3, #2 + 9665 004e 0D93 str r3, [sp, #52] + 950:Src/main.c **** RCC_OscInitStruct.PLL.PLLM = 25; + 9666 .loc 1 950 3 is_stmt 1 view .LVU3059 + 950:Src/main.c **** RCC_OscInitStruct.PLL.PLLM = 25; + 9667 .loc 1 950 35 is_stmt 0 view .LVU3060 + 9668 0050 4FF48002 mov r2, #4194304 + 9669 0054 0E92 str r2, [sp, #56] + 951:Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 368; + 9670 .loc 1 951 3 is_stmt 1 view .LVU3061 + 951:Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 368; + 9671 .loc 1 951 30 is_stmt 0 view .LVU3062 + 9672 0056 1922 movs r2, #25 + 9673 0058 0F92 str r2, [sp, #60] + 952:Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + 9674 .loc 1 952 3 is_stmt 1 view .LVU3063 + 952:Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + 9675 .loc 1 952 30 is_stmt 0 view .LVU3064 + 9676 005a 4FF4B872 mov r2, #368 + 9677 005e 1092 str r2, [sp, #64] + 953:Src/main.c **** RCC_OscInitStruct.PLL.PLLQ = 8; + 9678 .loc 1 953 3 is_stmt 1 view .LVU3065 + 953:Src/main.c **** RCC_OscInitStruct.PLL.PLLQ = 8; + 9679 .loc 1 953 30 is_stmt 0 view .LVU3066 + 9680 0060 1193 str r3, [sp, #68] + 954:Src/main.c **** RCC_OscInitStruct.PLL.PLLR = 2; + 9681 .loc 1 954 3 is_stmt 1 view .LVU3067 + 954:Src/main.c **** RCC_OscInitStruct.PLL.PLLR = 2; + 9682 .loc 1 954 30 is_stmt 0 view .LVU3068 + 9683 0062 0822 movs r2, #8 + 9684 0064 1292 str r2, [sp, #72] + 955:Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + 9685 .loc 1 955 3 is_stmt 1 view .LVU3069 + 955:Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + 9686 .loc 1 955 30 is_stmt 0 view .LVU3070 + 9687 0066 1393 str r3, [sp, #76] + 956:Src/main.c **** { + 9688 .loc 1 956 3 is_stmt 1 view .LVU3071 + 956:Src/main.c **** { + 9689 .loc 1 956 7 is_stmt 0 view .LVU3072 + 9690 0068 07A8 add r0, sp, #28 + 9691 006a FFF7FEFF bl HAL_RCC_OscConfig + ARM GAS /tmp/ccwR4KB7.s page 567 + + + 9692 .LVL852: + 956:Src/main.c **** { + 9693 .loc 1 956 6 discriminator 1 view .LVU3073 + 9694 006e B0B9 cbnz r0, .L529 + 963:Src/main.c **** { + 9695 .loc 1 963 3 is_stmt 1 view .LVU3074 + 963:Src/main.c **** { + 9696 .loc 1 963 7 is_stmt 0 view .LVU3075 + 9697 0070 FFF7FEFF bl HAL_PWREx_EnableOverDrive + 9698 .LVL853: + 963:Src/main.c **** { + 9699 .loc 1 963 6 discriminator 1 view .LVU3076 + 9700 0074 A8B9 cbnz r0, .L530 + 970:Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + 9701 .loc 1 970 3 is_stmt 1 view .LVU3077 + 970:Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; + 9702 .loc 1 970 31 is_stmt 0 view .LVU3078 + 9703 0076 0F23 movs r3, #15 + 9704 0078 0293 str r3, [sp, #8] + 972:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + 9705 .loc 1 972 3 is_stmt 1 view .LVU3079 + 972:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + 9706 .loc 1 972 34 is_stmt 0 view .LVU3080 + 9707 007a 0223 movs r3, #2 + 9708 007c 0393 str r3, [sp, #12] + 973:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; + 9709 .loc 1 973 3 is_stmt 1 view .LVU3081 + 973:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; + 9710 .loc 1 973 35 is_stmt 0 view .LVU3082 + 9711 007e 0023 movs r3, #0 + 9712 0080 0493 str r3, [sp, #16] + 974:Src/main.c **** RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + 9713 .loc 1 974 3 is_stmt 1 view .LVU3083 + 974:Src/main.c **** RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + 9714 .loc 1 974 36 is_stmt 0 view .LVU3084 + 9715 0082 4FF4A053 mov r3, #5120 + 9716 0086 0593 str r3, [sp, #20] + 975:Src/main.c **** + 9717 .loc 1 975 3 is_stmt 1 view .LVU3085 + 975:Src/main.c **** + 9718 .loc 1 975 36 is_stmt 0 view .LVU3086 + 9719 0088 4FF48053 mov r3, #4096 + 9720 008c 0693 str r3, [sp, #24] + 977:Src/main.c **** { + 9721 .loc 1 977 3 is_stmt 1 view .LVU3087 + 977:Src/main.c **** { + 9722 .loc 1 977 7 is_stmt 0 view .LVU3088 + 9723 008e 0621 movs r1, #6 + 9724 0090 02A8 add r0, sp, #8 + 9725 0092 FFF7FEFF bl HAL_RCC_ClockConfig + 9726 .LVL854: + 977:Src/main.c **** { + 9727 .loc 1 977 6 discriminator 1 view .LVU3089 + 9728 0096 30B9 cbnz r0, .L531 + 981:Src/main.c **** + 9729 .loc 1 981 1 view .LVU3090 + 9730 0098 15B0 add sp, sp, #84 + ARM GAS /tmp/ccwR4KB7.s page 568 + + + 9731 .LCFI102: + 9732 .cfi_remember_state + 9733 .cfi_def_cfa_offset 4 + 9734 @ sp needed + 9735 009a 5DF804FB ldr pc, [sp], #4 + 9736 .L529: + 9737 .LCFI103: + 9738 .cfi_restore_state + 958:Src/main.c **** } + 9739 .loc 1 958 5 is_stmt 1 view .LVU3091 + 9740 009e FFF7FEFF bl Error_Handler + 9741 .LVL855: + 9742 .L530: + 965:Src/main.c **** } + 9743 .loc 1 965 5 view .LVU3092 + 9744 00a2 FFF7FEFF bl Error_Handler + 9745 .LVL856: + 9746 .L531: + 979:Src/main.c **** } + 9747 .loc 1 979 5 view .LVU3093 + 9748 00a6 FFF7FEFF bl Error_Handler + 9749 .LVL857: + 9750 .L533: + 9751 00aa 00BF .align 2 + 9752 .L532: + 9753 00ac 00380240 .word 1073887232 + 9754 00b0 00700040 .word 1073770496 + 9755 .cfi_endproc + 9756 .LFE1187: + 9758 .section .text.main,"ax",%progbits + 9759 .align 1 + 9760 .global main + 9761 .syntax unified + 9762 .thumb + 9763 .thumb_func + 9765 main: + 9766 .LFB1186: + 236:Src/main.c **** + 9767 .loc 1 236 1 view -0 + 9768 .cfi_startproc + 9769 @ args = 0, pretend = 0, frame = 8 + 9770 @ frame_needed = 0, uses_anonymous_args = 0 + 9771 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} + 9772 .LCFI104: + 9773 .cfi_def_cfa_offset 28 + 9774 .cfi_offset 4, -28 + 9775 .cfi_offset 5, -24 + 9776 .cfi_offset 6, -20 + 9777 .cfi_offset 7, -16 + 9778 .cfi_offset 8, -12 + 9779 .cfi_offset 9, -8 + 9780 .cfi_offset 14, -4 + 9781 0004 85B0 sub sp, sp, #20 + 9782 .LCFI105: + 9783 .cfi_def_cfa_offset 48 + 239:Src/main.c **** /* USER CODE END 1 */ + 9784 .loc 1 239 2 view .LVU3095 + ARM GAS /tmp/ccwR4KB7.s page 569 + + + 245:Src/main.c **** + 9785 .loc 1 245 3 view .LVU3096 + 9786 0006 FFF7FEFF bl HAL_Init + 9787 .LVL858: + 252:Src/main.c **** + 9788 .loc 1 252 3 view .LVU3097 + 9789 000a FFF7FEFF bl SystemClock_Config + 9790 .LVL859: + 259:Src/main.c **** MX_DMA_Init(); + 9791 .loc 1 259 3 view .LVU3098 + 9792 000e FFF7FEFF bl MX_GPIO_Init + 9793 .LVL860: + 260:Src/main.c **** MX_SPI4_Init(); + 9794 .loc 1 260 3 view .LVU3099 + 9795 0012 FFF7FEFF bl MX_DMA_Init + 9796 .LVL861: + 261:Src/main.c **** MX_FATFS_Init(); + 9797 .loc 1 261 3 view .LVU3100 + 9798 0016 FFF7FEFF bl MX_SPI4_Init + 9799 .LVL862: + 262:Src/main.c **** MX_TIM2_Init(); + 9800 .loc 1 262 3 view .LVU3101 + 9801 001a FFF7FEFF bl MX_FATFS_Init + 9802 .LVL863: + 263:Src/main.c **** MX_TIM5_Init(); + 9803 .loc 1 263 3 view .LVU3102 + 9804 001e FFF7FEFF bl MX_TIM2_Init + 9805 .LVL864: + 264:Src/main.c **** MX_ADC1_Init(); + 9806 .loc 1 264 3 view .LVU3103 + 9807 0022 FFF7FEFF bl MX_TIM5_Init + 9808 .LVL865: + 265:Src/main.c **** MX_ADC3_Init(); + 9809 .loc 1 265 3 view .LVU3104 + 9810 0026 FFF7FEFF bl MX_ADC1_Init + 9811 .LVL866: + 266:Src/main.c **** MX_SPI2_Init(); + 9812 .loc 1 266 3 view .LVU3105 + 9813 002a FFF7FEFF bl MX_ADC3_Init + 9814 .LVL867: + 267:Src/main.c **** MX_SPI5_Init(); + 9815 .loc 1 267 3 view .LVU3106 + 9816 002e FFF7FEFF bl MX_SPI2_Init + 9817 .LVL868: + 268:Src/main.c **** MX_SPI6_Init(); + 9818 .loc 1 268 3 view .LVU3107 + 9819 0032 FFF7FEFF bl MX_SPI5_Init + 9820 .LVL869: + 269:Src/main.c **** MX_USART1_UART_Init(); + 9821 .loc 1 269 3 view .LVU3108 + 9822 0036 FFF7FEFF bl MX_SPI6_Init + 9823 .LVL870: + 270:Src/main.c **** MX_SDMMC1_SD_Init(); + 9824 .loc 1 270 3 view .LVU3109 + 9825 003a FFF7FEFF bl MX_USART1_UART_Init + 9826 .LVL871: + 271:Src/main.c **** MX_TIM7_Init(); + ARM GAS /tmp/ccwR4KB7.s page 570 + + + 9827 .loc 1 271 3 view .LVU3110 + 9828 003e FFF7FEFF bl MX_SDMMC1_SD_Init + 9829 .LVL872: + 272:Src/main.c **** MX_TIM6_Init(); + 9830 .loc 1 272 3 view .LVU3111 + 9831 0042 FFF7FEFF bl MX_TIM7_Init + 9832 .LVL873: + 273:Src/main.c **** MX_TIM10_Init(); + 9833 .loc 1 273 3 view .LVU3112 + 9834 0046 FFF7FEFF bl MX_TIM6_Init + 9835 .LVL874: + 274:Src/main.c **** MX_UART8_Init(); + 9836 .loc 1 274 3 view .LVU3113 + 9837 004a FFF7FEFF bl MX_TIM10_Init + 9838 .LVL875: + 275:Src/main.c **** MX_TIM8_Init(); + 9839 .loc 1 275 3 view .LVU3114 + 9840 004e FFF7FEFF bl MX_UART8_Init + 9841 .LVL876: + 276:Src/main.c **** MX_TIM11_Init(); + 9842 .loc 1 276 3 view .LVU3115 + 9843 0052 FFF7FEFF bl MX_TIM8_Init + 9844 .LVL877: + 277:Src/main.c **** MX_TIM4_Init(); + 9845 .loc 1 277 3 view .LVU3116 + 9846 0056 FFF7FEFF bl MX_TIM11_Init + 9847 .LVL878: + 278:Src/main.c **** /* USER CODE BEGIN 2 */ + 9848 .loc 1 278 3 view .LVU3117 + 9849 005a FFF7FEFF bl MX_TIM4_Init + 9850 .LVL879: + 280:Src/main.c **** //HAL_TIM_Base_Start(&htim11); + 9851 .loc 1 280 2 view .LVU3118 + 9852 005e FFF7FEFF bl Init_params + 9853 .LVL880: + 291:Src/main.c **** + 9854 .loc 1 291 2 view .LVU3119 + 291:Src/main.c **** + 9855 .loc 1 291 14 is_stmt 0 view .LVU3120 + 9856 0062 854A ldr r2, .L612 + 9857 0064 3523 movs r3, #53 + 9858 0066 D362 str r3, [r2, #44] + 293:Src/main.c **** + 9859 .loc 1 293 2 is_stmt 1 view .LVU3121 + 293:Src/main.c **** + 9860 .loc 1 293 23 is_stmt 0 view .LVU3122 + 9861 0068 D36A ldr r3, [r2, #44] + 293:Src/main.c **** + 9862 .loc 1 293 30 view .LVU3123 + 9863 006a 0133 adds r3, r3, #1 + 293:Src/main.c **** + 9864 .loc 1 293 33 view .LVU3124 + 9865 006c 5B08 lsrs r3, r3, #1 + 293:Src/main.c **** + 9866 .loc 1 293 36 view .LVU3125 + 9867 006e 013B subs r3, r3, #1 + 293:Src/main.c **** + ARM GAS /tmp/ccwR4KB7.s page 571 + + + 9868 .loc 1 293 15 view .LVU3126 + 9869 0070 D363 str r3, [r2, #60] + 298:Src/main.c **** TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1; + 9870 .loc 1 298 2 is_stmt 1 view .LVU3127 + 298:Src/main.c **** TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1; + 9871 .loc 1 298 23 is_stmt 0 view .LVU3128 + 9872 0072 D36A ldr r3, [r2, #44] + 298:Src/main.c **** TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1; + 9873 .loc 1 298 36 view .LVU3129 + 9874 0074 9B00 lsls r3, r3, #2 + 9875 0076 0333 adds r3, r3, #3 + 298:Src/main.c **** TIM11 -> CCR1 = (TIM11 -> ARR +1)/2 - 1; + 9876 .loc 1 298 15 view .LVU3130 + 9877 0078 02F5A032 add r2, r2, #81920 + 9878 007c D362 str r3, [r2, #44] + 299:Src/main.c **** + 9879 .loc 1 299 2 is_stmt 1 view .LVU3131 + 299:Src/main.c **** + 9880 .loc 1 299 25 is_stmt 0 view .LVU3132 + 9881 007e D36A ldr r3, [r2, #44] + 299:Src/main.c **** + 9882 .loc 1 299 32 view .LVU3133 + 9883 0080 0133 adds r3, r3, #1 + 299:Src/main.c **** + 9884 .loc 1 299 35 view .LVU3134 + 9885 0082 5B08 lsrs r3, r3, #1 + 299:Src/main.c **** + 9886 .loc 1 299 38 view .LVU3135 + 9887 0084 013B subs r3, r3, #1 + 299:Src/main.c **** + 9888 .loc 1 299 16 view .LVU3136 + 9889 0086 5363 str r3, [r2, #52] + 9890 0088 4CE0 b .L535 + 9891 .L602: + 313:Src/main.c **** { + 9892 .loc 1 313 85 discriminator 1 view .LVU3137 + 9893 008a 7C4B ldr r3, .L612+4 + 9894 008c 1B78 ldrb r3, [r3] @ zero_extendqisi2 + 313:Src/main.c **** { + 9895 .loc 1 313 73 discriminator 1 view .LVU3138 + 9896 008e 002B cmp r3, #0 + 9897 0090 4FD1 bne .L536 + 9898 .L537: + 9899 .LBB636: +3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9900 .loc 7 3073 3 is_stmt 1 discriminator 1 view .LVU3139 + 9901 .LBB637: +3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9902 .loc 7 3073 3 discriminator 1 view .LVU3140 +3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9903 .loc 7 3073 3 discriminator 1 view .LVU3141 +3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9904 .loc 7 3073 3 discriminator 1 view .LVU3142 + 9905 .LVL881: + 9906 .LBB638: + 9907 .LBI638: +1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { + ARM GAS /tmp/ccwR4KB7.s page 572 + + + 9908 .loc 8 1068 31 view .LVU3143 + 9909 .LBB639: +1070:Drivers/CMSIS/Include/cmsis_gcc.h **** + 9910 .loc 8 1070 5 view .LVU3144 +1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); + 9911 .loc 8 1072 4 view .LVU3145 + 9912 0092 7B4A ldr r2, .L612+8 + 9913 .syntax unified + 9914 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 + 9915 0094 52E8003F ldrex r3, [r2] + 9916 @ 0 "" 2 + 9917 .LVL882: +1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } + 9918 .loc 8 1073 4 view .LVU3146 +1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } + 9919 .loc 8 1073 4 is_stmt 0 view .LVU3147 + 9920 .thumb + 9921 .syntax unified + 9922 .LBE639: + 9923 .LBE638: +3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9924 .loc 7 3073 3 discriminator 1 view .LVU3148 + 9925 0098 43F48073 orr r3, r3, #256 + 9926 .LVL883: +3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9927 .loc 7 3073 3 is_stmt 1 discriminator 1 view .LVU3149 + 9928 .LBB640: + 9929 .LBI640: +1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { + 9930 .loc 8 1119 31 view .LVU3150 + 9931 .LBB641: +1121:Drivers/CMSIS/Include/cmsis_gcc.h **** + 9932 .loc 8 1121 4 view .LVU3151 +1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); + 9933 .loc 8 1123 4 view .LVU3152 + 9934 .syntax unified + 9935 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 + 9936 009c 42E80031 strex r1, r3, [r2] + 9937 @ 0 "" 2 + 9938 .LVL884: + 9939 .loc 8 1124 4 view .LVU3153 + 9940 .loc 8 1124 4 is_stmt 0 view .LVU3154 + 9941 .thumb + 9942 .syntax unified + 9943 .LBE641: + 9944 .LBE640: +3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9945 .loc 7 3073 3 discriminator 1 view .LVU3155 + 9946 00a0 0029 cmp r1, #0 + 9947 00a2 F6D1 bne .L537 + 9948 .LVL885: + 9949 .L538: +3073:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9950 .loc 7 3073 3 discriminator 1 view .LVU3156 + 9951 .LBE637: + 9952 .LBE636: + 9953 .LBB642: + ARM GAS /tmp/ccwR4KB7.s page 573 + + +3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9954 .loc 7 3040 3 is_stmt 1 discriminator 1 view .LVU3157 + 9955 .LBB643: +3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9956 .loc 7 3040 3 discriminator 1 view .LVU3158 +3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9957 .loc 7 3040 3 discriminator 1 view .LVU3159 +3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9958 .loc 7 3040 3 discriminator 1 view .LVU3160 + 9959 .LBB644: + 9960 .LBI644: +1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { + 9961 .loc 8 1068 31 view .LVU3161 + 9962 .LBB645: +1070:Drivers/CMSIS/Include/cmsis_gcc.h **** + 9963 .loc 8 1070 5 view .LVU3162 +1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); + 9964 .loc 8 1072 4 view .LVU3163 + 9965 00a4 764A ldr r2, .L612+8 + 9966 .syntax unified + 9967 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 + 9968 00a6 52E8003F ldrex r3, [r2] + 9969 @ 0 "" 2 + 9970 .LVL886: +1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } + 9971 .loc 8 1073 4 view .LVU3164 +1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } + 9972 .loc 8 1073 4 is_stmt 0 view .LVU3165 + 9973 .thumb + 9974 .syntax unified + 9975 .LBE645: + 9976 .LBE644: +3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9977 .loc 7 3040 3 discriminator 1 view .LVU3166 + 9978 00aa 43F02003 orr r3, r3, #32 + 9979 .LVL887: +3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9980 .loc 7 3040 3 is_stmt 1 discriminator 1 view .LVU3167 + 9981 .LBB646: + 9982 .LBI646: +1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { + 9983 .loc 8 1119 31 view .LVU3168 + 9984 .LBB647: +1121:Drivers/CMSIS/Include/cmsis_gcc.h **** + 9985 .loc 8 1121 4 view .LVU3169 +1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); + 9986 .loc 8 1123 4 view .LVU3170 + 9987 .syntax unified + 9988 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 + 9989 00ae 42E80031 strex r1, r3, [r2] + 9990 @ 0 "" 2 + 9991 .LVL888: + 9992 .loc 8 1124 4 view .LVU3171 + 9993 .loc 8 1124 4 is_stmt 0 view .LVU3172 + 9994 .thumb + 9995 .syntax unified + 9996 .LBE647: + ARM GAS /tmp/ccwR4KB7.s page 574 + + + 9997 .LBE646: +3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 9998 .loc 7 3040 3 discriminator 1 view .LVU3173 + 9999 00b2 0029 cmp r1, #0 + 10000 00b4 F6D1 bne .L538 + 10001 .LVL889: + 10002 .L539: +3040:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 10003 .loc 7 3040 3 discriminator 1 view .LVU3174 + 10004 .LBE643: + 10005 .LBE642: + 10006 .LBB648: +3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 10007 .loc 7 3136 3 is_stmt 1 discriminator 1 view .LVU3175 + 10008 .LBB649: +3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 10009 .loc 7 3136 3 discriminator 1 view .LVU3176 +3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 10010 .loc 7 3136 3 discriminator 1 view .LVU3177 +3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 10011 .loc 7 3136 3 discriminator 1 view .LVU3178 + 10012 .LBB650: + 10013 .LBI650: +1068:Drivers/CMSIS/Include/cmsis_gcc.h **** { + 10014 .loc 8 1068 31 view .LVU3179 + 10015 .LBB651: +1070:Drivers/CMSIS/Include/cmsis_gcc.h **** + 10016 .loc 8 1070 5 view .LVU3180 +1072:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); + 10017 .loc 8 1072 4 view .LVU3181 + 10018 00b6 724A ldr r2, .L612+8 + 10019 00b8 02F10803 add r3, r2, #8 + 10020 .syntax unified + 10021 @ 1072 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 + 10022 00bc 53E8003F ldrex r3, [r3] + 10023 @ 0 "" 2 + 10024 .LVL890: +1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } + 10025 .loc 8 1073 4 view .LVU3182 +1073:Drivers/CMSIS/Include/cmsis_gcc.h **** } + 10026 .loc 8 1073 4 is_stmt 0 view .LVU3183 + 10027 .thumb + 10028 .syntax unified + 10029 .LBE651: + 10030 .LBE650: +3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 10031 .loc 7 3136 3 discriminator 1 view .LVU3184 + 10032 00c0 43F00103 orr r3, r3, #1 + 10033 .LVL891: +3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 10034 .loc 7 3136 3 is_stmt 1 discriminator 1 view .LVU3185 + 10035 .LBB652: + 10036 .LBI652: +1119:Drivers/CMSIS/Include/cmsis_gcc.h **** { + 10037 .loc 8 1119 31 view .LVU3186 + 10038 .LBB653: +1121:Drivers/CMSIS/Include/cmsis_gcc.h **** + ARM GAS /tmp/ccwR4KB7.s page 575 + + + 10039 .loc 8 1121 4 view .LVU3187 +1123:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); + 10040 .loc 8 1123 4 view .LVU3188 + 10041 00c4 0832 adds r2, r2, #8 + 10042 .syntax unified + 10043 @ 1123 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 + 10044 00c6 42E80031 strex r1, r3, [r2] + 10045 @ 0 "" 2 + 10046 .LVL892: + 10047 .loc 8 1124 4 view .LVU3189 + 10048 .loc 8 1124 4 is_stmt 0 view .LVU3190 + 10049 .thumb + 10050 .syntax unified + 10051 .LBE653: + 10052 .LBE652: +3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 10053 .loc 7 3136 3 discriminator 1 view .LVU3191 + 10054 00ca 0029 cmp r1, #0 + 10055 00cc F3D1 bne .L539 + 10056 .LBE649: +3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 10057 .loc 7 3136 3 is_stmt 1 discriminator 2 view .LVU3192 + 10058 .LVL893: +3136:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_usart.h **** } + 10059 .loc 7 3136 3 is_stmt 0 discriminator 2 view .LVU3193 + 10060 .LBE648: + 319:Src/main.c **** NVIC_EnableIRQ(USART1_IRQn);//In other case you have FE error flag... + 10061 .loc 1 319 4 is_stmt 1 view .LVU3194 + 10062 .LBB654: + 10063 .LBI654: +2024:Drivers/CMSIS/Include/core_cm7.h **** { + 10064 .loc 2 2024 22 view .LVU3195 + 10065 .LBB655: +2026:Drivers/CMSIS/Include/core_cm7.h **** { + 10066 .loc 2 2026 3 view .LVU3196 +2028:Drivers/CMSIS/Include/core_cm7.h **** } + 10067 .loc 2 2028 5 view .LVU3197 +2028:Drivers/CMSIS/Include/core_cm7.h **** } + 10068 .loc 2 2028 47 is_stmt 0 view .LVU3198 + 10069 00ce 6D4B ldr r3, .L612+12 + 10070 00d0 0022 movs r2, #0 + 10071 00d2 83F82523 strb r2, [r3, #805] + 10072 .LVL894: +2028:Drivers/CMSIS/Include/core_cm7.h **** } + 10073 .loc 2 2028 47 view .LVU3199 + 10074 .LBE655: + 10075 .LBE654: + 320:Src/main.c **** u_rx_flg = 1; + 10076 .loc 1 320 4 is_stmt 1 view .LVU3200 + 10077 .LBB656: + 10078 .LBI656: +1896:Drivers/CMSIS/Include/core_cm7.h **** { + 10079 .loc 2 1896 22 view .LVU3201 + 10080 .LBB657: +1898:Drivers/CMSIS/Include/core_cm7.h **** { + 10081 .loc 2 1898 3 view .LVU3202 +1900:Drivers/CMSIS/Include/core_cm7.h **** } + ARM GAS /tmp/ccwR4KB7.s page 576 + + + 10082 .loc 2 1900 5 view .LVU3203 +1900:Drivers/CMSIS/Include/core_cm7.h **** } + 10083 .loc 2 1900 43 is_stmt 0 view .LVU3204 + 10084 00d6 2022 movs r2, #32 + 10085 00d8 5A60 str r2, [r3, #4] + 10086 .LVL895: +1900:Drivers/CMSIS/Include/core_cm7.h **** } + 10087 .loc 2 1900 43 view .LVU3205 + 10088 .LBE657: + 10089 .LBE656: + 321:Src/main.c **** } + 10090 .loc 1 321 4 is_stmt 1 view .LVU3206 + 321:Src/main.c **** } + 10091 .loc 1 321 13 is_stmt 0 view .LVU3207 + 10092 00da 684B ldr r3, .L612+4 + 10093 00dc 0122 movs r2, #1 + 10094 00de 1A70 strb r2, [r3] + 10095 00e0 27E0 b .L536 + 10096 .L552: + 331:Src/main.c **** task.current_param = task.min_param; + 10097 .loc 1 331 6 is_stmt 1 view .LVU3208 + 331:Src/main.c **** task.current_param = task.min_param; + 10098 .loc 1 331 20 is_stmt 0 view .LVU3209 + 10099 00e2 694B ldr r3, .L612+16 + 10100 00e4 0022 movs r2, #0 + 10101 00e6 1A70 strb r2, [r3] + 332:Src/main.c **** Stop_TIM10(); + 10102 .loc 1 332 6 is_stmt 1 view .LVU3210 + 332:Src/main.c **** Stop_TIM10(); + 10103 .loc 1 332 31 is_stmt 0 view .LVU3211 + 10104 00e8 684B ldr r3, .L612+20 + 10105 00ea 5A68 ldr r2, [r3, #4] @ float + 332:Src/main.c **** Stop_TIM10(); + 10106 .loc 1 332 25 view .LVU3212 + 10107 00ec 1A61 str r2, [r3, #16] @ float + 333:Src/main.c **** break; + 10108 .loc 1 333 6 is_stmt 1 view .LVU3213 + 10109 00ee FFF7FEFF bl Stop_TIM10 + 10110 .LVL896: + 334:Src/main.c **** case DECODE_ENABLE://1 - Decode rec. message + 10111 .loc 1 334 5 view .LVU3214 + 10112 .L540: + 874:Src/main.c **** { + 10113 .loc 1 874 3 view .LVU3215 + 10114 00f2 674B ldr r3, .L612+24 + 10115 00f4 1B78 ldrb r3, [r3] @ zero_extendqisi2 + 10116 00f6 022B cmp r3, #2 + 10117 00f8 00F08184 beq .L587 + 10118 00fc 032B cmp r3, #3 + 10119 00fe 00F0B484 beq .L598 + 10120 0102 012B cmp r3, #1 + 10121 0104 09D1 bne .L589 + 877:Src/main.c **** //HAL_UART_Transmit(&huart1, State_Data, 2, 10); + 10122 .loc 1 877 5 view .LVU3216 + 10123 0106 634C ldr r4, .L612+28 + 10124 0108 0221 movs r1, #2 + 10125 010a 2046 mov r0, r4 + ARM GAS /tmp/ccwR4KB7.s page 577 + + + 10126 010c FFF7FEFF bl USART_TX + 10127 .LVL897: + 879:Src/main.c **** State_Data[1]=0;//All OK! + 10128 .loc 1 879 5 view .LVU3217 + 879:Src/main.c **** State_Data[1]=0;//All OK! + 10129 .loc 1 879 18 is_stmt 0 view .LVU3218 + 10130 0110 0023 movs r3, #0 + 10131 0112 2370 strb r3, [r4] + 880:Src/main.c **** UART_transmission_request = NO_MESS; + 10132 .loc 1 880 5 is_stmt 1 view .LVU3219 + 880:Src/main.c **** UART_transmission_request = NO_MESS; + 10133 .loc 1 880 18 is_stmt 0 view .LVU3220 + 10134 0114 6370 strb r3, [r4, #1] + 881:Src/main.c **** break; + 10135 .loc 1 881 5 is_stmt 1 view .LVU3221 + 881:Src/main.c **** break; + 10136 .loc 1 881 31 is_stmt 0 view .LVU3222 + 10137 0116 5E4A ldr r2, .L612+24 + 10138 0118 1370 strb r3, [r2] + 882:Src/main.c **** case MESS_02://Transmith packet + 10139 .loc 1 882 4 is_stmt 1 view .LVU3223 + 10140 .L589: + 916:Src/main.c **** { + 10141 .loc 1 916 5 view .LVU3224 + 916:Src/main.c **** { + 10142 .loc 1 916 17 is_stmt 0 view .LVU3225 + 10143 011a 5F4B ldr r3, .L612+32 + 10144 011c 1B78 ldrb r3, [r3] @ zero_extendqisi2 + 916:Src/main.c **** { + 10145 .loc 1 916 8 view .LVU3226 + 10146 011e 012B cmp r3, #1 + 10147 0120 00F0A584 beq .L601 + 10148 .L535: + 311:Src/main.c **** { + 10149 .loc 1 311 3 is_stmt 1 view .LVU3227 + 313:Src/main.c **** { + 10150 .loc 1 313 3 view .LVU3228 + 313:Src/main.c **** { + 10151 .loc 1 313 8 is_stmt 0 view .LVU3229 + 10152 0124 4FF48071 mov r1, #256 + 10153 0128 5C48 ldr r0, .L612+36 + 10154 012a FFF7FEFF bl HAL_GPIO_ReadPin + 10155 .LVL898: + 313:Src/main.c **** { + 10156 .loc 1 313 6 discriminator 1 view .LVU3230 + 10157 012e 0128 cmp r0, #1 + 10158 0130 ABD0 beq .L602 + 10159 .L536: + 328:Src/main.c **** { + 10160 .loc 1 328 4 is_stmt 1 view .LVU3231 + 10161 0132 5B4B ldr r3, .L612+40 + 10162 0134 1B78 ldrb r3, [r3] @ zero_extendqisi2 + 10163 0136 0A2B cmp r3, #10 + 10164 0138 DBD8 bhi .L540 + 10165 013a 01A2 adr r2, .L542 + 10166 013c 52F823F0 ldr pc, [r2, r3, lsl #2] + 10167 .p2align 2 + ARM GAS /tmp/ccwR4KB7.s page 578 + + + 10168 .L542: + 10169 0140 E3000000 .word .L552+1 + 10170 0144 6D010000 .word .L551+1 + 10171 0148 D7010000 .word .L550+1 + 10172 014c 0D020000 .word .L549+1 + 10173 0150 3D020000 .word .L548+1 + 10174 0154 4D020000 .word .L547+1 + 10175 0158 69020000 .word .L546+1 + 10176 015c CD020000 .word .L545+1 + 10177 0160 F9040000 .word .L544+1 + 10178 0164 8D050000 .word .L543+1 + 10179 0168 21040000 .word .L541+1 + 10180 .p2align 1 + 10181 .L551: + 336:Src/main.c **** if (CheckChecksum(COMMAND)) + 10182 .loc 1 336 6 view .LVU3232 + 336:Src/main.c **** if (CheckChecksum(COMMAND)) + 10183 .loc 1 336 18 is_stmt 0 view .LVU3233 + 10184 016c 4D4C ldr r4, .L612+44 + 10185 016e 0D21 movs r1, #13 + 10186 0170 2046 mov r0, r4 + 10187 0172 FFF7FEFF bl CalculateChecksum + 10188 .LVL899: + 336:Src/main.c **** if (CheckChecksum(COMMAND)) + 10189 .loc 1 336 16 discriminator 1 view .LVU3234 + 10190 0176 4C4B ldr r3, .L612+48 + 10191 0178 1880 strh r0, [r3] @ movhi + 337:Src/main.c **** { + 10192 .loc 1 337 6 is_stmt 1 view .LVU3235 + 337:Src/main.c **** { + 10193 .loc 1 337 10 is_stmt 0 view .LVU3236 + 10194 017a 2046 mov r0, r4 + 10195 017c FFF7FEFF bl CheckChecksum + 10196 .LVL900: + 337:Src/main.c **** { + 10197 .loc 1 337 9 discriminator 1 view .LVU3237 + 10198 0180 70B9 cbnz r0, .L603 + 350:Src/main.c **** CPU_state = DEFAULT_ENABLE; + 10199 .loc 1 350 7 is_stmt 1 view .LVU3238 + 350:Src/main.c **** CPU_state = DEFAULT_ENABLE; + 10200 .loc 1 350 17 is_stmt 0 view .LVU3239 + 10201 0182 444A ldr r2, .L612+28 + 10202 0184 1378 ldrb r3, [r2] @ zero_extendqisi2 + 350:Src/main.c **** CPU_state = DEFAULT_ENABLE; + 10203 .loc 1 350 21 view .LVU3240 + 10204 0186 43F00403 orr r3, r3, #4 + 10205 018a 1370 strb r3, [r2] + 351:Src/main.c **** CPU_state_old = HALT;//Save main current cycle + 10206 .loc 1 351 7 is_stmt 1 view .LVU3241 + 351:Src/main.c **** CPU_state_old = HALT;//Save main current cycle + 10207 .loc 1 351 17 is_stmt 0 view .LVU3242 + 10208 018c 444B ldr r3, .L612+40 + 10209 018e 0222 movs r2, #2 + 10210 0190 1A70 strb r2, [r3] + 352:Src/main.c **** } + 10211 .loc 1 352 7 is_stmt 1 view .LVU3243 + 352:Src/main.c **** } + ARM GAS /tmp/ccwR4KB7.s page 579 + + + 10212 .loc 1 352 21 is_stmt 0 view .LVU3244 + 10213 0192 3D4B ldr r3, .L612+16 + 10214 0194 0022 movs r2, #0 + 10215 0196 1A70 strb r2, [r3] + 10216 .L554: 354:Src/main.c **** break; - 9580 .loc 1 354 6 is_stmt 1 view .LVU3067 + 10217 .loc 1 354 6 is_stmt 1 view .LVU3245 354:Src/main.c **** break; - 9581 .loc 1 354 16 is_stmt 0 view .LVU3068 - 9582 025e 0A4B ldr r3, .L531+16 - 9583 0260 1A78 ldrb r2, [r3] @ zero_extendqisi2 - 9584 0262 0F4B ldr r3, .L531+40 - 9585 0264 1A70 strb r2, [r3] - 355:Src/main.c **** case STATE://6 - Transmith state message - 9586 .loc 1 355 5 is_stmt 1 view .LVU3069 - 9587 0266 44E7 b .L461 - 9588 .L467: - 357:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle - 9589 .loc 1 357 6 view .LVU3070 - 357:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle - 9590 .loc 1 357 32 is_stmt 0 view .LVU3071 - 9591 0268 094B ldr r3, .L531+24 - 9592 026a 0122 movs r2, #1 - 9593 026c 1A70 strb r2, [r3] - 358:Src/main.c **** break; - 9594 .loc 1 358 6 is_stmt 1 view .LVU3072 - 358:Src/main.c **** break; - 9595 .loc 1 358 16 is_stmt 0 view .LVU3073 - 9596 026e 064B ldr r3, .L531+16 - 9597 0270 1A78 ldrb r2, [r3] @ zero_extendqisi2 - 9598 0272 0B4B ldr r3, .L531+40 - 9599 0274 1A70 strb r2, [r3] - 359:Src/main.c **** case WORK_ENABLE://7 - Main work cycle - 9600 .loc 1 359 5 is_stmt 1 view .LVU3074 - 9601 0276 3CE7 b .L461 - 9602 .L532: - 9603 .align 2 - 9604 .L531: - 9605 0278 00080040 .word 1073743872 - 9606 027c 00000000 .word u_rx_flg - 9607 0280 00100140 .word 1073811456 - 9608 0284 00E100E0 .word -536813312 - 9609 0288 00000000 .word CPU_state_old - 9610 028c 00000000 .word task - 9611 0290 00000000 .word UART_transmission_request - 9612 0294 00000000 .word State_Data - 9613 0298 00000000 .word flg_tmt - 9614 029c 00000240 .word 1073872896 - 9615 02a0 00000000 .word CPU_state - 9616 02a4 00000000 .word COMMAND - 9617 02a8 00000000 .word CS_result - 9618 02ac 00380040 .word 1073756160 - 9619 02b0 00000000 .word Curr_setup - 9620 02b4 00000000 .word LD2_curr_setup - 9621 02b8 00000000 .word LD1_curr_setup - 9622 02bc 00000000 .word TO6 - 9623 02c0 00000000 .word TO6_before - 9624 02c4 00000000 .word Long_Data - 9625 02c8 00000000 .word temp16 - 9626 .L466: - 361:Src/main.c **** Stop_TIM10(); - 9627 .loc 1 361 6 view .LVU3075 - ARM GAS /tmp/ccYgfTud.s page 561 + 10218 .loc 1 354 32 is_stmt 0 view .LVU3246 + 10219 0198 3D4B ldr r3, .L612+24 + 10220 019a 0122 movs r2, #1 + 10221 019c 1A70 strb r2, [r3] + 355:Src/main.c **** case DEFAULT_ENABLE://2 - Go to HALT + 10222 .loc 1 355 5 is_stmt 1 view .LVU3247 + 10223 019e A8E7 b .L540 + 10224 .L603: + 339:Src/main.c **** LL_SPI_Enable(SPI6);//Enable SPI for Laser2 DAC & TEC2 + 10225 .loc 1 339 7 view .LVU3248 + 10226 .LVL901: + 10227 .LBB658: + 10228 .LBI658: + 358:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 10229 .loc 4 358 22 view .LVU3249 + 10230 .LBB659: + 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 10231 .loc 4 360 3 view .LVU3250 + 10232 01a0 424A ldr r2, .L612+52 + 10233 01a2 1368 ldr r3, [r2] + 10234 01a4 43F04003 orr r3, r3, #64 + 10235 01a8 1360 str r3, [r2] + 10236 .LVL902: + 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 10237 .loc 4 360 3 is_stmt 0 view .LVU3251 + 10238 .LBE659: + 10239 .LBE658: + 340:Src/main.c **** Decode_uart(COMMAND, &LD1_curr_setup, &LD2_curr_setup, &Curr_setup); + 10240 .loc 1 340 7 is_stmt 1 view .LVU3252 + 10241 .LBB660: + 10242 .LBI660: + 358:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 10243 .loc 4 358 22 view .LVU3253 + 10244 .LBB661: + 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 10245 .loc 4 360 3 view .LVU3254 + 10246 01aa 02F58E32 add r2, r2, #72704 + 10247 01ae 1368 ldr r3, [r2] + 10248 01b0 43F04003 orr r3, r3, #64 + 10249 01b4 1360 str r3, [r2] + 10250 .LVL903: + 360:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 10251 .loc 4 360 3 is_stmt 0 view .LVU3255 + 10252 .LBE661: + 10253 .LBE660: + 341:Src/main.c **** TO6_before = TO6; + 10254 .loc 1 341 7 is_stmt 1 view .LVU3256 + 10255 01b6 3E4B ldr r3, .L612+56 + 10256 01b8 3E4A ldr r2, .L612+60 + ARM GAS /tmp/ccwR4KB7.s page 580 - 361:Src/main.c **** Stop_TIM10(); - 9628 .loc 1 361 31 is_stmt 0 view .LVU3076 - 9629 02cc 9F4B ldr r3, .L533 - 9630 02ce 5A68 ldr r2, [r3, #4] @ float - 361:Src/main.c **** Stop_TIM10(); - 9631 .loc 1 361 25 view .LVU3077 - 9632 02d0 1A61 str r2, [r3, #16] @ float - 362:Src/main.c **** if (TO7>TO7_before)//Main work cycle go with the timer 7 (1000 us or 1 kHz) - 9633 .loc 1 362 6 is_stmt 1 view .LVU3078 - 9634 02d2 FFF7FEFF bl Stop_TIM10 - 9635 .LVL793: - 363:Src/main.c **** { - 9636 .loc 1 363 6 view .LVU3079 - 363:Src/main.c **** { - 9637 .loc 1 363 13 is_stmt 0 view .LVU3080 - 9638 02d6 9E4B ldr r3, .L533+4 - 9639 02d8 1B68 ldr r3, [r3] - 9640 02da 9E4A ldr r2, .L533+8 - 9641 02dc 1268 ldr r2, [r2] - 363:Src/main.c **** { - 9642 .loc 1 363 9 view .LVU3081 - 9643 02de 9342 cmp r3, r2 - 9644 02e0 7FF607AF bls .L461 - 365:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 - 9645 .loc 1 365 7 is_stmt 1 view .LVU3082 - 365:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 - 9646 .loc 1 365 18 is_stmt 0 view .LVU3083 - 9647 02e4 9B4A ldr r2, .L533+8 - 9648 02e6 1360 str r3, [r2] - 366:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 - 9649 .loc 1 366 7 is_stmt 1 view .LVU3084 - 366:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 - 9650 .loc 1 366 25 is_stmt 0 view .LVU3085 - 9651 02e8 0120 movs r0, #1 - 9652 02ea FFF7FEFF bl MPhD_T - 9653 .LVL794: - 366:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 - 9654 .loc 1 366 23 discriminator 1 view .LVU3086 - 9655 02ee 9A4F ldr r7, .L533+12 - 9656 02f0 3881 strh r0, [r7, #8] @ movhi - 367:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 9657 .loc 1 367 7 is_stmt 1 view .LVU3087 - 367:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 9658 .loc 1 367 25 is_stmt 0 view .LVU3088 - 9659 02f2 0120 movs r0, #1 - 9660 02f4 FFF7FEFF bl MPhD_T - 9661 .LVL795: - 367:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 9662 .loc 1 367 23 discriminator 1 view .LVU3089 - 9663 02f8 3881 strh r0, [r7, #8] @ movhi - 368:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 9664 .loc 1 368 7 is_stmt 1 view .LVU3090 - 368:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 9665 .loc 1 368 25 is_stmt 0 view .LVU3091 - 9666 02fa 0220 movs r0, #2 - 9667 02fc FFF7FEFF bl MPhD_T - 9668 .LVL796: - ARM GAS /tmp/ccYgfTud.s page 562 + 10257 01ba 3F49 ldr r1, .L612+64 + 10258 01bc 2046 mov r0, r4 + 10259 01be FFF7FEFF bl Decode_uart + 10260 .LVL904: + 342:Src/main.c **** //LD1_param.LD_TEMP_Before = LD1_param.LD_TEMP; + 10261 .loc 1 342 7 view .LVU3257 + 342:Src/main.c **** //LD1_param.LD_TEMP_Before = LD1_param.LD_TEMP; + 10262 .loc 1 342 18 is_stmt 0 view .LVU3258 + 10263 01c2 3E4B ldr r3, .L612+68 + 10264 01c4 1A68 ldr r2, [r3] + 10265 01c6 3E4B ldr r3, .L612+72 + 10266 01c8 1A60 str r2, [r3] + 345:Src/main.c **** CPU_state_old = WORK_ENABLE;//Save main current cycle + 10267 .loc 1 345 7 is_stmt 1 view .LVU3259 + 345:Src/main.c **** CPU_state_old = WORK_ENABLE;//Save main current cycle + 10268 .loc 1 345 17 is_stmt 0 view .LVU3260 + 10269 01ca 0723 movs r3, #7 + 10270 01cc 344A ldr r2, .L612+40 + 10271 01ce 1370 strb r3, [r2] + 346:Src/main.c **** } + 10272 .loc 1 346 7 is_stmt 1 view .LVU3261 + 346:Src/main.c **** } + 10273 .loc 1 346 21 is_stmt 0 view .LVU3262 + 10274 01d0 2D4A ldr r2, .L612+16 + 10275 01d2 1370 strb r3, [r2] + 10276 01d4 E0E7 b .L554 + 10277 .L550: + 358:Src/main.c **** Stop_TIM10(); + 10278 .loc 1 358 6 is_stmt 1 view .LVU3263 + 358:Src/main.c **** Stop_TIM10(); + 10279 .loc 1 358 31 is_stmt 0 view .LVU3264 + 10280 01d6 2D4B ldr r3, .L612+20 + 10281 01d8 5A68 ldr r2, [r3, #4] @ float + 358:Src/main.c **** Stop_TIM10(); + 10282 .loc 1 358 25 view .LVU3265 + 10283 01da 1A61 str r2, [r3, #16] @ float + 359:Src/main.c **** Init_params(); + 10284 .loc 1 359 6 is_stmt 1 view .LVU3266 + 10285 01dc FFF7FEFF bl Stop_TIM10 + 10286 .LVL905: + 360:Src/main.c **** LL_SPI_Disable(SPI2);//Disable SPI for Laser1 DAC & TEC1 + 10287 .loc 1 360 6 view .LVU3267 + 10288 01e0 FFF7FEFF bl Init_params + 10289 .LVL906: + 361:Src/main.c **** LL_SPI_Disable(SPI6);//Disable SPI for Laser2 DAC & TEC2 + 10290 .loc 1 361 6 view .LVU3268 + 10291 .LBB662: + 10292 .LBI662: + 370:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 10293 .loc 4 370 22 view .LVU3269 + 10294 .LBB663: + 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 10295 .loc 4 372 3 view .LVU3270 + 10296 01e4 314A ldr r2, .L612+52 + 10297 01e6 1368 ldr r3, [r2] + 10298 01e8 23F04003 bic r3, r3, #64 + 10299 01ec 1360 str r3, [r2] + ARM GAS /tmp/ccwR4KB7.s page 581 - 368:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 9669 .loc 1 368 23 discriminator 1 view .LVU3092 - 9670 0300 964E ldr r6, .L533+16 - 9671 0302 3081 strh r0, [r6, #8] @ movhi - 369:Src/main.c **** - 9672 .loc 1 369 7 is_stmt 1 view .LVU3093 - 369:Src/main.c **** - 9673 .loc 1 369 25 is_stmt 0 view .LVU3094 - 9674 0304 0220 movs r0, #2 - 9675 0306 FFF7FEFF bl MPhD_T - 9676 .LVL797: - 369:Src/main.c **** - 9677 .loc 1 369 23 discriminator 1 view .LVU3095 - 9678 030a 3081 strh r0, [r6, #8] @ movhi - 372:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(3); - 9679 .loc 1 372 7 is_stmt 1 view .LVU3096 - 372:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(3); - 9680 .loc 1 372 14 is_stmt 0 view .LVU3097 - 9681 030c 0320 movs r0, #3 - 9682 030e FFF7FEFF bl MPhD_T - 9683 .LVL798: - 373:Src/main.c **** (void) MPhD_T(4); - 9684 .loc 1 373 7 is_stmt 1 view .LVU3098 - 373:Src/main.c **** (void) MPhD_T(4); - 9685 .loc 1 373 32 is_stmt 0 view .LVU3099 - 9686 0312 0320 movs r0, #3 - 9687 0314 FFF7FEFF bl MPhD_T - 9688 .LVL799: - 373:Src/main.c **** (void) MPhD_T(4); - 9689 .loc 1 373 30 discriminator 1 view .LVU3100 - 9690 0318 3880 strh r0, [r7] @ movhi - 374:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(4); - 9691 .loc 1 374 7 is_stmt 1 view .LVU3101 - 374:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(4); - 9692 .loc 1 374 14 is_stmt 0 view .LVU3102 - 9693 031a 0420 movs r0, #4 - 9694 031c FFF7FEFF bl MPhD_T - 9695 .LVL800: - 375:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); - 9696 .loc 1 375 7 is_stmt 1 view .LVU3103 - 375:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); - 9697 .loc 1 375 32 is_stmt 0 view .LVU3104 - 9698 0320 0420 movs r0, #4 - 9699 0322 FFF7FEFF bl MPhD_T - 9700 .LVL801: - 375:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); - 9701 .loc 1 375 30 discriminator 1 view .LVU3105 - 9702 0326 3080 strh r0, [r6] @ movhi - 376:Src/main.c **** Set_LTEC(3, temp16);//Drive Laser TEC 1 - 9703 .loc 1 376 7 is_stmt 1 view .LVU3106 - 376:Src/main.c **** Set_LTEC(3, temp16);//Drive Laser TEC 1 - 9704 .loc 1 376 14 is_stmt 0 view .LVU3107 - 9705 0328 DFF86482 ldr r8, .L533+68 - 9706 032c 0122 movs r2, #1 - 9707 032e 3946 mov r1, r7 - 9708 0330 4046 mov r0, r8 - 9709 0332 FFF7FEFF bl PID_Controller_Temp - ARM GAS /tmp/ccYgfTud.s page 563 + 10300 .LVL907: + 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 10301 .loc 4 372 3 is_stmt 0 view .LVU3271 + 10302 .LBE663: + 10303 .LBE662: + 362:Src/main.c **** CPU_state = HALT; + 10304 .loc 1 362 6 is_stmt 1 view .LVU3272 + 10305 .LBB664: + 10306 .LBI664: + 370:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** { + 10307 .loc 4 370 22 view .LVU3273 + 10308 .LBB665: + 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 10309 .loc 4 372 3 view .LVU3274 + 10310 01ee 02F58E32 add r2, r2, #72704 + 10311 01f2 1368 ldr r3, [r2] + 10312 01f4 23F04003 bic r3, r3, #64 + 10313 01f8 1360 str r3, [r2] + 10314 .LVL908: + 372:Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_spi.h **** } + 10315 .loc 4 372 3 is_stmt 0 view .LVU3275 + 10316 .LBE665: + 10317 .LBE664: + 363:Src/main.c **** CPU_state_old = HALT;//Save main current cycle + 10318 .loc 1 363 6 is_stmt 1 view .LVU3276 + 363:Src/main.c **** CPU_state_old = HALT;//Save main current cycle + 10319 .loc 1 363 16 is_stmt 0 view .LVU3277 + 10320 01fa 0023 movs r3, #0 + 10321 01fc 284A ldr r2, .L612+40 + 10322 01fe 1370 strb r3, [r2] + 364:Src/main.c **** UART_transmission_request = MESS_01; + 10323 .loc 1 364 6 is_stmt 1 view .LVU3278 + 364:Src/main.c **** UART_transmission_request = MESS_01; + 10324 .loc 1 364 20 is_stmt 0 view .LVU3279 + 10325 0200 214A ldr r2, .L612+16 + 10326 0202 1370 strb r3, [r2] + 365:Src/main.c **** break; + 10327 .loc 1 365 6 is_stmt 1 view .LVU3280 + 365:Src/main.c **** break; + 10328 .loc 1 365 32 is_stmt 0 view .LVU3281 + 10329 0204 224B ldr r3, .L612+24 + 10330 0206 0122 movs r2, #1 + 10331 0208 1A70 strb r2, [r3] + 366:Src/main.c **** case TRANS_S_ENABLE://3 - Transmith saved packet Before this operation must to be defaulting! + 10332 .loc 1 366 5 is_stmt 1 view .LVU3282 + 10333 020a 72E7 b .L540 + 10334 .L549: + 368:Src/main.c **** State_Data[0]|=temp16&0xff; + 10335 .loc 1 368 6 view .LVU3283 + 368:Src/main.c **** State_Data[0]|=temp16&0xff; + 10336 .loc 1 368 15 is_stmt 0 view .LVU3284 + 10337 020c 2D48 ldr r0, .L612+76 + 10338 020e FFF7FEFF bl SD_READ + 10339 .LVL909: + 368:Src/main.c **** State_Data[0]|=temp16&0xff; + 10340 .loc 1 368 13 discriminator 1 view .LVU3285 + 10341 0212 82B2 uxth r2, r0 + ARM GAS /tmp/ccwR4KB7.s page 582 - 9710 .LVL802: - 9711 0336 0146 mov r1, r0 - 376:Src/main.c **** Set_LTEC(3, temp16);//Drive Laser TEC 1 - 9712 .loc 1 376 13 discriminator 1 view .LVU3108 - 9713 0338 894D ldr r5, .L533+20 - 9714 033a 2880 strh r0, [r5] @ movhi - 377:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); - 9715 .loc 1 377 7 is_stmt 1 view .LVU3109 - 9716 033c 0320 movs r0, #3 - 9717 033e FFF7FEFF bl Set_LTEC - 9718 .LVL803: - 378:Src/main.c **** Set_LTEC(4, temp16);//Drive Laser TEC 2 - 9719 .loc 1 378 7 view .LVU3110 - 378:Src/main.c **** Set_LTEC(4, temp16);//Drive Laser TEC 2 - 9720 .loc 1 378 14 is_stmt 0 view .LVU3111 - 9721 0342 DFF84892 ldr r9, .L533+64 - 9722 0346 0222 movs r2, #2 - 9723 0348 3146 mov r1, r6 - 9724 034a 4846 mov r0, r9 - 9725 034c FFF7FEFF bl PID_Controller_Temp - 9726 .LVL804: - 9727 0350 0146 mov r1, r0 - 378:Src/main.c **** Set_LTEC(4, temp16);//Drive Laser TEC 2 - 9728 .loc 1 378 13 discriminator 1 view .LVU3112 - 9729 0352 2880 strh r0, [r5] @ movhi - 379:Src/main.c **** - 9730 .loc 1 379 7 is_stmt 1 view .LVU3113 - 9731 0354 0420 movs r0, #4 - 9732 0356 FFF7FEFF bl Set_LTEC - 9733 .LVL805: - 381:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data - 9734 .loc 1 381 7 view .LVU3114 - 381:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data - 9735 .loc 1 381 31 is_stmt 0 view .LVU3115 - 9736 035a 3B89 ldrh r3, [r7, #8] - 381:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data - 9737 .loc 1 381 20 view .LVU3116 - 9738 035c 814C ldr r4, .L533+24 - 9739 035e 6380 strh r3, [r4, #2] @ movhi - 382:Src/main.c **** - 9740 .loc 1 382 7 is_stmt 1 view .LVU3117 - 382:Src/main.c **** - 9741 .loc 1 382 31 is_stmt 0 view .LVU3118 - 9742 0360 3389 ldrh r3, [r6, #8] - 382:Src/main.c **** - 9743 .loc 1 382 20 view .LVU3119 - 9744 0362 A380 strh r3, [r4, #4] @ movhi - 384:Src/main.c **** Set_LTEC(2,LD2_curr_setup.CURRENT);//Drive Laser diode 2 - 9745 .loc 1 384 7 is_stmt 1 view .LVU3120 - 9746 0364 B8F80C10 ldrh r1, [r8, #12] - 9747 0368 0120 movs r0, #1 - 9748 036a FFF7FEFF bl Set_LTEC - 9749 .LVL806: - 385:Src/main.c **** - 9750 .loc 1 385 7 view .LVU3121 - 9751 036e B9F80C10 ldrh r1, [r9, #12] - 9752 0372 0220 movs r0, #2 - ARM GAS /tmp/ccYgfTud.s page 564 + 10342 0214 2C4B ldr r3, .L612+80 + 10343 0216 1A80 strh r2, [r3] @ movhi + 369:Src/main.c **** if (temp16==0) + 10344 .loc 1 369 6 is_stmt 1 view .LVU3286 + 369:Src/main.c **** if (temp16==0) + 10345 .loc 1 369 16 is_stmt 0 view .LVU3287 + 10346 0218 1E49 ldr r1, .L612+28 + 10347 021a 0B78 ldrb r3, [r1] @ zero_extendqisi2 + 369:Src/main.c **** if (temp16==0) + 10348 .loc 1 369 19 view .LVU3288 + 10349 021c 0343 orrs r3, r3, r0 + 10350 021e 0B70 strb r3, [r1] + 370:Src/main.c **** { + 10351 .loc 1 370 6 is_stmt 1 view .LVU3289 + 370:Src/main.c **** { + 10352 .loc 1 370 9 is_stmt 0 view .LVU3290 + 10353 0220 42B9 cbnz r2, .L555 + 372:Src/main.c **** } + 10354 .loc 1 372 7 is_stmt 1 view .LVU3291 + 372:Src/main.c **** } + 10355 .loc 1 372 33 is_stmt 0 view .LVU3292 + 10356 0222 1B4B ldr r3, .L612+24 + 10357 0224 0322 movs r2, #3 + 10358 0226 1A70 strb r2, [r3] + 10359 .L556: + 378:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle + 10360 .loc 1 378 6 is_stmt 1 view .LVU3293 + 378:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle + 10361 .loc 1 378 20 is_stmt 0 view .LVU3294 + 10362 0228 0023 movs r3, #0 + 10363 022a 174A ldr r2, .L612+16 + 10364 022c 1370 strb r3, [r2] + 379:Src/main.c **** break; + 10365 .loc 1 379 6 is_stmt 1 view .LVU3295 + 379:Src/main.c **** break; + 10366 .loc 1 379 16 is_stmt 0 view .LVU3296 + 10367 022e 1C4A ldr r2, .L612+40 + 10368 0230 1370 strb r3, [r2] + 380:Src/main.c **** case TRANS_ENABLE://4 - Transmith current packet + 10369 .loc 1 380 5 is_stmt 1 view .LVU3297 + 10370 0232 5EE7 b .L540 + 10371 .L555: + 376:Src/main.c **** } + 10372 .loc 1 376 7 view .LVU3298 + 376:Src/main.c **** } + 10373 .loc 1 376 33 is_stmt 0 view .LVU3299 + 10374 0234 164B ldr r3, .L612+24 + 10375 0236 0122 movs r2, #1 + 10376 0238 1A70 strb r2, [r3] + 10377 023a F5E7 b .L556 + 10378 .L548: + 382:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle + 10379 .loc 1 382 6 is_stmt 1 view .LVU3300 + 382:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle + 10380 .loc 1 382 32 is_stmt 0 view .LVU3301 + 10381 023c 144B ldr r3, .L612+24 + 10382 023e 0222 movs r2, #2 + ARM GAS /tmp/ccwR4KB7.s page 583 - 9753 0374 FFF7FEFF bl Set_LTEC - 9754 .LVL807: - 389:Src/main.c **** temp16 = Get_ADC(1); - 9755 .loc 1 389 7 view .LVU3122 - 389:Src/main.c **** temp16 = Get_ADC(1); - 9756 .loc 1 389 16 is_stmt 0 view .LVU3123 - 9757 0378 0020 movs r0, #0 - 9758 037a FFF7FEFF bl Get_ADC - 9759 .LVL808: - 389:Src/main.c **** temp16 = Get_ADC(1); - 9760 .loc 1 389 14 discriminator 1 view .LVU3124 - 9761 037e 2880 strh r0, [r5] @ movhi - 390:Src/main.c **** Long_Data[7] = temp16; // PA2 -- 3V_monitor // PB1 -- U_Rt1_ext_Gain - 9762 .loc 1 390 7 is_stmt 1 view .LVU3125 - 390:Src/main.c **** Long_Data[7] = temp16; // PA2 -- 3V_monitor // PB1 -- U_Rt1_ext_Gain - 9763 .loc 1 390 16 is_stmt 0 view .LVU3126 - 9764 0380 0120 movs r0, #1 - 9765 0382 FFF7FEFF bl Get_ADC - 9766 .LVL809: - 390:Src/main.c **** Long_Data[7] = temp16; // PA2 -- 3V_monitor // PB1 -- U_Rt1_ext_Gain - 9767 .loc 1 390 14 discriminator 1 view .LVU3127 - 9768 0386 2880 strh r0, [r5] @ movhi - 391:Src/main.c **** - 9769 .loc 1 391 7 is_stmt 1 view .LVU3128 - 391:Src/main.c **** - 9770 .loc 1 391 20 is_stmt 0 view .LVU3129 - 9771 0388 E081 strh r0, [r4, #14] @ movhi - 394:Src/main.c **** Long_Data[8] = temp16; // PB0 -- U_Rt2_ext_Gain // PB0 -- U_Rt2_ext_Gain - 9772 .loc 1 394 7 is_stmt 1 view .LVU3130 - 394:Src/main.c **** Long_Data[8] = temp16; // PB0 -- U_Rt2_ext_Gain // PB0 -- U_Rt2_ext_Gain - 9773 .loc 1 394 16 is_stmt 0 view .LVU3131 - 9774 038a 0120 movs r0, #1 - 9775 038c FFF7FEFF bl Get_ADC - 9776 .LVL810: - 394:Src/main.c **** Long_Data[8] = temp16; // PB0 -- U_Rt2_ext_Gain // PB0 -- U_Rt2_ext_Gain - 9777 .loc 1 394 14 discriminator 1 view .LVU3132 - 9778 0390 2880 strh r0, [r5] @ movhi - 395:Src/main.c **** - 9779 .loc 1 395 7 is_stmt 1 view .LVU3133 - 395:Src/main.c **** - 9780 .loc 1 395 20 is_stmt 0 view .LVU3134 - 9781 0392 2082 strh r0, [r4, #16] @ movhi - 398:Src/main.c **** Long_Data[9] = temp16; // PB1 -- U_Rt1_ext_Gain // PA2 -- 3V_monitor - 9782 .loc 1 398 7 is_stmt 1 view .LVU3135 - 398:Src/main.c **** Long_Data[9] = temp16; // PB1 -- U_Rt1_ext_Gain // PA2 -- 3V_monitor - 9783 .loc 1 398 16 is_stmt 0 view .LVU3136 - 9784 0394 0120 movs r0, #1 - 9785 0396 FFF7FEFF bl Get_ADC - 9786 .LVL811: - 398:Src/main.c **** Long_Data[9] = temp16; // PB1 -- U_Rt1_ext_Gain // PA2 -- 3V_monitor - 9787 .loc 1 398 14 discriminator 1 view .LVU3137 - 9788 039a 2880 strh r0, [r5] @ movhi - 399:Src/main.c **** - 9789 .loc 1 399 7 is_stmt 1 view .LVU3138 - 399:Src/main.c **** - 9790 .loc 1 399 20 is_stmt 0 view .LVU3139 - 9791 039c 6082 strh r0, [r4, #18] @ movhi - ARM GAS /tmp/ccYgfTud.s page 565 + 10383 0240 1A70 strb r2, [r3] + 383:Src/main.c **** break; + 10384 .loc 1 383 6 is_stmt 1 view .LVU3302 + 383:Src/main.c **** break; + 10385 .loc 1 383 16 is_stmt 0 view .LVU3303 + 10386 0242 114B ldr r3, .L612+16 + 10387 0244 1A78 ldrb r2, [r3] @ zero_extendqisi2 + 10388 0246 164B ldr r3, .L612+40 + 10389 0248 1A70 strb r2, [r3] + 384:Src/main.c **** case REMOVE_FILE://5 - Remove file from SD + 10390 .loc 1 384 5 is_stmt 1 view .LVU3304 + 10391 024a 52E7 b .L540 + 10392 .L547: + 386:Src/main.c **** UART_transmission_request = MESS_01; + 10393 .loc 1 386 6 view .LVU3305 + 386:Src/main.c **** UART_transmission_request = MESS_01; + 10394 .loc 1 386 21 is_stmt 0 view .LVU3306 + 10395 024c FFF7FEFF bl SD_REMOVE + 10396 .LVL910: + 386:Src/main.c **** UART_transmission_request = MESS_01; + 10397 .loc 1 386 16 discriminator 1 view .LVU3307 + 10398 0250 104A ldr r2, .L612+28 + 10399 0252 1378 ldrb r3, [r2] @ zero_extendqisi2 + 386:Src/main.c **** UART_transmission_request = MESS_01; + 10400 .loc 1 386 19 discriminator 1 view .LVU3308 + 10401 0254 0343 orrs r3, r3, r0 + 10402 0256 1370 strb r3, [r2] + 387:Src/main.c **** CPU_state = CPU_state_old; + 10403 .loc 1 387 6 is_stmt 1 view .LVU3309 + 387:Src/main.c **** CPU_state = CPU_state_old; + 10404 .loc 1 387 32 is_stmt 0 view .LVU3310 + 10405 0258 0D4B ldr r3, .L612+24 + 10406 025a 0122 movs r2, #1 + 10407 025c 1A70 strb r2, [r3] + 388:Src/main.c **** break; + 10408 .loc 1 388 6 is_stmt 1 view .LVU3311 + 388:Src/main.c **** break; + 10409 .loc 1 388 16 is_stmt 0 view .LVU3312 + 10410 025e 0A4B ldr r3, .L612+16 + 10411 0260 1A78 ldrb r2, [r3] @ zero_extendqisi2 + 10412 0262 0F4B ldr r3, .L612+40 + 10413 0264 1A70 strb r2, [r3] + 389:Src/main.c **** case STATE://6 - Transmith state message + 10414 .loc 1 389 5 is_stmt 1 view .LVU3313 + 10415 0266 44E7 b .L540 + 10416 .L546: + 391:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle + 10417 .loc 1 391 6 view .LVU3314 + 391:Src/main.c **** CPU_state = CPU_state_old;//Return to main current cycle + 10418 .loc 1 391 32 is_stmt 0 view .LVU3315 + 10419 0268 094B ldr r3, .L612+24 + 10420 026a 0122 movs r2, #1 + 10421 026c 1A70 strb r2, [r3] + 392:Src/main.c **** break; + 10422 .loc 1 392 6 is_stmt 1 view .LVU3316 + 392:Src/main.c **** break; + 10423 .loc 1 392 16 is_stmt 0 view .LVU3317 + ARM GAS /tmp/ccwR4KB7.s page 584 - 402:Src/main.c **** Long_Data[10] = temp16; // PC0 -- 5V1_monitor // PC0 -- 5V1_monitor - 9792 .loc 1 402 7 is_stmt 1 view .LVU3140 - 402:Src/main.c **** Long_Data[10] = temp16; // PC0 -- 5V1_monitor // PC0 -- 5V1_monitor - 9793 .loc 1 402 16 is_stmt 0 view .LVU3141 - 9794 039e 0120 movs r0, #1 - 9795 03a0 FFF7FEFF bl Get_ADC - 9796 .LVL812: - 402:Src/main.c **** Long_Data[10] = temp16; // PC0 -- 5V1_monitor // PC0 -- 5V1_monitor - 9797 .loc 1 402 14 discriminator 1 view .LVU3142 - 9798 03a4 2880 strh r0, [r5] @ movhi + 10424 026e 064B ldr r3, .L612+16 + 10425 0270 1A78 ldrb r2, [r3] @ zero_extendqisi2 + 10426 0272 0B4B ldr r3, .L612+40 + 10427 0274 1A70 strb r2, [r3] + 393:Src/main.c **** case WORK_ENABLE://7 - Main work cycle + 10428 .loc 1 393 5 is_stmt 1 view .LVU3318 + 10429 0276 3CE7 b .L540 + 10430 .L613: + 10431 .align 2 + 10432 .L612: + 10433 0278 00080040 .word 1073743872 + 10434 027c 00000000 .word u_rx_flg + 10435 0280 00100140 .word 1073811456 + 10436 0284 00E100E0 .word -536813312 + 10437 0288 00000000 .word CPU_state_old + 10438 028c 00000000 .word task + 10439 0290 00000000 .word UART_transmission_request + 10440 0294 00000000 .word State_Data + 10441 0298 00000000 .word flg_tmt + 10442 029c 00000240 .word 1073872896 + 10443 02a0 00000000 .word CPU_state + 10444 02a4 00000000 .word COMMAND + 10445 02a8 00000000 .word CS_result + 10446 02ac 00380040 .word 1073756160 + 10447 02b0 00000000 .word Curr_setup + 10448 02b4 00000000 .word LD2_curr_setup + 10449 02b8 00000000 .word LD1_curr_setup + 10450 02bc 00000000 .word TO6 + 10451 02c0 00000000 .word TO6_before + 10452 02c4 00000000 .word Long_Data + 10453 02c8 00000000 .word temp16 + 10454 .L545: + 395:Src/main.c **** Stop_TIM10(); + 10455 .loc 1 395 6 view .LVU3319 + 395:Src/main.c **** Stop_TIM10(); + 10456 .loc 1 395 31 is_stmt 0 view .LVU3320 + 10457 02cc 9C4B ldr r3, .L614 + 10458 02ce 5A68 ldr r2, [r3, #4] @ float + 395:Src/main.c **** Stop_TIM10(); + 10459 .loc 1 395 25 view .LVU3321 + 10460 02d0 1A61 str r2, [r3, #16] @ float + 396:Src/main.c **** if (TO7>TO7_before)//Main work cycle go with the timer 7 (1000 us or 1 kHz) + 10461 .loc 1 396 6 is_stmt 1 view .LVU3322 + 10462 02d2 FFF7FEFF bl Stop_TIM10 + 10463 .LVL911: + 397:Src/main.c **** { + 10464 .loc 1 397 6 view .LVU3323 + 397:Src/main.c **** { + 10465 .loc 1 397 13 is_stmt 0 view .LVU3324 + 10466 02d6 9B4B ldr r3, .L614+4 + 10467 02d8 1B68 ldr r3, [r3] + 10468 02da 9B4A ldr r2, .L614+8 + 10469 02dc 1268 ldr r2, [r2] + 397:Src/main.c **** { + 10470 .loc 1 397 9 view .LVU3325 + 10471 02de 9342 cmp r3, r2 + 10472 02e0 7FF607AF bls .L540 + ARM GAS /tmp/ccwR4KB7.s page 585 + + + 399:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 + 10473 .loc 1 399 7 is_stmt 1 view .LVU3326 + 399:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 + 10474 .loc 1 399 18 is_stmt 0 view .LVU3327 + 10475 02e4 984A ldr r2, .L614+8 + 10476 02e6 1360 str r3, [r2] + 400:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 + 10477 .loc 1 400 7 is_stmt 1 view .LVU3328 + 400:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 + 10478 .loc 1 400 25 is_stmt 0 view .LVU3329 + 10479 02e8 0120 movs r0, #1 + 10480 02ea FFF7FEFF bl MPhD_T + 10481 .LVL912: + 400:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 + 10482 .loc 1 400 23 discriminator 1 view .LVU3330 + 10483 02ee 974F ldr r7, .L614+12 + 10484 02f0 3881 strh r0, [r7, #8] @ movhi + 401:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 + 10485 .loc 1 401 7 is_stmt 1 view .LVU3331 + 401:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 + 10486 .loc 1 401 25 is_stmt 0 view .LVU3332 + 10487 02f2 0120 movs r0, #1 + 10488 02f4 FFF7FEFF bl MPhD_T + 10489 .LVL913: + 401:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 + 10490 .loc 1 401 23 discriminator 1 view .LVU3333 + 10491 02f8 3881 strh r0, [r7, #8] @ movhi + 402:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 + 10492 .loc 1 402 7 is_stmt 1 view .LVU3334 + 402:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 + 10493 .loc 1 402 25 is_stmt 0 view .LVU3335 + 10494 02fa 0220 movs r0, #2 + 10495 02fc FFF7FEFF bl MPhD_T + 10496 .LVL914: + 402:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 + 10497 .loc 1 402 23 discriminator 1 view .LVU3336 + 10498 0300 934E ldr r6, .L614+16 + 10499 0302 3081 strh r0, [r6, #8] @ movhi 403:Src/main.c **** - 9799 .loc 1 403 7 is_stmt 1 view .LVU3143 + 10500 .loc 1 403 7 is_stmt 1 view .LVU3337 403:Src/main.c **** - 9800 .loc 1 403 21 is_stmt 0 view .LVU3144 - 9801 03a6 A082 strh r0, [r4, #20] @ movhi - 406:Src/main.c **** Long_Data[11] = temp16; // PC1 -- 5V2_monitor // PC1 -- 5V2_monitor - 9802 .loc 1 406 7 is_stmt 1 view .LVU3145 - 406:Src/main.c **** Long_Data[11] = temp16; // PC1 -- 5V2_monitor // PC1 -- 5V2_monitor - 9803 .loc 1 406 16 is_stmt 0 view .LVU3146 - 9804 03a8 0120 movs r0, #1 - 9805 03aa FFF7FEFF bl Get_ADC - 9806 .LVL813: - 406:Src/main.c **** Long_Data[11] = temp16; // PC1 -- 5V2_monitor // PC1 -- 5V2_monitor - 9807 .loc 1 406 14 discriminator 1 view .LVU3147 - 9808 03ae 2880 strh r0, [r5] @ movhi - 407:Src/main.c **** temp16 = Get_ADC(2); - 9809 .loc 1 407 7 is_stmt 1 view .LVU3148 - 407:Src/main.c **** temp16 = Get_ADC(2); - 9810 .loc 1 407 21 is_stmt 0 view .LVU3149 - 9811 03b0 E082 strh r0, [r4, #22] @ movhi - 408:Src/main.c **** - 9812 .loc 1 408 7 is_stmt 1 view .LVU3150 - 408:Src/main.c **** - 9813 .loc 1 408 16 is_stmt 0 view .LVU3151 - 9814 03b2 0220 movs r0, #2 - 9815 03b4 FFF7FEFF bl Get_ADC - 9816 .LVL814: - 408:Src/main.c **** - 9817 .loc 1 408 14 discriminator 1 view .LVU3152 - 9818 03b8 2880 strh r0, [r5] @ movhi - 411:Src/main.c **** temp16 = Get_ADC(4); - 9819 .loc 1 411 7 is_stmt 1 view .LVU3153 - 411:Src/main.c **** temp16 = Get_ADC(4); - 9820 .loc 1 411 16 is_stmt 0 view .LVU3154 - 9821 03ba 0320 movs r0, #3 - 9822 03bc FFF7FEFF bl Get_ADC - 9823 .LVL815: - 411:Src/main.c **** temp16 = Get_ADC(4); - 9824 .loc 1 411 14 discriminator 1 view .LVU3155 - 9825 03c0 2880 strh r0, [r5] @ movhi - 412:Src/main.c **** Long_Data[12] = temp16; - 9826 .loc 1 412 7 is_stmt 1 view .LVU3156 - 412:Src/main.c **** Long_Data[12] = temp16; - 9827 .loc 1 412 16 is_stmt 0 view .LVU3157 - 9828 03c2 0420 movs r0, #4 - 9829 03c4 FFF7FEFF bl Get_ADC - 9830 .LVL816: - ARM GAS /tmp/ccYgfTud.s page 566 - - - 412:Src/main.c **** Long_Data[12] = temp16; - 9831 .loc 1 412 14 discriminator 1 view .LVU3158 - 9832 03c8 2880 strh r0, [r5] @ movhi - 413:Src/main.c **** temp16 = Get_ADC(5); - 9833 .loc 1 413 7 is_stmt 1 view .LVU3159 - 413:Src/main.c **** temp16 = Get_ADC(5); - 9834 .loc 1 413 21 is_stmt 0 view .LVU3160 - 9835 03ca 2083 strh r0, [r4, #24] @ movhi - 414:Src/main.c **** - 9836 .loc 1 414 7 is_stmt 1 view .LVU3161 - 414:Src/main.c **** - 9837 .loc 1 414 16 is_stmt 0 view .LVU3162 - 9838 03cc 0520 movs r0, #5 - 9839 03ce FFF7FEFF bl Get_ADC - 9840 .LVL817: - 414:Src/main.c **** - 9841 .loc 1 414 14 discriminator 1 view .LVU3163 - 9842 03d2 2880 strh r0, [r5] @ movhi - 417:Src/main.c **** Long_Data[3] = (TO6_stop)&0xffff; - 9843 .loc 1 417 7 is_stmt 1 view .LVU3164 - 417:Src/main.c **** Long_Data[3] = (TO6_stop)&0xffff; - 9844 .loc 1 417 16 is_stmt 0 view .LVU3165 - 9845 03d4 644B ldr r3, .L533+28 - 9846 03d6 1B68 ldr r3, [r3] - 9847 03d8 644A ldr r2, .L533+32 - 9848 03da 1360 str r3, [r2] - 418:Src/main.c **** Long_Data[4] = (TO6_stop>>16)&0xffff; - 9849 .loc 1 418 7 is_stmt 1 view .LVU3166 - 418:Src/main.c **** Long_Data[4] = (TO6_stop>>16)&0xffff; - 9850 .loc 1 418 20 is_stmt 0 view .LVU3167 - 9851 03dc E380 strh r3, [r4, #6] @ movhi - 419:Src/main.c **** - 9852 .loc 1 419 7 is_stmt 1 view .LVU3168 - 419:Src/main.c **** - 9853 .loc 1 419 31 is_stmt 0 view .LVU3169 - 9854 03de 1B0C lsrs r3, r3, #16 - 419:Src/main.c **** - 9855 .loc 1 419 20 view .LVU3170 - 9856 03e0 2381 strh r3, [r4, #8] @ movhi - 422:Src/main.c **** - 9857 .loc 1 422 7 is_stmt 1 view .LVU3171 - 422:Src/main.c **** - 9858 .loc 1 422 31 is_stmt 0 view .LVU3172 - 9859 03e2 3B88 ldrh r3, [r7] - 422:Src/main.c **** - 9860 .loc 1 422 20 view .LVU3173 - 9861 03e4 6381 strh r3, [r4, #10] @ movhi - 425:Src/main.c **** - 9862 .loc 1 425 7 is_stmt 1 view .LVU3174 - 425:Src/main.c **** - 9863 .loc 1 425 31 is_stmt 0 view .LVU3175 - 9864 03e6 3388 ldrh r3, [r6] - 425:Src/main.c **** - 9865 .loc 1 425 20 view .LVU3176 - 9866 03e8 A381 strh r3, [r4, #12] @ movhi - 427:Src/main.c **** { - 9867 .loc 1 427 7 is_stmt 1 view .LVU3177 - ARM GAS /tmp/ccYgfTud.s page 567 - - - 427:Src/main.c **** { - 9868 .loc 1 427 21 is_stmt 0 view .LVU3178 - 9869 03ea 614B ldr r3, .L533+36 - 9870 03ec DB7A ldrb r3, [r3, #11] @ zero_extendqisi2 - 427:Src/main.c **** { - 9871 .loc 1 427 10 view .LVU3179 - 9872 03ee 012B cmp r3, #1 - 9873 03f0 03D0 beq .L524 - 9874 .L478: - 434:Src/main.c **** } - 9875 .loc 1 434 7 is_stmt 1 view .LVU3180 - 434:Src/main.c **** } - 9876 .loc 1 434 21 is_stmt 0 view .LVU3181 - 9877 03f2 604B ldr r3, .L533+40 - 9878 03f4 0722 movs r2, #7 - 9879 03f6 1A70 strb r2, [r3] - 9880 03f8 7BE6 b .L461 - 9881 .L524: - 429:Src/main.c **** Long_Data[DL_16-1] = CS_result; - 9882 .loc 1 429 8 is_stmt 1 view .LVU3182 - 429:Src/main.c **** Long_Data[DL_16-1] = CS_result; - 9883 .loc 1 429 20 is_stmt 0 view .LVU3183 - 9884 03fa 0234 adds r4, r4, #2 - 9885 03fc 0D21 movs r1, #13 - 9886 03fe 2046 mov r0, r4 - 9887 0400 FFF7FEFF bl CalculateChecksum - 9888 .LVL818: - 9889 0404 0346 mov r3, r0 - 429:Src/main.c **** Long_Data[DL_16-1] = CS_result; - 9890 .loc 1 429 18 discriminator 1 view .LVU3184 - 9891 0406 5C4A ldr r2, .L533+44 - 9892 0408 1080 strh r0, [r2] @ movhi - 430:Src/main.c **** temp16 = SD_SAVE(&Long_Data[0]); - 9893 .loc 1 430 8 is_stmt 1 view .LVU3185 - 430:Src/main.c **** temp16 = SD_SAVE(&Long_Data[0]); - 9894 .loc 1 430 27 is_stmt 0 view .LVU3186 - 9895 040a A01E subs r0, r4, #2 - 9896 040c 8383 strh r3, [r0, #28] @ movhi - 431:Src/main.c **** State_Data[0]|=temp16&0xff; - 9897 .loc 1 431 8 is_stmt 1 view .LVU3187 - 431:Src/main.c **** State_Data[0]|=temp16&0xff; - 9898 .loc 1 431 17 is_stmt 0 view .LVU3188 - 9899 040e FFF7FEFF bl SD_SAVE - 9900 .LVL819: - 9901 0412 0346 mov r3, r0 - 431:Src/main.c **** State_Data[0]|=temp16&0xff; - 9902 .loc 1 431 15 discriminator 1 view .LVU3189 - 9903 0414 2880 strh r0, [r5] @ movhi - 432:Src/main.c **** } - 9904 .loc 1 432 8 is_stmt 1 view .LVU3190 - 432:Src/main.c **** } - 9905 .loc 1 432 18 is_stmt 0 view .LVU3191 - 9906 0416 5949 ldr r1, .L533+48 - 9907 0418 0A78 ldrb r2, [r1] @ zero_extendqisi2 - 432:Src/main.c **** } - 9908 .loc 1 432 21 view .LVU3192 - 9909 041a 1343 orrs r3, r3, r2 - ARM GAS /tmp/ccYgfTud.s page 568 - - - 9910 041c 0B70 strb r3, [r1] - 9911 041e E8E7 b .L478 - 9912 .L462: - 438:Src/main.c **** { - 9913 .loc 1 438 6 is_stmt 1 view .LVU3193 - 438:Src/main.c **** { - 9914 .loc 1 438 10 is_stmt 0 view .LVU3194 - 9915 0420 574C ldr r4, .L533+52 - 9916 0422 0321 movs r1, #3 - 9917 0424 2046 mov r0, r4 - 9918 0426 FFF7FEFF bl CalculateChecksum - 9919 .LVL820: - 438:Src/main.c **** { - 9920 .loc 1 438 69 discriminator 1 view .LVU3195 - 9921 042a E388 ldrh r3, [r4, #6] - 438:Src/main.c **** { - 9922 .loc 1 438 9 discriminator 1 view .LVU3196 - 9923 042c 9842 cmp r0, r3 - 9924 042e 0CD0 beq .L525 - 481:Src/main.c **** } - 9925 .loc 1 481 7 is_stmt 1 view .LVU3197 - 481:Src/main.c **** } - 9926 .loc 1 481 17 is_stmt 0 view .LVU3198 - 9927 0430 524A ldr r2, .L533+48 - 9928 0432 1378 ldrb r3, [r2] @ zero_extendqisi2 - 481:Src/main.c **** } - 9929 .loc 1 481 21 view .LVU3199 - 9930 0434 43F00403 orr r3, r3, #4 - 9931 0438 1370 strb r3, [r2] - 9932 .L483: - 483:Src/main.c **** CPU_state = CPU_state_old; - 9933 .loc 1 483 6 is_stmt 1 view .LVU3200 - 483:Src/main.c **** CPU_state = CPU_state_old; - 9934 .loc 1 483 32 is_stmt 0 view .LVU3201 - 9935 043a 524B ldr r3, .L533+56 - 9936 043c 0122 movs r2, #1 - 9937 043e 1A70 strb r2, [r3] - 484:Src/main.c **** break; - 9938 .loc 1 484 6 is_stmt 1 view .LVU3202 - 484:Src/main.c **** break; - 9939 .loc 1 484 16 is_stmt 0 view .LVU3203 - 9940 0440 4C4B ldr r3, .L533+40 - 9941 0442 1A78 ldrb r2, [r3] @ zero_extendqisi2 - 9942 0444 504B ldr r3, .L533+60 - 9943 0446 1A70 strb r2, [r3] - 485:Src/main.c **** case DECODE_TASK: - 9944 .loc 1 485 5 is_stmt 1 view .LVU3204 - 9945 0448 53E6 b .L461 - 9946 .L525: - 9947 .LBB650: - 440:Src/main.c **** uint16_t param0 = COMMAND[1]; - 9948 .loc 1 440 7 view .LVU3205 - 440:Src/main.c **** uint16_t param0 = COMMAND[1]; - 9949 .loc 1 440 16 is_stmt 0 view .LVU3206 - 9950 044a 2288 ldrh r2, [r4] - 9951 .LVL821: - 441:Src/main.c **** uint16_t param1 = COMMAND[2]; - ARM GAS /tmp/ccYgfTud.s page 569 - - - 9952 .loc 1 441 7 is_stmt 1 view .LVU3207 - 441:Src/main.c **** uint16_t param1 = COMMAND[2]; - 9953 .loc 1 441 16 is_stmt 0 view .LVU3208 - 9954 044c 6388 ldrh r3, [r4, #2] - 9955 .LVL822: - 442:Src/main.c **** uint8_t enable = (flags & AD9102_FLAG_ENABLE) ? 1u : 0u; - 9956 .loc 1 442 7 is_stmt 1 view .LVU3209 - 442:Src/main.c **** uint8_t enable = (flags & AD9102_FLAG_ENABLE) ? 1u : 0u; - 9957 .loc 1 442 16 is_stmt 0 view .LVU3210 - 9958 044e A488 ldrh r4, [r4, #4] - 9959 .LVL823: - 443:Src/main.c **** uint8_t triangle = (flags & AD9102_FLAG_TRIANGLE) ? 1u : 0u; - 9960 .loc 1 443 7 is_stmt 1 view .LVU3211 - 443:Src/main.c **** uint8_t triangle = (flags & AD9102_FLAG_TRIANGLE) ? 1u : 0u; - 9961 .loc 1 443 15 is_stmt 0 view .LVU3212 - 9962 0450 02F00108 and r8, r2, #1 - 9963 .LVL824: - 444:Src/main.c **** uint8_t saw_type = triangle ? AD9102_SAW_TYPE_TRI : AD9102_SAW_TYPE_UP; - 9964 .loc 1 444 7 is_stmt 1 view .LVU3213 - 444:Src/main.c **** uint8_t saw_type = triangle ? AD9102_SAW_TYPE_TRI : AD9102_SAW_TYPE_UP; - 9965 .loc 1 444 15 is_stmt 0 view .LVU3214 - 9966 0454 C2F34006 ubfx r6, r2, #1, #1 - 9967 .LVL825: - 445:Src/main.c **** uint8_t saw_step = (uint8_t)(param0 & 0x00FFu); - 9968 .loc 1 445 7 is_stmt 1 view .LVU3215 - 445:Src/main.c **** uint8_t saw_step = (uint8_t)(param0 & 0x00FFu); - 9969 .loc 1 445 15 is_stmt 0 view .LVU3216 - 9970 0458 12F0020F tst r2, #2 - 9971 045c 00D0 beq .L480 - 445:Src/main.c **** uint8_t saw_step = (uint8_t)(param0 & 0x00FFu); - 9972 .loc 1 445 15 discriminator 1 view .LVU3217 - 9973 045e 0226 movs r6, #2 - 9974 .LVL826: - 9975 .L480: - 446:Src/main.c **** uint8_t pat_base = (uint8_t)((param0 >> 8) & 0x0Fu); - 9976 .loc 1 446 7 is_stmt 1 view .LVU3218 - 446:Src/main.c **** uint8_t pat_base = (uint8_t)((param0 >> 8) & 0x0Fu); - 9977 .loc 1 446 15 is_stmt 0 view .LVU3219 - 9978 0460 DDB2 uxtb r5, r3 - 9979 .LVL827: - 447:Src/main.c **** uint16_t pat_period = param1; - 9980 .loc 1 447 7 is_stmt 1 view .LVU3220 - 447:Src/main.c **** uint16_t pat_period = param1; - 9981 .loc 1 447 15 is_stmt 0 view .LVU3221 - 9982 0462 C3F30327 ubfx r7, r3, #8, #4 - 9983 .LVL828: - 448:Src/main.c **** - 9984 .loc 1 448 7 is_stmt 1 view .LVU3222 - 450:Src/main.c **** { - 9985 .loc 1 450 7 view .LVU3223 - 450:Src/main.c **** { - 9986 .loc 1 450 10 is_stmt 0 view .LVU3224 - 9987 0466 2343 orrs r3, r3, r4 - 9988 .LVL829: - 450:Src/main.c **** { - 9989 .loc 1 450 10 view .LVU3225 - 9990 0468 09D0 beq .L514 - ARM GAS /tmp/ccYgfTud.s page 570 - - - 458:Src/main.c **** { - 9991 .loc 1 458 8 is_stmt 1 view .LVU3226 - 458:Src/main.c **** { - 9992 .loc 1 458 11 is_stmt 0 view .LVU3227 - 9993 046a 1DB1 cbz r5, .L515 - 462:Src/main.c **** { - 9994 .loc 1 462 13 is_stmt 1 view .LVU3228 - 462:Src/main.c **** { - 9995 .loc 1 462 16 is_stmt 0 view .LVU3229 - 9996 046c 3F2D cmp r5, #63 - 9997 046e 02D9 bls .L482 - 464:Src/main.c **** } - 9998 .loc 1 464 18 view .LVU3230 - 9999 0470 3F25 movs r5, #63 - 10000 .LVL830: - 464:Src/main.c **** } - 10001 .loc 1 464 18 view .LVU3231 - 10002 0472 00E0 b .L482 - 10003 .LVL831: - 10004 .L515: - 460:Src/main.c **** } - 10005 .loc 1 460 18 view .LVU3232 - 10006 0474 0125 movs r5, #1 - 10007 .LVL832: - 10008 .L482: - 466:Src/main.c **** { - 10009 .loc 1 466 8 is_stmt 1 view .LVU3233 - 466:Src/main.c **** { - 10010 .loc 1 466 11 is_stmt 0 view .LVU3234 - 10011 0476 34B9 cbnz r4, .L481 - 468:Src/main.c **** } - 10012 .loc 1 468 20 view .LVU3235 - 10013 0478 4FF6FF74 movw r4, #65535 - 10014 .LVL833: - 468:Src/main.c **** } - 10015 .loc 1 468 20 view .LVU3236 - 10016 047c 03E0 b .L481 - 10017 .LVL834: - 10018 .L514: - 454:Src/main.c **** } - 10019 .loc 1 454 19 view .LVU3237 - 10020 047e 4FF6FF74 movw r4, #65535 - 10021 .LVL835: - 453:Src/main.c **** pat_period = AD9102_PAT_PERIOD_DEFAULT; - 10022 .loc 1 453 17 view .LVU3238 - 10023 0482 0227 movs r7, #2 - 10024 .LVL836: - 452:Src/main.c **** pat_base = AD9102_PAT_PERIOD_BASE_DEFAULT; - 10025 .loc 1 452 17 view .LVU3239 - 10026 0484 0125 movs r5, #1 - 10027 .LVL837: - 10028 .L481: - 472:Src/main.c **** State_Data[1] = (uint8_t)(pat_status & 0x00FFu); - 10029 .loc 1 472 7 is_stmt 1 view .LVU3240 - 472:Src/main.c **** State_Data[1] = (uint8_t)(pat_status & 0x00FFu); - 10030 .loc 1 472 29 is_stmt 0 view .LVU3241 - 10031 0486 0094 str r4, [sp] - ARM GAS /tmp/ccYgfTud.s page 571 - - - 10032 0488 3B46 mov r3, r7 - 10033 048a 2A46 mov r2, r5 - 10034 .LVL838: - 472:Src/main.c **** State_Data[1] = (uint8_t)(pat_status & 0x00FFu); - 10035 .loc 1 472 29 view .LVU3242 - 10036 048c 4146 mov r1, r8 - 10037 048e 3046 mov r0, r6 - 10038 0490 FFF7FEFF bl AD9102_Apply - 10039 .LVL839: - 473:Src/main.c **** if (AD9102_CheckFlags(pat_status, enable, saw_type, saw_step, pat_base, pat_period)) - 10040 .loc 1 473 7 is_stmt 1 view .LVU3243 - 473:Src/main.c **** if (AD9102_CheckFlags(pat_status, enable, saw_type, saw_step, pat_base, pat_period)) - 10041 .loc 1 473 21 is_stmt 0 view .LVU3244 - 10042 0494 394B ldr r3, .L533+48 - 10043 0496 5870 strb r0, [r3, #1] - 474:Src/main.c **** { - 10044 .loc 1 474 7 is_stmt 1 view .LVU3245 - 474:Src/main.c **** { - 10045 .loc 1 474 11 is_stmt 0 view .LVU3246 - 10046 0498 0194 str r4, [sp, #4] - 10047 049a 0097 str r7, [sp] - 10048 049c 2B46 mov r3, r5 - 10049 049e 3246 mov r2, r6 - 10050 04a0 4146 mov r1, r8 - 10051 04a2 FFF7FEFF bl AD9102_CheckFlags - 10052 .LVL840: - 474:Src/main.c **** { - 10053 .loc 1 474 10 discriminator 1 view .LVU3247 - 10054 04a6 0028 cmp r0, #0 - 10055 04a8 C7D0 beq .L483 - 476:Src/main.c **** } - 10056 .loc 1 476 8 is_stmt 1 view .LVU3248 - 476:Src/main.c **** } - 10057 .loc 1 476 18 is_stmt 0 view .LVU3249 - 10058 04aa 344A ldr r2, .L533+48 - 10059 04ac 1378 ldrb r3, [r2] @ zero_extendqisi2 - 476:Src/main.c **** } - 10060 .loc 1 476 22 view .LVU3250 - 10061 04ae 63F07F03 orn r3, r3, #127 - 10062 04b2 1370 strb r3, [r2] - 10063 04b4 C1E7 b .L483 - 10064 .LVL841: - 10065 .L465: - 476:Src/main.c **** } - 10066 .loc 1 476 22 view .LVU3251 - 10067 .LBE650: - 487:Src/main.c **** { - 10068 .loc 1 487 6 is_stmt 1 view .LVU3252 - 487:Src/main.c **** { - 10069 .loc 1 487 10 is_stmt 0 view .LVU3253 - 10070 04b6 3248 ldr r0, .L533+52 - 10071 04b8 FFF7FEFF bl CheckChecksum - 10072 .LVL842: - 487:Src/main.c **** { - 10073 .loc 1 487 9 discriminator 1 view .LVU3254 - 10074 04bc 70B9 cbnz r0, .L526 - 496:Src/main.c **** CPU_state = DEFAULT_ENABLE; - ARM GAS /tmp/ccYgfTud.s page 572 - - - 10075 .loc 1 496 7 is_stmt 1 view .LVU3255 - 496:Src/main.c **** CPU_state = DEFAULT_ENABLE; - 10076 .loc 1 496 17 is_stmt 0 view .LVU3256 - 10077 04be 2F4A ldr r2, .L533+48 - 10078 04c0 1378 ldrb r3, [r2] @ zero_extendqisi2 - 496:Src/main.c **** CPU_state = DEFAULT_ENABLE; - 10079 .loc 1 496 21 view .LVU3257 - 10080 04c2 43F00403 orr r3, r3, #4 - 10081 04c6 1370 strb r3, [r2] - 497:Src/main.c **** CPU_state_old = HALT;//Save main current cycle - 10082 .loc 1 497 7 is_stmt 1 view .LVU3258 - 497:Src/main.c **** CPU_state_old = HALT;//Save main current cycle - 10083 .loc 1 497 17 is_stmt 0 view .LVU3259 - 10084 04c8 2F4B ldr r3, .L533+60 - 10085 04ca 0222 movs r2, #2 - 10086 04cc 1A70 strb r2, [r3] - 498:Src/main.c **** } - 10087 .loc 1 498 7 is_stmt 1 view .LVU3260 - 498:Src/main.c **** } - 10088 .loc 1 498 21 is_stmt 0 view .LVU3261 - 10089 04ce 294B ldr r3, .L533+40 - 10090 04d0 0022 movs r2, #0 - 10091 04d2 1A70 strb r2, [r3] - 10092 .L485: - 500:Src/main.c **** break; - 10093 .loc 1 500 6 is_stmt 1 view .LVU3262 - 500:Src/main.c **** break; - 10094 .loc 1 500 32 is_stmt 0 view .LVU3263 - 10095 04d4 2B4B ldr r3, .L533+56 - 10096 04d6 0122 movs r2, #1 - 10097 04d8 1A70 strb r2, [r3] - 501:Src/main.c **** case RUN_TASK: - 10098 .loc 1 501 5 is_stmt 1 view .LVU3264 - 10099 04da 0AE6 b .L461 - 10100 .L526: - 489:Src/main.c **** TO6_before = TO6; - 10101 .loc 1 489 7 view .LVU3265 - 10102 04dc 244B ldr r3, .L533+36 - 10103 04de 2B4A ldr r2, .L533+64 - 10104 04e0 2B49 ldr r1, .L533+68 - 10105 04e2 2748 ldr r0, .L533+52 - 10106 04e4 FFF7FEFF bl Decode_task - 10107 .LVL843: - 490:Src/main.c **** CPU_state = RUN_TASK; - 10108 .loc 1 490 7 view .LVU3266 - 490:Src/main.c **** CPU_state = RUN_TASK; - 10109 .loc 1 490 18 is_stmt 0 view .LVU3267 - 10110 04e8 1F4B ldr r3, .L533+28 - 10111 04ea 1A68 ldr r2, [r3] - 10112 04ec 294B ldr r3, .L533+72 - 10113 04ee 1A60 str r2, [r3] - 491:Src/main.c **** CPU_state_old = RUN_TASK;//Save main current cycle - 10114 .loc 1 491 7 is_stmt 1 view .LVU3268 - 491:Src/main.c **** CPU_state_old = RUN_TASK;//Save main current cycle - 10115 .loc 1 491 17 is_stmt 0 view .LVU3269 - 10116 04f0 0923 movs r3, #9 - 10117 04f2 254A ldr r2, .L533+60 - ARM GAS /tmp/ccYgfTud.s page 573 - - - 10118 04f4 1370 strb r3, [r2] - 492:Src/main.c **** } - 10119 .loc 1 492 7 is_stmt 1 view .LVU3270 - 492:Src/main.c **** } - 10120 .loc 1 492 21 is_stmt 0 view .LVU3271 - 10121 04f6 1F4A ldr r2, .L533+40 - 10122 04f8 1370 strb r3, [r2] - 10123 04fa EBE7 b .L485 - 10124 .L464: - 503:Src/main.c **** { - 10125 .loc 1 503 6 is_stmt 1 view .LVU3272 - 503:Src/main.c **** { - 10126 .loc 1 503 18 is_stmt 0 view .LVU3273 - 10127 04fc 134B ldr r3, .L533 - 10128 04fe 1B78 ldrb r3, [r3] @ zero_extendqisi2 - 10129 0500 012B cmp r3, #1 - 10130 0502 53D0 beq .L486 - 10131 0504 022B cmp r3, #2 - 10132 0506 00F03681 beq .L487 - 10133 .L488: - 758:Src/main.c **** { - 10134 .loc 1 758 6 is_stmt 1 view .LVU3274 - 758:Src/main.c **** { - 10135 .loc 1 758 13 is_stmt 0 view .LVU3275 - 10136 050a 114B ldr r3, .L533+4 - 10137 050c 1B68 ldr r3, [r3] - 10138 050e 114A ldr r2, .L533+8 - 10139 0510 1268 ldr r2, [r2] - 758:Src/main.c **** { - 10140 .loc 1 758 9 view .LVU3276 - 10141 0512 9342 cmp r3, r2 - 10142 0514 00F20782 bhi .L527 - 10143 .L505: - 810:Src/main.c **** - 10144 .loc 1 810 13 is_stmt 1 discriminator 1 view .LVU3277 - 10145 0518 1F4B ldr r3, .L533+76 - 10146 051a 1B78 ldrb r3, [r3] @ zero_extendqisi2 - 10147 051c 002B cmp r3, #0 - 10148 051e FBD0 beq .L505 - 812:Src/main.c **** - 10149 .loc 1 812 6 view .LVU3278 - 10150 0520 FFF7FEFF bl Stop_TIM10 - 10151 .LVL844: - 814:Src/main.c **** { - 10152 .loc 1 814 6 view .LVU3279 - 814:Src/main.c **** { - 10153 .loc 1 814 14 is_stmt 0 view .LVU3280 - 10154 0524 094B ldr r3, .L533 - 10155 0526 DB8A ldrh r3, [r3, #22] - 814:Src/main.c **** { - 10156 .loc 1 814 9 view .LVU3281 - 10157 0528 032B cmp r3, #3 - 10158 052a 0BD9 bls .L506 - 816:Src/main.c **** TO10_counter = task.dt / 10; - 10159 .loc 1 816 7 is_stmt 1 view .LVU3282 - 816:Src/main.c **** TO10_counter = task.dt / 10; - 10160 .loc 1 816 26 is_stmt 0 view .LVU3283 - ARM GAS /tmp/ccYgfTud.s page 574 - - - 10161 052c 1B4B ldr r3, .L533+80 - 10162 052e 1A68 ldr r2, [r3] - 10163 0530 1B4B ldr r3, .L533+84 - 10164 0532 DA60 str r2, [r3, #12] - 817:Src/main.c **** } - 10165 .loc 1 817 7 is_stmt 1 view .LVU3284 - 817:Src/main.c **** } - 10166 .loc 1 817 26 is_stmt 0 view .LVU3285 - 10167 0534 054B ldr r3, .L533 - 10168 0536 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 - 817:Src/main.c **** } - 10169 .loc 1 817 30 view .LVU3286 - 10170 0538 1A4A ldr r2, .L533+88 - 10171 053a A2FB0323 umull r2, r3, r2, r3 - 10172 053e DB08 lsrs r3, r3, #3 - 817:Src/main.c **** } - 10173 .loc 1 817 20 view .LVU3287 - 10174 0540 194A ldr r2, .L533+92 - 10175 0542 1360 str r3, [r2] - 10176 .L506: - 820:Src/main.c **** break; - 10177 .loc 1 820 6 is_stmt 1 view .LVU3288 - 820:Src/main.c **** break; - 10178 .loc 1 820 20 is_stmt 0 view .LVU3289 - 10179 0544 0B4B ldr r3, .L533+40 - 10180 0546 0922 movs r2, #9 - 10181 0548 1A70 strb r2, [r3] - 821:Src/main.c **** } - 10182 .loc 1 821 9 is_stmt 1 view .LVU3290 - 10183 054a D2E5 b .L461 - 10184 .L534: - 10185 .align 2 - 10186 .L533: - 10187 054c 00000000 .word task - 10188 0550 00000000 .word TO7 - 10189 0554 00000000 .word TO7_before - 10190 0558 00000000 .word LD1_param - 10191 055c 00000000 .word LD2_param - 10192 0560 00000000 .word temp16 - 10193 0564 00000000 .word Long_Data - 10194 0568 00000000 .word TO6 - 10195 056c 00000000 .word TO6_stop - 10196 0570 00000000 .word Curr_setup - 10197 0574 00000000 .word CPU_state_old - 10198 0578 00000000 .word CS_result - 10199 057c 00000000 .word State_Data - 10200 0580 00000000 .word COMMAND - 10201 0584 00000000 .word UART_transmission_request - 10202 0588 00000000 .word CPU_state - 10203 058c 00000000 .word LD2_curr_setup - 10204 0590 00000000 .word LD1_curr_setup - 10205 0594 00000000 .word TO6_before - 10206 0598 00000000 .word TIM10_coflag - 10207 059c 00000000 .word TIM10_period - 10208 05a0 00000000 .word htim10 - 10209 05a4 CDCCCCCC .word -858993459 - 10210 05a8 00000000 .word TO10_counter - ARM GAS /tmp/ccYgfTud.s page 575 - - - 10211 .L486: - 10212 .LBB651: - 525:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); - 10213 .loc 1 525 7 view .LVU3291 - 525:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); - 10214 .loc 1 525 38 is_stmt 0 view .LVU3292 - 10215 05ac AD4B ldr r3, .L535 - 10216 05ae D3ED077A vldr.32 s15, [r3, #28] - 525:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); - 10217 .loc 1 525 7 view .LVU3293 - 10218 05b2 FCEEE77A vcvt.u32.f32 s15, s15 - 10219 05b6 17EE903A vmov r3, s15 @ int - 10220 05ba 99B2 uxth r1, r3 - 10221 05bc 0220 movs r0, #2 - 10222 05be FFF7FEFF bl Set_LTEC - 10223 .LVL845: - 526:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); - 10224 .loc 1 526 7 is_stmt 1 view .LVU3294 - 526:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); - 10225 .loc 1 526 14 is_stmt 0 view .LVU3295 - 10226 05c2 0320 movs r0, #3 - 10227 05c4 FFF7FEFF bl MPhD_T - 10228 .LVL846: - 527:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); - 10229 .loc 1 527 7 is_stmt 1 view .LVU3296 - 527:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); - 10230 .loc 1 527 32 is_stmt 0 view .LVU3297 - 10231 05c8 0320 movs r0, #3 - 10232 05ca FFF7FEFF bl MPhD_T - 10233 .LVL847: - 527:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); - 10234 .loc 1 527 30 discriminator 1 view .LVU3298 - 10235 05ce A64C ldr r4, .L535+4 - 10236 05d0 2080 strh r0, [r4] @ movhi - 528:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); - 10237 .loc 1 528 7 is_stmt 1 view .LVU3299 - 528:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); - 10238 .loc 1 528 14 is_stmt 0 view .LVU3300 - 10239 05d2 0420 movs r0, #4 - 10240 05d4 FFF7FEFF bl MPhD_T - 10241 .LVL848: - 529:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); - 10242 .loc 1 529 7 is_stmt 1 view .LVU3301 - 529:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); - 10243 .loc 1 529 32 is_stmt 0 view .LVU3302 - 10244 05d8 0420 movs r0, #4 - 10245 05da FFF7FEFF bl MPhD_T - 10246 .LVL849: - 529:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); - 10247 .loc 1 529 30 discriminator 1 view .LVU3303 - 10248 05de A34D ldr r5, .L535+8 - 10249 05e0 2880 strh r0, [r5] @ movhi - 530:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 - 10250 .loc 1 530 7 is_stmt 1 view .LVU3304 - 530:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 - 10251 .loc 1 530 14 is_stmt 0 view .LVU3305 - 10252 05e2 0122 movs r2, #1 - ARM GAS /tmp/ccYgfTud.s page 576 - - - 10253 05e4 2146 mov r1, r4 - 10254 05e6 A248 ldr r0, .L535+12 - 10255 05e8 FFF7FEFF bl PID_Controller_Temp - 10256 .LVL850: - 10257 05ec 0146 mov r1, r0 - 530:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 - 10258 .loc 1 530 13 discriminator 1 view .LVU3306 - 10259 05ee A14C ldr r4, .L535+16 - 10260 05f0 2080 strh r0, [r4] @ movhi - 531:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); - 10261 .loc 1 531 7 is_stmt 1 view .LVU3307 - 10262 05f2 0320 movs r0, #3 - 10263 05f4 FFF7FEFF bl Set_LTEC - 10264 .LVL851: - 532:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 - 10265 .loc 1 532 7 view .LVU3308 - 532:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 - 10266 .loc 1 532 14 is_stmt 0 view .LVU3309 - 10267 05f8 0222 movs r2, #2 - 10268 05fa 2946 mov r1, r5 - 10269 05fc 9E48 ldr r0, .L535+20 - 10270 05fe FFF7FEFF bl PID_Controller_Temp - 10271 .LVL852: - 10272 0602 0146 mov r1, r0 - 532:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 - 10273 .loc 1 532 13 discriminator 1 view .LVU3310 - 10274 0604 2080 strh r0, [r4] @ movhi - 533:Src/main.c **** - 10275 .loc 1 533 7 is_stmt 1 view .LVU3311 - 10276 0606 0420 movs r0, #4 - 10277 0608 FFF7FEFF bl Set_LTEC - 10278 .LVL853: - 536:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); - 10279 .loc 1 536 7 view .LVU3312 - 10280 060c 9B4C ldr r4, .L535+24 - 10281 060e 0122 movs r2, #1 - 10282 0610 8021 movs r1, #128 - 10283 0612 2046 mov r0, r4 - 10284 0614 FFF7FEFF bl HAL_GPIO_WritePin - 10285 .LVL854: - 537:Src/main.c **** - 10286 .loc 1 537 7 view .LVU3313 - 10287 0618 0022 movs r2, #0 - 10288 061a 8021 movs r1, #128 - 10289 061c 2046 mov r0, r4 - 10290 061e FFF7FEFF bl HAL_GPIO_WritePin - 10291 .LVL855: - 539:Src/main.c **** if (st != HAL_OK) - 10292 .loc 1 539 7 view .LVU3314 - 539:Src/main.c **** if (st != HAL_OK) - 10293 .loc 1 539 12 is_stmt 0 view .LVU3315 - 10294 0622 9748 ldr r0, .L535+28 - 10295 0624 FFF7FEFF bl HAL_TIM_Base_Start_IT - 10296 .LVL856: - 540:Src/main.c **** while(1); - 10297 .loc 1 540 7 is_stmt 1 view .LVU3316 - 540:Src/main.c **** while(1); - ARM GAS /tmp/ccYgfTud.s page 577 - - - 10298 .loc 1 540 10 is_stmt 0 view .LVU3317 - 10299 0628 0028 cmp r0, #0 - 10300 062a 75D1 bne .L490 - 543:Src/main.c **** uint16_t trigger_counter = 0; - 10301 .loc 1 543 7 is_stmt 1 view .LVU3318 - 10302 .LVL857: - 544:Src/main.c **** uint16_t trigger_step = (uint8_t )((task.max_param - task.current_param)/task.delta_param * 1 - 10303 .loc 1 544 7 view .LVU3319 - 545:Src/main.c **** uint16_t task_sheduler = 0; - 10304 .loc 1 545 7 view .LVU3320 - 545:Src/main.c **** uint16_t task_sheduler = 0; - 10305 .loc 1 545 47 is_stmt 0 view .LVU3321 - 10306 062c 8D4B ldr r3, .L535 - 10307 062e 93ED027A vldr.32 s14, [r3, #8] - 545:Src/main.c **** uint16_t task_sheduler = 0; - 10308 .loc 1 545 64 view .LVU3322 - 10309 0632 D3ED047A vldr.32 s15, [r3, #16] - 545:Src/main.c **** uint16_t task_sheduler = 0; - 10310 .loc 1 545 58 view .LVU3323 - 10311 0636 37EE677A vsub.f32 s14, s14, s15 - 545:Src/main.c **** uint16_t task_sheduler = 0; - 10312 .loc 1 545 84 view .LVU3324 - 10313 063a D3ED036A vldr.32 s13, [r3, #12] - 545:Src/main.c **** uint16_t task_sheduler = 0; - 10314 .loc 1 545 79 view .LVU3325 - 10315 063e C7EE267A vdiv.f32 s15, s14, s13 - 545:Src/main.c **** uint16_t task_sheduler = 0; - 10316 .loc 1 545 97 view .LVU3326 - 10317 0642 B2EE047A vmov.f32 s14, #1.0e+1 - 10318 0646 67EE877A vmul.f32 s15, s15, s14 - 545:Src/main.c **** uint16_t task_sheduler = 0; - 10319 .loc 1 545 31 view .LVU3327 - 10320 064a FCEEE77A vcvt.u32.f32 s15, s15 - 10321 064e CDED037A vstr.32 s15, [sp, #12] @ int - 10322 0652 9DF80C60 ldrb r6, [sp, #12] @ zero_extendqisi2 - 10323 .LVL858: - 546:Src/main.c **** - 10324 .loc 1 546 7 is_stmt 1 view .LVU3328 - 550:Src/main.c **** HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_3); //start ADC clock - 10325 .loc 1 550 7 view .LVU3329 - 10326 0656 DFF85492 ldr r9, .L535+72 - 10327 065a 0021 movs r1, #0 - 10328 065c 4846 mov r0, r9 - 10329 .LVL859: - 550:Src/main.c **** HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_3); //start ADC clock - 10330 .loc 1 550 7 is_stmt 0 view .LVU3330 - 10331 065e FFF7FEFF bl HAL_TIM_PWM_Stop - 10332 .LVL860: - 551:Src/main.c **** TIM11 -> CR1 &= ~(1 << 3); //disables one-pulse mode - 10333 .loc 1 551 7 is_stmt 1 view .LVU3331 - 10334 0662 DFF84C82 ldr r8, .L535+76 - 10335 0666 0821 movs r1, #8 - 10336 0668 4046 mov r0, r8 - 10337 066a FFF7FEFF bl HAL_TIM_PWM_Stop - 10338 .LVL861: - 552:Src/main.c **** TIM4 -> CR1 &= ~(1 << 3); //disables one-pulse mode - 10339 .loc 1 552 7 view .LVU3332 - ARM GAS /tmp/ccYgfTud.s page 578 - - - 552:Src/main.c **** TIM4 -> CR1 &= ~(1 << 3); //disables one-pulse mode - 10340 .loc 1 552 13 is_stmt 0 view .LVU3333 - 10341 066e 854F ldr r7, .L535+32 - 10342 0670 3B68 ldr r3, [r7] - 552:Src/main.c **** TIM4 -> CR1 &= ~(1 << 3); //disables one-pulse mode - 10343 .loc 1 552 20 view .LVU3334 - 10344 0672 23F00803 bic r3, r3, #8 - 10345 0676 3B60 str r3, [r7] - 553:Src/main.c **** - 10346 .loc 1 553 7 is_stmt 1 view .LVU3335 - 553:Src/main.c **** - 10347 .loc 1 553 12 is_stmt 0 view .LVU3336 - 10348 0678 834D ldr r5, .L535+36 - 10349 067a 2B68 ldr r3, [r5] - 553:Src/main.c **** - 10350 .loc 1 553 19 view .LVU3337 - 10351 067c 23F00803 bic r3, r3, #8 - 10352 0680 2B60 str r3, [r5] - 557:Src/main.c **** TIM4 -> CNT = 0; - 10353 .loc 1 557 7 is_stmt 1 view .LVU3338 - 557:Src/main.c **** TIM4 -> CNT = 0; - 10354 .loc 1 557 20 is_stmt 0 view .LVU3339 - 10355 0682 0024 movs r4, #0 - 10356 0684 7C62 str r4, [r7, #36] - 558:Src/main.c **** - 10357 .loc 1 558 7 is_stmt 1 view .LVU3340 - 558:Src/main.c **** - 10358 .loc 1 558 19 is_stmt 0 view .LVU3341 - 10359 0686 6C62 str r4, [r5, #36] - 560:Src/main.c **** HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_3); //start ADC clock - 10360 .loc 1 560 7 is_stmt 1 view .LVU3342 - 10361 0688 2146 mov r1, r4 - 10362 068a 4846 mov r0, r9 - 10363 068c FFF7FEFF bl HAL_TIM_PWM_Start - 10364 .LVL862: - 561:Src/main.c **** //TIM4 -> CNT = 0; - 10365 .loc 1 561 7 view .LVU3343 - 10366 0690 0821 movs r1, #8 - 10367 0692 4046 mov r0, r8 - 10368 0694 FFF7FEFF bl HAL_TIM_PWM_Start - 10369 .LVL863: - 564:Src/main.c **** TIM11 -> CNT = 0; - 10370 .loc 1 564 7 view .LVU3344 - 564:Src/main.c **** TIM11 -> CNT = 0; - 10371 .loc 1 564 26 is_stmt 0 view .LVU3345 - 10372 0698 EB6A ldr r3, [r5, #44] - 564:Src/main.c **** TIM11 -> CNT = 0; - 10373 .loc 1 564 33 view .LVU3346 - 10374 069a 143B subs r3, r3, #20 - 564:Src/main.c **** TIM11 -> CNT = 0; - 10375 .loc 1 564 19 view .LVU3347 - 10376 069c 6B62 str r3, [r5, #36] - 565:Src/main.c **** - 10377 .loc 1 565 7 is_stmt 1 view .LVU3348 - 565:Src/main.c **** - 10378 .loc 1 565 20 is_stmt 0 view .LVU3349 - 10379 069e 7C62 str r4, [r7, #36] - ARM GAS /tmp/ccYgfTud.s page 579 - - - 568:Src/main.c **** { - 10380 .loc 1 568 7 is_stmt 1 view .LVU3350 - 544:Src/main.c **** uint16_t trigger_step = (uint8_t )((task.max_param - task.current_param)/task.delta_param * 1 - 10381 .loc 1 544 16 is_stmt 0 view .LVU3351 - 10382 06a0 2546 mov r5, r4 - 10383 .LVL864: - 10384 .L492: - 568:Src/main.c **** { - 10385 .loc 1 568 33 is_stmt 1 view .LVU3352 - 568:Src/main.c **** { - 10386 .loc 1 568 18 is_stmt 0 view .LVU3353 - 10387 06a2 704B ldr r3, .L535 - 10388 06a4 D3ED047A vldr.32 s15, [r3, #16] - 568:Src/main.c **** { - 10389 .loc 1 568 39 view .LVU3354 - 10390 06a8 93ED027A vldr.32 s14, [r3, #8] - 568:Src/main.c **** { - 10391 .loc 1 568 33 view .LVU3355 - 10392 06ac F4EEC77A vcmpe.f32 s15, s14 - 10393 06b0 F1EE10FA vmrs APSR_nzcv, FPSCR - 10394 06b4 37D5 bpl .L528 - 570:Src/main.c **** { - 10395 .loc 1 570 8 is_stmt 1 view .LVU3356 - 570:Src/main.c **** { - 10396 .loc 1 570 12 is_stmt 0 view .LVU3357 - 10397 06b6 754B ldr r3, .L535+40 - 10398 06b8 1B78 ldrb r3, [r3] @ zero_extendqisi2 - 570:Src/main.c **** { - 10399 .loc 1 570 11 view .LVU3358 - 10400 06ba 002B cmp r3, #0 - 10401 06bc F1D0 beq .L492 - 572:Src/main.c **** //TIM11 -> CNT = 0; // to link modulator phase - 10402 .loc 1 572 9 is_stmt 1 view .LVU3359 - 10403 06be FCEEE77A vcvt.u32.f32 s15, s15 - 10404 06c2 17EE903A vmov r3, s15 @ int - 10405 06c6 99B2 uxth r1, r3 - 10406 06c8 0120 movs r0, #1 - 10407 06ca FFF7FEFF bl Set_LTEC - 10408 .LVL865: - 575:Src/main.c **** TO10 = 0; - 10409 .loc 1 575 9 view .LVU3360 - 575:Src/main.c **** TO10 = 0; - 10410 .loc 1 575 13 is_stmt 0 view .LVU3361 - 10411 06ce 654B ldr r3, .L535 - 10412 06d0 D3ED047A vldr.32 s15, [r3, #16] - 575:Src/main.c **** TO10 = 0; - 10413 .loc 1 575 35 view .LVU3362 - 10414 06d4 93ED037A vldr.32 s14, [r3, #12] - 575:Src/main.c **** TO10 = 0; - 10415 .loc 1 575 28 view .LVU3363 - 10416 06d8 77EE877A vadd.f32 s15, s15, s14 - 10417 06dc C3ED047A vstr.32 s15, [r3, #16] - 576:Src/main.c **** TIM10_coflag = 0; - 10418 .loc 1 576 9 is_stmt 1 view .LVU3364 - 576:Src/main.c **** TIM10_coflag = 0; - 10419 .loc 1 576 14 is_stmt 0 view .LVU3365 - 10420 06e0 0027 movs r7, #0 - ARM GAS /tmp/ccYgfTud.s page 580 - - - 10421 06e2 6B4B ldr r3, .L535+44 - 10422 06e4 1F60 str r7, [r3] - 577:Src/main.c **** - 10423 .loc 1 577 9 is_stmt 1 view .LVU3366 - 577:Src/main.c **** - 10424 .loc 1 577 22 is_stmt 0 view .LVU3367 - 10425 06e6 694B ldr r3, .L535+40 - 10426 06e8 1F70 strb r7, [r3] - 579:Src/main.c **** HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9, GPIO_PIN_RESET); - 10427 .loc 1 579 9 is_stmt 1 view .LVU3368 - 10428 06ea DFF8C881 ldr r8, .L535+80 - 10429 06ee 0122 movs r2, #1 - 10430 06f0 4FF40071 mov r1, #512 - 10431 06f4 4046 mov r0, r8 - 10432 06f6 FFF7FEFF bl HAL_GPIO_WritePin - 10433 .LVL866: - 580:Src/main.c **** //* - 10434 .loc 1 580 9 view .LVU3369 - 10435 06fa 3A46 mov r2, r7 - 10436 06fc 4FF40071 mov r1, #512 - 10437 0700 4046 mov r0, r8 - 10438 0702 FFF7FEFF bl HAL_GPIO_WritePin - 10439 .LVL867: - 582:Src/main.c **** OUT_trigger(trigger_counter); - 10440 .loc 1 582 9 view .LVU3370 - 582:Src/main.c **** OUT_trigger(trigger_counter); - 10441 .loc 1 582 41 is_stmt 0 view .LVU3371 - 10442 0706 B4FBF6F3 udiv r3, r4, r6 - 10443 070a 06FB1343 mls r3, r6, r3, r4 - 10444 070e 9BB2 uxth r3, r3 - 582:Src/main.c **** OUT_trigger(trigger_counter); - 10445 .loc 1 582 12 view .LVU3372 - 10446 0710 1BB1 cbz r3, .L529 - 10447 .L493: - 586:Src/main.c **** //*/ - 10448 .loc 1 586 9 is_stmt 1 view .LVU3373 - 10449 0712 0134 adds r4, r4, #1 - 10450 .LVL868: - 586:Src/main.c **** //*/ - 10451 .loc 1 586 9 is_stmt 0 view .LVU3374 - 10452 0714 A4B2 uxth r4, r4 - 10453 .LVL869: - 586:Src/main.c **** //*/ - 10454 .loc 1 586 9 view .LVU3375 - 10455 0716 C4E7 b .L492 - 10456 .LVL870: - 10457 .L490: - 541:Src/main.c **** - 10458 .loc 1 541 8 is_stmt 1 view .LVU3376 - 541:Src/main.c **** - 10459 .loc 1 541 13 view .LVU3377 - 10460 0718 FEE7 b .L490 - 10461 .LVL871: - 10462 .L529: - 583:Src/main.c **** ++trigger_counter; - 10463 .loc 1 583 10 view .LVU3378 - 10464 071a E8B2 uxtb r0, r5 - ARM GAS /tmp/ccYgfTud.s page 581 - - - 10465 071c FFF7FEFF bl OUT_trigger - 10466 .LVL872: - 584:Src/main.c **** } - 10467 .loc 1 584 10 view .LVU3379 - 10468 0720 0135 adds r5, r5, #1 - 10469 .LVL873: - 584:Src/main.c **** } - 10470 .loc 1 584 10 is_stmt 0 view .LVU3380 - 10471 0722 ADB2 uxth r5, r5 - 10472 .LVL874: - 584:Src/main.c **** } - 10473 .loc 1 584 10 view .LVU3381 - 10474 0724 F5E7 b .L493 - 10475 .L528: - 611:Src/main.c **** //TIM11 -> CR1 |= 1 << 3; //sets timer to one-pulse mode. So it will turn off at the next Upd - 10476 .loc 1 611 7 is_stmt 1 view .LVU3382 - 611:Src/main.c **** //TIM11 -> CR1 |= 1 << 3; //sets timer to one-pulse mode. So it will turn off at the next Upd - 10477 .loc 1 611 13 is_stmt 0 view .LVU3383 - 10478 0726 574A ldr r2, .L535+32 - 10479 0728 D368 ldr r3, [r2, #12] - 611:Src/main.c **** //TIM11 -> CR1 |= 1 << 3; //sets timer to one-pulse mode. So it will turn off at the next Upd - 10480 .loc 1 611 21 view .LVU3384 - 10481 072a 43F00103 orr r3, r3, #1 - 10482 072e D360 str r3, [r2, #12] - 621:Src/main.c **** - 10483 .loc 1 621 7 is_stmt 1 view .LVU3385 - 10484 0730 FFF7FEFF bl Stop_TIM10 - 10485 .LVL875: - 623:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.current_param); - 10486 .loc 1 623 7 view .LVU3386 - 623:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.current_param); - 10487 .loc 1 623 32 is_stmt 0 view .LVU3387 - 10488 0734 4B4C ldr r4, .L535 - 10489 .LVL876: - 623:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.current_param); - 10490 .loc 1 623 32 view .LVU3388 - 10491 0736 D4ED017A vldr.32 s15, [r4, #4] - 623:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.current_param); - 10492 .loc 1 623 26 view .LVU3389 - 10493 073a C4ED047A vstr.32 s15, [r4, #16] - 624:Src/main.c **** if (task.tau > 3) - 10494 .loc 1 624 7 is_stmt 1 view .LVU3390 - 10495 073e FCEEE77A vcvt.u32.f32 s15, s15 - 10496 0742 17EE903A vmov r3, s15 @ int - 10497 0746 99B2 uxth r1, r3 - 10498 0748 0120 movs r0, #1 - 10499 074a FFF7FEFF bl Set_LTEC - 10500 .LVL877: - 625:Src/main.c **** { - 10501 .loc 1 625 7 view .LVU3391 - 625:Src/main.c **** { - 10502 .loc 1 625 15 is_stmt 0 view .LVU3392 - 10503 074e E38A ldrh r3, [r4, #22] - 625:Src/main.c **** { - 10504 .loc 1 625 10 view .LVU3393 - 10505 0750 032B cmp r3, #3 - 10506 0752 0CD9 bls .L495 - ARM GAS /tmp/ccYgfTud.s page 582 - - - 627:Src/main.c **** htim10.Init.Period = 9999; - 10507 .loc 1 627 8 is_stmt 1 view .LVU3394 - 627:Src/main.c **** htim10.Init.Period = 9999; - 10508 .loc 1 627 34 is_stmt 0 view .LVU3395 - 10509 0754 4A4A ldr r2, .L535+28 - 10510 0756 D068 ldr r0, [r2, #12] - 627:Src/main.c **** htim10.Init.Period = 9999; - 10511 .loc 1 627 21 view .LVU3396 - 10512 0758 4E49 ldr r1, .L535+48 - 10513 075a 0860 str r0, [r1] - 628:Src/main.c **** TO10_counter = (task.tau - 1) * 100; - 10514 .loc 1 628 8 is_stmt 1 view .LVU3397 - 628:Src/main.c **** TO10_counter = (task.tau - 1) * 100; - 10515 .loc 1 628 27 is_stmt 0 view .LVU3398 - 10516 075c 42F20F71 movw r1, #9999 - 10517 0760 D160 str r1, [r2, #12] - 629:Src/main.c **** } - 10518 .loc 1 629 8 is_stmt 1 view .LVU3399 - 629:Src/main.c **** } - 10519 .loc 1 629 33 is_stmt 0 view .LVU3400 - 10520 0762 013B subs r3, r3, #1 - 629:Src/main.c **** } - 10521 .loc 1 629 38 view .LVU3401 - 10522 0764 6422 movs r2, #100 - 10523 0766 02FB03F3 mul r3, r2, r3 - 629:Src/main.c **** } - 10524 .loc 1 629 21 view .LVU3402 - 10525 076a 4B4A ldr r2, .L535+52 - 10526 076c 1360 str r3, [r2] - 10527 .L495: - 631:Src/main.c **** break; - 10528 .loc 1 631 7 is_stmt 1 view .LVU3403 - 10529 076e 4448 ldr r0, .L535+28 - 10530 0770 FFF7FEFF bl HAL_TIM_Base_Start_IT - 10531 .LVL878: - 632:Src/main.c **** case TT_CHANGE_CURR_2: - 10532 .loc 1 632 6 view .LVU3404 - 10533 0774 C9E6 b .L488 - 10534 .LVL879: - 10535 .L487: - 636:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); - 10536 .loc 1 636 7 view .LVU3405 - 636:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); - 10537 .loc 1 636 38 is_stmt 0 view .LVU3406 - 10538 0776 3B4B ldr r3, .L535 - 10539 0778 D3ED077A vldr.32 s15, [r3, #28] - 636:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); - 10540 .loc 1 636 7 view .LVU3407 - 10541 077c FCEEE77A vcvt.u32.f32 s15, s15 - 10542 0780 17EE903A vmov r3, s15 @ int - 10543 0784 99B2 uxth r1, r3 - 10544 0786 0120 movs r0, #1 - 10545 0788 FFF7FEFF bl Set_LTEC - 10546 .LVL880: - 637:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); - 10547 .loc 1 637 7 is_stmt 1 view .LVU3408 - 637:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); - ARM GAS /tmp/ccYgfTud.s page 583 - - - 10548 .loc 1 637 14 is_stmt 0 view .LVU3409 - 10549 078c 0320 movs r0, #3 - 10550 078e FFF7FEFF bl MPhD_T - 10551 .LVL881: - 638:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); - 10552 .loc 1 638 7 is_stmt 1 view .LVU3410 - 638:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); - 10553 .loc 1 638 32 is_stmt 0 view .LVU3411 - 10554 0792 0320 movs r0, #3 - 10555 0794 FFF7FEFF bl MPhD_T - 10556 .LVL882: - 638:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); - 10557 .loc 1 638 30 discriminator 1 view .LVU3412 - 10558 0798 334C ldr r4, .L535+4 - 10559 079a 2080 strh r0, [r4] @ movhi - 639:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); - 10560 .loc 1 639 7 is_stmt 1 view .LVU3413 - 639:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); - 10561 .loc 1 639 14 is_stmt 0 view .LVU3414 - 10562 079c 0420 movs r0, #4 - 10563 079e FFF7FEFF bl MPhD_T - 10564 .LVL883: - 640:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); - 10565 .loc 1 640 7 is_stmt 1 view .LVU3415 - 640:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); - 10566 .loc 1 640 32 is_stmt 0 view .LVU3416 - 10567 07a2 0420 movs r0, #4 - 10568 07a4 FFF7FEFF bl MPhD_T - 10569 .LVL884: - 640:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); - 10570 .loc 1 640 30 discriminator 1 view .LVU3417 - 10571 07a8 304D ldr r5, .L535+8 - 10572 07aa 2880 strh r0, [r5] @ movhi - 641:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 - 10573 .loc 1 641 7 is_stmt 1 view .LVU3418 - 641:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 - 10574 .loc 1 641 14 is_stmt 0 view .LVU3419 - 10575 07ac 0122 movs r2, #1 - 10576 07ae 2146 mov r1, r4 - 10577 07b0 2F48 ldr r0, .L535+12 - 10578 07b2 FFF7FEFF bl PID_Controller_Temp - 10579 .LVL885: - 10580 07b6 0146 mov r1, r0 - 641:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 - 10581 .loc 1 641 13 discriminator 1 view .LVU3420 - 10582 07b8 2E4C ldr r4, .L535+16 - 10583 07ba 2080 strh r0, [r4] @ movhi - 642:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); - 10584 .loc 1 642 7 is_stmt 1 view .LVU3421 - 10585 07bc 0320 movs r0, #3 - 10586 07be FFF7FEFF bl Set_LTEC - 10587 .LVL886: - 643:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 - 10588 .loc 1 643 7 view .LVU3422 - 643:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 - 10589 .loc 1 643 14 is_stmt 0 view .LVU3423 - 10590 07c2 0222 movs r2, #2 - ARM GAS /tmp/ccYgfTud.s page 584 - - - 10591 07c4 2946 mov r1, r5 - 10592 07c6 2C48 ldr r0, .L535+20 - 10593 07c8 FFF7FEFF bl PID_Controller_Temp - 10594 .LVL887: - 10595 07cc 0146 mov r1, r0 - 643:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 - 10596 .loc 1 643 13 discriminator 1 view .LVU3424 - 10597 07ce 2080 strh r0, [r4] @ movhi - 644:Src/main.c **** - 10598 .loc 1 644 7 is_stmt 1 view .LVU3425 - 10599 07d0 0420 movs r0, #4 - 10600 07d2 FFF7FEFF bl Set_LTEC - 10601 .LVL888: - 646:Src/main.c **** LD_blinker.state = 0; // 0 -- disabled (do nothing); 1 -- update LD current; 2 -- blinking, L - 10602 .loc 1 646 7 view .LVU3426 - 646:Src/main.c **** LD_blinker.state = 0; // 0 -- disabled (do nothing); 1 -- update LD current; 2 -- blinking, L - 10603 .loc 1 646 28 is_stmt 0 view .LVU3427 - 10604 07d6 314B ldr r3, .L535+56 - 10605 07d8 0222 movs r2, #2 - 10606 07da 1A70 strb r2, [r3] - 647:Src/main.c **** //LD_blinker.param = task.current_param; - 10607 .loc 1 647 7 is_stmt 1 view .LVU3428 - 647:Src/main.c **** //LD_blinker.param = task.current_param; - 10608 .loc 1 647 24 is_stmt 0 view .LVU3429 - 10609 07dc 0022 movs r2, #0 - 10610 07de 9A72 strb r2, [r3, #10] - 649:Src/main.c **** LD_blinker.param = 1000; // LD2 current (in unspecified units) - 10611 .loc 1 649 7 is_stmt 1 view .LVU3430 - 649:Src/main.c **** LD_blinker.param = 1000; // LD2 current (in unspecified units) - 10612 .loc 1 649 24 is_stmt 0 view .LVU3431 - 10613 07e0 1A81 strh r2, [r3, #8] @ movhi - 650:Src/main.c **** LD_blinker.signal_port = OUT_9_GPIO_Port; - 10614 .loc 1 650 7 is_stmt 1 view .LVU3432 - 650:Src/main.c **** LD_blinker.signal_port = OUT_9_GPIO_Port; - 10615 .loc 1 650 24 is_stmt 0 view .LVU3433 - 10616 07e2 4FF47A72 mov r2, #1000 - 10617 07e6 1A81 strh r2, [r3, #8] @ movhi - 651:Src/main.c **** LD_blinker.signal_pin = OUT_9_Pin; - 10618 .loc 1 651 7 is_stmt 1 view .LVU3434 - 651:Src/main.c **** LD_blinker.signal_pin = OUT_9_Pin; - 10619 .loc 1 651 30 is_stmt 0 view .LVU3435 - 10620 07e8 2D4A ldr r2, .L535+60 - 10621 07ea 5A60 str r2, [r3, #4] - 652:Src/main.c **** - 10622 .loc 1 652 7 is_stmt 1 view .LVU3436 - 652:Src/main.c **** - 10623 .loc 1 652 29 is_stmt 0 view .LVU3437 - 10624 07ec 8022 movs r2, #128 - 10625 07ee 5A80 strh r2, [r3, #2] @ movhi - 654:Src/main.c **** //When it is too low -- Desktop app crashes (there is not so much compute sources on MCU - 10626 .loc 1 654 7 is_stmt 1 view .LVU3438 - 654:Src/main.c **** //When it is too low -- Desktop app crashes (there is not so much compute sources on MCU - 10627 .loc 1 654 17 is_stmt 0 view .LVU3439 - 10628 07f0 2C4B ldr r3, .L535+64 - 10629 07f2 42F21072 movw r2, #10000 - 10630 07f6 DA62 str r2, [r3, #44] - 656:Src/main.c **** if (st != HAL_OK) - ARM GAS /tmp/ccYgfTud.s page 585 - - - 10631 .loc 1 656 7 is_stmt 1 view .LVU3440 - 656:Src/main.c **** if (st != HAL_OK) - 10632 .loc 1 656 12 is_stmt 0 view .LVU3441 - 10633 07f8 2B48 ldr r0, .L535+68 - 10634 07fa FFF7FEFF bl HAL_TIM_Base_Start_IT - 10635 .LVL889: - 657:Src/main.c **** while(1); - 10636 .loc 1 657 7 is_stmt 1 view .LVU3442 - 657:Src/main.c **** while(1); - 10637 .loc 1 657 10 is_stmt 0 view .LVU3443 - 10638 07fe 78BB cbnz r0, .L497 - 662:Src/main.c **** uint32_t i = 10000; while (--i){} - 10639 .loc 1 662 7 is_stmt 1 view .LVU3444 - 10640 0800 0122 movs r2, #1 - 10641 0802 8021 movs r1, #128 - 10642 0804 1D48 ldr r0, .L535+24 - 10643 .LVL890: - 662:Src/main.c **** uint32_t i = 10000; while (--i){} - 10644 .loc 1 662 7 is_stmt 0 view .LVU3445 - 10645 0806 FFF7FEFF bl HAL_GPIO_WritePin - 10646 .LVL891: - 663:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); - 10647 .loc 1 663 7 is_stmt 1 view .LVU3446 - 663:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); - 10648 .loc 1 663 27 view .LVU3447 - 663:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); - 10649 .loc 1 663 16 is_stmt 0 view .LVU3448 - 10650 080a 42F21073 movw r3, #10000 - 10651 .LVL892: - 10652 .L498: - 663:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); - 10653 .loc 1 663 39 is_stmt 1 discriminator 2 view .LVU3449 - 663:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); - 10654 .loc 1 663 34 discriminator 2 view .LVU3450 - 663:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); - 10655 .loc 1 663 34 is_stmt 0 discriminator 2 view .LVU3451 - 10656 080e 013B subs r3, r3, #1 - 10657 .LVL893: - 663:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); - 10658 .loc 1 663 34 discriminator 2 view .LVU3452 - 10659 0810 FDD1 bne .L498 - 664:Src/main.c **** LD_blinker.state = 2; - 10660 .loc 1 664 7 is_stmt 1 view .LVU3453 - 10661 0812 0022 movs r2, #0 - 10662 0814 8021 movs r1, #128 - 10663 0816 1948 ldr r0, .L535+24 - 10664 0818 FFF7FEFF bl HAL_GPIO_WritePin - 10665 .LVL894: - 665:Src/main.c **** - 10666 .loc 1 665 7 view .LVU3454 - 665:Src/main.c **** - 10667 .loc 1 665 24 is_stmt 0 view .LVU3455 - 10668 081c 1F4B ldr r3, .L535+56 - 10669 081e 0222 movs r2, #2 - 10670 0820 9A72 strb r2, [r3, #10] - 667:Src/main.c **** if (st != HAL_OK) - 10671 .loc 1 667 7 is_stmt 1 view .LVU3456 - ARM GAS /tmp/ccYgfTud.s page 586 - - - 667:Src/main.c **** if (st != HAL_OK) - 10672 .loc 1 667 12 is_stmt 0 view .LVU3457 - 10673 0822 1748 ldr r0, .L535+28 - 10674 0824 FFF7FEFF bl HAL_TIM_Base_Start_IT - 10675 .LVL895: - 668:Src/main.c **** while(1); - 10676 .loc 1 668 7 is_stmt 1 view .LVU3458 - 668:Src/main.c **** while(1); - 10677 .loc 1 668 10 is_stmt 0 view .LVU3459 - 10678 0828 D8B9 cbnz r0, .L500 - 10679 .L501: - 670:Src/main.c **** { - 10680 .loc 1 670 33 is_stmt 1 view .LVU3460 - 670:Src/main.c **** { - 10681 .loc 1 670 18 is_stmt 0 view .LVU3461 - 10682 082a 0E4B ldr r3, .L535 - 10683 082c D3ED047A vldr.32 s15, [r3, #16] - 670:Src/main.c **** { - 10684 .loc 1 670 39 view .LVU3462 - 10685 0830 93ED027A vldr.32 s14, [r3, #8] - 670:Src/main.c **** { - 10686 .loc 1 670 33 view .LVU3463 - 10687 0834 F4EEC77A vcmpe.f32 s15, s14 - 10688 0838 F1EE10FA vmrs APSR_nzcv, FPSCR - 10689 083c 3CD5 bpl .L530 - 672:Src/main.c **** { - 10690 .loc 1 672 8 is_stmt 1 view .LVU3464 - 672:Src/main.c **** { - 10691 .loc 1 672 12 is_stmt 0 view .LVU3465 - 10692 083e 134B ldr r3, .L535+40 - 10693 0840 1B78 ldrb r3, [r3] @ zero_extendqisi2 - 672:Src/main.c **** { - 10694 .loc 1 672 11 view .LVU3466 - 10695 0842 002B cmp r3, #0 - 10696 0844 F1D0 beq .L501 - 677:Src/main.c **** TO10 = 0; - 10697 .loc 1 677 9 is_stmt 1 view .LVU3467 - 677:Src/main.c **** TO10 = 0; - 10698 .loc 1 677 35 is_stmt 0 view .LVU3468 - 10699 0846 074B ldr r3, .L535 - 10700 0848 93ED037A vldr.32 s14, [r3, #12] - 677:Src/main.c **** TO10 = 0; - 10701 .loc 1 677 28 view .LVU3469 - 10702 084c 77EE277A vadd.f32 s15, s14, s15 - 10703 0850 C3ED047A vstr.32 s15, [r3, #16] - 678:Src/main.c **** TIM10_coflag = 0; - 10704 .loc 1 678 9 is_stmt 1 view .LVU3470 - 678:Src/main.c **** TIM10_coflag = 0; - 10705 .loc 1 678 14 is_stmt 0 view .LVU3471 - 10706 0854 0023 movs r3, #0 - 10707 0856 0E4A ldr r2, .L535+44 - 10708 0858 1360 str r3, [r2] - 679:Src/main.c **** - 10709 .loc 1 679 9 is_stmt 1 view .LVU3472 - 679:Src/main.c **** - 10710 .loc 1 679 22 is_stmt 0 view .LVU3473 - 10711 085a 0C4A ldr r2, .L535+40 - ARM GAS /tmp/ccYgfTud.s page 587 - - - 10712 085c 1370 strb r3, [r2] - 10713 085e E4E7 b .L501 - 10714 .LVL896: - 10715 .L497: - 658:Src/main.c **** // */ - 10716 .loc 1 658 8 is_stmt 1 view .LVU3474 - 658:Src/main.c **** // */ - 10717 .loc 1 658 13 view .LVU3475 - 10718 0860 FEE7 b .L497 - 10719 .LVL897: - 10720 .L500: - 669:Src/main.c **** while (task.current_param < task.max_param) - 10721 .loc 1 669 8 view .LVU3476 - 669:Src/main.c **** while (task.current_param < task.max_param) - 10722 .loc 1 669 13 view .LVU3477 - 10723 0862 FEE7 b .L500 - 10724 .L536: - 10725 .align 2 - 10726 .L535: - 10727 0864 00000000 .word task - 10728 0868 00000000 .word LD1_param - 10729 086c 00000000 .word LD2_param - 10730 0870 00000000 .word LD1_curr_setup - 10731 0874 00000000 .word temp16 - 10732 0878 00000000 .word LD2_curr_setup - 10733 087c 000C0240 .word 1073875968 - 10734 0880 00000000 .word htim10 - 10735 0884 00480140 .word 1073825792 - 10736 0888 00080040 .word 1073743872 - 10737 088c 00000000 .word TIM10_coflag - 10738 0890 00000000 .word TO10 - 10739 0894 00000000 .word TIM10_period - 10740 0898 00000000 .word TO10_counter - 10741 089c 00000000 .word LD_blinker - 10742 08a0 00040240 .word 1073873920 - 10743 08a4 00040140 .word 1073808384 - 10744 08a8 00000000 .word htim8 - 10745 08ac 00000000 .word htim11 - 10746 08b0 00000000 .word htim4 - 10747 08b4 00180240 .word 1073879040 - 10748 .L530: - 684:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); - 10749 .loc 1 684 7 view .LVU3478 - 10750 08b8 6C48 ldr r0, .L537 - 10751 .LVL898: - 684:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); - 10752 .loc 1 684 7 is_stmt 0 view .LVU3479 - 10753 08ba FFF7FEFF bl HAL_TIM_Base_Stop - 10754 .LVL899: - 685:Src/main.c **** - 10755 .loc 1 685 7 is_stmt 1 view .LVU3480 - 10756 08be 6C4C ldr r4, .L537+4 - 10757 08c0 0122 movs r2, #1 - 10758 08c2 8021 movs r1, #128 - 10759 08c4 2046 mov r0, r4 - 10760 08c6 FFF7FEFF bl HAL_GPIO_WritePin - 10761 .LVL900: - ARM GAS /tmp/ccYgfTud.s page 588 - - - 687:Src/main.c **** - 10762 .loc 1 687 7 view .LVU3481 - 10763 08ca 0022 movs r2, #0 - 10764 08cc 8021 movs r1, #128 - 10765 08ce 2046 mov r0, r4 - 10766 08d0 FFF7FEFF bl HAL_GPIO_WritePin - 10767 .LVL901: - 689:Src/main.c **** TIM8->CNT = 0; - 10768 .loc 1 689 7 view .LVU3482 - 10769 08d4 6748 ldr r0, .L537+8 - 10770 08d6 FFF7FEFF bl HAL_TIM_Base_Stop_IT - 10771 .LVL902: - 690:Src/main.c **** - 10772 .loc 1 690 7 view .LVU3483 - 690:Src/main.c **** - 10773 .loc 1 690 17 is_stmt 0 view .LVU3484 - 10774 08da 674B ldr r3, .L537+12 - 10775 08dc 0022 movs r2, #0 - 10776 08de 5A62 str r2, [r3, #36] - 692:Src/main.c **** task.current_param = task.min_param; - 10777 .loc 1 692 7 is_stmt 1 view .LVU3485 - 10778 08e0 FFF7FEFF bl Stop_TIM10 - 10779 .LVL903: - 693:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_2, task.current_param); - 10780 .loc 1 693 7 view .LVU3486 - 693:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_2, task.current_param); - 10781 .loc 1 693 32 is_stmt 0 view .LVU3487 - 10782 08e4 654C ldr r4, .L537+16 - 10783 08e6 D4ED017A vldr.32 s15, [r4, #4] - 693:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_2, task.current_param); - 10784 .loc 1 693 26 view .LVU3488 - 10785 08ea C4ED047A vstr.32 s15, [r4, #16] - 694:Src/main.c **** if (task.tau > 3) - 10786 .loc 1 694 7 is_stmt 1 view .LVU3489 - 10787 08ee FCEEE77A vcvt.u32.f32 s15, s15 - 10788 08f2 17EE903A vmov r3, s15 @ int - 10789 08f6 99B2 uxth r1, r3 - 10790 08f8 0220 movs r0, #2 - 10791 08fa FFF7FEFF bl Set_LTEC - 10792 .LVL904: - 695:Src/main.c **** { - 10793 .loc 1 695 7 view .LVU3490 - 695:Src/main.c **** { - 10794 .loc 1 695 15 is_stmt 0 view .LVU3491 - 10795 08fe E38A ldrh r3, [r4, #22] - 695:Src/main.c **** { - 10796 .loc 1 695 10 view .LVU3492 - 10797 0900 032B cmp r3, #3 - 10798 0902 0CD9 bls .L503 - 697:Src/main.c **** htim10.Init.Period = 9999; - 10799 .loc 1 697 8 is_stmt 1 view .LVU3493 - 697:Src/main.c **** htim10.Init.Period = 9999; - 10800 .loc 1 697 34 is_stmt 0 view .LVU3494 - 10801 0904 594A ldr r2, .L537 - 10802 0906 D068 ldr r0, [r2, #12] - 697:Src/main.c **** htim10.Init.Period = 9999; - 10803 .loc 1 697 21 view .LVU3495 - ARM GAS /tmp/ccYgfTud.s page 589 - - - 10804 0908 5D49 ldr r1, .L537+20 - 10805 090a 0860 str r0, [r1] - 698:Src/main.c **** TO10_counter = (task.tau - 1) * 100; - 10806 .loc 1 698 8 is_stmt 1 view .LVU3496 - 698:Src/main.c **** TO10_counter = (task.tau - 1) * 100; - 10807 .loc 1 698 27 is_stmt 0 view .LVU3497 - 10808 090c 42F20F71 movw r1, #9999 - 10809 0910 D160 str r1, [r2, #12] - 699:Src/main.c **** } - 10810 .loc 1 699 8 is_stmt 1 view .LVU3498 - 699:Src/main.c **** } - 10811 .loc 1 699 33 is_stmt 0 view .LVU3499 - 10812 0912 013B subs r3, r3, #1 - 699:Src/main.c **** } - 10813 .loc 1 699 38 view .LVU3500 - 10814 0914 6422 movs r2, #100 - 10815 0916 02FB03F3 mul r3, r2, r3 - 699:Src/main.c **** } - 10816 .loc 1 699 21 view .LVU3501 - 10817 091a 5A4A ldr r2, .L537+24 - 10818 091c 1360 str r3, [r2] - 10819 .L503: - 701:Src/main.c **** - 10820 .loc 1 701 7 is_stmt 1 view .LVU3502 - 10821 091e 5348 ldr r0, .L537 - 10822 0920 FFF7FEFF bl HAL_TIM_Base_Start_IT - 10823 .LVL905: - 749:Src/main.c **** case TT_CHANGE_TEMP_1: - 10824 .loc 1 749 6 view .LVU3503 - 10825 0924 F1E5 b .L488 - 10826 .LVL906: - 10827 .L527: - 749:Src/main.c **** case TT_CHANGE_TEMP_1: - 10828 .loc 1 749 6 is_stmt 0 view .LVU3504 - 10829 .LBE651: - 760:Src/main.c **** - 10830 .loc 1 760 7 is_stmt 1 view .LVU3505 - 760:Src/main.c **** - 10831 .loc 1 760 18 is_stmt 0 view .LVU3506 - 10832 0926 584A ldr r2, .L537+28 - 10833 0928 1360 str r3, [r2] - 762:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 - 10834 .loc 1 762 7 is_stmt 1 view .LVU3507 - 762:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 - 10835 .loc 1 762 25 is_stmt 0 view .LVU3508 - 10836 092a 0120 movs r0, #1 - 10837 092c FFF7FEFF bl MPhD_T - 10838 .LVL907: - 762:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 - 10839 .loc 1 762 23 discriminator 1 view .LVU3509 - 10840 0930 564E ldr r6, .L537+32 - 10841 0932 3081 strh r0, [r6, #8] @ movhi - 763:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 10842 .loc 1 763 7 is_stmt 1 view .LVU3510 - 763:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 10843 .loc 1 763 25 is_stmt 0 view .LVU3511 - 10844 0934 0120 movs r0, #1 - ARM GAS /tmp/ccYgfTud.s page 590 - - - 10845 0936 FFF7FEFF bl MPhD_T - 10846 .LVL908: - 763:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 10847 .loc 1 763 23 discriminator 1 view .LVU3512 - 10848 093a 3081 strh r0, [r6, #8] @ movhi - 764:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 10849 .loc 1 764 7 is_stmt 1 view .LVU3513 - 764:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 10850 .loc 1 764 25 is_stmt 0 view .LVU3514 - 10851 093c 0220 movs r0, #2 - 10852 093e FFF7FEFF bl MPhD_T - 10853 .LVL909: - 764:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 - 10854 .loc 1 764 23 discriminator 1 view .LVU3515 - 10855 0942 534F ldr r7, .L537+36 - 10856 0944 3881 strh r0, [r7, #8] @ movhi - 765:Src/main.c **** - 10857 .loc 1 765 7 is_stmt 1 view .LVU3516 - 765:Src/main.c **** - 10858 .loc 1 765 25 is_stmt 0 view .LVU3517 - 10859 0946 0220 movs r0, #2 - 10860 0948 FFF7FEFF bl MPhD_T - 10861 .LVL910: - 765:Src/main.c **** - 10862 .loc 1 765 23 discriminator 1 view .LVU3518 - 10863 094c 3881 strh r0, [r7, #8] @ movhi - 767:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data - 10864 .loc 1 767 7 is_stmt 1 view .LVU3519 - 767:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data - 10865 .loc 1 767 31 is_stmt 0 view .LVU3520 - 10866 094e 3389 ldrh r3, [r6, #8] - 767:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data - 10867 .loc 1 767 20 view .LVU3521 - 10868 0950 504C ldr r4, .L537+40 - 10869 0952 6380 strh r3, [r4, #2] @ movhi - 768:Src/main.c **** - 10870 .loc 1 768 7 is_stmt 1 view .LVU3522 - 768:Src/main.c **** - 10871 .loc 1 768 20 is_stmt 0 view .LVU3523 - 10872 0954 A080 strh r0, [r4, #4] @ movhi - 772:Src/main.c **** temp16 = Get_ADC(1); - 10873 .loc 1 772 7 is_stmt 1 view .LVU3524 - 772:Src/main.c **** temp16 = Get_ADC(1); - 10874 .loc 1 772 16 is_stmt 0 view .LVU3525 - 10875 0956 0020 movs r0, #0 - 10876 0958 FFF7FEFF bl Get_ADC - 10877 .LVL911: - 772:Src/main.c **** temp16 = Get_ADC(1); - 10878 .loc 1 772 14 discriminator 1 view .LVU3526 - 10879 095c 4E4D ldr r5, .L537+44 - 10880 095e 2880 strh r0, [r5] @ movhi - 773:Src/main.c **** Long_Data[7] = temp16; - 10881 .loc 1 773 7 is_stmt 1 view .LVU3527 - 773:Src/main.c **** Long_Data[7] = temp16; - 10882 .loc 1 773 16 is_stmt 0 view .LVU3528 - 10883 0960 0120 movs r0, #1 - 10884 0962 FFF7FEFF bl Get_ADC - ARM GAS /tmp/ccYgfTud.s page 591 - - - 10885 .LVL912: - 773:Src/main.c **** Long_Data[7] = temp16; - 10886 .loc 1 773 14 discriminator 1 view .LVU3529 - 10887 0966 2880 strh r0, [r5] @ movhi - 774:Src/main.c **** - 10888 .loc 1 774 7 is_stmt 1 view .LVU3530 - 774:Src/main.c **** - 10889 .loc 1 774 20 is_stmt 0 view .LVU3531 - 10890 0968 E081 strh r0, [r4, #14] @ movhi - 777:Src/main.c **** Long_Data[8] = temp16; - 10891 .loc 1 777 7 is_stmt 1 view .LVU3532 - 777:Src/main.c **** Long_Data[8] = temp16; - 10892 .loc 1 777 16 is_stmt 0 view .LVU3533 - 10893 096a 0120 movs r0, #1 - 10894 096c FFF7FEFF bl Get_ADC - 10895 .LVL913: - 777:Src/main.c **** Long_Data[8] = temp16; - 10896 .loc 1 777 14 discriminator 1 view .LVU3534 - 10897 0970 2880 strh r0, [r5] @ movhi - 778:Src/main.c **** - 10898 .loc 1 778 7 is_stmt 1 view .LVU3535 - 778:Src/main.c **** - 10899 .loc 1 778 20 is_stmt 0 view .LVU3536 - 10900 0972 2082 strh r0, [r4, #16] @ movhi - 781:Src/main.c **** Long_Data[9] = temp16; - 10901 .loc 1 781 7 is_stmt 1 view .LVU3537 - 781:Src/main.c **** Long_Data[9] = temp16; - 10902 .loc 1 781 16 is_stmt 0 view .LVU3538 - 10903 0974 0120 movs r0, #1 - 10904 0976 FFF7FEFF bl Get_ADC - 10905 .LVL914: - 781:Src/main.c **** Long_Data[9] = temp16; - 10906 .loc 1 781 14 discriminator 1 view .LVU3539 - 10907 097a 2880 strh r0, [r5] @ movhi - 782:Src/main.c **** - 10908 .loc 1 782 7 is_stmt 1 view .LVU3540 - 782:Src/main.c **** - 10909 .loc 1 782 20 is_stmt 0 view .LVU3541 - 10910 097c 6082 strh r0, [r4, #18] @ movhi - 785:Src/main.c **** Long_Data[10] = temp16; - 10911 .loc 1 785 7 is_stmt 1 view .LVU3542 - 785:Src/main.c **** Long_Data[10] = temp16; - 10912 .loc 1 785 16 is_stmt 0 view .LVU3543 - 10913 097e 0120 movs r0, #1 - 10914 0980 FFF7FEFF bl Get_ADC - 10915 .LVL915: - 785:Src/main.c **** Long_Data[10] = temp16; - 10916 .loc 1 785 14 discriminator 1 view .LVU3544 - 10917 0984 2880 strh r0, [r5] @ movhi - 786:Src/main.c **** - 10918 .loc 1 786 7 is_stmt 1 view .LVU3545 - 786:Src/main.c **** - 10919 .loc 1 786 21 is_stmt 0 view .LVU3546 - 10920 0986 A082 strh r0, [r4, #20] @ movhi - 789:Src/main.c **** Long_Data[11] = temp16; - 10921 .loc 1 789 7 is_stmt 1 view .LVU3547 - 789:Src/main.c **** Long_Data[11] = temp16; - ARM GAS /tmp/ccYgfTud.s page 592 - - - 10922 .loc 1 789 16 is_stmt 0 view .LVU3548 - 10923 0988 0120 movs r0, #1 - 10924 098a FFF7FEFF bl Get_ADC - 10925 .LVL916: - 789:Src/main.c **** Long_Data[11] = temp16; - 10926 .loc 1 789 14 discriminator 1 view .LVU3549 - 10927 098e 2880 strh r0, [r5] @ movhi - 790:Src/main.c **** temp16 = Get_ADC(2); - 10928 .loc 1 790 7 is_stmt 1 view .LVU3550 - 790:Src/main.c **** temp16 = Get_ADC(2); - 10929 .loc 1 790 21 is_stmt 0 view .LVU3551 - 10930 0990 E082 strh r0, [r4, #22] @ movhi - 791:Src/main.c **** - 10931 .loc 1 791 7 is_stmt 1 view .LVU3552 - 791:Src/main.c **** - 10932 .loc 1 791 16 is_stmt 0 view .LVU3553 - 10933 0992 0220 movs r0, #2 - 10934 0994 FFF7FEFF bl Get_ADC - 10935 .LVL917: - 791:Src/main.c **** - 10936 .loc 1 791 14 discriminator 1 view .LVU3554 - 10937 0998 2880 strh r0, [r5] @ movhi - 794:Src/main.c **** temp16 = Get_ADC(4); - 10938 .loc 1 794 7 is_stmt 1 view .LVU3555 - 794:Src/main.c **** temp16 = Get_ADC(4); - 10939 .loc 1 794 16 is_stmt 0 view .LVU3556 - 10940 099a 0320 movs r0, #3 - 10941 099c FFF7FEFF bl Get_ADC - 10942 .LVL918: - 794:Src/main.c **** temp16 = Get_ADC(4); - 10943 .loc 1 794 14 discriminator 1 view .LVU3557 - 10944 09a0 2880 strh r0, [r5] @ movhi - 795:Src/main.c **** Long_Data[12] = temp16; - 10945 .loc 1 795 7 is_stmt 1 view .LVU3558 - 795:Src/main.c **** Long_Data[12] = temp16; - 10946 .loc 1 795 16 is_stmt 0 view .LVU3559 - 10947 09a2 0420 movs r0, #4 - 10948 09a4 FFF7FEFF bl Get_ADC - 10949 .LVL919: - 795:Src/main.c **** Long_Data[12] = temp16; - 10950 .loc 1 795 14 discriminator 1 view .LVU3560 - 10951 09a8 2880 strh r0, [r5] @ movhi - 796:Src/main.c **** temp16 = Get_ADC(5); - 10952 .loc 1 796 7 is_stmt 1 view .LVU3561 - 796:Src/main.c **** temp16 = Get_ADC(5); - 10953 .loc 1 796 21 is_stmt 0 view .LVU3562 - 10954 09aa 2083 strh r0, [r4, #24] @ movhi - 797:Src/main.c **** - 10955 .loc 1 797 7 is_stmt 1 view .LVU3563 - 797:Src/main.c **** - 10956 .loc 1 797 16 is_stmt 0 view .LVU3564 - 10957 09ac 0520 movs r0, #5 - 10958 09ae FFF7FEFF bl Get_ADC - 10959 .LVL920: - 797:Src/main.c **** - 10960 .loc 1 797 14 discriminator 1 view .LVU3565 - 10961 09b2 2880 strh r0, [r5] @ movhi - ARM GAS /tmp/ccYgfTud.s page 593 - - - 800:Src/main.c **** Long_Data[3] = (TO6_stop)&0xffff; - 10962 .loc 1 800 7 is_stmt 1 view .LVU3566 - 800:Src/main.c **** Long_Data[3] = (TO6_stop)&0xffff; - 10963 .loc 1 800 16 is_stmt 0 view .LVU3567 - 10964 09b4 394B ldr r3, .L537+48 - 10965 09b6 1B68 ldr r3, [r3] - 10966 09b8 394A ldr r2, .L537+52 - 10967 09ba 1360 str r3, [r2] - 801:Src/main.c **** Long_Data[4] = (TO6_stop>>16)&0xffff; - 10968 .loc 1 801 7 is_stmt 1 view .LVU3568 - 801:Src/main.c **** Long_Data[4] = (TO6_stop>>16)&0xffff; - 10969 .loc 1 801 20 is_stmt 0 view .LVU3569 - 10970 09bc E380 strh r3, [r4, #6] @ movhi - 802:Src/main.c **** - 10971 .loc 1 802 7 is_stmt 1 view .LVU3570 - 802:Src/main.c **** - 10972 .loc 1 802 31 is_stmt 0 view .LVU3571 - 10973 09be 1B0C lsrs r3, r3, #16 - 802:Src/main.c **** - 10974 .loc 1 802 20 view .LVU3572 - 10975 09c0 2381 strh r3, [r4, #8] @ movhi - 805:Src/main.c **** - 10976 .loc 1 805 7 is_stmt 1 view .LVU3573 - 805:Src/main.c **** - 10977 .loc 1 805 31 is_stmt 0 view .LVU3574 - 10978 09c2 3388 ldrh r3, [r6] - 805:Src/main.c **** - 10979 .loc 1 805 20 view .LVU3575 - 10980 09c4 6381 strh r3, [r4, #10] @ movhi - 808:Src/main.c **** } - 10981 .loc 1 808 7 is_stmt 1 view .LVU3576 - 808:Src/main.c **** } - 10982 .loc 1 808 31 is_stmt 0 view .LVU3577 - 10983 09c6 3B88 ldrh r3, [r7] - 808:Src/main.c **** } - 10984 .loc 1 808 20 view .LVU3578 - 10985 09c8 A381 strh r3, [r4, #12] @ movhi - 10986 09ca A5E5 b .L505 - 10987 .L507: - 836:Src/main.c **** Long_Data[DL_16-1] = CS_result; - 10988 .loc 1 836 5 is_stmt 1 view .LVU3579 - 836:Src/main.c **** Long_Data[DL_16-1] = CS_result; - 10989 .loc 1 836 17 is_stmt 0 view .LVU3580 - 10990 09cc 354C ldr r4, .L537+56 - 10991 09ce 0D21 movs r1, #13 - 10992 09d0 2046 mov r0, r4 - 10993 09d2 FFF7FEFF bl CalculateChecksum - 10994 .LVL921: - 836:Src/main.c **** Long_Data[DL_16-1] = CS_result; - 10995 .loc 1 836 15 discriminator 1 view .LVU3581 - 10996 09d6 344B ldr r3, .L537+60 - 10997 09d8 1880 strh r0, [r3] @ movhi - 837:Src/main.c **** - 10998 .loc 1 837 5 is_stmt 1 view .LVU3582 - 837:Src/main.c **** - 10999 .loc 1 837 24 is_stmt 0 view .LVU3583 - 11000 09da 6083 strh r0, [r4, #26] @ movhi - ARM GAS /tmp/ccYgfTud.s page 594 - - - 839:Src/main.c **** { - 11001 .loc 1 839 5 is_stmt 1 view .LVU3584 - 11002 .LBB652: - 839:Src/main.c **** { - 11003 .loc 1 839 10 view .LVU3585 - 11004 .LVL922: - 839:Src/main.c **** { - 11005 .loc 1 839 19 is_stmt 0 view .LVU3586 - 11006 09dc 0023 movs r3, #0 - 839:Src/main.c **** { - 11007 .loc 1 839 5 view .LVU3587 - 11008 09de 0BE0 b .L510 - 11009 .LVL923: - 11010 .L511: - 841:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; - 11011 .loc 1 841 6 is_stmt 1 view .LVU3588 - 841:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; - 11012 .loc 1 841 33 is_stmt 0 view .LVU3589 - 11013 09e0 2C4A ldr r2, .L537+40 - 11014 09e2 32F81320 ldrh r2, [r2, r3, lsl #1] - 841:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; - 11015 .loc 1 841 17 view .LVU3590 - 11016 09e6 5900 lsls r1, r3, #1 - 841:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; - 11017 .loc 1 841 21 view .LVU3591 - 11018 09e8 3048 ldr r0, .L537+64 - 11019 09ea 00F81320 strb r2, [r0, r3, lsl #1] - 842:Src/main.c **** } - 11020 .loc 1 842 6 is_stmt 1 view .LVU3592 - 842:Src/main.c **** } - 11021 .loc 1 842 19 is_stmt 0 view .LVU3593 - 11022 09ee 0131 adds r1, r1, #1 - 842:Src/main.c **** } - 11023 .loc 1 842 23 view .LVU3594 - 11024 09f0 120A lsrs r2, r2, #8 - 11025 09f2 4254 strb r2, [r0, r1] - 839:Src/main.c **** { - 11026 .loc 1 839 38 is_stmt 1 discriminator 3 view .LVU3595 - 11027 09f4 0133 adds r3, r3, #1 - 11028 .LVL924: - 839:Src/main.c **** { - 11029 .loc 1 839 38 is_stmt 0 discriminator 3 view .LVU3596 - 11030 09f6 9BB2 uxth r3, r3 - 11031 .LVL925: - 11032 .L510: - 839:Src/main.c **** { - 11033 .loc 1 839 28 is_stmt 1 discriminator 1 view .LVU3597 - 11034 09f8 0E2B cmp r3, #14 - 11035 09fa F1D9 bls .L511 - 11036 .LBE652: - 849:Src/main.c **** UART_transmission_request = NO_MESS; - 11037 .loc 1 849 5 view .LVU3598 - 11038 09fc 1E20 movs r0, #30 - 11039 09fe FFF7FEFF bl USART_TX_DMA - 11040 .LVL926: - 850:Src/main.c **** break; - 11041 .loc 1 850 5 view .LVU3599 - ARM GAS /tmp/ccYgfTud.s page 595 - - - 850:Src/main.c **** break; - 11042 .loc 1 850 31 is_stmt 0 view .LVU3600 - 11043 0a02 2B4B ldr r3, .L537+68 - 11044 0a04 0022 movs r2, #0 - 11045 0a06 1A70 strb r2, [r3] - 851:Src/main.c **** case MESS_03://Transmith saved packet - 11046 .loc 1 851 4 is_stmt 1 view .LVU3601 - 11047 0a08 FFF787BB b .L509 - 11048 .LVL927: - 11049 .L512: - 11050 .LBB653: - 855:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; - 11051 .loc 1 855 6 view .LVU3602 - 855:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; - 11052 .loc 1 855 33 is_stmt 0 view .LVU3603 - 11053 0a0c 214A ldr r2, .L537+40 - 11054 0a0e 32F81320 ldrh r2, [r2, r3, lsl #1] - 855:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; - 11055 .loc 1 855 17 view .LVU3604 - 11056 0a12 5900 lsls r1, r3, #1 - 855:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; - 11057 .loc 1 855 21 view .LVU3605 - 11058 0a14 2548 ldr r0, .L537+64 - 11059 0a16 00F81320 strb r2, [r0, r3, lsl #1] - 856:Src/main.c **** } - 11060 .loc 1 856 6 is_stmt 1 view .LVU3606 - 856:Src/main.c **** } - 11061 .loc 1 856 19 is_stmt 0 view .LVU3607 - 11062 0a1a 0131 adds r1, r1, #1 - 856:Src/main.c **** } - 11063 .loc 1 856 23 view .LVU3608 - 11064 0a1c 120A lsrs r2, r2, #8 - 11065 0a1e 4254 strb r2, [r0, r1] - 853:Src/main.c **** { - 11066 .loc 1 853 38 is_stmt 1 discriminator 3 view .LVU3609 - 11067 0a20 0133 adds r3, r3, #1 - 11068 .LVL928: - 853:Src/main.c **** { - 11069 .loc 1 853 38 is_stmt 0 discriminator 3 view .LVU3610 - 11070 0a22 9BB2 uxth r3, r3 - 11071 .LVL929: - 11072 .L508: - 853:Src/main.c **** { - 11073 .loc 1 853 28 is_stmt 1 discriminator 1 view .LVU3611 - 11074 0a24 0E2B cmp r3, #14 - 11075 0a26 F1D9 bls .L512 - 11076 .LBE653: - 862:Src/main.c **** UART_transmission_request = NO_MESS; - 11077 .loc 1 862 5 view .LVU3612 - 11078 0a28 1E20 movs r0, #30 - 11079 0a2a FFF7FEFF bl USART_TX_DMA - 11080 .LVL930: - 863:Src/main.c **** break; - 11081 .loc 1 863 5 view .LVU3613 - 863:Src/main.c **** break; - 11082 .loc 1 863 31 is_stmt 0 view .LVU3614 - 11083 0a2e 204B ldr r3, .L537+68 - ARM GAS /tmp/ccYgfTud.s page 596 - - - 11084 0a30 0022 movs r2, #0 - 11085 0a32 1A70 strb r2, [r3] - 864:Src/main.c **** } - 11086 .loc 1 864 4 is_stmt 1 view .LVU3615 - 11087 0a34 FFF771BB b .L509 - 11088 .LVL931: - 11089 .L518: - 824:Src/main.c **** { - 11090 .loc 1 824 3 is_stmt 0 view .LVU3616 - 11091 0a38 0023 movs r3, #0 - 11092 0a3a F3E7 b .L508 - 11093 .L521: - 866:Src/main.c **** { - 11094 .loc 1 866 28 discriminator 1 view .LVU3617 - 11095 0a3c 174B ldr r3, .L537+48 - 11096 0a3e 1B68 ldr r3, [r3] - 11097 0a40 1C4A ldr r2, .L537+72 - 11098 0a42 1268 ldr r2, [r2] - 11099 0a44 9B1A subs r3, r3, r2 - 866:Src/main.c **** { - 11100 .loc 1 866 21 discriminator 1 view .LVU3618 - 11101 0a46 642B cmp r3, #100 - 11102 0a48 7FF66CAB bls .L456 - 868:Src/main.c **** State_Data[0] |= UART_ERR;//timeout error! - 11103 .loc 1 868 4 is_stmt 1 view .LVU3619 - 868:Src/main.c **** State_Data[0] |= UART_ERR;//timeout error! - 11104 .loc 1 868 18 is_stmt 0 view .LVU3620 - 11105 0a4c 0022 movs r2, #0 - 11106 0a4e 1A4B ldr r3, .L537+76 - 11107 0a50 1A80 strh r2, [r3] @ movhi - 869:Src/main.c **** UART_transmission_request = MESS_01;//Send status - 11108 .loc 1 869 4 is_stmt 1 view .LVU3621 - 869:Src/main.c **** UART_transmission_request = MESS_01;//Send status - 11109 .loc 1 869 14 is_stmt 0 view .LVU3622 - 11110 0a52 1A49 ldr r1, .L537+80 - 11111 0a54 0B78 ldrb r3, [r1] @ zero_extendqisi2 - 869:Src/main.c **** UART_transmission_request = MESS_01;//Send status - 11112 .loc 1 869 18 view .LVU3623 - 11113 0a56 43F00203 orr r3, r3, #2 - 11114 0a5a 0B70 strb r3, [r1] - 870:Src/main.c **** flg_tmt = 0;//Reset timeout flag - 11115 .loc 1 870 4 is_stmt 1 view .LVU3624 - 870:Src/main.c **** flg_tmt = 0;//Reset timeout flag - 11116 .loc 1 870 30 is_stmt 0 view .LVU3625 - 11117 0a5c 144B ldr r3, .L537+68 - 11118 0a5e 0121 movs r1, #1 - 11119 0a60 1970 strb r1, [r3] - 871:Src/main.c **** } - 11120 .loc 1 871 4 is_stmt 1 view .LVU3626 - 871:Src/main.c **** } - 11121 .loc 1 871 12 is_stmt 0 view .LVU3627 - 11122 0a62 174B ldr r3, .L537+84 - 11123 0a64 1A70 strb r2, [r3] - 11124 0a66 FFF75DBB b .L456 - 11125 .L538: - 11126 0a6a 00BF .align 2 - 11127 .L537: - ARM GAS /tmp/ccYgfTud.s page 597 - - - 11128 0a6c 00000000 .word htim10 - 11129 0a70 000C0240 .word 1073875968 - 11130 0a74 00000000 .word htim8 - 11131 0a78 00040140 .word 1073808384 - 11132 0a7c 00000000 .word task - 11133 0a80 00000000 .word TIM10_period - 11134 0a84 00000000 .word TO10_counter - 11135 0a88 00000000 .word TO7_before - 11136 0a8c 00000000 .word LD1_param - 11137 0a90 00000000 .word LD2_param - 11138 0a94 00000000 .word Long_Data - 11139 0a98 00000000 .word temp16 - 11140 0a9c 00000000 .word TO6 - 11141 0aa0 00000000 .word TO6_stop - 11142 0aa4 02000000 .word Long_Data+2 - 11143 0aa8 00000000 .word CS_result - 11144 0aac 00000000 .word UART_DATA - 11145 0ab0 00000000 .word UART_transmission_request - 11146 0ab4 00000000 .word TO6_uart - 11147 0ab8 00000000 .word UART_rec_incr - 11148 0abc 00000000 .word State_Data - 11149 0ac0 00000000 .word flg_tmt - 11150 .cfi_endproc - 11151 .LFE1186: - 11153 .section .rodata.ad9102_example4_regval,"a" - 11154 .align 2 - 11157 ad9102_example4_regval: - 11158 0000 0000 .short 0 - 11159 0002 0000 .short 0 - 11160 0004 0000 .short 0 - 11161 0006 0000 .short 0 - 11162 0008 0000 .short 0 - 11163 000a 0000 .short 0 - 11164 000c 0000 .short 0 - 11165 000e 0040 .short 16384 - 11166 0010 0000 .short 0 - 11167 0012 0000 .short 0 - 11168 0014 0000 .short 0 - 11169 0016 0000 .short 0 - 11170 0018 001F .short 7936 - 11171 001a 0000 .short 0 - 11172 001c 0000 .short 0 - 11173 001e 0000 .short 0 - 11174 0020 0E00 .short 14 - 11175 0022 0000 .short 0 - 11176 0024 0000 .short 0 - 11177 0026 0000 .short 0 - 11178 0028 0000 .short 0 - 11179 002a 0000 .short 0 - 11180 002c 1232 .short 12818 - 11181 002e 2101 .short 289 - 11182 0030 FFFF .short -1 - 11183 0032 0000 .short 0 - 11184 0034 0101 .short 257 - 11185 0036 0300 .short 3 - 11186 0038 0000 .short 0 - 11187 003a 0000 .short 0 - ARM GAS /tmp/ccYgfTud.s page 598 - - - 11188 003c 0000 .short 0 - 11189 003e 0000 .short 0 - 11190 0040 0000 .short 0 - 11191 0042 0000 .short 0 - 11192 0044 0000 .short 0 - 11193 0046 0000 .short 0 - 11194 0048 0040 .short 16384 - 11195 004a 0000 .short 0 - 11196 004c 0606 .short 1542 - 11197 004e 9919 .short 6553 - 11198 0050 009A .short -26112 - 11199 0052 0000 .short 0 - 11200 0054 0000 .short 0 - 11201 0056 0000 .short 0 - 11202 0058 0000 .short 0 - 11203 005a 0000 .short 0 - 11204 005c 0000 .short 0 - 11205 005e 0000 .short 0 - 11206 0060 A00F .short 4000 - 11207 0062 0000 .short 0 - 11208 0064 0000 .short 0 - 11209 0066 0000 .short 0 - 11210 0068 0000 .short 0 - 11211 006a 0000 .short 0 - 11212 006c 0000 .short 0 - 11213 006e 0000 .short 0 - 11214 0070 0000 .short 0 - 11215 0072 0000 .short 0 - 11216 0074 0000 .short 0 - 11217 0076 0000 .short 0 - 11218 0078 0000 .short 0 - 11219 007a 0000 .short 0 - 11220 007c 0000 .short 0 - 11221 007e FF16 .short 5887 - 11222 0080 0100 .short 1 - 11223 0082 0100 .short 1 - 11224 .section .rodata.ad9102_reg_addr,"a" - 11225 .align 2 - 11228 ad9102_reg_addr: - 11229 0000 0000 .short 0 - 11230 0002 0100 .short 1 - 11231 0004 0200 .short 2 - 11232 0006 0300 .short 3 - 11233 0008 0400 .short 4 - 11234 000a 0500 .short 5 - 11235 000c 0600 .short 6 - 11236 000e 0700 .short 7 - 11237 0010 0800 .short 8 - 11238 0012 0900 .short 9 - 11239 0014 0A00 .short 10 - 11240 0016 0B00 .short 11 - 11241 0018 0C00 .short 12 - 11242 001a 0D00 .short 13 - 11243 001c 0E00 .short 14 - 11244 001e 1F00 .short 31 - 11245 0020 2000 .short 32 - 11246 0022 2200 .short 34 - ARM GAS /tmp/ccYgfTud.s page 599 - - - 11247 0024 2300 .short 35 - 11248 0026 2400 .short 36 - 11249 0028 2500 .short 37 - 11250 002a 2600 .short 38 - 11251 002c 2700 .short 39 - 11252 002e 2800 .short 40 - 11253 0030 2900 .short 41 - 11254 0032 2A00 .short 42 - 11255 0034 2B00 .short 43 - 11256 0036 2C00 .short 44 - 11257 0038 2D00 .short 45 - 11258 003a 2E00 .short 46 - 11259 003c 2F00 .short 47 - 11260 003e 3000 .short 48 - 11261 0040 3100 .short 49 - 11262 0042 3200 .short 50 - 11263 0044 3300 .short 51 - 11264 0046 3400 .short 52 - 11265 0048 3500 .short 53 - 11266 004a 3600 .short 54 - 11267 004c 3700 .short 55 - 11268 004e 3E00 .short 62 - 11269 0050 3F00 .short 63 - 11270 0052 4000 .short 64 - 11271 0054 4100 .short 65 - 11272 0056 4200 .short 66 - 11273 0058 4300 .short 67 - 11274 005a 4400 .short 68 - 11275 005c 4500 .short 69 - 11276 005e 4700 .short 71 - 11277 0060 5000 .short 80 - 11278 0062 5100 .short 81 - 11279 0064 5200 .short 82 - 11280 0066 5300 .short 83 - 11281 0068 5400 .short 84 - 11282 006a 5500 .short 85 - 11283 006c 5600 .short 86 - 11284 006e 5700 .short 87 - 11285 0070 5800 .short 88 - 11286 0072 5900 .short 89 - 11287 0074 5A00 .short 90 - 11288 0076 5B00 .short 91 - 11289 0078 5C00 .short 92 - 11290 007a 5D00 .short 93 - 11291 007c 5E00 .short 94 - 11292 007e 5F00 .short 95 - 11293 0080 1E00 .short 30 - 11294 0082 1D00 .short 29 - 11295 .global task - 11296 .section .bss.task,"aw",%nobits - 11297 .align 2 - 11300 task: - 11301 0000 00000000 .space 52 - 11301 00000000 - 11301 00000000 - 11301 00000000 - 11301 00000000 - ARM GAS /tmp/ccYgfTud.s page 600 - - - 11302 .global LD_blinker - 11303 .section .bss.LD_blinker,"aw",%nobits - 11304 .align 2 - 11307 LD_blinker: - 11308 0000 00000000 .space 12 - 11308 00000000 - 11308 00000000 - 11309 .global LD2_param - 11310 .section .bss.LD2_param,"aw",%nobits - 11311 .align 2 - 11314 LD2_param: - 11315 0000 00000000 .space 12 - 11315 00000000 - 11315 00000000 - 11316 .global LD1_param - 11317 .section .bss.LD1_param,"aw",%nobits - 11318 .align 2 - 11321 LD1_param: - 11322 0000 00000000 .space 12 - 11322 00000000 - 11322 00000000 - 11323 .global Def_setup - 11324 .section .bss.Def_setup,"aw",%nobits - 11325 .align 2 - 11328 Def_setup: - 11329 0000 00000000 .space 18 - 11329 00000000 - 11329 00000000 - 11329 00000000 - 11329 0000 - 11330 .global Curr_setup - 11331 .section .bss.Curr_setup,"aw",%nobits - 11332 .align 2 - 11335 Curr_setup: - 11336 0000 00000000 .space 18 - 11336 00000000 - 11336 00000000 - 11336 00000000 - 11336 0000 - 11337 .global LD2_def_setup - 11338 .section .bss.LD2_def_setup,"aw",%nobits - 11339 .align 2 - 11342 LD2_def_setup: - 11343 0000 00000000 .space 16 - 11343 00000000 - 11343 00000000 - 11343 00000000 - 11344 .global LD1_def_setup - 11345 .section .bss.LD1_def_setup,"aw",%nobits - 11346 .align 2 - 11349 LD1_def_setup: - 11350 0000 00000000 .space 16 - 11350 00000000 - 11350 00000000 - 11350 00000000 - 11351 .global LD2_curr_setup - 11352 .section .bss.LD2_curr_setup,"aw",%nobits - ARM GAS /tmp/ccYgfTud.s page 601 - - - 11353 .align 2 - 11356 LD2_curr_setup: - 11357 0000 00000000 .space 16 - 11357 00000000 - 11357 00000000 - 11357 00000000 - 11358 .global LD1_curr_setup - 11359 .section .bss.LD1_curr_setup,"aw",%nobits - 11360 .align 2 - 11363 LD1_curr_setup: - 11364 0000 00000000 .space 16 - 11364 00000000 - 11364 00000000 - 11364 00000000 - 11365 .global sizeoffile - 11366 .section .bss.sizeoffile,"aw",%nobits - 11367 .align 2 - 11370 sizeoffile: - 11371 0000 00000000 .space 4 - 11372 .global fgoto - 11373 .section .bss.fgoto,"aw",%nobits - 11374 .align 2 - 11377 fgoto: - 11378 0000 00000000 .space 4 - 11379 .global test - 11380 .section .bss.test,"aw",%nobits - 11381 .align 2 - 11384 test: - 11385 0000 00000000 .space 4 - 11386 .global fresult - 11387 .section .bss.fresult,"aw",%nobits - 11390 fresult: - 11391 0000 00 .space 1 - 11392 .global COMMAND - 11393 .section .bss.COMMAND,"aw",%nobits - 11394 .align 2 - 11397 COMMAND: - 11398 0000 00000000 .space 30 - 11398 00000000 - 11398 00000000 - 11398 00000000 - 11398 00000000 - 11399 .global Long_Data - 11400 .section .bss.Long_Data,"aw",%nobits - 11401 .align 2 - 11404 Long_Data: - 11405 0000 00000000 .space 30 - 11405 00000000 - 11405 00000000 - 11405 00000000 - 11405 00000000 - 11406 .global temp16 - 11407 .section .bss.temp16,"aw",%nobits - 11408 .align 1 - 11411 temp16: - 11412 0000 0000 .space 2 - 11413 .global CS_result - ARM GAS /tmp/ccYgfTud.s page 602 - - - 11414 .section .bss.CS_result,"aw",%nobits - 11415 .align 1 - 11418 CS_result: - 11419 0000 0000 .space 2 - 11420 .global UART_header - 11421 .section .bss.UART_header,"aw",%nobits - 11422 .align 1 - 11425 UART_header: - 11426 0000 0000 .space 2 - 11427 .global UART_rec_incr - 11428 .section .bss.UART_rec_incr,"aw",%nobits - 11429 .align 1 - 11432 UART_rec_incr: - 11433 0000 0000 .space 2 - 11434 .global TIM10_coflag - 11435 .section .bss.TIM10_coflag,"aw",%nobits - 11438 TIM10_coflag: - 11439 0000 00 .space 1 - 11440 .global u_rx_flg - 11441 .section .bss.u_rx_flg,"aw",%nobits - 11444 u_rx_flg: - 11445 0000 00 .space 1 - 11446 .global u_tx_flg - 11447 .section .bss.u_tx_flg,"aw",%nobits - 11450 u_tx_flg: - 11451 0000 00 .space 1 - 11452 .global flg_tmt - 11453 .section .bss.flg_tmt,"aw",%nobits - 11456 flg_tmt: - 11457 0000 00 .space 1 - 11458 .global UART_DATA - 11459 .section .bss.UART_DATA,"aw",%nobits - 11460 .align 2 - 11463 UART_DATA: - 11464 0000 00000000 .space 30 - 11464 00000000 - 11464 00000000 - 11464 00000000 - 11464 00000000 - 11465 .global State_Data - 11466 .section .bss.State_Data,"aw",%nobits - 11467 .align 2 - 11470 State_Data: - 11471 0000 0000 .space 2 - 11472 .global UART_transmission_request - 11473 .section .bss.UART_transmission_request,"aw",%nobits - 11476 UART_transmission_request: - 11477 0000 00 .space 1 - 11478 .global CPU_state_old - 11479 .section .bss.CPU_state_old,"aw",%nobits - 11482 CPU_state_old: - 11483 0000 00 .space 1 - 11484 .global CPU_state - 11485 .section .bss.CPU_state,"aw",%nobits - 11488 CPU_state: - 11489 0000 00 .space 1 - 11490 .global uart_buf - ARM GAS /tmp/ccYgfTud.s page 603 - - - 11491 .section .bss.uart_buf,"aw",%nobits - 11494 uart_buf: - 11495 0000 00 .space 1 - 11496 .global TIM10_period - 11497 .section .bss.TIM10_period,"aw",%nobits - 11498 .align 2 - 11501 TIM10_period: - 11502 0000 00000000 .space 4 - 11503 .global TO10_counter - 11504 .section .bss.TO10_counter,"aw",%nobits - 11505 .align 2 - 11508 TO10_counter: - 11509 0000 00000000 .space 4 - 11510 .global TO10 - 11511 .section .bss.TO10,"aw",%nobits - 11512 .align 2 - 11515 TO10: - 11516 0000 00000000 .space 4 - 11517 .global TO7_PID - 11518 .section .bss.TO7_PID,"aw",%nobits - 11519 .align 2 - 11522 TO7_PID: - 11523 0000 00000000 .space 4 - 11524 .global TO7_before - 11525 .section .bss.TO7_before,"aw",%nobits - 11526 .align 2 - 11529 TO7_before: - 11530 0000 00000000 .space 4 - 11531 .global TO7 - 11532 .section .bss.TO7,"aw",%nobits - 11533 .align 2 - 11536 TO7: - 11537 0000 00000000 .space 4 - 11538 .global temp32 - 11539 .section .bss.temp32,"aw",%nobits - 11540 .align 2 - 11543 temp32: - 11544 0000 00000000 .space 4 - 11545 .global SD_SLIDE - 11546 .section .bss.SD_SLIDE,"aw",%nobits - 11547 .align 2 - 11550 SD_SLIDE: - 11551 0000 00000000 .space 4 - 11552 .global SD_SEEK - 11553 .section .bss.SD_SEEK,"aw",%nobits - 11554 .align 2 - 11557 SD_SEEK: - 11558 0000 00000000 .space 4 - 11559 .global TO6_uart - 11560 .section .bss.TO6_uart,"aw",%nobits - 11561 .align 2 - 11564 TO6_uart: - 11565 0000 00000000 .space 4 - 11566 .global TO6_stop - 11567 .section .bss.TO6_stop,"aw",%nobits - 11568 .align 2 - 11571 TO6_stop: - ARM GAS /tmp/ccYgfTud.s page 604 - - - 11572 0000 00000000 .space 4 - 11573 .global TO6_before - 11574 .section .bss.TO6_before,"aw",%nobits - 11575 .align 2 - 11578 TO6_before: - 11579 0000 00000000 .space 4 - 11580 .global TO6 - 11581 .section .bss.TO6,"aw",%nobits - 11582 .align 2 - 11585 TO6: - 11586 0000 00000000 .space 4 - 11587 .global huart8 - 11588 .section .bss.huart8,"aw",%nobits - 11589 .align 2 - 11592 huart8: - 11593 0000 00000000 .space 136 - 11593 00000000 - 11593 00000000 - 11593 00000000 - 11593 00000000 - 11594 .global htim11 - 11595 .section .bss.htim11,"aw",%nobits - 11596 .align 2 - 11599 htim11: - 11600 0000 00000000 .space 76 - 11600 00000000 - 11600 00000000 - 11600 00000000 - 11600 00000000 - 11601 .global htim10 - 11602 .section .bss.htim10,"aw",%nobits - 11603 .align 2 - 11606 htim10: - 11607 0000 00000000 .space 76 - 11607 00000000 - 11607 00000000 - 11607 00000000 - 11607 00000000 - 11608 .global htim8 - 11609 .section .bss.htim8,"aw",%nobits - 11610 .align 2 - 11613 htim8: - 11614 0000 00000000 .space 76 - 11614 00000000 - 11614 00000000 - 11614 00000000 - 11614 00000000 - 11615 .global htim4 - 11616 .section .bss.htim4,"aw",%nobits - 11617 .align 2 - 11620 htim4: - 11621 0000 00000000 .space 76 - 11621 00000000 - 11621 00000000 - 11621 00000000 - 11621 00000000 - 11622 .global hsd1 - ARM GAS /tmp/ccYgfTud.s page 605 - - - 11623 .section .bss.hsd1,"aw",%nobits - 11624 .align 2 - 11627 hsd1: - 11628 0000 00000000 .space 132 - 11628 00000000 - 11628 00000000 - 11628 00000000 - 11628 00000000 - 11629 .global hadc3 - 11630 .section .bss.hadc3,"aw",%nobits - 11631 .align 2 - 11634 hadc3: - 11635 0000 00000000 .space 72 - 11635 00000000 - 11635 00000000 - 11635 00000000 - 11635 00000000 - 11636 .global hadc1 - 11637 .section .bss.hadc1,"aw",%nobits - 11638 .align 2 - 11641 hadc1: - 11642 0000 00000000 .space 72 - 11642 00000000 - 11642 00000000 - 11642 00000000 - 11642 00000000 - 11643 .text - 11644 .Letext0: - 11645 .file 9 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f767xx.h" - 11646 .file 10 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h" - 11647 .file 11 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f7xx.h" - 11648 .file 12 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h" - 11649 .file 13 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc_ex.h" - 11650 .file 14 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc.h" - 11651 .file 15 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_gpio.h" - 11652 .file 16 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma.h" - 11653 .file 17 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_adc.h" - 11654 .file 18 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_sdmmc.h" - 11655 .file 19 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_sd.h" - 11656 .file 20 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim.h" - 11657 .file 21 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart.h" - 11658 .file 22 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_rcc.h" - 11659 .file 23 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_gpio.h" - 11660 .file 24 "Inc/main.h" - 11661 .file 25 "Middlewares/Third_Party/FatFs/src/ff.h" - 11662 .file 26 "Inc/File_Handling.h" - 11663 .file 27 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim_ex.h" - 11664 .file 28 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_pwr_ex.h" - 11665 .file 29 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal.h" - 11666 .file 30 "Inc/fatfs.h" - 11667 .file 31 "" - ARM GAS /tmp/ccYgfTud.s page 606 + 10501 .loc 1 403 25 is_stmt 0 view .LVU3338 + 10502 0304 0220 movs r0, #2 + 10503 0306 FFF7FEFF bl MPhD_T + 10504 .LVL915: + 403:Src/main.c **** + 10505 .loc 1 403 23 discriminator 1 view .LVU3339 + 10506 030a 3081 strh r0, [r6, #8] @ movhi + 406:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(3); + 10507 .loc 1 406 7 is_stmt 1 view .LVU3340 + 406:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(3); + 10508 .loc 1 406 14 is_stmt 0 view .LVU3341 + 10509 030c 0320 movs r0, #3 + 10510 030e FFF7FEFF bl MPhD_T + 10511 .LVL916: + 407:Src/main.c **** (void) MPhD_T(4); + 10512 .loc 1 407 7 is_stmt 1 view .LVU3342 + ARM GAS /tmp/ccwR4KB7.s page 586 + + + 407:Src/main.c **** (void) MPhD_T(4); + 10513 .loc 1 407 32 is_stmt 0 view .LVU3343 + 10514 0312 0320 movs r0, #3 + 10515 0314 FFF7FEFF bl MPhD_T + 10516 .LVL917: + 407:Src/main.c **** (void) MPhD_T(4); + 10517 .loc 1 407 30 discriminator 1 view .LVU3344 + 10518 0318 3880 strh r0, [r7] @ movhi + 408:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(4); + 10519 .loc 1 408 7 is_stmt 1 view .LVU3345 + 408:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(4); + 10520 .loc 1 408 14 is_stmt 0 view .LVU3346 + 10521 031a 0420 movs r0, #4 + 10522 031c FFF7FEFF bl MPhD_T + 10523 .LVL918: + 409:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); + 10524 .loc 1 409 7 is_stmt 1 view .LVU3347 + 409:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); + 10525 .loc 1 409 32 is_stmt 0 view .LVU3348 + 10526 0320 0420 movs r0, #4 + 10527 0322 FFF7FEFF bl MPhD_T + 10528 .LVL919: + 409:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); + 10529 .loc 1 409 30 discriminator 1 view .LVU3349 + 10530 0326 3080 strh r0, [r6] @ movhi + 410:Src/main.c **** Set_LTEC(3, temp16);//Drive Laser TEC 1 + 10531 .loc 1 410 7 is_stmt 1 view .LVU3350 + 410:Src/main.c **** Set_LTEC(3, temp16);//Drive Laser TEC 1 + 10532 .loc 1 410 14 is_stmt 0 view .LVU3351 + 10533 0328 DFF85882 ldr r8, .L614+68 + 10534 032c 0122 movs r2, #1 + 10535 032e 3946 mov r1, r7 + 10536 0330 4046 mov r0, r8 + 10537 0332 FFF7FEFF bl PID_Controller_Temp + 10538 .LVL920: + 10539 0336 0146 mov r1, r0 + 410:Src/main.c **** Set_LTEC(3, temp16);//Drive Laser TEC 1 + 10540 .loc 1 410 13 discriminator 1 view .LVU3352 + 10541 0338 864D ldr r5, .L614+20 + 10542 033a 2880 strh r0, [r5] @ movhi + 411:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); + 10543 .loc 1 411 7 is_stmt 1 view .LVU3353 + 10544 033c 0320 movs r0, #3 + 10545 033e FFF7FEFF bl Set_LTEC + 10546 .LVL921: + 412:Src/main.c **** Set_LTEC(4, temp16);//Drive Laser TEC 2 + 10547 .loc 1 412 7 view .LVU3354 + 412:Src/main.c **** Set_LTEC(4, temp16);//Drive Laser TEC 2 + 10548 .loc 1 412 14 is_stmt 0 view .LVU3355 + 10549 0342 DFF83C92 ldr r9, .L614+64 + 10550 0346 0222 movs r2, #2 + 10551 0348 3146 mov r1, r6 + 10552 034a 4846 mov r0, r9 + 10553 034c FFF7FEFF bl PID_Controller_Temp + 10554 .LVL922: + 10555 0350 0146 mov r1, r0 + 412:Src/main.c **** Set_LTEC(4, temp16);//Drive Laser TEC 2 + ARM GAS /tmp/ccwR4KB7.s page 587 + + + 10556 .loc 1 412 13 discriminator 1 view .LVU3356 + 10557 0352 2880 strh r0, [r5] @ movhi + 413:Src/main.c **** + 10558 .loc 1 413 7 is_stmt 1 view .LVU3357 + 10559 0354 0420 movs r0, #4 + 10560 0356 FFF7FEFF bl Set_LTEC + 10561 .LVL923: + 415:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data + 10562 .loc 1 415 7 view .LVU3358 + 415:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data + 10563 .loc 1 415 31 is_stmt 0 view .LVU3359 + 10564 035a 3B89 ldrh r3, [r7, #8] + 415:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data + 10565 .loc 1 415 20 view .LVU3360 + 10566 035c 7E4C ldr r4, .L614+24 + 10567 035e 6380 strh r3, [r4, #2] @ movhi + 416:Src/main.c **** + 10568 .loc 1 416 7 is_stmt 1 view .LVU3361 + 416:Src/main.c **** + 10569 .loc 1 416 31 is_stmt 0 view .LVU3362 + 10570 0360 3389 ldrh r3, [r6, #8] + 416:Src/main.c **** + 10571 .loc 1 416 20 view .LVU3363 + 10572 0362 A380 strh r3, [r4, #4] @ movhi + 418:Src/main.c **** Set_LTEC(2,LD2_curr_setup.CURRENT);//Drive Laser diode 2 + 10573 .loc 1 418 7 is_stmt 1 view .LVU3364 + 10574 0364 B8F80C10 ldrh r1, [r8, #12] + 10575 0368 0120 movs r0, #1 + 10576 036a FFF7FEFF bl Set_LTEC + 10577 .LVL924: + 419:Src/main.c **** + 10578 .loc 1 419 7 view .LVU3365 + 10579 036e B9F80C10 ldrh r1, [r9, #12] + 10580 0372 0220 movs r0, #2 + 10581 0374 FFF7FEFF bl Set_LTEC + 10582 .LVL925: + 423:Src/main.c **** temp16 = Get_ADC(1); + 10583 .loc 1 423 7 view .LVU3366 + 423:Src/main.c **** temp16 = Get_ADC(1); + 10584 .loc 1 423 16 is_stmt 0 view .LVU3367 + 10585 0378 0020 movs r0, #0 + 10586 037a FFF7FEFF bl Get_ADC + 10587 .LVL926: + 423:Src/main.c **** temp16 = Get_ADC(1); + 10588 .loc 1 423 14 discriminator 1 view .LVU3368 + 10589 037e 2880 strh r0, [r5] @ movhi + 424:Src/main.c **** Long_Data[7] = temp16; // PA2 -- 3V_monitor // PB1 -- U_Rt1_ext_Gain + 10590 .loc 1 424 7 is_stmt 1 view .LVU3369 + 424:Src/main.c **** Long_Data[7] = temp16; // PA2 -- 3V_monitor // PB1 -- U_Rt1_ext_Gain + 10591 .loc 1 424 16 is_stmt 0 view .LVU3370 + 10592 0380 0120 movs r0, #1 + 10593 0382 FFF7FEFF bl Get_ADC + 10594 .LVL927: + 424:Src/main.c **** Long_Data[7] = temp16; // PA2 -- 3V_monitor // PB1 -- U_Rt1_ext_Gain + 10595 .loc 1 424 14 discriminator 1 view .LVU3371 + 10596 0386 2880 strh r0, [r5] @ movhi + 425:Src/main.c **** + ARM GAS /tmp/ccwR4KB7.s page 588 + + + 10597 .loc 1 425 7 is_stmt 1 view .LVU3372 + 425:Src/main.c **** + 10598 .loc 1 425 20 is_stmt 0 view .LVU3373 + 10599 0388 E081 strh r0, [r4, #14] @ movhi + 428:Src/main.c **** Long_Data[8] = temp16; // PB0 -- U_Rt2_ext_Gain // PB0 -- U_Rt2_ext_Gain + 10600 .loc 1 428 7 is_stmt 1 view .LVU3374 + 428:Src/main.c **** Long_Data[8] = temp16; // PB0 -- U_Rt2_ext_Gain // PB0 -- U_Rt2_ext_Gain + 10601 .loc 1 428 16 is_stmt 0 view .LVU3375 + 10602 038a 0120 movs r0, #1 + 10603 038c FFF7FEFF bl Get_ADC + 10604 .LVL928: + 428:Src/main.c **** Long_Data[8] = temp16; // PB0 -- U_Rt2_ext_Gain // PB0 -- U_Rt2_ext_Gain + 10605 .loc 1 428 14 discriminator 1 view .LVU3376 + 10606 0390 2880 strh r0, [r5] @ movhi + 429:Src/main.c **** + 10607 .loc 1 429 7 is_stmt 1 view .LVU3377 + 429:Src/main.c **** + 10608 .loc 1 429 20 is_stmt 0 view .LVU3378 + 10609 0392 2082 strh r0, [r4, #16] @ movhi + 432:Src/main.c **** Long_Data[9] = temp16; // PB1 -- U_Rt1_ext_Gain // PA2 -- 3V_monitor + 10610 .loc 1 432 7 is_stmt 1 view .LVU3379 + 432:Src/main.c **** Long_Data[9] = temp16; // PB1 -- U_Rt1_ext_Gain // PA2 -- 3V_monitor + 10611 .loc 1 432 16 is_stmt 0 view .LVU3380 + 10612 0394 0120 movs r0, #1 + 10613 0396 FFF7FEFF bl Get_ADC + 10614 .LVL929: + 432:Src/main.c **** Long_Data[9] = temp16; // PB1 -- U_Rt1_ext_Gain // PA2 -- 3V_monitor + 10615 .loc 1 432 14 discriminator 1 view .LVU3381 + 10616 039a 2880 strh r0, [r5] @ movhi + 433:Src/main.c **** + 10617 .loc 1 433 7 is_stmt 1 view .LVU3382 + 433:Src/main.c **** + 10618 .loc 1 433 20 is_stmt 0 view .LVU3383 + 10619 039c 6082 strh r0, [r4, #18] @ movhi + 436:Src/main.c **** Long_Data[10] = temp16; // PC0 -- 5V1_monitor // PC0 -- 5V1_monitor + 10620 .loc 1 436 7 is_stmt 1 view .LVU3384 + 436:Src/main.c **** Long_Data[10] = temp16; // PC0 -- 5V1_monitor // PC0 -- 5V1_monitor + 10621 .loc 1 436 16 is_stmt 0 view .LVU3385 + 10622 039e 0120 movs r0, #1 + 10623 03a0 FFF7FEFF bl Get_ADC + 10624 .LVL930: + 436:Src/main.c **** Long_Data[10] = temp16; // PC0 -- 5V1_monitor // PC0 -- 5V1_monitor + 10625 .loc 1 436 14 discriminator 1 view .LVU3386 + 10626 03a4 2880 strh r0, [r5] @ movhi + 437:Src/main.c **** + 10627 .loc 1 437 7 is_stmt 1 view .LVU3387 + 437:Src/main.c **** + 10628 .loc 1 437 21 is_stmt 0 view .LVU3388 + 10629 03a6 A082 strh r0, [r4, #20] @ movhi + 440:Src/main.c **** Long_Data[11] = temp16; // PC1 -- 5V2_monitor // PC1 -- 5V2_monitor + 10630 .loc 1 440 7 is_stmt 1 view .LVU3389 + 440:Src/main.c **** Long_Data[11] = temp16; // PC1 -- 5V2_monitor // PC1 -- 5V2_monitor + 10631 .loc 1 440 16 is_stmt 0 view .LVU3390 + 10632 03a8 0120 movs r0, #1 + 10633 03aa FFF7FEFF bl Get_ADC + 10634 .LVL931: + 440:Src/main.c **** Long_Data[11] = temp16; // PC1 -- 5V2_monitor // PC1 -- 5V2_monitor + ARM GAS /tmp/ccwR4KB7.s page 589 + + + 10635 .loc 1 440 14 discriminator 1 view .LVU3391 + 10636 03ae 2880 strh r0, [r5] @ movhi + 441:Src/main.c **** temp16 = Get_ADC(2); + 10637 .loc 1 441 7 is_stmt 1 view .LVU3392 + 441:Src/main.c **** temp16 = Get_ADC(2); + 10638 .loc 1 441 21 is_stmt 0 view .LVU3393 + 10639 03b0 E082 strh r0, [r4, #22] @ movhi + 442:Src/main.c **** + 10640 .loc 1 442 7 is_stmt 1 view .LVU3394 + 442:Src/main.c **** + 10641 .loc 1 442 16 is_stmt 0 view .LVU3395 + 10642 03b2 0220 movs r0, #2 + 10643 03b4 FFF7FEFF bl Get_ADC + 10644 .LVL932: + 442:Src/main.c **** + 10645 .loc 1 442 14 discriminator 1 view .LVU3396 + 10646 03b8 2880 strh r0, [r5] @ movhi + 445:Src/main.c **** temp16 = Get_ADC(4); + 10647 .loc 1 445 7 is_stmt 1 view .LVU3397 + 445:Src/main.c **** temp16 = Get_ADC(4); + 10648 .loc 1 445 16 is_stmt 0 view .LVU3398 + 10649 03ba 0320 movs r0, #3 + 10650 03bc FFF7FEFF bl Get_ADC + 10651 .LVL933: + 445:Src/main.c **** temp16 = Get_ADC(4); + 10652 .loc 1 445 14 discriminator 1 view .LVU3399 + 10653 03c0 2880 strh r0, [r5] @ movhi + 446:Src/main.c **** Long_Data[12] = temp16; + 10654 .loc 1 446 7 is_stmt 1 view .LVU3400 + 446:Src/main.c **** Long_Data[12] = temp16; + 10655 .loc 1 446 16 is_stmt 0 view .LVU3401 + 10656 03c2 0420 movs r0, #4 + 10657 03c4 FFF7FEFF bl Get_ADC + 10658 .LVL934: + 446:Src/main.c **** Long_Data[12] = temp16; + 10659 .loc 1 446 14 discriminator 1 view .LVU3402 + 10660 03c8 2880 strh r0, [r5] @ movhi + 447:Src/main.c **** temp16 = Get_ADC(5); + 10661 .loc 1 447 7 is_stmt 1 view .LVU3403 + 447:Src/main.c **** temp16 = Get_ADC(5); + 10662 .loc 1 447 21 is_stmt 0 view .LVU3404 + 10663 03ca 2083 strh r0, [r4, #24] @ movhi + 448:Src/main.c **** + 10664 .loc 1 448 7 is_stmt 1 view .LVU3405 + 448:Src/main.c **** + 10665 .loc 1 448 16 is_stmt 0 view .LVU3406 + 10666 03cc 0520 movs r0, #5 + 10667 03ce FFF7FEFF bl Get_ADC + 10668 .LVL935: + 448:Src/main.c **** + 10669 .loc 1 448 14 discriminator 1 view .LVU3407 + 10670 03d2 2880 strh r0, [r5] @ movhi + 451:Src/main.c **** Long_Data[3] = (TO6_stop)&0xffff; + 10671 .loc 1 451 7 is_stmt 1 view .LVU3408 + 451:Src/main.c **** Long_Data[3] = (TO6_stop)&0xffff; + 10672 .loc 1 451 16 is_stmt 0 view .LVU3409 + 10673 03d4 614B ldr r3, .L614+28 + ARM GAS /tmp/ccwR4KB7.s page 590 + + + 10674 03d6 1B68 ldr r3, [r3] + 10675 03d8 614A ldr r2, .L614+32 + 10676 03da 1360 str r3, [r2] + 452:Src/main.c **** Long_Data[4] = (TO6_stop>>16)&0xffff; + 10677 .loc 1 452 7 is_stmt 1 view .LVU3410 + 452:Src/main.c **** Long_Data[4] = (TO6_stop>>16)&0xffff; + 10678 .loc 1 452 20 is_stmt 0 view .LVU3411 + 10679 03dc E380 strh r3, [r4, #6] @ movhi + 453:Src/main.c **** + 10680 .loc 1 453 7 is_stmt 1 view .LVU3412 + 453:Src/main.c **** + 10681 .loc 1 453 31 is_stmt 0 view .LVU3413 + 10682 03de 1B0C lsrs r3, r3, #16 + 453:Src/main.c **** + 10683 .loc 1 453 20 view .LVU3414 + 10684 03e0 2381 strh r3, [r4, #8] @ movhi + 456:Src/main.c **** + 10685 .loc 1 456 7 is_stmt 1 view .LVU3415 + 456:Src/main.c **** + 10686 .loc 1 456 31 is_stmt 0 view .LVU3416 + 10687 03e2 3B88 ldrh r3, [r7] + 456:Src/main.c **** + 10688 .loc 1 456 20 view .LVU3417 + 10689 03e4 6381 strh r3, [r4, #10] @ movhi + 459:Src/main.c **** + 10690 .loc 1 459 7 is_stmt 1 view .LVU3418 + 459:Src/main.c **** + 10691 .loc 1 459 31 is_stmt 0 view .LVU3419 + 10692 03e6 3388 ldrh r3, [r6] + 459:Src/main.c **** + 10693 .loc 1 459 20 view .LVU3420 + 10694 03e8 A381 strh r3, [r4, #12] @ movhi + 461:Src/main.c **** { + 10695 .loc 1 461 7 is_stmt 1 view .LVU3421 + 461:Src/main.c **** { + 10696 .loc 1 461 21 is_stmt 0 view .LVU3422 + 10697 03ea 5E4B ldr r3, .L614+36 + 10698 03ec DB7A ldrb r3, [r3, #11] @ zero_extendqisi2 + 461:Src/main.c **** { + 10699 .loc 1 461 10 view .LVU3423 + 10700 03ee 012B cmp r3, #1 + 10701 03f0 03D0 beq .L604 + 10702 .L557: + 468:Src/main.c **** } + 10703 .loc 1 468 7 is_stmt 1 view .LVU3424 + 468:Src/main.c **** } + 10704 .loc 1 468 21 is_stmt 0 view .LVU3425 + 10705 03f2 5D4B ldr r3, .L614+40 + 10706 03f4 0722 movs r2, #7 + 10707 03f6 1A70 strb r2, [r3] + 10708 03f8 7BE6 b .L540 + 10709 .L604: + 463:Src/main.c **** Long_Data[DL_16-1] = CS_result; + 10710 .loc 1 463 8 is_stmt 1 view .LVU3426 + 463:Src/main.c **** Long_Data[DL_16-1] = CS_result; + 10711 .loc 1 463 20 is_stmt 0 view .LVU3427 + 10712 03fa 0234 adds r4, r4, #2 + ARM GAS /tmp/ccwR4KB7.s page 591 + + + 10713 03fc 0D21 movs r1, #13 + 10714 03fe 2046 mov r0, r4 + 10715 0400 FFF7FEFF bl CalculateChecksum + 10716 .LVL936: + 10717 0404 0346 mov r3, r0 + 463:Src/main.c **** Long_Data[DL_16-1] = CS_result; + 10718 .loc 1 463 18 discriminator 1 view .LVU3428 + 10719 0406 594A ldr r2, .L614+44 + 10720 0408 1080 strh r0, [r2] @ movhi + 464:Src/main.c **** temp16 = SD_SAVE(&Long_Data[0]); + 10721 .loc 1 464 8 is_stmt 1 view .LVU3429 + 464:Src/main.c **** temp16 = SD_SAVE(&Long_Data[0]); + 10722 .loc 1 464 27 is_stmt 0 view .LVU3430 + 10723 040a A01E subs r0, r4, #2 + 10724 040c 8383 strh r3, [r0, #28] @ movhi + 465:Src/main.c **** State_Data[0]|=temp16&0xff; + 10725 .loc 1 465 8 is_stmt 1 view .LVU3431 + 465:Src/main.c **** State_Data[0]|=temp16&0xff; + 10726 .loc 1 465 17 is_stmt 0 view .LVU3432 + 10727 040e FFF7FEFF bl SD_SAVE + 10728 .LVL937: + 10729 0412 0346 mov r3, r0 + 465:Src/main.c **** State_Data[0]|=temp16&0xff; + 10730 .loc 1 465 15 discriminator 1 view .LVU3433 + 10731 0414 2880 strh r0, [r5] @ movhi + 466:Src/main.c **** } + 10732 .loc 1 466 8 is_stmt 1 view .LVU3434 + 466:Src/main.c **** } + 10733 .loc 1 466 18 is_stmt 0 view .LVU3435 + 10734 0416 5649 ldr r1, .L614+48 + 10735 0418 0A78 ldrb r2, [r1] @ zero_extendqisi2 + 466:Src/main.c **** } + 10736 .loc 1 466 21 view .LVU3436 + 10737 041a 1343 orrs r3, r3, r2 + 10738 041c 0B70 strb r3, [r1] + 10739 041e E8E7 b .L557 + 10740 .L541: + 472:Src/main.c **** { + 10741 .loc 1 472 6 is_stmt 1 view .LVU3437 + 472:Src/main.c **** { + 10742 .loc 1 472 10 is_stmt 0 view .LVU3438 + 10743 0420 544C ldr r4, .L614+52 + 10744 0422 0321 movs r1, #3 + 10745 0424 2046 mov r0, r4 + 10746 0426 FFF7FEFF bl CalculateChecksum + 10747 .LVL938: + 472:Src/main.c **** { + 10748 .loc 1 472 69 discriminator 1 view .LVU3439 + 10749 042a E388 ldrh r3, [r4, #6] + 472:Src/main.c **** { + 10750 .loc 1 472 9 discriminator 1 view .LVU3440 + 10751 042c 9842 cmp r0, r3 + 10752 042e 0CD0 beq .L605 + 531:Src/main.c **** } + 10753 .loc 1 531 7 is_stmt 1 view .LVU3441 + 531:Src/main.c **** } + 10754 .loc 1 531 17 is_stmt 0 view .LVU3442 + ARM GAS /tmp/ccwR4KB7.s page 592 + + + 10755 0430 4F4A ldr r2, .L614+48 + 10756 0432 1378 ldrb r3, [r2] @ zero_extendqisi2 + 531:Src/main.c **** } + 10757 .loc 1 531 21 view .LVU3443 + 10758 0434 43F00403 orr r3, r3, #4 + 10759 0438 1370 strb r3, [r2] + 10760 .L560: + 533:Src/main.c **** CPU_state = CPU_state_old; + 10761 .loc 1 533 6 is_stmt 1 view .LVU3444 + 533:Src/main.c **** CPU_state = CPU_state_old; + 10762 .loc 1 533 32 is_stmt 0 view .LVU3445 + 10763 043a 4F4B ldr r3, .L614+56 + 10764 043c 0122 movs r2, #1 + 10765 043e 1A70 strb r2, [r3] + 534:Src/main.c **** break; + 10766 .loc 1 534 6 is_stmt 1 view .LVU3446 + 534:Src/main.c **** break; + 10767 .loc 1 534 16 is_stmt 0 view .LVU3447 + 10768 0440 494B ldr r3, .L614+40 + 10769 0442 1A78 ldrb r2, [r3] @ zero_extendqisi2 + 10770 0444 4D4B ldr r3, .L614+60 + 10771 0446 1A70 strb r2, [r3] + 535:Src/main.c **** case DECODE_TASK: + 10772 .loc 1 535 5 is_stmt 1 view .LVU3448 + 10773 0448 53E6 b .L540 + 10774 .L605: + 10775 .LBB666: + 474:Src/main.c **** uint16_t param0 = COMMAND[1]; + 10776 .loc 1 474 7 view .LVU3449 + 474:Src/main.c **** uint16_t param0 = COMMAND[1]; + 10777 .loc 1 474 16 is_stmt 0 view .LVU3450 + 10778 044a 2388 ldrh r3, [r4] + 10779 .LVL939: + 475:Src/main.c **** uint16_t param1 = COMMAND[2]; + 10780 .loc 1 475 7 is_stmt 1 view .LVU3451 + 475:Src/main.c **** uint16_t param1 = COMMAND[2]; + 10781 .loc 1 475 16 is_stmt 0 view .LVU3452 + 10782 044c 6588 ldrh r5, [r4, #2] + 10783 .LVL940: + 476:Src/main.c **** uint8_t enable = (flags & AD9102_FLAG_ENABLE) ? 1u : 0u; + 10784 .loc 1 476 7 is_stmt 1 view .LVU3453 + 476:Src/main.c **** uint8_t enable = (flags & AD9102_FLAG_ENABLE) ? 1u : 0u; + 10785 .loc 1 476 16 is_stmt 0 view .LVU3454 + 10786 044e A488 ldrh r4, [r4, #4] + 10787 .LVL941: + 477:Src/main.c **** uint8_t triangle = (flags & AD9102_FLAG_TRIANGLE) ? 1u : 0u; + 10788 .loc 1 477 7 is_stmt 1 view .LVU3455 + 477:Src/main.c **** uint8_t triangle = (flags & AD9102_FLAG_TRIANGLE) ? 1u : 0u; + 10789 .loc 1 477 15 is_stmt 0 view .LVU3456 + 10790 0450 03F00107 and r7, r3, #1 + 10791 .LVL942: + 478:Src/main.c **** uint8_t sram_mode = (flags & AD9102_FLAG_SRAM) ? 1u : 0u; + 10792 .loc 1 478 7 is_stmt 1 view .LVU3457 + 478:Src/main.c **** uint8_t sram_mode = (flags & AD9102_FLAG_SRAM) ? 1u : 0u; + 10793 .loc 1 478 15 is_stmt 0 view .LVU3458 + 10794 0454 C3F34006 ubfx r6, r3, #1, #1 + 10795 .LVL943: + ARM GAS /tmp/ccwR4KB7.s page 593 + + + 479:Src/main.c **** + 10796 .loc 1 479 7 is_stmt 1 view .LVU3459 + 481:Src/main.c **** { + 10797 .loc 1 481 7 view .LVU3460 + 481:Src/main.c **** { + 10798 .loc 1 481 10 is_stmt 0 view .LVU3461 + 10799 0458 13F0040F tst r3, #4 + 10800 045c 10D1 bne .L606 + 10801 .LBB667: + 494:Src/main.c **** uint8_t saw_step = (uint8_t)(param0 & 0x00FFu); + 10802 .loc 1 494 8 is_stmt 1 view .LVU3462 + 494:Src/main.c **** uint8_t saw_step = (uint8_t)(param0 & 0x00FFu); + 10803 .loc 1 494 16 is_stmt 0 view .LVU3463 + 10804 045e 06B1 cbz r6, .L561 + 494:Src/main.c **** uint8_t saw_step = (uint8_t)(param0 & 0x00FFu); + 10805 .loc 1 494 16 discriminator 1 view .LVU3464 + 10806 0460 0226 movs r6, #2 + 10807 .LVL944: + 10808 .L561: + 495:Src/main.c **** uint8_t pat_base = (uint8_t)((param0 >> 8) & 0x0Fu); + 10809 .loc 1 495 8 is_stmt 1 view .LVU3465 + 495:Src/main.c **** uint8_t pat_base = (uint8_t)((param0 >> 8) & 0x0Fu); + 10810 .loc 1 495 16 is_stmt 0 view .LVU3466 + 10811 0462 5FFA85F8 uxtb r8, r5 + 10812 .LVL945: + 496:Src/main.c **** uint16_t pat_period = param1; + 10813 .loc 1 496 8 is_stmt 1 view .LVU3467 + 496:Src/main.c **** uint16_t pat_period = param1; + 10814 .loc 1 496 16 is_stmt 0 view .LVU3468 + 10815 0466 C5F30329 ubfx r9, r5, #8, #4 + 10816 .LVL946: + 497:Src/main.c **** + 10817 .loc 1 497 8 is_stmt 1 view .LVU3469 + 499:Src/main.c **** { + 10818 .loc 1 499 8 view .LVU3470 + 499:Src/main.c **** { + 10819 .loc 1 499 11 is_stmt 0 view .LVU3471 + 10820 046a 2543 orrs r5, r5, r4 + 10821 .LVL947: + 499:Src/main.c **** { + 10822 .loc 1 499 11 view .LVU3472 + 10823 046c 25D0 beq .L594 + 507:Src/main.c **** { + 10824 .loc 1 507 9 is_stmt 1 view .LVU3473 + 507:Src/main.c **** { + 10825 .loc 1 507 12 is_stmt 0 view .LVU3474 + 10826 046e B8F1000F cmp r8, #0 + 10827 0472 1CD0 beq .L595 + 511:Src/main.c **** { + 10828 .loc 1 511 14 is_stmt 1 view .LVU3475 + 511:Src/main.c **** { + 10829 .loc 1 511 17 is_stmt 0 view .LVU3476 + 10830 0474 B8F13F0F cmp r8, #63 + 10831 0478 1BD9 bls .L563 + 513:Src/main.c **** } + 10832 .loc 1 513 19 view .LVU3477 + 10833 047a 4FF03F08 mov r8, #63 + ARM GAS /tmp/ccwR4KB7.s page 594 + + + 10834 .LVL948: + 513:Src/main.c **** } + 10835 .loc 1 513 19 view .LVU3478 + 10836 047e 18E0 b .L563 + 10837 .LVL949: + 10838 .L606: + 513:Src/main.c **** } + 10839 .loc 1 513 19 view .LVU3479 + 10840 .LBE667: + 10841 .LBB668: + 483:Src/main.c **** uint8_t hold = (uint8_t)(param1 & 0x0Fu); + 10842 .loc 1 483 8 is_stmt 1 view .LVU3480 + 484:Src/main.c **** uint16_t pat_status = AD9102_ApplySram(enable, samples, hold, triangle); + 10843 .loc 1 484 8 view .LVU3481 + 484:Src/main.c **** uint16_t pat_status = AD9102_ApplySram(enable, samples, hold, triangle); + 10844 .loc 1 484 16 is_stmt 0 view .LVU3482 + 10845 0480 04F00F04 and r4, r4, #15 + 10846 .LVL950: + 485:Src/main.c **** State_Data[1] = (uint8_t)(pat_status & 0x00FFu); + 10847 .loc 1 485 8 is_stmt 1 view .LVU3483 + 485:Src/main.c **** State_Data[1] = (uint8_t)(pat_status & 0x00FFu); + 10848 .loc 1 485 30 is_stmt 0 view .LVU3484 + 10849 0484 3346 mov r3, r6 + 10850 .LVL951: + 485:Src/main.c **** State_Data[1] = (uint8_t)(pat_status & 0x00FFu); + 10851 .loc 1 485 30 view .LVU3485 + 10852 0486 2246 mov r2, r4 + 10853 0488 2946 mov r1, r5 + 10854 048a 3846 mov r0, r7 + 10855 048c FFF7FEFF bl AD9102_ApplySram + 10856 .LVL952: + 486:Src/main.c **** if (AD9102_CheckFlagsSram(pat_status, enable, samples, hold)) + 10857 .loc 1 486 8 is_stmt 1 view .LVU3486 + 486:Src/main.c **** if (AD9102_CheckFlagsSram(pat_status, enable, samples, hold)) + 10858 .loc 1 486 22 is_stmt 0 view .LVU3487 + 10859 0490 374B ldr r3, .L614+48 + 10860 0492 5870 strb r0, [r3, #1] + 487:Src/main.c **** { + 10861 .loc 1 487 8 is_stmt 1 view .LVU3488 + 487:Src/main.c **** { + 10862 .loc 1 487 12 is_stmt 0 view .LVU3489 + 10863 0494 2346 mov r3, r4 + 10864 0496 2A46 mov r2, r5 + 10865 0498 3946 mov r1, r7 + 10866 049a FFF7FEFF bl AD9102_CheckFlagsSram + 10867 .LVL953: + 487:Src/main.c **** { + 10868 .loc 1 487 11 discriminator 1 view .LVU3490 + 10869 049e 0028 cmp r0, #0 + 10870 04a0 CBD0 beq .L560 + 489:Src/main.c **** } + 10871 .loc 1 489 9 is_stmt 1 view .LVU3491 + 489:Src/main.c **** } + 10872 .loc 1 489 19 is_stmt 0 view .LVU3492 + 10873 04a2 334A ldr r2, .L614+48 + 10874 04a4 1378 ldrb r3, [r2] @ zero_extendqisi2 + 489:Src/main.c **** } + ARM GAS /tmp/ccwR4KB7.s page 595 + + + 10875 .loc 1 489 23 view .LVU3493 + 10876 04a6 63F07F03 orn r3, r3, #127 + 10877 04aa 1370 strb r3, [r2] + 10878 04ac C5E7 b .L560 + 10879 .LVL954: + 10880 .L595: + 489:Src/main.c **** } + 10881 .loc 1 489 23 view .LVU3494 + 10882 .LBE668: + 10883 .LBB669: + 509:Src/main.c **** } + 10884 .loc 1 509 19 view .LVU3495 + 10885 04ae 4FF00108 mov r8, #1 + 10886 .LVL955: + 10887 .L563: + 515:Src/main.c **** { + 10888 .loc 1 515 9 is_stmt 1 view .LVU3496 + 515:Src/main.c **** { + 10889 .loc 1 515 12 is_stmt 0 view .LVU3497 + 10890 04b2 44B9 cbnz r4, .L562 + 517:Src/main.c **** } + 10891 .loc 1 517 21 view .LVU3498 + 10892 04b4 4FF6FF74 movw r4, #65535 + 10893 .LVL956: + 517:Src/main.c **** } + 10894 .loc 1 517 21 view .LVU3499 + 10895 04b8 05E0 b .L562 + 10896 .LVL957: + 10897 .L594: + 503:Src/main.c **** } + 10898 .loc 1 503 20 view .LVU3500 + 10899 04ba 4FF6FF74 movw r4, #65535 + 10900 .LVL958: + 502:Src/main.c **** pat_period = AD9102_PAT_PERIOD_DEFAULT; + 10901 .loc 1 502 18 view .LVU3501 + 10902 04be 4FF00209 mov r9, #2 + 10903 .LVL959: + 501:Src/main.c **** pat_base = AD9102_PAT_PERIOD_BASE_DEFAULT; + 10904 .loc 1 501 18 view .LVU3502 + 10905 04c2 4FF00108 mov r8, #1 + 10906 .LVL960: + 10907 .L562: + 521:Src/main.c **** State_Data[1] = (uint8_t)(pat_status & 0x00FFu); + 10908 .loc 1 521 8 is_stmt 1 view .LVU3503 + 521:Src/main.c **** State_Data[1] = (uint8_t)(pat_status & 0x00FFu); + 10909 .loc 1 521 30 is_stmt 0 view .LVU3504 + 10910 04c6 0094 str r4, [sp] + 10911 04c8 4B46 mov r3, r9 + 10912 .LVL961: + 521:Src/main.c **** State_Data[1] = (uint8_t)(pat_status & 0x00FFu); + 10913 .loc 1 521 30 view .LVU3505 + 10914 04ca 4246 mov r2, r8 + 10915 04cc 3946 mov r1, r7 + 10916 04ce 3046 mov r0, r6 + 10917 04d0 FFF7FEFF bl AD9102_Apply + 10918 .LVL962: + 522:Src/main.c **** if (AD9102_CheckFlags(pat_status, enable, saw_type, saw_step, pat_base, pat_period)) + ARM GAS /tmp/ccwR4KB7.s page 596 + + + 10919 .loc 1 522 8 is_stmt 1 view .LVU3506 + 522:Src/main.c **** if (AD9102_CheckFlags(pat_status, enable, saw_type, saw_step, pat_base, pat_period)) + 10920 .loc 1 522 22 is_stmt 0 view .LVU3507 + 10921 04d4 264B ldr r3, .L614+48 + 10922 04d6 5870 strb r0, [r3, #1] + 523:Src/main.c **** { + 10923 .loc 1 523 8 is_stmt 1 view .LVU3508 + 523:Src/main.c **** { + 10924 .loc 1 523 12 is_stmt 0 view .LVU3509 + 10925 04d8 0194 str r4, [sp, #4] + 10926 04da CDF80090 str r9, [sp] + 10927 04de 4346 mov r3, r8 + 10928 04e0 3246 mov r2, r6 + 10929 04e2 3946 mov r1, r7 + 10930 04e4 FFF7FEFF bl AD9102_CheckFlags + 10931 .LVL963: + 523:Src/main.c **** { + 10932 .loc 1 523 11 discriminator 1 view .LVU3510 + 10933 04e8 0028 cmp r0, #0 + 10934 04ea A6D0 beq .L560 + 525:Src/main.c **** } + 10935 .loc 1 525 9 is_stmt 1 view .LVU3511 + 525:Src/main.c **** } + 10936 .loc 1 525 19 is_stmt 0 view .LVU3512 + 10937 04ec 204A ldr r2, .L614+48 + 10938 04ee 1378 ldrb r3, [r2] @ zero_extendqisi2 + 525:Src/main.c **** } + 10939 .loc 1 525 23 view .LVU3513 + 10940 04f0 63F07F03 orn r3, r3, #127 + 10941 04f4 1370 strb r3, [r2] + 10942 04f6 A0E7 b .L560 + 10943 .LVL964: + 10944 .L544: + 525:Src/main.c **** } + 10945 .loc 1 525 23 view .LVU3514 + 10946 .LBE669: + 10947 .LBE666: + 537:Src/main.c **** { + 10948 .loc 1 537 6 is_stmt 1 view .LVU3515 + 537:Src/main.c **** { + 10949 .loc 1 537 10 is_stmt 0 view .LVU3516 + 10950 04f8 1E48 ldr r0, .L614+52 + 10951 04fa FFF7FEFF bl CheckChecksum + 10952 .LVL965: + 537:Src/main.c **** { + 10953 .loc 1 537 9 discriminator 1 view .LVU3517 + 10954 04fe 70B9 cbnz r0, .L607 + 546:Src/main.c **** CPU_state = DEFAULT_ENABLE; + 10955 .loc 1 546 7 is_stmt 1 view .LVU3518 + 546:Src/main.c **** CPU_state = DEFAULT_ENABLE; + 10956 .loc 1 546 17 is_stmt 0 view .LVU3519 + 10957 0500 1B4A ldr r2, .L614+48 + 10958 0502 1378 ldrb r3, [r2] @ zero_extendqisi2 + 546:Src/main.c **** CPU_state = DEFAULT_ENABLE; + 10959 .loc 1 546 21 view .LVU3520 + 10960 0504 43F00403 orr r3, r3, #4 + 10961 0508 1370 strb r3, [r2] + ARM GAS /tmp/ccwR4KB7.s page 597 + + + 547:Src/main.c **** CPU_state_old = HALT;//Save main current cycle + 10962 .loc 1 547 7 is_stmt 1 view .LVU3521 + 547:Src/main.c **** CPU_state_old = HALT;//Save main current cycle + 10963 .loc 1 547 17 is_stmt 0 view .LVU3522 + 10964 050a 1C4B ldr r3, .L614+60 + 10965 050c 0222 movs r2, #2 + 10966 050e 1A70 strb r2, [r3] + 548:Src/main.c **** } + 10967 .loc 1 548 7 is_stmt 1 view .LVU3523 + 548:Src/main.c **** } + 10968 .loc 1 548 21 is_stmt 0 view .LVU3524 + 10969 0510 154B ldr r3, .L614+40 + 10970 0512 0022 movs r2, #0 + 10971 0514 1A70 strb r2, [r3] + 10972 .L565: + 550:Src/main.c **** break; + 10973 .loc 1 550 6 is_stmt 1 view .LVU3525 + 550:Src/main.c **** break; + 10974 .loc 1 550 32 is_stmt 0 view .LVU3526 + 10975 0516 184B ldr r3, .L614+56 + 10976 0518 0122 movs r2, #1 + 10977 051a 1A70 strb r2, [r3] + 551:Src/main.c **** case RUN_TASK: + 10978 .loc 1 551 5 is_stmt 1 view .LVU3527 + 10979 051c E9E5 b .L540 + 10980 .L607: + 539:Src/main.c **** TO6_before = TO6; + 10981 .loc 1 539 7 view .LVU3528 + 10982 051e 114B ldr r3, .L614+36 + 10983 0520 174A ldr r2, .L614+64 + 10984 0522 1849 ldr r1, .L614+68 + 10985 0524 1348 ldr r0, .L614+52 + 10986 0526 FFF7FEFF bl Decode_task + 10987 .LVL966: + 540:Src/main.c **** CPU_state = RUN_TASK; + 10988 .loc 1 540 7 view .LVU3529 + 540:Src/main.c **** CPU_state = RUN_TASK; + 10989 .loc 1 540 18 is_stmt 0 view .LVU3530 + 10990 052a 0C4B ldr r3, .L614+28 + 10991 052c 1A68 ldr r2, [r3] + 10992 052e 164B ldr r3, .L614+72 + 10993 0530 1A60 str r2, [r3] + 541:Src/main.c **** CPU_state_old = RUN_TASK;//Save main current cycle + 10994 .loc 1 541 7 is_stmt 1 view .LVU3531 + 541:Src/main.c **** CPU_state_old = RUN_TASK;//Save main current cycle + 10995 .loc 1 541 17 is_stmt 0 view .LVU3532 + 10996 0532 0923 movs r3, #9 + 10997 0534 114A ldr r2, .L614+60 + 10998 0536 1370 strb r3, [r2] + 542:Src/main.c **** } + 10999 .loc 1 542 7 is_stmt 1 view .LVU3533 + 542:Src/main.c **** } + 11000 .loc 1 542 21 is_stmt 0 view .LVU3534 + 11001 0538 0B4A ldr r2, .L614+40 + 11002 053a 1370 strb r3, [r2] + 11003 053c EBE7 b .L565 + 11004 .L615: + ARM GAS /tmp/ccwR4KB7.s page 598 + + + 11005 053e 00BF .align 2 + 11006 .L614: + 11007 0540 00000000 .word task + 11008 0544 00000000 .word TO7 + 11009 0548 00000000 .word TO7_before + 11010 054c 00000000 .word LD1_param + 11011 0550 00000000 .word LD2_param + 11012 0554 00000000 .word temp16 + 11013 0558 00000000 .word Long_Data + 11014 055c 00000000 .word TO6 + 11015 0560 00000000 .word TO6_stop + 11016 0564 00000000 .word Curr_setup + 11017 0568 00000000 .word CPU_state_old + 11018 056c 00000000 .word CS_result + 11019 0570 00000000 .word State_Data + 11020 0574 00000000 .word COMMAND + 11021 0578 00000000 .word UART_transmission_request + 11022 057c 00000000 .word CPU_state + 11023 0580 00000000 .word LD2_curr_setup + 11024 0584 00000000 .word LD1_curr_setup + 11025 0588 00000000 .word TO6_before + 11026 .L543: + 553:Src/main.c **** { + 11027 .loc 1 553 6 is_stmt 1 view .LVU3535 + 553:Src/main.c **** { + 11028 .loc 1 553 18 is_stmt 0 view .LVU3536 + 11029 058c 864B ldr r3, .L616 + 11030 058e 1B78 ldrb r3, [r3] @ zero_extendqisi2 + 11031 0590 012B cmp r3, #1 + 11032 0592 23D0 beq .L566 + 11033 0594 022B cmp r3, #2 + 11034 0596 00F03181 beq .L567 + 11035 .L568: + 808:Src/main.c **** { + 11036 .loc 1 808 6 is_stmt 1 view .LVU3537 + 808:Src/main.c **** { + 11037 .loc 1 808 13 is_stmt 0 view .LVU3538 + 11038 059a 844B ldr r3, .L616+4 + 11039 059c 1B68 ldr r3, [r3] + 11040 059e 844A ldr r2, .L616+8 + 11041 05a0 1268 ldr r2, [r2] + 808:Src/main.c **** { + 11042 .loc 1 808 9 view .LVU3539 + 11043 05a2 9342 cmp r3, r2 + 11044 05a4 00F2D881 bhi .L608 + 11045 .L585: + 860:Src/main.c **** + 11046 .loc 1 860 13 is_stmt 1 discriminator 1 view .LVU3540 + 11047 05a8 824B ldr r3, .L616+12 + 11048 05aa 1B78 ldrb r3, [r3] @ zero_extendqisi2 + 11049 05ac 002B cmp r3, #0 + 11050 05ae FBD0 beq .L585 + 862:Src/main.c **** + 11051 .loc 1 862 6 view .LVU3541 + 11052 05b0 FFF7FEFF bl Stop_TIM10 + 11053 .LVL967: + 864:Src/main.c **** { + ARM GAS /tmp/ccwR4KB7.s page 599 + + + 11054 .loc 1 864 6 view .LVU3542 + 864:Src/main.c **** { + 11055 .loc 1 864 14 is_stmt 0 view .LVU3543 + 11056 05b4 7C4B ldr r3, .L616 + 11057 05b6 DB8A ldrh r3, [r3, #22] + 864:Src/main.c **** { + 11058 .loc 1 864 9 view .LVU3544 + 11059 05b8 032B cmp r3, #3 + 11060 05ba 0BD9 bls .L586 + 866:Src/main.c **** TO10_counter = task.dt / 10; + 11061 .loc 1 866 7 is_stmt 1 view .LVU3545 + 866:Src/main.c **** TO10_counter = task.dt / 10; + 11062 .loc 1 866 26 is_stmt 0 view .LVU3546 + 11063 05bc 7E4B ldr r3, .L616+16 + 11064 05be 1A68 ldr r2, [r3] + 11065 05c0 7E4B ldr r3, .L616+20 + 11066 05c2 DA60 str r2, [r3, #12] + 867:Src/main.c **** } + 11067 .loc 1 867 7 is_stmt 1 view .LVU3547 + 867:Src/main.c **** } + 11068 .loc 1 867 26 is_stmt 0 view .LVU3548 + 11069 05c4 784B ldr r3, .L616 + 11070 05c6 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 + 867:Src/main.c **** } + 11071 .loc 1 867 30 view .LVU3549 + 11072 05c8 7D4A ldr r2, .L616+24 + 11073 05ca A2FB0323 umull r2, r3, r2, r3 + 11074 05ce DB08 lsrs r3, r3, #3 + 867:Src/main.c **** } + 11075 .loc 1 867 20 view .LVU3550 + 11076 05d0 7C4A ldr r2, .L616+28 + 11077 05d2 1360 str r3, [r2] + 11078 .L586: + 870:Src/main.c **** break; + 11079 .loc 1 870 6 is_stmt 1 view .LVU3551 + 870:Src/main.c **** break; + 11080 .loc 1 870 20 is_stmt 0 view .LVU3552 + 11081 05d4 7C4B ldr r3, .L616+32 + 11082 05d6 0922 movs r2, #9 + 11083 05d8 1A70 strb r2, [r3] + 871:Src/main.c **** } + 11084 .loc 1 871 9 is_stmt 1 view .LVU3553 + 11085 05da 8AE5 b .L540 + 11086 .L566: + 11087 .LBB670: + 575:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); + 11088 .loc 1 575 7 view .LVU3554 + 575:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); + 11089 .loc 1 575 38 is_stmt 0 view .LVU3555 + 11090 05dc 724B ldr r3, .L616 + 11091 05de D3ED077A vldr.32 s15, [r3, #28] + 575:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); + 11092 .loc 1 575 7 view .LVU3556 + 11093 05e2 FCEEE77A vcvt.u32.f32 s15, s15 + 11094 05e6 17EE903A vmov r3, s15 @ int + 11095 05ea 99B2 uxth r1, r3 + 11096 05ec 0220 movs r0, #2 + ARM GAS /tmp/ccwR4KB7.s page 600 + + + 11097 05ee FFF7FEFF bl Set_LTEC + 11098 .LVL968: + 576:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); + 11099 .loc 1 576 7 is_stmt 1 view .LVU3557 + 576:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); + 11100 .loc 1 576 14 is_stmt 0 view .LVU3558 + 11101 05f2 0320 movs r0, #3 + 11102 05f4 FFF7FEFF bl MPhD_T + 11103 .LVL969: + 577:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); + 11104 .loc 1 577 7 is_stmt 1 view .LVU3559 + 577:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); + 11105 .loc 1 577 32 is_stmt 0 view .LVU3560 + 11106 05f8 0320 movs r0, #3 + 11107 05fa FFF7FEFF bl MPhD_T + 11108 .LVL970: + 577:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); + 11109 .loc 1 577 30 discriminator 1 view .LVU3561 + 11110 05fe 734C ldr r4, .L616+36 + 11111 0600 2080 strh r0, [r4] @ movhi + 578:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); + 11112 .loc 1 578 7 is_stmt 1 view .LVU3562 + 578:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); + 11113 .loc 1 578 14 is_stmt 0 view .LVU3563 + 11114 0602 0420 movs r0, #4 + 11115 0604 FFF7FEFF bl MPhD_T + 11116 .LVL971: + 579:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); + 11117 .loc 1 579 7 is_stmt 1 view .LVU3564 + 579:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); + 11118 .loc 1 579 32 is_stmt 0 view .LVU3565 + 11119 0608 0420 movs r0, #4 + 11120 060a FFF7FEFF bl MPhD_T + 11121 .LVL972: + 579:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); + 11122 .loc 1 579 30 discriminator 1 view .LVU3566 + 11123 060e 704D ldr r5, .L616+40 + 11124 0610 2880 strh r0, [r5] @ movhi + 580:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 + 11125 .loc 1 580 7 is_stmt 1 view .LVU3567 + 580:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 + 11126 .loc 1 580 14 is_stmt 0 view .LVU3568 + 11127 0612 0122 movs r2, #1 + 11128 0614 2146 mov r1, r4 + 11129 0616 6F48 ldr r0, .L616+44 + 11130 0618 FFF7FEFF bl PID_Controller_Temp + 11131 .LVL973: + 11132 061c 0146 mov r1, r0 + 580:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 + 11133 .loc 1 580 13 discriminator 1 view .LVU3569 + 11134 061e 6E4C ldr r4, .L616+48 + 11135 0620 2080 strh r0, [r4] @ movhi + 581:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); + 11136 .loc 1 581 7 is_stmt 1 view .LVU3570 + 11137 0622 0320 movs r0, #3 + 11138 0624 FFF7FEFF bl Set_LTEC + 11139 .LVL974: + ARM GAS /tmp/ccwR4KB7.s page 601 + + + 582:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 + 11140 .loc 1 582 7 view .LVU3571 + 582:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 + 11141 .loc 1 582 14 is_stmt 0 view .LVU3572 + 11142 0628 0222 movs r2, #2 + 11143 062a 2946 mov r1, r5 + 11144 062c 6B48 ldr r0, .L616+52 + 11145 062e FFF7FEFF bl PID_Controller_Temp + 11146 .LVL975: + 11147 0632 0146 mov r1, r0 + 582:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 + 11148 .loc 1 582 13 discriminator 1 view .LVU3573 + 11149 0634 2080 strh r0, [r4] @ movhi + 583:Src/main.c **** + 11150 .loc 1 583 7 is_stmt 1 view .LVU3574 + 11151 0636 0420 movs r0, #4 + 11152 0638 FFF7FEFF bl Set_LTEC + 11153 .LVL976: + 586:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + 11154 .loc 1 586 7 view .LVU3575 + 11155 063c 684C ldr r4, .L616+56 + 11156 063e 0122 movs r2, #1 + 11157 0640 8021 movs r1, #128 + 11158 0642 2046 mov r0, r4 + 11159 0644 FFF7FEFF bl HAL_GPIO_WritePin + 11160 .LVL977: + 587:Src/main.c **** + 11161 .loc 1 587 7 view .LVU3576 + 11162 0648 0022 movs r2, #0 + 11163 064a 8021 movs r1, #128 + 11164 064c 2046 mov r0, r4 + 11165 064e FFF7FEFF bl HAL_GPIO_WritePin + 11166 .LVL978: + 589:Src/main.c **** if (st != HAL_OK) + 11167 .loc 1 589 7 view .LVU3577 + 589:Src/main.c **** if (st != HAL_OK) + 11168 .loc 1 589 12 is_stmt 0 view .LVU3578 + 11169 0652 5A48 ldr r0, .L616+20 + 11170 0654 FFF7FEFF bl HAL_TIM_Base_Start_IT + 11171 .LVL979: + 590:Src/main.c **** while(1); + 11172 .loc 1 590 7 is_stmt 1 view .LVU3579 + 590:Src/main.c **** while(1); + 11173 .loc 1 590 10 is_stmt 0 view .LVU3580 + 11174 0658 0028 cmp r0, #0 + 11175 065a 75D1 bne .L570 + 593:Src/main.c **** uint16_t trigger_counter = 0; + 11176 .loc 1 593 7 is_stmt 1 view .LVU3581 + 11177 .LVL980: + 594:Src/main.c **** uint16_t trigger_step = (uint8_t )((task.max_param - task.current_param)/task.delta_param * 1 + 11178 .loc 1 594 7 view .LVU3582 + 595:Src/main.c **** uint16_t task_sheduler = 0; + 11179 .loc 1 595 7 view .LVU3583 + 595:Src/main.c **** uint16_t task_sheduler = 0; + 11180 .loc 1 595 47 is_stmt 0 view .LVU3584 + 11181 065c 524B ldr r3, .L616 + 11182 065e 93ED027A vldr.32 s14, [r3, #8] + ARM GAS /tmp/ccwR4KB7.s page 602 + + + 595:Src/main.c **** uint16_t task_sheduler = 0; + 11183 .loc 1 595 64 view .LVU3585 + 11184 0662 D3ED047A vldr.32 s15, [r3, #16] + 595:Src/main.c **** uint16_t task_sheduler = 0; + 11185 .loc 1 595 58 view .LVU3586 + 11186 0666 37EE677A vsub.f32 s14, s14, s15 + 595:Src/main.c **** uint16_t task_sheduler = 0; + 11187 .loc 1 595 84 view .LVU3587 + 11188 066a D3ED036A vldr.32 s13, [r3, #12] + 595:Src/main.c **** uint16_t task_sheduler = 0; + 11189 .loc 1 595 79 view .LVU3588 + 11190 066e C7EE267A vdiv.f32 s15, s14, s13 + 595:Src/main.c **** uint16_t task_sheduler = 0; + 11191 .loc 1 595 97 view .LVU3589 + 11192 0672 B2EE047A vmov.f32 s14, #1.0e+1 + 11193 0676 67EE877A vmul.f32 s15, s15, s14 + 595:Src/main.c **** uint16_t task_sheduler = 0; + 11194 .loc 1 595 31 view .LVU3590 + 11195 067a FCEEE77A vcvt.u32.f32 s15, s15 + 11196 067e CDED037A vstr.32 s15, [sp, #12] @ int + 11197 0682 9DF80C60 ldrb r6, [sp, #12] @ zero_extendqisi2 + 11198 .LVL981: + 596:Src/main.c **** + 11199 .loc 1 596 7 is_stmt 1 view .LVU3591 + 600:Src/main.c **** HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_3); //start ADC clock + 11200 .loc 1 600 7 view .LVU3592 + 11201 0686 DFF86891 ldr r9, .L616+72 + 11202 068a 0021 movs r1, #0 + 11203 068c 4846 mov r0, r9 + 11204 .LVL982: + 600:Src/main.c **** HAL_TIM_PWM_Stop(&htim4, TIM_CHANNEL_3); //start ADC clock + 11205 .loc 1 600 7 is_stmt 0 view .LVU3593 + 11206 068e FFF7FEFF bl HAL_TIM_PWM_Stop + 11207 .LVL983: + 601:Src/main.c **** TIM11 -> CR1 &= ~(1 << 3); //disables one-pulse mode + 11208 .loc 1 601 7 is_stmt 1 view .LVU3594 + 11209 0692 DFF86081 ldr r8, .L616+76 + 11210 0696 0821 movs r1, #8 + 11211 0698 4046 mov r0, r8 + 11212 069a FFF7FEFF bl HAL_TIM_PWM_Stop + 11213 .LVL984: + 602:Src/main.c **** TIM4 -> CR1 &= ~(1 << 3); //disables one-pulse mode + 11214 .loc 1 602 7 view .LVU3595 + 602:Src/main.c **** TIM4 -> CR1 &= ~(1 << 3); //disables one-pulse mode + 11215 .loc 1 602 13 is_stmt 0 view .LVU3596 + 11216 069e 514F ldr r7, .L616+60 + 11217 06a0 3B68 ldr r3, [r7] + 602:Src/main.c **** TIM4 -> CR1 &= ~(1 << 3); //disables one-pulse mode + 11218 .loc 1 602 20 view .LVU3597 + 11219 06a2 23F00803 bic r3, r3, #8 + 11220 06a6 3B60 str r3, [r7] + 603:Src/main.c **** + 11221 .loc 1 603 7 is_stmt 1 view .LVU3598 + 603:Src/main.c **** + 11222 .loc 1 603 12 is_stmt 0 view .LVU3599 + 11223 06a8 4F4D ldr r5, .L616+64 + 11224 06aa 2B68 ldr r3, [r5] + ARM GAS /tmp/ccwR4KB7.s page 603 + + + 603:Src/main.c **** + 11225 .loc 1 603 19 view .LVU3600 + 11226 06ac 23F00803 bic r3, r3, #8 + 11227 06b0 2B60 str r3, [r5] + 607:Src/main.c **** TIM4 -> CNT = 0; + 11228 .loc 1 607 7 is_stmt 1 view .LVU3601 + 607:Src/main.c **** TIM4 -> CNT = 0; + 11229 .loc 1 607 20 is_stmt 0 view .LVU3602 + 11230 06b2 0024 movs r4, #0 + 11231 06b4 7C62 str r4, [r7, #36] + 608:Src/main.c **** + 11232 .loc 1 608 7 is_stmt 1 view .LVU3603 + 608:Src/main.c **** + 11233 .loc 1 608 19 is_stmt 0 view .LVU3604 + 11234 06b6 6C62 str r4, [r5, #36] + 610:Src/main.c **** HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_3); //start ADC clock + 11235 .loc 1 610 7 is_stmt 1 view .LVU3605 + 11236 06b8 2146 mov r1, r4 + 11237 06ba 4846 mov r0, r9 + 11238 06bc FFF7FEFF bl HAL_TIM_PWM_Start + 11239 .LVL985: + 611:Src/main.c **** //TIM4 -> CNT = 0; + 11240 .loc 1 611 7 view .LVU3606 + 11241 06c0 0821 movs r1, #8 + 11242 06c2 4046 mov r0, r8 + 11243 06c4 FFF7FEFF bl HAL_TIM_PWM_Start + 11244 .LVL986: + 614:Src/main.c **** TIM11 -> CNT = 0; + 11245 .loc 1 614 7 view .LVU3607 + 614:Src/main.c **** TIM11 -> CNT = 0; + 11246 .loc 1 614 26 is_stmt 0 view .LVU3608 + 11247 06c8 EB6A ldr r3, [r5, #44] + 614:Src/main.c **** TIM11 -> CNT = 0; + 11248 .loc 1 614 33 view .LVU3609 + 11249 06ca 143B subs r3, r3, #20 + 614:Src/main.c **** TIM11 -> CNT = 0; + 11250 .loc 1 614 19 view .LVU3610 + 11251 06cc 6B62 str r3, [r5, #36] + 615:Src/main.c **** + 11252 .loc 1 615 7 is_stmt 1 view .LVU3611 + 615:Src/main.c **** + 11253 .loc 1 615 20 is_stmt 0 view .LVU3612 + 11254 06ce 7C62 str r4, [r7, #36] + 618:Src/main.c **** { + 11255 .loc 1 618 7 is_stmt 1 view .LVU3613 + 594:Src/main.c **** uint16_t trigger_step = (uint8_t )((task.max_param - task.current_param)/task.delta_param * 1 + 11256 .loc 1 594 16 is_stmt 0 view .LVU3614 + 11257 06d0 2546 mov r5, r4 + 11258 .LVL987: + 11259 .L572: + 618:Src/main.c **** { + 11260 .loc 1 618 33 is_stmt 1 view .LVU3615 + 618:Src/main.c **** { + 11261 .loc 1 618 18 is_stmt 0 view .LVU3616 + 11262 06d2 354B ldr r3, .L616 + 11263 06d4 D3ED047A vldr.32 s15, [r3, #16] + 618:Src/main.c **** { + ARM GAS /tmp/ccwR4KB7.s page 604 + + + 11264 .loc 1 618 39 view .LVU3617 + 11265 06d8 93ED027A vldr.32 s14, [r3, #8] + 618:Src/main.c **** { + 11266 .loc 1 618 33 view .LVU3618 + 11267 06dc F4EEC77A vcmpe.f32 s15, s14 + 11268 06e0 F1EE10FA vmrs APSR_nzcv, FPSCR + 11269 06e4 37D5 bpl .L609 + 620:Src/main.c **** { + 11270 .loc 1 620 8 is_stmt 1 view .LVU3619 + 620:Src/main.c **** { + 11271 .loc 1 620 12 is_stmt 0 view .LVU3620 + 11272 06e6 334B ldr r3, .L616+12 + 11273 06e8 1B78 ldrb r3, [r3] @ zero_extendqisi2 + 620:Src/main.c **** { + 11274 .loc 1 620 11 view .LVU3621 + 11275 06ea 002B cmp r3, #0 + 11276 06ec F1D0 beq .L572 + 622:Src/main.c **** //TIM11 -> CNT = 0; // to link modulator phase + 11277 .loc 1 622 9 is_stmt 1 view .LVU3622 + 11278 06ee FCEEE77A vcvt.u32.f32 s15, s15 + 11279 06f2 17EE903A vmov r3, s15 @ int + 11280 06f6 99B2 uxth r1, r3 + 11281 06f8 0120 movs r0, #1 + 11282 06fa FFF7FEFF bl Set_LTEC + 11283 .LVL988: + 625:Src/main.c **** TO10 = 0; + 11284 .loc 1 625 9 view .LVU3623 + 625:Src/main.c **** TO10 = 0; + 11285 .loc 1 625 13 is_stmt 0 view .LVU3624 + 11286 06fe 2A4B ldr r3, .L616 + 11287 0700 D3ED047A vldr.32 s15, [r3, #16] + 625:Src/main.c **** TO10 = 0; + 11288 .loc 1 625 35 view .LVU3625 + 11289 0704 93ED037A vldr.32 s14, [r3, #12] + 625:Src/main.c **** TO10 = 0; + 11290 .loc 1 625 28 view .LVU3626 + 11291 0708 77EE877A vadd.f32 s15, s15, s14 + 11292 070c C3ED047A vstr.32 s15, [r3, #16] + 626:Src/main.c **** TIM10_coflag = 0; + 11293 .loc 1 626 9 is_stmt 1 view .LVU3627 + 626:Src/main.c **** TIM10_coflag = 0; + 11294 .loc 1 626 14 is_stmt 0 view .LVU3628 + 11295 0710 0027 movs r7, #0 + 11296 0712 364B ldr r3, .L616+68 + 11297 0714 1F60 str r7, [r3] + 627:Src/main.c **** + 11298 .loc 1 627 9 is_stmt 1 view .LVU3629 + 627:Src/main.c **** + 11299 .loc 1 627 22 is_stmt 0 view .LVU3630 + 11300 0716 274B ldr r3, .L616+12 + 11301 0718 1F70 strb r7, [r3] + 629:Src/main.c **** HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9, GPIO_PIN_RESET); + 11302 .loc 1 629 9 is_stmt 1 view .LVU3631 + 11303 071a DFF8DC80 ldr r8, .L616+80 + 11304 071e 0122 movs r2, #1 + 11305 0720 4FF40071 mov r1, #512 + 11306 0724 4046 mov r0, r8 + ARM GAS /tmp/ccwR4KB7.s page 605 + + + 11307 0726 FFF7FEFF bl HAL_GPIO_WritePin + 11308 .LVL989: + 630:Src/main.c **** //* + 11309 .loc 1 630 9 view .LVU3632 + 11310 072a 3A46 mov r2, r7 + 11311 072c 4FF40071 mov r1, #512 + 11312 0730 4046 mov r0, r8 + 11313 0732 FFF7FEFF bl HAL_GPIO_WritePin + 11314 .LVL990: + 632:Src/main.c **** OUT_trigger(trigger_counter); + 11315 .loc 1 632 9 view .LVU3633 + 632:Src/main.c **** OUT_trigger(trigger_counter); + 11316 .loc 1 632 41 is_stmt 0 view .LVU3634 + 11317 0736 B4FBF6F3 udiv r3, r4, r6 + 11318 073a 06FB1343 mls r3, r6, r3, r4 + 11319 073e 9BB2 uxth r3, r3 + 632:Src/main.c **** OUT_trigger(trigger_counter); + 11320 .loc 1 632 12 view .LVU3635 + 11321 0740 1BB1 cbz r3, .L610 + 11322 .L573: + 636:Src/main.c **** //*/ + 11323 .loc 1 636 9 is_stmt 1 view .LVU3636 + 11324 0742 0134 adds r4, r4, #1 + 11325 .LVL991: + 636:Src/main.c **** //*/ + 11326 .loc 1 636 9 is_stmt 0 view .LVU3637 + 11327 0744 A4B2 uxth r4, r4 + 11328 .LVL992: + 636:Src/main.c **** //*/ + 11329 .loc 1 636 9 view .LVU3638 + 11330 0746 C4E7 b .L572 + 11331 .LVL993: + 11332 .L570: + 591:Src/main.c **** + 11333 .loc 1 591 8 is_stmt 1 view .LVU3639 + 591:Src/main.c **** + 11334 .loc 1 591 13 view .LVU3640 + 11335 0748 FEE7 b .L570 + 11336 .LVL994: + 11337 .L610: + 633:Src/main.c **** ++trigger_counter; + 11338 .loc 1 633 10 view .LVU3641 + 11339 074a E8B2 uxtb r0, r5 + 11340 074c FFF7FEFF bl OUT_trigger + 11341 .LVL995: + 634:Src/main.c **** } + 11342 .loc 1 634 10 view .LVU3642 + 11343 0750 0135 adds r5, r5, #1 + 11344 .LVL996: + 634:Src/main.c **** } + 11345 .loc 1 634 10 is_stmt 0 view .LVU3643 + 11346 0752 ADB2 uxth r5, r5 + 11347 .LVL997: + 634:Src/main.c **** } + 11348 .loc 1 634 10 view .LVU3644 + 11349 0754 F5E7 b .L573 + 11350 .L609: + ARM GAS /tmp/ccwR4KB7.s page 606 + + + 661:Src/main.c **** //TIM11 -> CR1 |= 1 << 3; //sets timer to one-pulse mode. So it will turn off at the next Upd + 11351 .loc 1 661 7 is_stmt 1 view .LVU3645 + 661:Src/main.c **** //TIM11 -> CR1 |= 1 << 3; //sets timer to one-pulse mode. So it will turn off at the next Upd + 11352 .loc 1 661 13 is_stmt 0 view .LVU3646 + 11353 0756 234A ldr r2, .L616+60 + 11354 0758 D368 ldr r3, [r2, #12] + 661:Src/main.c **** //TIM11 -> CR1 |= 1 << 3; //sets timer to one-pulse mode. So it will turn off at the next Upd + 11355 .loc 1 661 21 view .LVU3647 + 11356 075a 43F00103 orr r3, r3, #1 + 11357 075e D360 str r3, [r2, #12] + 671:Src/main.c **** + 11358 .loc 1 671 7 is_stmt 1 view .LVU3648 + 11359 0760 FFF7FEFF bl Stop_TIM10 + 11360 .LVL998: + 673:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.current_param); + 11361 .loc 1 673 7 view .LVU3649 + 673:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.current_param); + 11362 .loc 1 673 32 is_stmt 0 view .LVU3650 + 11363 0764 104C ldr r4, .L616 + 11364 .LVL999: + 673:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.current_param); + 11365 .loc 1 673 32 view .LVU3651 + 11366 0766 D4ED017A vldr.32 s15, [r4, #4] + 673:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_1, task.current_param); + 11367 .loc 1 673 26 view .LVU3652 + 11368 076a C4ED047A vstr.32 s15, [r4, #16] + 674:Src/main.c **** if (task.tau > 3) + 11369 .loc 1 674 7 is_stmt 1 view .LVU3653 + 11370 076e FCEEE77A vcvt.u32.f32 s15, s15 + 11371 0772 17EE903A vmov r3, s15 @ int + 11372 0776 99B2 uxth r1, r3 + 11373 0778 0120 movs r0, #1 + 11374 077a FFF7FEFF bl Set_LTEC + 11375 .LVL1000: + 675:Src/main.c **** { + 11376 .loc 1 675 7 view .LVU3654 + 675:Src/main.c **** { + 11377 .loc 1 675 15 is_stmt 0 view .LVU3655 + 11378 077e E38A ldrh r3, [r4, #22] + 675:Src/main.c **** { + 11379 .loc 1 675 10 view .LVU3656 + 11380 0780 032B cmp r3, #3 + 11381 0782 0CD9 bls .L575 + 677:Src/main.c **** htim10.Init.Period = 9999; + 11382 .loc 1 677 8 is_stmt 1 view .LVU3657 + 677:Src/main.c **** htim10.Init.Period = 9999; + 11383 .loc 1 677 34 is_stmt 0 view .LVU3658 + 11384 0784 0D4A ldr r2, .L616+20 + 11385 0786 D068 ldr r0, [r2, #12] + 677:Src/main.c **** htim10.Init.Period = 9999; + 11386 .loc 1 677 21 view .LVU3659 + 11387 0788 0B49 ldr r1, .L616+16 + 11388 078a 0860 str r0, [r1] + 678:Src/main.c **** TO10_counter = (task.tau - 1) * 100; + 11389 .loc 1 678 8 is_stmt 1 view .LVU3660 + 678:Src/main.c **** TO10_counter = (task.tau - 1) * 100; + 11390 .loc 1 678 27 is_stmt 0 view .LVU3661 + ARM GAS /tmp/ccwR4KB7.s page 607 + + + 11391 078c 42F20F71 movw r1, #9999 + 11392 0790 D160 str r1, [r2, #12] + 679:Src/main.c **** } + 11393 .loc 1 679 8 is_stmt 1 view .LVU3662 + 679:Src/main.c **** } + 11394 .loc 1 679 33 is_stmt 0 view .LVU3663 + 11395 0792 013B subs r3, r3, #1 + 679:Src/main.c **** } + 11396 .loc 1 679 38 view .LVU3664 + 11397 0794 6422 movs r2, #100 + 11398 0796 02FB03F3 mul r3, r2, r3 + 679:Src/main.c **** } + 11399 .loc 1 679 21 view .LVU3665 + 11400 079a 0A4A ldr r2, .L616+28 + 11401 079c 1360 str r3, [r2] + 11402 .L575: + 681:Src/main.c **** break; + 11403 .loc 1 681 7 is_stmt 1 view .LVU3666 + 11404 079e 0748 ldr r0, .L616+20 + 11405 07a0 FFF7FEFF bl HAL_TIM_Base_Start_IT + 11406 .LVL1001: + 682:Src/main.c **** case TT_CHANGE_CURR_2: + 11407 .loc 1 682 6 view .LVU3667 + 11408 07a4 F9E6 b .L568 + 11409 .L617: + 11410 07a6 00BF .align 2 + 11411 .L616: + 11412 07a8 00000000 .word task + 11413 07ac 00000000 .word TO7 + 11414 07b0 00000000 .word TO7_before + 11415 07b4 00000000 .word TIM10_coflag + 11416 07b8 00000000 .word TIM10_period + 11417 07bc 00000000 .word htim10 + 11418 07c0 CDCCCCCC .word -858993459 + 11419 07c4 00000000 .word TO10_counter + 11420 07c8 00000000 .word CPU_state_old + 11421 07cc 00000000 .word LD1_param + 11422 07d0 00000000 .word LD2_param + 11423 07d4 00000000 .word LD1_curr_setup + 11424 07d8 00000000 .word temp16 + 11425 07dc 00000000 .word LD2_curr_setup + 11426 07e0 000C0240 .word 1073875968 + 11427 07e4 00480140 .word 1073825792 + 11428 07e8 00080040 .word 1073743872 + 11429 07ec 00000000 .word TO10 + 11430 07f0 00000000 .word htim11 + 11431 07f4 00000000 .word htim4 + 11432 07f8 00180240 .word 1073879040 + 11433 .LVL1002: + 11434 .L567: + 686:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); + 11435 .loc 1 686 7 view .LVU3668 + 686:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); + 11436 .loc 1 686 38 is_stmt 0 view .LVU3669 + 11437 07fc A74B ldr r3, .L618 + 11438 07fe D3ED077A vldr.32 s15, [r3, #28] + 686:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_1); + ARM GAS /tmp/ccwR4KB7.s page 608 + + + 11439 .loc 1 686 7 view .LVU3670 + 11440 0802 FCEEE77A vcvt.u32.f32 s15, s15 + 11441 0806 17EE903A vmov r3, s15 @ int + 11442 080a 99B2 uxth r1, r3 + 11443 080c 0120 movs r0, #1 + 11444 080e FFF7FEFF bl Set_LTEC + 11445 .LVL1003: + 687:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); + 11446 .loc 1 687 7 is_stmt 1 view .LVU3671 + 687:Src/main.c **** LD1_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_1); + 11447 .loc 1 687 14 is_stmt 0 view .LVU3672 + 11448 0812 0320 movs r0, #3 + 11449 0814 FFF7FEFF bl MPhD_T + 11450 .LVL1004: + 688:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); + 11451 .loc 1 688 7 is_stmt 1 view .LVU3673 + 688:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); + 11452 .loc 1 688 32 is_stmt 0 view .LVU3674 + 11453 0818 0320 movs r0, #3 + 11454 081a FFF7FEFF bl MPhD_T + 11455 .LVL1005: + 688:Src/main.c **** (void) MPhD_T(TT_CHANGE_TEMP_2); + 11456 .loc 1 688 30 discriminator 1 view .LVU3675 + 11457 081e A04C ldr r4, .L618+4 + 11458 0820 2080 strh r0, [r4] @ movhi + 689:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); + 11459 .loc 1 689 7 is_stmt 1 view .LVU3676 + 689:Src/main.c **** LD2_param.LD_CURR_TEMP = MPhD_T(TT_CHANGE_TEMP_2); + 11460 .loc 1 689 14 is_stmt 0 view .LVU3677 + 11461 0822 0420 movs r0, #4 + 11462 0824 FFF7FEFF bl MPhD_T + 11463 .LVL1006: + 690:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); + 11464 .loc 1 690 7 is_stmt 1 view .LVU3678 + 690:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); + 11465 .loc 1 690 32 is_stmt 0 view .LVU3679 + 11466 0828 0420 movs r0, #4 + 11467 082a FFF7FEFF bl MPhD_T + 11468 .LVL1007: + 690:Src/main.c **** temp16=PID_Controller_Temp(&LD1_curr_setup, &LD1_param, 1); + 11469 .loc 1 690 30 discriminator 1 view .LVU3680 + 11470 082e 9D4D ldr r5, .L618+8 + 11471 0830 2880 strh r0, [r5] @ movhi + 691:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 + 11472 .loc 1 691 7 is_stmt 1 view .LVU3681 + 691:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 + 11473 .loc 1 691 14 is_stmt 0 view .LVU3682 + 11474 0832 0122 movs r2, #1 + 11475 0834 2146 mov r1, r4 + 11476 0836 9C48 ldr r0, .L618+12 + 11477 0838 FFF7FEFF bl PID_Controller_Temp + 11478 .LVL1008: + 11479 083c 0146 mov r1, r0 + 691:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_1, temp16);//Drive Laser TEC 1 + 11480 .loc 1 691 13 discriminator 1 view .LVU3683 + 11481 083e 9B4C ldr r4, .L618+16 + 11482 0840 2080 strh r0, [r4] @ movhi + ARM GAS /tmp/ccwR4KB7.s page 609 + + + 692:Src/main.c **** temp16=PID_Controller_Temp(&LD2_curr_setup, &LD2_param, 2); + 11483 .loc 1 692 7 is_stmt 1 view .LVU3684 + 11484 0842 0320 movs r0, #3 + 11485 0844 FFF7FEFF bl Set_LTEC + 11486 .LVL1009: + 693:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 + 11487 .loc 1 693 7 view .LVU3685 + 693:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 + 11488 .loc 1 693 14 is_stmt 0 view .LVU3686 + 11489 0848 0222 movs r2, #2 + 11490 084a 2946 mov r1, r5 + 11491 084c 9848 ldr r0, .L618+20 + 11492 084e FFF7FEFF bl PID_Controller_Temp + 11493 .LVL1010: + 11494 0852 0146 mov r1, r0 + 693:Src/main.c **** Set_LTEC(TT_CHANGE_TEMP_2, temp16);//Drive Laser TEC 2 + 11495 .loc 1 693 13 discriminator 1 view .LVU3687 + 11496 0854 2080 strh r0, [r4] @ movhi + 694:Src/main.c **** + 11497 .loc 1 694 7 is_stmt 1 view .LVU3688 + 11498 0856 0420 movs r0, #4 + 11499 0858 FFF7FEFF bl Set_LTEC + 11500 .LVL1011: + 696:Src/main.c **** LD_blinker.state = 0; // 0 -- disabled (do nothing); 1 -- update LD current; 2 -- blinking, L + 11501 .loc 1 696 7 view .LVU3689 + 696:Src/main.c **** LD_blinker.state = 0; // 0 -- disabled (do nothing); 1 -- update LD current; 2 -- blinking, L + 11502 .loc 1 696 28 is_stmt 0 view .LVU3690 + 11503 085c 954B ldr r3, .L618+24 + 11504 085e 0222 movs r2, #2 + 11505 0860 1A70 strb r2, [r3] + 697:Src/main.c **** //LD_blinker.param = task.current_param; + 11506 .loc 1 697 7 is_stmt 1 view .LVU3691 + 697:Src/main.c **** //LD_blinker.param = task.current_param; + 11507 .loc 1 697 24 is_stmt 0 view .LVU3692 + 11508 0862 0022 movs r2, #0 + 11509 0864 9A72 strb r2, [r3, #10] + 699:Src/main.c **** LD_blinker.param = 1000; // LD2 current (in unspecified units) + 11510 .loc 1 699 7 is_stmt 1 view .LVU3693 + 699:Src/main.c **** LD_blinker.param = 1000; // LD2 current (in unspecified units) + 11511 .loc 1 699 24 is_stmt 0 view .LVU3694 + 11512 0866 1A81 strh r2, [r3, #8] @ movhi + 700:Src/main.c **** LD_blinker.signal_port = OUT_9_GPIO_Port; + 11513 .loc 1 700 7 is_stmt 1 view .LVU3695 + 700:Src/main.c **** LD_blinker.signal_port = OUT_9_GPIO_Port; + 11514 .loc 1 700 24 is_stmt 0 view .LVU3696 + 11515 0868 4FF47A72 mov r2, #1000 + 11516 086c 1A81 strh r2, [r3, #8] @ movhi + 701:Src/main.c **** LD_blinker.signal_pin = OUT_9_Pin; + 11517 .loc 1 701 7 is_stmt 1 view .LVU3697 + 701:Src/main.c **** LD_blinker.signal_pin = OUT_9_Pin; + 11518 .loc 1 701 30 is_stmt 0 view .LVU3698 + 11519 086e 924A ldr r2, .L618+28 + 11520 0870 5A60 str r2, [r3, #4] + 702:Src/main.c **** + 11521 .loc 1 702 7 is_stmt 1 view .LVU3699 + 702:Src/main.c **** + 11522 .loc 1 702 29 is_stmt 0 view .LVU3700 + ARM GAS /tmp/ccwR4KB7.s page 610 + + + 11523 0872 8022 movs r2, #128 + 11524 0874 5A80 strh r2, [r3, #2] @ movhi + 704:Src/main.c **** //When it is too low -- Desktop app crashes (there is not so much compute sources on MCU + 11525 .loc 1 704 7 is_stmt 1 view .LVU3701 + 704:Src/main.c **** //When it is too low -- Desktop app crashes (there is not so much compute sources on MCU + 11526 .loc 1 704 17 is_stmt 0 view .LVU3702 + 11527 0876 914B ldr r3, .L618+32 + 11528 0878 42F21072 movw r2, #10000 + 11529 087c DA62 str r2, [r3, #44] + 706:Src/main.c **** if (st != HAL_OK) + 11530 .loc 1 706 7 is_stmt 1 view .LVU3703 + 706:Src/main.c **** if (st != HAL_OK) + 11531 .loc 1 706 12 is_stmt 0 view .LVU3704 + 11532 087e 9048 ldr r0, .L618+36 + 11533 0880 FFF7FEFF bl HAL_TIM_Base_Start_IT + 11534 .LVL1012: + 707:Src/main.c **** while(1); + 11535 .loc 1 707 7 is_stmt 1 view .LVU3705 + 707:Src/main.c **** while(1); + 11536 .loc 1 707 10 is_stmt 0 view .LVU3706 + 11537 0884 78BB cbnz r0, .L577 + 712:Src/main.c **** uint32_t i = 10000; while (--i){} + 11538 .loc 1 712 7 is_stmt 1 view .LVU3707 + 11539 0886 0122 movs r2, #1 + 11540 0888 8021 movs r1, #128 + 11541 088a 8E48 ldr r0, .L618+40 + 11542 .LVL1013: + 712:Src/main.c **** uint32_t i = 10000; while (--i){} + 11543 .loc 1 712 7 is_stmt 0 view .LVU3708 + 11544 088c FFF7FEFF bl HAL_GPIO_WritePin + 11545 .LVL1014: + 713:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + 11546 .loc 1 713 7 is_stmt 1 view .LVU3709 + 713:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + 11547 .loc 1 713 27 view .LVU3710 + 713:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + 11548 .loc 1 713 16 is_stmt 0 view .LVU3711 + 11549 0890 42F21073 movw r3, #10000 + 11550 .LVL1015: + 11551 .L578: + 713:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + 11552 .loc 1 713 39 is_stmt 1 discriminator 2 view .LVU3712 + 713:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + 11553 .loc 1 713 34 discriminator 2 view .LVU3713 + 713:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + 11554 .loc 1 713 34 is_stmt 0 discriminator 2 view .LVU3714 + 11555 0894 013B subs r3, r3, #1 + 11556 .LVL1016: + 713:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_RESET); + 11557 .loc 1 713 34 discriminator 2 view .LVU3715 + 11558 0896 FDD1 bne .L578 + 714:Src/main.c **** LD_blinker.state = 2; + 11559 .loc 1 714 7 is_stmt 1 view .LVU3716 + 11560 0898 0022 movs r2, #0 + 11561 089a 8021 movs r1, #128 + 11562 089c 8948 ldr r0, .L618+40 + 11563 089e FFF7FEFF bl HAL_GPIO_WritePin + ARM GAS /tmp/ccwR4KB7.s page 611 + + + 11564 .LVL1017: + 715:Src/main.c **** + 11565 .loc 1 715 7 view .LVU3717 + 715:Src/main.c **** + 11566 .loc 1 715 24 is_stmt 0 view .LVU3718 + 11567 08a2 844B ldr r3, .L618+24 + 11568 08a4 0222 movs r2, #2 + 11569 08a6 9A72 strb r2, [r3, #10] + 717:Src/main.c **** if (st != HAL_OK) + 11570 .loc 1 717 7 is_stmt 1 view .LVU3719 + 717:Src/main.c **** if (st != HAL_OK) + 11571 .loc 1 717 12 is_stmt 0 view .LVU3720 + 11572 08a8 8748 ldr r0, .L618+44 + 11573 08aa FFF7FEFF bl HAL_TIM_Base_Start_IT + 11574 .LVL1018: + 718:Src/main.c **** while(1); + 11575 .loc 1 718 7 is_stmt 1 view .LVU3721 + 718:Src/main.c **** while(1); + 11576 .loc 1 718 10 is_stmt 0 view .LVU3722 + 11577 08ae D8B9 cbnz r0, .L580 + 11578 .L581: + 720:Src/main.c **** { + 11579 .loc 1 720 33 is_stmt 1 view .LVU3723 + 720:Src/main.c **** { + 11580 .loc 1 720 18 is_stmt 0 view .LVU3724 + 11581 08b0 7A4B ldr r3, .L618 + 11582 08b2 D3ED047A vldr.32 s15, [r3, #16] + 720:Src/main.c **** { + 11583 .loc 1 720 39 view .LVU3725 + 11584 08b6 93ED027A vldr.32 s14, [r3, #8] + 720:Src/main.c **** { + 11585 .loc 1 720 33 view .LVU3726 + 11586 08ba F4EEC77A vcmpe.f32 s15, s14 + 11587 08be F1EE10FA vmrs APSR_nzcv, FPSCR + 11588 08c2 12D5 bpl .L611 + 722:Src/main.c **** { + 11589 .loc 1 722 8 is_stmt 1 view .LVU3727 + 722:Src/main.c **** { + 11590 .loc 1 722 12 is_stmt 0 view .LVU3728 + 11591 08c4 814B ldr r3, .L618+48 + 11592 08c6 1B78 ldrb r3, [r3] @ zero_extendqisi2 + 722:Src/main.c **** { + 11593 .loc 1 722 11 view .LVU3729 + 11594 08c8 002B cmp r3, #0 + 11595 08ca F1D0 beq .L581 + 727:Src/main.c **** TO10 = 0; + 11596 .loc 1 727 9 is_stmt 1 view .LVU3730 + 727:Src/main.c **** TO10 = 0; + 11597 .loc 1 727 35 is_stmt 0 view .LVU3731 + 11598 08cc 734B ldr r3, .L618 + 11599 08ce 93ED037A vldr.32 s14, [r3, #12] + 727:Src/main.c **** TO10 = 0; + 11600 .loc 1 727 28 view .LVU3732 + 11601 08d2 77EE277A vadd.f32 s15, s14, s15 + 11602 08d6 C3ED047A vstr.32 s15, [r3, #16] + 728:Src/main.c **** TIM10_coflag = 0; + 11603 .loc 1 728 9 is_stmt 1 view .LVU3733 + ARM GAS /tmp/ccwR4KB7.s page 612 + + + 728:Src/main.c **** TIM10_coflag = 0; + 11604 .loc 1 728 14 is_stmt 0 view .LVU3734 + 11605 08da 0023 movs r3, #0 + 11606 08dc 7C4A ldr r2, .L618+52 + 11607 08de 1360 str r3, [r2] + 729:Src/main.c **** + 11608 .loc 1 729 9 is_stmt 1 view .LVU3735 + 729:Src/main.c **** + 11609 .loc 1 729 22 is_stmt 0 view .LVU3736 + 11610 08e0 7A4A ldr r2, .L618+48 + 11611 08e2 1370 strb r3, [r2] + 11612 08e4 E4E7 b .L581 + 11613 .LVL1019: + 11614 .L577: + 708:Src/main.c **** // */ + 11615 .loc 1 708 8 is_stmt 1 view .LVU3737 + 708:Src/main.c **** // */ + 11616 .loc 1 708 13 view .LVU3738 + 11617 08e6 FEE7 b .L577 + 11618 .LVL1020: + 11619 .L580: + 719:Src/main.c **** while (task.current_param < task.max_param) + 11620 .loc 1 719 8 view .LVU3739 + 719:Src/main.c **** while (task.current_param < task.max_param) + 11621 .loc 1 719 13 view .LVU3740 + 11622 08e8 FEE7 b .L580 + 11623 .L611: + 734:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); + 11624 .loc 1 734 7 view .LVU3741 + 11625 08ea 7748 ldr r0, .L618+44 + 11626 .LVL1021: + 734:Src/main.c **** HAL_GPIO_WritePin(GPIOD, GPIO_PIN_7, GPIO_PIN_SET); + 11627 .loc 1 734 7 is_stmt 0 view .LVU3742 + 11628 08ec FFF7FEFF bl HAL_TIM_Base_Stop + 11629 .LVL1022: + 735:Src/main.c **** + 11630 .loc 1 735 7 is_stmt 1 view .LVU3743 + 11631 08f0 744C ldr r4, .L618+40 + 11632 08f2 0122 movs r2, #1 + 11633 08f4 8021 movs r1, #128 + 11634 08f6 2046 mov r0, r4 + 11635 08f8 FFF7FEFF bl HAL_GPIO_WritePin + 11636 .LVL1023: + 737:Src/main.c **** + 11637 .loc 1 737 7 view .LVU3744 + 11638 08fc 0022 movs r2, #0 + 11639 08fe 8021 movs r1, #128 + 11640 0900 2046 mov r0, r4 + 11641 0902 FFF7FEFF bl HAL_GPIO_WritePin + 11642 .LVL1024: + 739:Src/main.c **** TIM8->CNT = 0; + 11643 .loc 1 739 7 view .LVU3745 + 11644 0906 6E48 ldr r0, .L618+36 + 11645 0908 FFF7FEFF bl HAL_TIM_Base_Stop_IT + 11646 .LVL1025: + 740:Src/main.c **** + 11647 .loc 1 740 7 view .LVU3746 + ARM GAS /tmp/ccwR4KB7.s page 613 + + + 740:Src/main.c **** + 11648 .loc 1 740 17 is_stmt 0 view .LVU3747 + 11649 090c 6B4B ldr r3, .L618+32 + 11650 090e 0022 movs r2, #0 + 11651 0910 5A62 str r2, [r3, #36] + 742:Src/main.c **** task.current_param = task.min_param; + 11652 .loc 1 742 7 is_stmt 1 view .LVU3748 + 11653 0912 FFF7FEFF bl Stop_TIM10 + 11654 .LVL1026: + 743:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_2, task.current_param); + 11655 .loc 1 743 7 view .LVU3749 + 743:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_2, task.current_param); + 11656 .loc 1 743 32 is_stmt 0 view .LVU3750 + 11657 0916 614C ldr r4, .L618 + 11658 0918 D4ED017A vldr.32 s15, [r4, #4] + 743:Src/main.c **** Set_LTEC(TT_CHANGE_CURR_2, task.current_param); + 11659 .loc 1 743 26 view .LVU3751 + 11660 091c C4ED047A vstr.32 s15, [r4, #16] + 744:Src/main.c **** if (task.tau > 3) + 11661 .loc 1 744 7 is_stmt 1 view .LVU3752 + 11662 0920 FCEEE77A vcvt.u32.f32 s15, s15 + 11663 0924 17EE903A vmov r3, s15 @ int + 11664 0928 99B2 uxth r1, r3 + 11665 092a 0220 movs r0, #2 + 11666 092c FFF7FEFF bl Set_LTEC + 11667 .LVL1027: + 745:Src/main.c **** { + 11668 .loc 1 745 7 view .LVU3753 + 745:Src/main.c **** { + 11669 .loc 1 745 15 is_stmt 0 view .LVU3754 + 11670 0930 E38A ldrh r3, [r4, #22] + 745:Src/main.c **** { + 11671 .loc 1 745 10 view .LVU3755 + 11672 0932 032B cmp r3, #3 + 11673 0934 0CD9 bls .L583 + 747:Src/main.c **** htim10.Init.Period = 9999; + 11674 .loc 1 747 8 is_stmt 1 view .LVU3756 + 747:Src/main.c **** htim10.Init.Period = 9999; + 11675 .loc 1 747 34 is_stmt 0 view .LVU3757 + 11676 0936 644A ldr r2, .L618+44 + 11677 0938 D068 ldr r0, [r2, #12] + 747:Src/main.c **** htim10.Init.Period = 9999; + 11678 .loc 1 747 21 view .LVU3758 + 11679 093a 6649 ldr r1, .L618+56 + 11680 093c 0860 str r0, [r1] + 748:Src/main.c **** TO10_counter = (task.tau - 1) * 100; + 11681 .loc 1 748 8 is_stmt 1 view .LVU3759 + 748:Src/main.c **** TO10_counter = (task.tau - 1) * 100; + 11682 .loc 1 748 27 is_stmt 0 view .LVU3760 + 11683 093e 42F20F71 movw r1, #9999 + 11684 0942 D160 str r1, [r2, #12] + 749:Src/main.c **** } + 11685 .loc 1 749 8 is_stmt 1 view .LVU3761 + 749:Src/main.c **** } + 11686 .loc 1 749 33 is_stmt 0 view .LVU3762 + 11687 0944 013B subs r3, r3, #1 + 749:Src/main.c **** } + ARM GAS /tmp/ccwR4KB7.s page 614 + + + 11688 .loc 1 749 38 view .LVU3763 + 11689 0946 6422 movs r2, #100 + 11690 0948 02FB03F3 mul r3, r2, r3 + 749:Src/main.c **** } + 11691 .loc 1 749 21 view .LVU3764 + 11692 094c 624A ldr r2, .L618+60 + 11693 094e 1360 str r3, [r2] + 11694 .L583: + 751:Src/main.c **** + 11695 .loc 1 751 7 is_stmt 1 view .LVU3765 + 11696 0950 5D48 ldr r0, .L618+44 + 11697 0952 FFF7FEFF bl HAL_TIM_Base_Start_IT + 11698 .LVL1028: + 799:Src/main.c **** case TT_CHANGE_TEMP_1: + 11699 .loc 1 799 6 view .LVU3766 + 11700 0956 20E6 b .L568 + 11701 .LVL1029: + 11702 .L608: + 799:Src/main.c **** case TT_CHANGE_TEMP_1: + 11703 .loc 1 799 6 is_stmt 0 view .LVU3767 + 11704 .LBE670: + 810:Src/main.c **** + 11705 .loc 1 810 7 is_stmt 1 view .LVU3768 + 810:Src/main.c **** + 11706 .loc 1 810 18 is_stmt 0 view .LVU3769 + 11707 0958 604A ldr r2, .L618+64 + 11708 095a 1360 str r3, [r2] + 812:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 + 11709 .loc 1 812 7 is_stmt 1 view .LVU3770 + 812:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 + 11710 .loc 1 812 25 is_stmt 0 view .LVU3771 + 11711 095c 0120 movs r0, #1 + 11712 095e FFF7FEFF bl MPhD_T + 11713 .LVL1030: + 812:Src/main.c **** LD1_param.POWER = MPhD_T(1);//Get Data from monitor photodiode of LD1 + 11714 .loc 1 812 23 discriminator 1 view .LVU3772 + 11715 0962 4F4E ldr r6, .L618+4 + 11716 0964 3081 strh r0, [r6, #8] @ movhi + 813:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 + 11717 .loc 1 813 7 is_stmt 1 view .LVU3773 + 813:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 + 11718 .loc 1 813 25 is_stmt 0 view .LVU3774 + 11719 0966 0120 movs r0, #1 + 11720 0968 FFF7FEFF bl MPhD_T + 11721 .LVL1031: + 813:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 + 11722 .loc 1 813 23 discriminator 1 view .LVU3775 + 11723 096c 3081 strh r0, [r6, #8] @ movhi + 814:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 + 11724 .loc 1 814 7 is_stmt 1 view .LVU3776 + 814:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 + 11725 .loc 1 814 25 is_stmt 0 view .LVU3777 + 11726 096e 0220 movs r0, #2 + 11727 0970 FFF7FEFF bl MPhD_T + 11728 .LVL1032: + 814:Src/main.c **** LD2_param.POWER = MPhD_T(2);//Get Data from monitor photodiode of LD2 + 11729 .loc 1 814 23 discriminator 1 view .LVU3778 + ARM GAS /tmp/ccwR4KB7.s page 615 + + + 11730 0974 4B4F ldr r7, .L618+8 + 11731 0976 3881 strh r0, [r7, #8] @ movhi + 815:Src/main.c **** + 11732 .loc 1 815 7 is_stmt 1 view .LVU3779 + 815:Src/main.c **** + 11733 .loc 1 815 25 is_stmt 0 view .LVU3780 + 11734 0978 0220 movs r0, #2 + 11735 097a FFF7FEFF bl MPhD_T + 11736 .LVL1033: + 815:Src/main.c **** + 11737 .loc 1 815 23 discriminator 1 view .LVU3781 + 11738 097e 3881 strh r0, [r7, #8] @ movhi + 817:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data + 11739 .loc 1 817 7 is_stmt 1 view .LVU3782 + 817:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data + 11740 .loc 1 817 31 is_stmt 0 view .LVU3783 + 11741 0980 3389 ldrh r3, [r6, #8] + 817:Src/main.c **** Long_Data[2] = LD2_param.POWER;//Translate Data from monitor photodiode of LD2 to Long_Data + 11742 .loc 1 817 20 view .LVU3784 + 11743 0982 574C ldr r4, .L618+68 + 11744 0984 6380 strh r3, [r4, #2] @ movhi + 818:Src/main.c **** + 11745 .loc 1 818 7 is_stmt 1 view .LVU3785 + 818:Src/main.c **** + 11746 .loc 1 818 20 is_stmt 0 view .LVU3786 + 11747 0986 A080 strh r0, [r4, #4] @ movhi + 822:Src/main.c **** temp16 = Get_ADC(1); + 11748 .loc 1 822 7 is_stmt 1 view .LVU3787 + 822:Src/main.c **** temp16 = Get_ADC(1); + 11749 .loc 1 822 16 is_stmt 0 view .LVU3788 + 11750 0988 0020 movs r0, #0 + 11751 098a FFF7FEFF bl Get_ADC + 11752 .LVL1034: + 822:Src/main.c **** temp16 = Get_ADC(1); + 11753 .loc 1 822 14 discriminator 1 view .LVU3789 + 11754 098e 474D ldr r5, .L618+16 + 11755 0990 2880 strh r0, [r5] @ movhi + 823:Src/main.c **** Long_Data[7] = temp16; + 11756 .loc 1 823 7 is_stmt 1 view .LVU3790 + 823:Src/main.c **** Long_Data[7] = temp16; + 11757 .loc 1 823 16 is_stmt 0 view .LVU3791 + 11758 0992 0120 movs r0, #1 + 11759 0994 FFF7FEFF bl Get_ADC + 11760 .LVL1035: + 823:Src/main.c **** Long_Data[7] = temp16; + 11761 .loc 1 823 14 discriminator 1 view .LVU3792 + 11762 0998 2880 strh r0, [r5] @ movhi + 824:Src/main.c **** + 11763 .loc 1 824 7 is_stmt 1 view .LVU3793 + 824:Src/main.c **** + 11764 .loc 1 824 20 is_stmt 0 view .LVU3794 + 11765 099a E081 strh r0, [r4, #14] @ movhi + 827:Src/main.c **** Long_Data[8] = temp16; + 11766 .loc 1 827 7 is_stmt 1 view .LVU3795 + 827:Src/main.c **** Long_Data[8] = temp16; + 11767 .loc 1 827 16 is_stmt 0 view .LVU3796 + 11768 099c 0120 movs r0, #1 + ARM GAS /tmp/ccwR4KB7.s page 616 + + + 11769 099e FFF7FEFF bl Get_ADC + 11770 .LVL1036: + 827:Src/main.c **** Long_Data[8] = temp16; + 11771 .loc 1 827 14 discriminator 1 view .LVU3797 + 11772 09a2 2880 strh r0, [r5] @ movhi + 828:Src/main.c **** + 11773 .loc 1 828 7 is_stmt 1 view .LVU3798 + 828:Src/main.c **** + 11774 .loc 1 828 20 is_stmt 0 view .LVU3799 + 11775 09a4 2082 strh r0, [r4, #16] @ movhi + 831:Src/main.c **** Long_Data[9] = temp16; + 11776 .loc 1 831 7 is_stmt 1 view .LVU3800 + 831:Src/main.c **** Long_Data[9] = temp16; + 11777 .loc 1 831 16 is_stmt 0 view .LVU3801 + 11778 09a6 0120 movs r0, #1 + 11779 09a8 FFF7FEFF bl Get_ADC + 11780 .LVL1037: + 831:Src/main.c **** Long_Data[9] = temp16; + 11781 .loc 1 831 14 discriminator 1 view .LVU3802 + 11782 09ac 2880 strh r0, [r5] @ movhi + 832:Src/main.c **** + 11783 .loc 1 832 7 is_stmt 1 view .LVU3803 + 832:Src/main.c **** + 11784 .loc 1 832 20 is_stmt 0 view .LVU3804 + 11785 09ae 6082 strh r0, [r4, #18] @ movhi + 835:Src/main.c **** Long_Data[10] = temp16; + 11786 .loc 1 835 7 is_stmt 1 view .LVU3805 + 835:Src/main.c **** Long_Data[10] = temp16; + 11787 .loc 1 835 16 is_stmt 0 view .LVU3806 + 11788 09b0 0120 movs r0, #1 + 11789 09b2 FFF7FEFF bl Get_ADC + 11790 .LVL1038: + 835:Src/main.c **** Long_Data[10] = temp16; + 11791 .loc 1 835 14 discriminator 1 view .LVU3807 + 11792 09b6 2880 strh r0, [r5] @ movhi + 836:Src/main.c **** + 11793 .loc 1 836 7 is_stmt 1 view .LVU3808 + 836:Src/main.c **** + 11794 .loc 1 836 21 is_stmt 0 view .LVU3809 + 11795 09b8 A082 strh r0, [r4, #20] @ movhi + 839:Src/main.c **** Long_Data[11] = temp16; + 11796 .loc 1 839 7 is_stmt 1 view .LVU3810 + 839:Src/main.c **** Long_Data[11] = temp16; + 11797 .loc 1 839 16 is_stmt 0 view .LVU3811 + 11798 09ba 0120 movs r0, #1 + 11799 09bc FFF7FEFF bl Get_ADC + 11800 .LVL1039: + 839:Src/main.c **** Long_Data[11] = temp16; + 11801 .loc 1 839 14 discriminator 1 view .LVU3812 + 11802 09c0 2880 strh r0, [r5] @ movhi + 840:Src/main.c **** temp16 = Get_ADC(2); + 11803 .loc 1 840 7 is_stmt 1 view .LVU3813 + 840:Src/main.c **** temp16 = Get_ADC(2); + 11804 .loc 1 840 21 is_stmt 0 view .LVU3814 + 11805 09c2 E082 strh r0, [r4, #22] @ movhi + 841:Src/main.c **** + 11806 .loc 1 841 7 is_stmt 1 view .LVU3815 + ARM GAS /tmp/ccwR4KB7.s page 617 + + + 841:Src/main.c **** + 11807 .loc 1 841 16 is_stmt 0 view .LVU3816 + 11808 09c4 0220 movs r0, #2 + 11809 09c6 FFF7FEFF bl Get_ADC + 11810 .LVL1040: + 841:Src/main.c **** + 11811 .loc 1 841 14 discriminator 1 view .LVU3817 + 11812 09ca 2880 strh r0, [r5] @ movhi + 844:Src/main.c **** temp16 = Get_ADC(4); + 11813 .loc 1 844 7 is_stmt 1 view .LVU3818 + 844:Src/main.c **** temp16 = Get_ADC(4); + 11814 .loc 1 844 16 is_stmt 0 view .LVU3819 + 11815 09cc 0320 movs r0, #3 + 11816 09ce FFF7FEFF bl Get_ADC + 11817 .LVL1041: + 844:Src/main.c **** temp16 = Get_ADC(4); + 11818 .loc 1 844 14 discriminator 1 view .LVU3820 + 11819 09d2 2880 strh r0, [r5] @ movhi + 845:Src/main.c **** Long_Data[12] = temp16; + 11820 .loc 1 845 7 is_stmt 1 view .LVU3821 + 845:Src/main.c **** Long_Data[12] = temp16; + 11821 .loc 1 845 16 is_stmt 0 view .LVU3822 + 11822 09d4 0420 movs r0, #4 + 11823 09d6 FFF7FEFF bl Get_ADC + 11824 .LVL1042: + 845:Src/main.c **** Long_Data[12] = temp16; + 11825 .loc 1 845 14 discriminator 1 view .LVU3823 + 11826 09da 2880 strh r0, [r5] @ movhi + 846:Src/main.c **** temp16 = Get_ADC(5); + 11827 .loc 1 846 7 is_stmt 1 view .LVU3824 + 846:Src/main.c **** temp16 = Get_ADC(5); + 11828 .loc 1 846 21 is_stmt 0 view .LVU3825 + 11829 09dc 2083 strh r0, [r4, #24] @ movhi + 847:Src/main.c **** + 11830 .loc 1 847 7 is_stmt 1 view .LVU3826 + 847:Src/main.c **** + 11831 .loc 1 847 16 is_stmt 0 view .LVU3827 + 11832 09de 0520 movs r0, #5 + 11833 09e0 FFF7FEFF bl Get_ADC + 11834 .LVL1043: + 847:Src/main.c **** + 11835 .loc 1 847 14 discriminator 1 view .LVU3828 + 11836 09e4 2880 strh r0, [r5] @ movhi + 850:Src/main.c **** Long_Data[3] = (TO6_stop)&0xffff; + 11837 .loc 1 850 7 is_stmt 1 view .LVU3829 + 850:Src/main.c **** Long_Data[3] = (TO6_stop)&0xffff; + 11838 .loc 1 850 16 is_stmt 0 view .LVU3830 + 11839 09e6 3F4B ldr r3, .L618+72 + 11840 09e8 1B68 ldr r3, [r3] + 11841 09ea 3F4A ldr r2, .L618+76 + 11842 09ec 1360 str r3, [r2] + 851:Src/main.c **** Long_Data[4] = (TO6_stop>>16)&0xffff; + 11843 .loc 1 851 7 is_stmt 1 view .LVU3831 + 851:Src/main.c **** Long_Data[4] = (TO6_stop>>16)&0xffff; + 11844 .loc 1 851 20 is_stmt 0 view .LVU3832 + 11845 09ee E380 strh r3, [r4, #6] @ movhi + 852:Src/main.c **** + ARM GAS /tmp/ccwR4KB7.s page 618 + + + 11846 .loc 1 852 7 is_stmt 1 view .LVU3833 + 852:Src/main.c **** + 11847 .loc 1 852 31 is_stmt 0 view .LVU3834 + 11848 09f0 1B0C lsrs r3, r3, #16 + 852:Src/main.c **** + 11849 .loc 1 852 20 view .LVU3835 + 11850 09f2 2381 strh r3, [r4, #8] @ movhi + 855:Src/main.c **** + 11851 .loc 1 855 7 is_stmt 1 view .LVU3836 + 855:Src/main.c **** + 11852 .loc 1 855 31 is_stmt 0 view .LVU3837 + 11853 09f4 3388 ldrh r3, [r6] + 855:Src/main.c **** + 11854 .loc 1 855 20 view .LVU3838 + 11855 09f6 6381 strh r3, [r4, #10] @ movhi + 858:Src/main.c **** } + 11856 .loc 1 858 7 is_stmt 1 view .LVU3839 + 858:Src/main.c **** } + 11857 .loc 1 858 31 is_stmt 0 view .LVU3840 + 11858 09f8 3B88 ldrh r3, [r7] + 858:Src/main.c **** } + 11859 .loc 1 858 20 view .LVU3841 + 11860 09fa A381 strh r3, [r4, #12] @ movhi + 11861 09fc D4E5 b .L585 + 11862 .L587: + 886:Src/main.c **** Long_Data[DL_16-1] = CS_result; + 11863 .loc 1 886 5 is_stmt 1 view .LVU3842 + 886:Src/main.c **** Long_Data[DL_16-1] = CS_result; + 11864 .loc 1 886 17 is_stmt 0 view .LVU3843 + 11865 09fe 3B4C ldr r4, .L618+80 + 11866 0a00 0D21 movs r1, #13 + 11867 0a02 2046 mov r0, r4 + 11868 0a04 FFF7FEFF bl CalculateChecksum + 11869 .LVL1044: + 886:Src/main.c **** Long_Data[DL_16-1] = CS_result; + 11870 .loc 1 886 15 discriminator 1 view .LVU3844 + 11871 0a08 394B ldr r3, .L618+84 + 11872 0a0a 1880 strh r0, [r3] @ movhi + 887:Src/main.c **** + 11873 .loc 1 887 5 is_stmt 1 view .LVU3845 + 887:Src/main.c **** + 11874 .loc 1 887 24 is_stmt 0 view .LVU3846 + 11875 0a0c 6083 strh r0, [r4, #26] @ movhi + 889:Src/main.c **** { + 11876 .loc 1 889 5 is_stmt 1 view .LVU3847 + 11877 .LBB671: + 889:Src/main.c **** { + 11878 .loc 1 889 10 view .LVU3848 + 11879 .LVL1045: + 889:Src/main.c **** { + 11880 .loc 1 889 19 is_stmt 0 view .LVU3849 + 11881 0a0e 0023 movs r3, #0 + 889:Src/main.c **** { + 11882 .loc 1 889 5 view .LVU3850 + 11883 0a10 0BE0 b .L590 + 11884 .LVL1046: + 11885 .L591: + ARM GAS /tmp/ccwR4KB7.s page 619 + + + 891:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; + 11886 .loc 1 891 6 is_stmt 1 view .LVU3851 + 891:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; + 11887 .loc 1 891 33 is_stmt 0 view .LVU3852 + 11888 0a12 334A ldr r2, .L618+68 + 11889 0a14 32F81320 ldrh r2, [r2, r3, lsl #1] + 891:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; + 11890 .loc 1 891 17 view .LVU3853 + 11891 0a18 5900 lsls r1, r3, #1 + 891:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; + 11892 .loc 1 891 21 view .LVU3854 + 11893 0a1a 3648 ldr r0, .L618+88 + 11894 0a1c 00F81320 strb r2, [r0, r3, lsl #1] + 892:Src/main.c **** } + 11895 .loc 1 892 6 is_stmt 1 view .LVU3855 + 892:Src/main.c **** } + 11896 .loc 1 892 19 is_stmt 0 view .LVU3856 + 11897 0a20 0131 adds r1, r1, #1 + 892:Src/main.c **** } + 11898 .loc 1 892 23 view .LVU3857 + 11899 0a22 120A lsrs r2, r2, #8 + 11900 0a24 4254 strb r2, [r0, r1] + 889:Src/main.c **** { + 11901 .loc 1 889 38 is_stmt 1 discriminator 3 view .LVU3858 + 11902 0a26 0133 adds r3, r3, #1 + 11903 .LVL1047: + 889:Src/main.c **** { + 11904 .loc 1 889 38 is_stmt 0 discriminator 3 view .LVU3859 + 11905 0a28 9BB2 uxth r3, r3 + 11906 .LVL1048: + 11907 .L590: + 889:Src/main.c **** { + 11908 .loc 1 889 28 is_stmt 1 discriminator 1 view .LVU3860 + 11909 0a2a 0E2B cmp r3, #14 + 11910 0a2c F1D9 bls .L591 + 11911 .LBE671: + 899:Src/main.c **** UART_transmission_request = NO_MESS; + 11912 .loc 1 899 5 view .LVU3861 + 11913 0a2e 1E20 movs r0, #30 + 11914 0a30 FFF7FEFF bl USART_TX_DMA + 11915 .LVL1049: + 900:Src/main.c **** break; + 11916 .loc 1 900 5 view .LVU3862 + 900:Src/main.c **** break; + 11917 .loc 1 900 31 is_stmt 0 view .LVU3863 + 11918 0a34 304B ldr r3, .L618+92 + 11919 0a36 0022 movs r2, #0 + 11920 0a38 1A70 strb r2, [r3] + 901:Src/main.c **** case MESS_03://Transmith saved packet + 11921 .loc 1 901 4 is_stmt 1 view .LVU3864 + 11922 0a3a FFF76EBB b .L589 + 11923 .LVL1050: + 11924 .L592: + 11925 .LBB672: + 905:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; + 11926 .loc 1 905 6 view .LVU3865 + 905:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; + ARM GAS /tmp/ccwR4KB7.s page 620 + + + 11927 .loc 1 905 33 is_stmt 0 view .LVU3866 + 11928 0a3e 284A ldr r2, .L618+68 + 11929 0a40 32F81320 ldrh r2, [r2, r3, lsl #1] + 905:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; + 11930 .loc 1 905 17 view .LVU3867 + 11931 0a44 5900 lsls r1, r3, #1 + 905:Src/main.c **** UART_DATA[i*2+1] = (Long_Data[i]>>8)&0xff; + 11932 .loc 1 905 21 view .LVU3868 + 11933 0a46 2B48 ldr r0, .L618+88 + 11934 0a48 00F81320 strb r2, [r0, r3, lsl #1] + 906:Src/main.c **** } + 11935 .loc 1 906 6 is_stmt 1 view .LVU3869 + 906:Src/main.c **** } + 11936 .loc 1 906 19 is_stmt 0 view .LVU3870 + 11937 0a4c 0131 adds r1, r1, #1 + 906:Src/main.c **** } + 11938 .loc 1 906 23 view .LVU3871 + 11939 0a4e 120A lsrs r2, r2, #8 + 11940 0a50 4254 strb r2, [r0, r1] + 903:Src/main.c **** { + 11941 .loc 1 903 38 is_stmt 1 discriminator 3 view .LVU3872 + 11942 0a52 0133 adds r3, r3, #1 + 11943 .LVL1051: + 903:Src/main.c **** { + 11944 .loc 1 903 38 is_stmt 0 discriminator 3 view .LVU3873 + 11945 0a54 9BB2 uxth r3, r3 + 11946 .LVL1052: + 11947 .L588: + 903:Src/main.c **** { + 11948 .loc 1 903 28 is_stmt 1 discriminator 1 view .LVU3874 + 11949 0a56 0E2B cmp r3, #14 + 11950 0a58 F1D9 bls .L592 + 11951 .LBE672: + 912:Src/main.c **** UART_transmission_request = NO_MESS; + 11952 .loc 1 912 5 view .LVU3875 + 11953 0a5a 1E20 movs r0, #30 + 11954 0a5c FFF7FEFF bl USART_TX_DMA + 11955 .LVL1053: + 913:Src/main.c **** break; + 11956 .loc 1 913 5 view .LVU3876 + 913:Src/main.c **** break; + 11957 .loc 1 913 31 is_stmt 0 view .LVU3877 + 11958 0a60 254B ldr r3, .L618+92 + 11959 0a62 0022 movs r2, #0 + 11960 0a64 1A70 strb r2, [r3] + 914:Src/main.c **** } + 11961 .loc 1 914 4 is_stmt 1 view .LVU3878 + 11962 0a66 FFF758BB b .L589 + 11963 .LVL1054: + 11964 .L598: + 874:Src/main.c **** { + 11965 .loc 1 874 3 is_stmt 0 view .LVU3879 + 11966 0a6a 0023 movs r3, #0 + 11967 0a6c F3E7 b .L588 + 11968 .L601: + 916:Src/main.c **** { + 11969 .loc 1 916 28 discriminator 1 view .LVU3880 + ARM GAS /tmp/ccwR4KB7.s page 621 + + + 11970 0a6e 1D4B ldr r3, .L618+72 + 11971 0a70 1B68 ldr r3, [r3] + 11972 0a72 224A ldr r2, .L618+96 + 11973 0a74 1268 ldr r2, [r2] + 11974 0a76 9B1A subs r3, r3, r2 + 916:Src/main.c **** { + 11975 .loc 1 916 21 discriminator 1 view .LVU3881 + 11976 0a78 642B cmp r3, #100 + 11977 0a7a 7FF653AB bls .L535 + 918:Src/main.c **** State_Data[0] |= UART_ERR;//timeout error! + 11978 .loc 1 918 4 is_stmt 1 view .LVU3882 + 918:Src/main.c **** State_Data[0] |= UART_ERR;//timeout error! + 11979 .loc 1 918 18 is_stmt 0 view .LVU3883 + 11980 0a7e 0022 movs r2, #0 + 11981 0a80 1F4B ldr r3, .L618+100 + 11982 0a82 1A80 strh r2, [r3] @ movhi + 919:Src/main.c **** UART_transmission_request = MESS_01;//Send status + 11983 .loc 1 919 4 is_stmt 1 view .LVU3884 + 919:Src/main.c **** UART_transmission_request = MESS_01;//Send status + 11984 .loc 1 919 14 is_stmt 0 view .LVU3885 + 11985 0a84 1F49 ldr r1, .L618+104 + 11986 0a86 0B78 ldrb r3, [r1] @ zero_extendqisi2 + 919:Src/main.c **** UART_transmission_request = MESS_01;//Send status + 11987 .loc 1 919 18 view .LVU3886 + 11988 0a88 43F00203 orr r3, r3, #2 + 11989 0a8c 0B70 strb r3, [r1] + 920:Src/main.c **** flg_tmt = 0;//Reset timeout flag + 11990 .loc 1 920 4 is_stmt 1 view .LVU3887 + 920:Src/main.c **** flg_tmt = 0;//Reset timeout flag + 11991 .loc 1 920 30 is_stmt 0 view .LVU3888 + 11992 0a8e 1A4B ldr r3, .L618+92 + 11993 0a90 0121 movs r1, #1 + 11994 0a92 1970 strb r1, [r3] + 921:Src/main.c **** } + 11995 .loc 1 921 4 is_stmt 1 view .LVU3889 + 921:Src/main.c **** } + 11996 .loc 1 921 12 is_stmt 0 view .LVU3890 + 11997 0a94 1C4B ldr r3, .L618+108 + 11998 0a96 1A70 strb r2, [r3] + 11999 0a98 FFF744BB b .L535 + 12000 .L619: + 12001 .align 2 + 12002 .L618: + 12003 0a9c 00000000 .word task + 12004 0aa0 00000000 .word LD1_param + 12005 0aa4 00000000 .word LD2_param + 12006 0aa8 00000000 .word LD1_curr_setup + 12007 0aac 00000000 .word temp16 + 12008 0ab0 00000000 .word LD2_curr_setup + 12009 0ab4 00000000 .word LD_blinker + 12010 0ab8 00040240 .word 1073873920 + 12011 0abc 00040140 .word 1073808384 + 12012 0ac0 00000000 .word htim8 + 12013 0ac4 000C0240 .word 1073875968 + 12014 0ac8 00000000 .word htim10 + 12015 0acc 00000000 .word TIM10_coflag + 12016 0ad0 00000000 .word TO10 + ARM GAS /tmp/ccwR4KB7.s page 622 + + + 12017 0ad4 00000000 .word TIM10_period + 12018 0ad8 00000000 .word TO10_counter + 12019 0adc 00000000 .word TO7_before + 12020 0ae0 00000000 .word Long_Data + 12021 0ae4 00000000 .word TO6 + 12022 0ae8 00000000 .word TO6_stop + 12023 0aec 02000000 .word Long_Data+2 + 12024 0af0 00000000 .word CS_result + 12025 0af4 00000000 .word UART_DATA + 12026 0af8 00000000 .word UART_transmission_request + 12027 0afc 00000000 .word TO6_uart + 12028 0b00 00000000 .word UART_rec_incr + 12029 0b04 00000000 .word State_Data + 12030 0b08 00000000 .word flg_tmt + 12031 .cfi_endproc + 12032 .LFE1186: + 12034 .section .rodata.ad9102_example2_regval,"a" + 12035 .align 2 + 12038 ad9102_example2_regval: + 12039 0000 0000 .short 0 + 12040 0002 000E .short 3584 + 12041 0004 0000 .short 0 + 12042 0006 0000 .short 0 + 12043 0008 0000 .short 0 + 12044 000a 0000 .short 0 + 12045 000c 0000 .short 0 + 12046 000e 0040 .short 16384 + 12047 0010 0000 .short 0 + 12048 0012 0000 .short 0 + 12049 0014 0000 .short 0 + 12050 0016 0000 .short 0 + 12051 0018 001F .short 7936 + 12052 001a 0000 .short 0 + 12053 001c 0000 .short 0 + 12054 001e 0000 .short 0 + 12055 0020 0E00 .short 14 + 12056 0022 0000 .short 0 + 12057 0024 0000 .short 0 + 12058 0026 0000 .short 0 + 12059 0028 0000 .short 0 + 12060 002a 0000 .short 0 + 12061 002c 3030 .short 12336 + 12062 002e 1101 .short 273 + 12063 0030 FFFF .short -1 + 12064 0032 0000 .short 0 + 12065 0034 0101 .short 257 + 12066 0036 0300 .short 3 + 12067 0038 0000 .short 0 + 12068 003a 0000 .short 0 + 12069 003c 0000 .short 0 + 12070 003e 0000 .short 0 + 12071 0040 0000 .short 0 + 12072 0042 0000 .short 0 + 12073 0044 0000 .short 0 + 12074 0046 0000 .short 0 + 12075 0048 0040 .short 16384 + 12076 004a 0000 .short 0 + ARM GAS /tmp/ccwR4KB7.s page 623 + + + 12077 004c 0002 .short 512 + 12078 004e 0000 .short 0 + 12079 0050 0000 .short 0 + 12080 0052 0000 .short 0 + 12081 0054 0000 .short 0 + 12082 0056 0000 .short 0 + 12083 0058 0000 .short 0 + 12084 005a 0000 .short 0 + 12085 005c 0000 .short 0 + 12086 005e 0000 .short 0 + 12087 0060 0000 .short 0 + 12088 0062 0000 .short 0 + 12089 0064 0000 .short 0 + 12090 0066 0000 .short 0 + 12091 0068 0000 .short 0 + 12092 006a 0000 .short 0 + 12093 006c 0000 .short 0 + 12094 006e 0000 .short 0 + 12095 0070 0000 .short 0 + 12096 0072 0000 .short 0 + 12097 0074 0000 .short 0 + 12098 0076 0000 .short 0 + 12099 0078 A00F .short 4000 + 12100 007a 0000 .short 0 + 12101 007c F03F .short 16368 + 12102 007e 0001 .short 256 + 12103 0080 0100 .short 1 + 12104 0082 0100 .short 1 + 12105 .section .rodata.ad9102_example4_regval,"a" + 12106 .align 2 + 12109 ad9102_example4_regval: + 12110 0000 0000 .short 0 + 12111 0002 0000 .short 0 + 12112 0004 0000 .short 0 + 12113 0006 0000 .short 0 + 12114 0008 0000 .short 0 + 12115 000a 0000 .short 0 + 12116 000c 0000 .short 0 + 12117 000e 0040 .short 16384 + 12118 0010 0000 .short 0 + 12119 0012 0000 .short 0 + 12120 0014 0000 .short 0 + 12121 0016 0000 .short 0 + 12122 0018 001F .short 7936 + 12123 001a 0000 .short 0 + 12124 001c 0000 .short 0 + 12125 001e 0000 .short 0 + 12126 0020 0E00 .short 14 + 12127 0022 0000 .short 0 + 12128 0024 0000 .short 0 + 12129 0026 0000 .short 0 + 12130 0028 0000 .short 0 + 12131 002a 0000 .short 0 + 12132 002c 1232 .short 12818 + 12133 002e 2101 .short 289 + 12134 0030 FFFF .short -1 + 12135 0032 0000 .short 0 + ARM GAS /tmp/ccwR4KB7.s page 624 + + + 12136 0034 0101 .short 257 + 12137 0036 0300 .short 3 + 12138 0038 0000 .short 0 + 12139 003a 0000 .short 0 + 12140 003c 0000 .short 0 + 12141 003e 0000 .short 0 + 12142 0040 0000 .short 0 + 12143 0042 0000 .short 0 + 12144 0044 0000 .short 0 + 12145 0046 0000 .short 0 + 12146 0048 0040 .short 16384 + 12147 004a 0000 .short 0 + 12148 004c 0606 .short 1542 + 12149 004e 9919 .short 6553 + 12150 0050 009A .short -26112 + 12151 0052 0000 .short 0 + 12152 0054 0000 .short 0 + 12153 0056 0000 .short 0 + 12154 0058 0000 .short 0 + 12155 005a 0000 .short 0 + 12156 005c 0000 .short 0 + 12157 005e 0000 .short 0 + 12158 0060 A00F .short 4000 + 12159 0062 0000 .short 0 + 12160 0064 0000 .short 0 + 12161 0066 0000 .short 0 + 12162 0068 0000 .short 0 + 12163 006a 0000 .short 0 + 12164 006c 0000 .short 0 + 12165 006e 0000 .short 0 + 12166 0070 0000 .short 0 + 12167 0072 0000 .short 0 + 12168 0074 0000 .short 0 + 12169 0076 0000 .short 0 + 12170 0078 0000 .short 0 + 12171 007a 0000 .short 0 + 12172 007c 0000 .short 0 + 12173 007e FF16 .short 5887 + 12174 0080 0100 .short 1 + 12175 0082 0100 .short 1 + 12176 .section .rodata.ad9102_reg_addr,"a" + 12177 .align 2 + 12180 ad9102_reg_addr: + 12181 0000 0000 .short 0 + 12182 0002 0100 .short 1 + 12183 0004 0200 .short 2 + 12184 0006 0300 .short 3 + 12185 0008 0400 .short 4 + 12186 000a 0500 .short 5 + 12187 000c 0600 .short 6 + 12188 000e 0700 .short 7 + 12189 0010 0800 .short 8 + 12190 0012 0900 .short 9 + 12191 0014 0A00 .short 10 + 12192 0016 0B00 .short 11 + 12193 0018 0C00 .short 12 + 12194 001a 0D00 .short 13 + ARM GAS /tmp/ccwR4KB7.s page 625 + + + 12195 001c 0E00 .short 14 + 12196 001e 1F00 .short 31 + 12197 0020 2000 .short 32 + 12198 0022 2200 .short 34 + 12199 0024 2300 .short 35 + 12200 0026 2400 .short 36 + 12201 0028 2500 .short 37 + 12202 002a 2600 .short 38 + 12203 002c 2700 .short 39 + 12204 002e 2800 .short 40 + 12205 0030 2900 .short 41 + 12206 0032 2A00 .short 42 + 12207 0034 2B00 .short 43 + 12208 0036 2C00 .short 44 + 12209 0038 2D00 .short 45 + 12210 003a 2E00 .short 46 + 12211 003c 2F00 .short 47 + 12212 003e 3000 .short 48 + 12213 0040 3100 .short 49 + 12214 0042 3200 .short 50 + 12215 0044 3300 .short 51 + 12216 0046 3400 .short 52 + 12217 0048 3500 .short 53 + 12218 004a 3600 .short 54 + 12219 004c 3700 .short 55 + 12220 004e 3E00 .short 62 + 12221 0050 3F00 .short 63 + 12222 0052 4000 .short 64 + 12223 0054 4100 .short 65 + 12224 0056 4200 .short 66 + 12225 0058 4300 .short 67 + 12226 005a 4400 .short 68 + 12227 005c 4500 .short 69 + 12228 005e 4700 .short 71 + 12229 0060 5000 .short 80 + 12230 0062 5100 .short 81 + 12231 0064 5200 .short 82 + 12232 0066 5300 .short 83 + 12233 0068 5400 .short 84 + 12234 006a 5500 .short 85 + 12235 006c 5600 .short 86 + 12236 006e 5700 .short 87 + 12237 0070 5800 .short 88 + 12238 0072 5900 .short 89 + 12239 0074 5A00 .short 90 + 12240 0076 5B00 .short 91 + 12241 0078 5C00 .short 92 + 12242 007a 5D00 .short 93 + 12243 007c 5E00 .short 94 + 12244 007e 5F00 .short 95 + 12245 0080 1E00 .short 30 + 12246 0082 1D00 .short 29 + 12247 .global task + 12248 .section .bss.task,"aw",%nobits + 12249 .align 2 + 12252 task: + 12253 0000 00000000 .space 52 + ARM GAS /tmp/ccwR4KB7.s page 626 + + + 12253 00000000 + 12253 00000000 + 12253 00000000 + 12253 00000000 + 12254 .global LD_blinker + 12255 .section .bss.LD_blinker,"aw",%nobits + 12256 .align 2 + 12259 LD_blinker: + 12260 0000 00000000 .space 12 + 12260 00000000 + 12260 00000000 + 12261 .global LD2_param + 12262 .section .bss.LD2_param,"aw",%nobits + 12263 .align 2 + 12266 LD2_param: + 12267 0000 00000000 .space 12 + 12267 00000000 + 12267 00000000 + 12268 .global LD1_param + 12269 .section .bss.LD1_param,"aw",%nobits + 12270 .align 2 + 12273 LD1_param: + 12274 0000 00000000 .space 12 + 12274 00000000 + 12274 00000000 + 12275 .global Def_setup + 12276 .section .bss.Def_setup,"aw",%nobits + 12277 .align 2 + 12280 Def_setup: + 12281 0000 00000000 .space 18 + 12281 00000000 + 12281 00000000 + 12281 00000000 + 12281 0000 + 12282 .global Curr_setup + 12283 .section .bss.Curr_setup,"aw",%nobits + 12284 .align 2 + 12287 Curr_setup: + 12288 0000 00000000 .space 18 + 12288 00000000 + 12288 00000000 + 12288 00000000 + 12288 0000 + 12289 .global LD2_def_setup + 12290 .section .bss.LD2_def_setup,"aw",%nobits + 12291 .align 2 + 12294 LD2_def_setup: + 12295 0000 00000000 .space 16 + 12295 00000000 + 12295 00000000 + 12295 00000000 + 12296 .global LD1_def_setup + 12297 .section .bss.LD1_def_setup,"aw",%nobits + 12298 .align 2 + 12301 LD1_def_setup: + 12302 0000 00000000 .space 16 + 12302 00000000 + ARM GAS /tmp/ccwR4KB7.s page 627 + + + 12302 00000000 + 12302 00000000 + 12303 .global LD2_curr_setup + 12304 .section .bss.LD2_curr_setup,"aw",%nobits + 12305 .align 2 + 12308 LD2_curr_setup: + 12309 0000 00000000 .space 16 + 12309 00000000 + 12309 00000000 + 12309 00000000 + 12310 .global LD1_curr_setup + 12311 .section .bss.LD1_curr_setup,"aw",%nobits + 12312 .align 2 + 12315 LD1_curr_setup: + 12316 0000 00000000 .space 16 + 12316 00000000 + 12316 00000000 + 12316 00000000 + 12317 .global sizeoffile + 12318 .section .bss.sizeoffile,"aw",%nobits + 12319 .align 2 + 12322 sizeoffile: + 12323 0000 00000000 .space 4 + 12324 .global fgoto + 12325 .section .bss.fgoto,"aw",%nobits + 12326 .align 2 + 12329 fgoto: + 12330 0000 00000000 .space 4 + 12331 .global test + 12332 .section .bss.test,"aw",%nobits + 12333 .align 2 + 12336 test: + 12337 0000 00000000 .space 4 + 12338 .global fresult + 12339 .section .bss.fresult,"aw",%nobits + 12342 fresult: + 12343 0000 00 .space 1 + 12344 .global COMMAND + 12345 .section .bss.COMMAND,"aw",%nobits + 12346 .align 2 + 12349 COMMAND: + 12350 0000 00000000 .space 30 + 12350 00000000 + 12350 00000000 + 12350 00000000 + 12350 00000000 + 12351 .global Long_Data + 12352 .section .bss.Long_Data,"aw",%nobits + 12353 .align 2 + 12356 Long_Data: + 12357 0000 00000000 .space 30 + 12357 00000000 + 12357 00000000 + 12357 00000000 + 12357 00000000 + 12358 .global temp16 + 12359 .section .bss.temp16,"aw",%nobits + ARM GAS /tmp/ccwR4KB7.s page 628 + + + 12360 .align 1 + 12363 temp16: + 12364 0000 0000 .space 2 + 12365 .global CS_result + 12366 .section .bss.CS_result,"aw",%nobits + 12367 .align 1 + 12370 CS_result: + 12371 0000 0000 .space 2 + 12372 .global UART_header + 12373 .section .bss.UART_header,"aw",%nobits + 12374 .align 1 + 12377 UART_header: + 12378 0000 0000 .space 2 + 12379 .global UART_rec_incr + 12380 .section .bss.UART_rec_incr,"aw",%nobits + 12381 .align 1 + 12384 UART_rec_incr: + 12385 0000 0000 .space 2 + 12386 .global TIM10_coflag + 12387 .section .bss.TIM10_coflag,"aw",%nobits + 12390 TIM10_coflag: + 12391 0000 00 .space 1 + 12392 .global u_rx_flg + 12393 .section .bss.u_rx_flg,"aw",%nobits + 12396 u_rx_flg: + 12397 0000 00 .space 1 + 12398 .global u_tx_flg + 12399 .section .bss.u_tx_flg,"aw",%nobits + 12402 u_tx_flg: + 12403 0000 00 .space 1 + 12404 .global flg_tmt + 12405 .section .bss.flg_tmt,"aw",%nobits + 12408 flg_tmt: + 12409 0000 00 .space 1 + 12410 .global UART_DATA + 12411 .section .bss.UART_DATA,"aw",%nobits + 12412 .align 2 + 12415 UART_DATA: + 12416 0000 00000000 .space 30 + 12416 00000000 + 12416 00000000 + 12416 00000000 + 12416 00000000 + 12417 .global State_Data + 12418 .section .bss.State_Data,"aw",%nobits + 12419 .align 2 + 12422 State_Data: + 12423 0000 0000 .space 2 + 12424 .global UART_transmission_request + 12425 .section .bss.UART_transmission_request,"aw",%nobits + 12428 UART_transmission_request: + 12429 0000 00 .space 1 + 12430 .global CPU_state_old + 12431 .section .bss.CPU_state_old,"aw",%nobits + 12434 CPU_state_old: + 12435 0000 00 .space 1 + 12436 .global CPU_state + ARM GAS /tmp/ccwR4KB7.s page 629 + + + 12437 .section .bss.CPU_state,"aw",%nobits + 12440 CPU_state: + 12441 0000 00 .space 1 + 12442 .global uart_buf + 12443 .section .bss.uart_buf,"aw",%nobits + 12446 uart_buf: + 12447 0000 00 .space 1 + 12448 .global TIM10_period + 12449 .section .bss.TIM10_period,"aw",%nobits + 12450 .align 2 + 12453 TIM10_period: + 12454 0000 00000000 .space 4 + 12455 .global TO10_counter + 12456 .section .bss.TO10_counter,"aw",%nobits + 12457 .align 2 + 12460 TO10_counter: + 12461 0000 00000000 .space 4 + 12462 .global TO10 + 12463 .section .bss.TO10,"aw",%nobits + 12464 .align 2 + 12467 TO10: + 12468 0000 00000000 .space 4 + 12469 .global TO7_PID + 12470 .section .bss.TO7_PID,"aw",%nobits + 12471 .align 2 + 12474 TO7_PID: + 12475 0000 00000000 .space 4 + 12476 .global TO7_before + 12477 .section .bss.TO7_before,"aw",%nobits + 12478 .align 2 + 12481 TO7_before: + 12482 0000 00000000 .space 4 + 12483 .global TO7 + 12484 .section .bss.TO7,"aw",%nobits + 12485 .align 2 + 12488 TO7: + 12489 0000 00000000 .space 4 + 12490 .global temp32 + 12491 .section .bss.temp32,"aw",%nobits + 12492 .align 2 + 12495 temp32: + 12496 0000 00000000 .space 4 + 12497 .global SD_SLIDE + 12498 .section .bss.SD_SLIDE,"aw",%nobits + 12499 .align 2 + 12502 SD_SLIDE: + 12503 0000 00000000 .space 4 + 12504 .global SD_SEEK + 12505 .section .bss.SD_SEEK,"aw",%nobits + 12506 .align 2 + 12509 SD_SEEK: + 12510 0000 00000000 .space 4 + 12511 .global TO6_uart + 12512 .section .bss.TO6_uart,"aw",%nobits + 12513 .align 2 + 12516 TO6_uart: + 12517 0000 00000000 .space 4 + ARM GAS /tmp/ccwR4KB7.s page 630 + + + 12518 .global TO6_stop + 12519 .section .bss.TO6_stop,"aw",%nobits + 12520 .align 2 + 12523 TO6_stop: + 12524 0000 00000000 .space 4 + 12525 .global TO6_before + 12526 .section .bss.TO6_before,"aw",%nobits + 12527 .align 2 + 12530 TO6_before: + 12531 0000 00000000 .space 4 + 12532 .global TO6 + 12533 .section .bss.TO6,"aw",%nobits + 12534 .align 2 + 12537 TO6: + 12538 0000 00000000 .space 4 + 12539 .global huart8 + 12540 .section .bss.huart8,"aw",%nobits + 12541 .align 2 + 12544 huart8: + 12545 0000 00000000 .space 136 + 12545 00000000 + 12545 00000000 + 12545 00000000 + 12545 00000000 + 12546 .global htim11 + 12547 .section .bss.htim11,"aw",%nobits + 12548 .align 2 + 12551 htim11: + 12552 0000 00000000 .space 76 + 12552 00000000 + 12552 00000000 + 12552 00000000 + 12552 00000000 + 12553 .global htim10 + 12554 .section .bss.htim10,"aw",%nobits + 12555 .align 2 + 12558 htim10: + 12559 0000 00000000 .space 76 + 12559 00000000 + 12559 00000000 + 12559 00000000 + 12559 00000000 + 12560 .global htim8 + 12561 .section .bss.htim8,"aw",%nobits + 12562 .align 2 + 12565 htim8: + 12566 0000 00000000 .space 76 + 12566 00000000 + 12566 00000000 + 12566 00000000 + 12566 00000000 + 12567 .global htim4 + 12568 .section .bss.htim4,"aw",%nobits + 12569 .align 2 + 12572 htim4: + 12573 0000 00000000 .space 76 + 12573 00000000 + ARM GAS /tmp/ccwR4KB7.s page 631 + + + 12573 00000000 + 12573 00000000 + 12573 00000000 + 12574 .global hsd1 + 12575 .section .bss.hsd1,"aw",%nobits + 12576 .align 2 + 12579 hsd1: + 12580 0000 00000000 .space 132 + 12580 00000000 + 12580 00000000 + 12580 00000000 + 12580 00000000 + 12581 .global hadc3 + 12582 .section .bss.hadc3,"aw",%nobits + 12583 .align 2 + 12586 hadc3: + 12587 0000 00000000 .space 72 + 12587 00000000 + 12587 00000000 + 12587 00000000 + 12587 00000000 + 12588 .global hadc1 + 12589 .section .bss.hadc1,"aw",%nobits + 12590 .align 2 + 12593 hadc1: + 12594 0000 00000000 .space 72 + 12594 00000000 + 12594 00000000 + 12594 00000000 + 12594 00000000 + 12595 .text + 12596 .Letext0: + 12597 .file 9 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f767xx.h" + 12598 .file 10 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h" + 12599 .file 11 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f7xx.h" + 12600 .file 12 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h" + 12601 .file 13 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc_ex.h" + 12602 .file 14 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_rcc.h" + 12603 .file 15 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_gpio.h" + 12604 .file 16 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_dma.h" + 12605 .file 17 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_adc.h" + 12606 .file 18 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_sdmmc.h" + 12607 .file 19 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_sd.h" + 12608 .file 20 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim.h" + 12609 .file 21 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_uart.h" + 12610 .file 22 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_rcc.h" + 12611 .file 23 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_ll_gpio.h" + 12612 .file 24 "Inc/main.h" + 12613 .file 25 "Middlewares/Third_Party/FatFs/src/ff.h" + 12614 .file 26 "Inc/File_Handling.h" + 12615 .file 27 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_tim_ex.h" + 12616 .file 28 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_pwr_ex.h" + 12617 .file 29 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal.h" + 12618 .file 30 "Inc/fatfs.h" + 12619 .file 31 "" + ARM GAS /tmp/ccwR4KB7.s page 632 DEFINED SYMBOLS *ABS*:00000000 main.c - /tmp/ccYgfTud.s:20 .text.NVIC_EncodePriority:00000000 $t - /tmp/ccYgfTud.s:25 .text.NVIC_EncodePriority:00000000 NVIC_EncodePriority - /tmp/ccYgfTud.s:88 .text.MX_SDMMC1_SD_Init:00000000 $t - /tmp/ccYgfTud.s:93 .text.MX_SDMMC1_SD_Init:00000000 MX_SDMMC1_SD_Init - /tmp/ccYgfTud.s:131 .text.MX_SDMMC1_SD_Init:0000001c $d - /tmp/ccYgfTud.s:11627 .bss.hsd1:00000000 hsd1 - /tmp/ccYgfTud.s:137 .text.MX_DMA_Init:00000000 $t - /tmp/ccYgfTud.s:142 .text.MX_DMA_Init:00000000 MX_DMA_Init - /tmp/ccYgfTud.s:238 .text.MX_DMA_Init:0000003c $d - /tmp/ccYgfTud.s:245 .text.Decode_task:00000000 $t - /tmp/ccYgfTud.s:250 .text.Decode_task:00000000 Decode_task - /tmp/ccYgfTud.s:527 .text.Decode_task:00000150 $d - /tmp/ccYgfTud.s:11300 .bss.task:00000000 task - /tmp/ccYgfTud.s:11508 .bss.TO10_counter:00000000 TO10_counter - /tmp/ccYgfTud.s:537 .text.PID_Controller_Temp:00000000 $t - /tmp/ccYgfTud.s:542 .text.PID_Controller_Temp:00000000 PID_Controller_Temp - /tmp/ccYgfTud.s:711 .text.PID_Controller_Temp:000000cc $d - /tmp/ccYgfTud.s:11536 .bss.TO7:00000000 TO7 - /tmp/ccYgfTud.s:11522 .bss.TO7_PID:00000000 TO7_PID - /tmp/ccYgfTud.s:721 .text.AD9102_WriteReg:00000000 $t - /tmp/ccYgfTud.s:726 .text.AD9102_WriteReg:00000000 AD9102_WriteReg - /tmp/ccYgfTud.s:973 .text.AD9102_WriteReg:000000a8 $d - /tmp/ccYgfTud.s:979 .text.AD9102_WriteRegTable:00000000 $t - /tmp/ccYgfTud.s:984 .text.AD9102_WriteRegTable:00000000 AD9102_WriteRegTable - /tmp/ccYgfTud.s:1035 .text.AD9102_WriteRegTable:00000024 $d - /tmp/ccYgfTud.s:11228 .rodata.ad9102_reg_addr:00000000 ad9102_reg_addr - /tmp/ccYgfTud.s:1040 .text.AD9102_Init:00000000 $t - /tmp/ccYgfTud.s:1045 .text.AD9102_Init:00000000 AD9102_Init - /tmp/ccYgfTud.s:1126 .text.AD9102_Init:00000064 $d - /tmp/ccYgfTud.s:11157 .rodata.ad9102_example4_regval:00000000 ad9102_example4_regval - /tmp/ccYgfTud.s:1134 .text.AD9102_ReadReg:00000000 $t - /tmp/ccYgfTud.s:1139 .text.AD9102_ReadReg:00000000 AD9102_ReadReg - /tmp/ccYgfTud.s:1394 .text.AD9102_ReadReg:000000a8 $d - /tmp/ccYgfTud.s:1400 .text.AD9102_CheckFlags:00000000 $t - /tmp/ccYgfTud.s:1405 .text.AD9102_CheckFlags:00000000 AD9102_CheckFlags - /tmp/ccYgfTud.s:1635 .text.AD9102_Apply:00000000 $t - /tmp/ccYgfTud.s:1640 .text.AD9102_Apply:00000000 AD9102_Apply - /tmp/ccYgfTud.s:1811 .text.AD9102_Apply:000000b4 $d - /tmp/ccYgfTud.s:1816 .text.OUT_trigger:00000000 $t - /tmp/ccYgfTud.s:1821 .text.OUT_trigger:00000000 OUT_trigger - /tmp/ccYgfTud.s:1839 .text.OUT_trigger:0000000a $d - /tmp/ccYgfTud.s:1849 .text.OUT_trigger:00000014 $t - /tmp/ccYgfTud.s:2045 .text.OUT_trigger:0000011c $d - /tmp/ccYgfTud.s:2051 .text.MPhD_T:00000000 $t - /tmp/ccYgfTud.s:2056 .text.MPhD_T:00000000 MPhD_T - /tmp/ccYgfTud.s:2140 .text.MPhD_T:00000056 $d - /tmp/ccYgfTud.s:2144 .text.MPhD_T:0000005a $t - /tmp/ccYgfTud.s:2687 .text.MPhD_T:00000210 $d - /tmp/ccYgfTud.s:2697 .text.Stop_TIM10:00000000 $t - /tmp/ccYgfTud.s:2702 .text.Stop_TIM10:00000000 Stop_TIM10 - /tmp/ccYgfTud.s:2731 .text.Stop_TIM10:00000014 $d - /tmp/ccYgfTud.s:11606 .bss.htim10:00000000 htim10 - /tmp/ccYgfTud.s:11438 .bss.TIM10_coflag:00000000 TIM10_coflag - /tmp/ccYgfTud.s:11515 .bss.TO10:00000000 TO10 - /tmp/ccYgfTud.s:2738 .text.MX_GPIO_Init:00000000 $t - ARM GAS /tmp/ccYgfTud.s page 607 + /tmp/ccwR4KB7.s:20 .text.NVIC_EncodePriority:00000000 $t + /tmp/ccwR4KB7.s:25 .text.NVIC_EncodePriority:00000000 NVIC_EncodePriority + /tmp/ccwR4KB7.s:88 .text.MX_SDMMC1_SD_Init:00000000 $t + /tmp/ccwR4KB7.s:93 .text.MX_SDMMC1_SD_Init:00000000 MX_SDMMC1_SD_Init + /tmp/ccwR4KB7.s:131 .text.MX_SDMMC1_SD_Init:0000001c $d + /tmp/ccwR4KB7.s:12579 .bss.hsd1:00000000 hsd1 + /tmp/ccwR4KB7.s:137 .text.MX_DMA_Init:00000000 $t + /tmp/ccwR4KB7.s:142 .text.MX_DMA_Init:00000000 MX_DMA_Init + /tmp/ccwR4KB7.s:238 .text.MX_DMA_Init:0000003c $d + /tmp/ccwR4KB7.s:245 .text.Decode_task:00000000 $t + /tmp/ccwR4KB7.s:250 .text.Decode_task:00000000 Decode_task + /tmp/ccwR4KB7.s:527 .text.Decode_task:00000150 $d + /tmp/ccwR4KB7.s:12252 .bss.task:00000000 task + /tmp/ccwR4KB7.s:12460 .bss.TO10_counter:00000000 TO10_counter + /tmp/ccwR4KB7.s:537 .text.PID_Controller_Temp:00000000 $t + /tmp/ccwR4KB7.s:542 .text.PID_Controller_Temp:00000000 PID_Controller_Temp + /tmp/ccwR4KB7.s:711 .text.PID_Controller_Temp:000000cc $d + /tmp/ccwR4KB7.s:12488 .bss.TO7:00000000 TO7 + /tmp/ccwR4KB7.s:12474 .bss.TO7_PID:00000000 TO7_PID + /tmp/ccwR4KB7.s:721 .text.AD9102_WriteReg:00000000 $t + /tmp/ccwR4KB7.s:726 .text.AD9102_WriteReg:00000000 AD9102_WriteReg + /tmp/ccwR4KB7.s:973 .text.AD9102_WriteReg:000000a8 $d + /tmp/ccwR4KB7.s:979 .text.AD9102_WriteRegTable:00000000 $t + /tmp/ccwR4KB7.s:984 .text.AD9102_WriteRegTable:00000000 AD9102_WriteRegTable + /tmp/ccwR4KB7.s:1035 .text.AD9102_WriteRegTable:00000024 $d + /tmp/ccwR4KB7.s:12180 .rodata.ad9102_reg_addr:00000000 ad9102_reg_addr + /tmp/ccwR4KB7.s:1040 .text.AD9102_LoadSramRamp:00000000 $t + /tmp/ccwR4KB7.s:1045 .text.AD9102_LoadSramRamp:00000000 AD9102_LoadSramRamp + /tmp/ccwR4KB7.s:1296 .text.AD9102_LoadSramRamp:000000c0 $d + /tmp/ccwR4KB7.s:1301 .text.AD9102_Init:00000000 $t + /tmp/ccwR4KB7.s:1306 .text.AD9102_Init:00000000 AD9102_Init + /tmp/ccwR4KB7.s:1387 .text.AD9102_Init:00000064 $d + /tmp/ccwR4KB7.s:12109 .rodata.ad9102_example4_regval:00000000 ad9102_example4_regval + /tmp/ccwR4KB7.s:1395 .text.AD9102_ReadReg:00000000 $t + /tmp/ccwR4KB7.s:1400 .text.AD9102_ReadReg:00000000 AD9102_ReadReg + /tmp/ccwR4KB7.s:1655 .text.AD9102_ReadReg:000000a8 $d + /tmp/ccwR4KB7.s:1661 .text.AD9102_CheckFlagsSram:00000000 $t + /tmp/ccwR4KB7.s:1666 .text.AD9102_CheckFlagsSram:00000000 AD9102_CheckFlagsSram + /tmp/ccwR4KB7.s:1964 .text.AD9102_CheckFlags:00000000 $t + /tmp/ccwR4KB7.s:1969 .text.AD9102_CheckFlags:00000000 AD9102_CheckFlags + /tmp/ccwR4KB7.s:2199 .text.AD9102_ApplySram:00000000 $t + /tmp/ccwR4KB7.s:2204 .text.AD9102_ApplySram:00000000 AD9102_ApplySram + /tmp/ccwR4KB7.s:2457 .text.AD9102_ApplySram:0000012c $d + /tmp/ccwR4KB7.s:12038 .rodata.ad9102_example2_regval:00000000 ad9102_example2_regval + /tmp/ccwR4KB7.s:2463 .text.AD9102_Apply:00000000 $t + /tmp/ccwR4KB7.s:2468 .text.AD9102_Apply:00000000 AD9102_Apply + /tmp/ccwR4KB7.s:2639 .text.AD9102_Apply:000000b4 $d + /tmp/ccwR4KB7.s:2644 .text.OUT_trigger:00000000 $t + /tmp/ccwR4KB7.s:2649 .text.OUT_trigger:00000000 OUT_trigger + /tmp/ccwR4KB7.s:2667 .text.OUT_trigger:0000000a $d + /tmp/ccwR4KB7.s:2677 .text.OUT_trigger:00000014 $t + /tmp/ccwR4KB7.s:2873 .text.OUT_trigger:0000011c $d + /tmp/ccwR4KB7.s:2879 .text.MPhD_T:00000000 $t + /tmp/ccwR4KB7.s:2884 .text.MPhD_T:00000000 MPhD_T + /tmp/ccwR4KB7.s:2968 .text.MPhD_T:00000056 $d + ARM GAS /tmp/ccwR4KB7.s page 633 - /tmp/ccYgfTud.s:2743 .text.MX_GPIO_Init:00000000 MX_GPIO_Init - /tmp/ccYgfTud.s:3204 .text.MX_GPIO_Init:0000023c $d - /tmp/ccYgfTud.s:3216 .text.MX_SPI4_Init:00000000 $t - /tmp/ccYgfTud.s:3221 .text.MX_SPI4_Init:00000000 MX_SPI4_Init - /tmp/ccYgfTud.s:3426 .text.MX_SPI4_Init:000000c8 $d - /tmp/ccYgfTud.s:3433 .text.MX_SPI2_Init:00000000 $t - /tmp/ccYgfTud.s:3438 .text.MX_SPI2_Init:00000000 MX_SPI2_Init - /tmp/ccYgfTud.s:3666 .text.MX_SPI2_Init:000000dc $d - /tmp/ccYgfTud.s:3673 .text.MX_SPI5_Init:00000000 $t - /tmp/ccYgfTud.s:3678 .text.MX_SPI5_Init:00000000 MX_SPI5_Init - /tmp/ccYgfTud.s:3883 .text.MX_SPI5_Init:000000c4 $d - /tmp/ccYgfTud.s:3890 .text.MX_SPI6_Init:00000000 $t - /tmp/ccYgfTud.s:3895 .text.MX_SPI6_Init:00000000 MX_SPI6_Init - /tmp/ccYgfTud.s:4100 .text.MX_SPI6_Init:000000c4 $d - /tmp/ccYgfTud.s:4107 .text.MX_TIM2_Init:00000000 $t - /tmp/ccYgfTud.s:4112 .text.MX_TIM2_Init:00000000 MX_TIM2_Init - /tmp/ccYgfTud.s:4290 .text.MX_TIM2_Init:00000088 $d - /tmp/ccYgfTud.s:4299 .text.MX_TIM5_Init:00000000 $t - /tmp/ccYgfTud.s:4304 .text.MX_TIM5_Init:00000000 MX_TIM5_Init - /tmp/ccYgfTud.s:4481 .text.MX_TIM5_Init:00000084 $d - /tmp/ccYgfTud.s:4490 .text.MX_TIM7_Init:00000000 $t - /tmp/ccYgfTud.s:4495 .text.MX_TIM7_Init:00000000 MX_TIM7_Init - /tmp/ccYgfTud.s:4656 .text.MX_TIM7_Init:0000007c $d - /tmp/ccYgfTud.s:4664 .text.MX_TIM6_Init:00000000 $t - /tmp/ccYgfTud.s:4669 .text.MX_TIM6_Init:00000000 MX_TIM6_Init - /tmp/ccYgfTud.s:4830 .text.MX_TIM6_Init:0000007c $d - /tmp/ccYgfTud.s:4838 .rodata.Init_params.str1.4:00000000 $d - /tmp/ccYgfTud.s:4845 .text.Init_params:00000000 $t - /tmp/ccYgfTud.s:4850 .text.Init_params:00000000 Init_params - /tmp/ccYgfTud.s:5486 .text.Init_params:00000284 $d - /tmp/ccYgfTud.s:11585 .bss.TO6:00000000 TO6 - /tmp/ccYgfTud.s:11529 .bss.TO7_before:00000000 TO7_before - /tmp/ccYgfTud.s:11578 .bss.TO6_before:00000000 TO6_before - /tmp/ccYgfTud.s:11564 .bss.TO6_uart:00000000 TO6_uart - /tmp/ccYgfTud.s:11456 .bss.flg_tmt:00000000 flg_tmt - /tmp/ccYgfTud.s:11432 .bss.UART_rec_incr:00000000 UART_rec_incr - /tmp/ccYgfTud.s:11377 .bss.fgoto:00000000 fgoto - /tmp/ccYgfTud.s:11370 .bss.sizeoffile:00000000 sizeoffile - /tmp/ccYgfTud.s:11450 .bss.u_tx_flg:00000000 u_tx_flg - /tmp/ccYgfTud.s:11444 .bss.u_rx_flg:00000000 u_rx_flg - /tmp/ccYgfTud.s:11404 .bss.Long_Data:00000000 Long_Data - /tmp/ccYgfTud.s:11328 .bss.Def_setup:00000000 Def_setup - /tmp/ccYgfTud.s:11349 .bss.LD1_def_setup:00000000 LD1_def_setup - /tmp/ccYgfTud.s:11342 .bss.LD2_def_setup:00000000 LD2_def_setup - /tmp/ccYgfTud.s:11335 .bss.Curr_setup:00000000 Curr_setup - /tmp/ccYgfTud.s:11363 .bss.LD1_curr_setup:00000000 LD1_curr_setup - /tmp/ccYgfTud.s:11356 .bss.LD2_curr_setup:00000000 LD2_curr_setup - /tmp/ccYgfTud.s:11463 .bss.UART_DATA:00000000 UART_DATA - /tmp/ccYgfTud.s:11557 .bss.SD_SEEK:00000000 SD_SEEK - /tmp/ccYgfTud.s:11550 .bss.SD_SLIDE:00000000 SD_SLIDE - /tmp/ccYgfTud.s:11384 .bss.test:00000000 test - /tmp/ccYgfTud.s:11488 .bss.CPU_state:00000000 CPU_state - /tmp/ccYgfTud.s:11397 .bss.COMMAND:00000000 COMMAND - /tmp/ccYgfTud.s:5525 .text.Get_ADC:00000000 $t - /tmp/ccYgfTud.s:5530 .text.Get_ADC:00000000 Get_ADC - /tmp/ccYgfTud.s:5550 .text.Get_ADC:0000000c $d - /tmp/ccYgfTud.s:5556 .text.Get_ADC:00000012 $t - ARM GAS /tmp/ccYgfTud.s page 608 + /tmp/ccwR4KB7.s:2972 .text.MPhD_T:0000005a $t + /tmp/ccwR4KB7.s:3515 .text.MPhD_T:00000210 $d + /tmp/ccwR4KB7.s:3525 .text.Stop_TIM10:00000000 $t + /tmp/ccwR4KB7.s:3530 .text.Stop_TIM10:00000000 Stop_TIM10 + /tmp/ccwR4KB7.s:3559 .text.Stop_TIM10:00000014 $d + /tmp/ccwR4KB7.s:12558 .bss.htim10:00000000 htim10 + /tmp/ccwR4KB7.s:12390 .bss.TIM10_coflag:00000000 TIM10_coflag + /tmp/ccwR4KB7.s:12467 .bss.TO10:00000000 TO10 + /tmp/ccwR4KB7.s:3566 .text.MX_GPIO_Init:00000000 $t + /tmp/ccwR4KB7.s:3571 .text.MX_GPIO_Init:00000000 MX_GPIO_Init + /tmp/ccwR4KB7.s:4032 .text.MX_GPIO_Init:0000023c $d + /tmp/ccwR4KB7.s:4044 .text.MX_SPI4_Init:00000000 $t + /tmp/ccwR4KB7.s:4049 .text.MX_SPI4_Init:00000000 MX_SPI4_Init + /tmp/ccwR4KB7.s:4254 .text.MX_SPI4_Init:000000c8 $d + /tmp/ccwR4KB7.s:4261 .text.MX_SPI2_Init:00000000 $t + /tmp/ccwR4KB7.s:4266 .text.MX_SPI2_Init:00000000 MX_SPI2_Init + /tmp/ccwR4KB7.s:4494 .text.MX_SPI2_Init:000000dc $d + /tmp/ccwR4KB7.s:4501 .text.MX_SPI5_Init:00000000 $t + /tmp/ccwR4KB7.s:4506 .text.MX_SPI5_Init:00000000 MX_SPI5_Init + /tmp/ccwR4KB7.s:4711 .text.MX_SPI5_Init:000000c4 $d + /tmp/ccwR4KB7.s:4718 .text.MX_SPI6_Init:00000000 $t + /tmp/ccwR4KB7.s:4723 .text.MX_SPI6_Init:00000000 MX_SPI6_Init + /tmp/ccwR4KB7.s:4928 .text.MX_SPI6_Init:000000c4 $d + /tmp/ccwR4KB7.s:4935 .text.MX_TIM2_Init:00000000 $t + /tmp/ccwR4KB7.s:4940 .text.MX_TIM2_Init:00000000 MX_TIM2_Init + /tmp/ccwR4KB7.s:5118 .text.MX_TIM2_Init:00000088 $d + /tmp/ccwR4KB7.s:5127 .text.MX_TIM5_Init:00000000 $t + /tmp/ccwR4KB7.s:5132 .text.MX_TIM5_Init:00000000 MX_TIM5_Init + /tmp/ccwR4KB7.s:5309 .text.MX_TIM5_Init:00000084 $d + /tmp/ccwR4KB7.s:5318 .text.MX_TIM7_Init:00000000 $t + /tmp/ccwR4KB7.s:5323 .text.MX_TIM7_Init:00000000 MX_TIM7_Init + /tmp/ccwR4KB7.s:5484 .text.MX_TIM7_Init:0000007c $d + /tmp/ccwR4KB7.s:5492 .text.MX_TIM6_Init:00000000 $t + /tmp/ccwR4KB7.s:5497 .text.MX_TIM6_Init:00000000 MX_TIM6_Init + /tmp/ccwR4KB7.s:5658 .text.MX_TIM6_Init:0000007c $d + /tmp/ccwR4KB7.s:5666 .rodata.Init_params.str1.4:00000000 $d + /tmp/ccwR4KB7.s:5673 .text.Init_params:00000000 $t + /tmp/ccwR4KB7.s:5678 .text.Init_params:00000000 Init_params + /tmp/ccwR4KB7.s:6314 .text.Init_params:00000284 $d + /tmp/ccwR4KB7.s:12537 .bss.TO6:00000000 TO6 + /tmp/ccwR4KB7.s:12481 .bss.TO7_before:00000000 TO7_before + /tmp/ccwR4KB7.s:12530 .bss.TO6_before:00000000 TO6_before + /tmp/ccwR4KB7.s:12516 .bss.TO6_uart:00000000 TO6_uart + /tmp/ccwR4KB7.s:12408 .bss.flg_tmt:00000000 flg_tmt + /tmp/ccwR4KB7.s:12384 .bss.UART_rec_incr:00000000 UART_rec_incr + /tmp/ccwR4KB7.s:12329 .bss.fgoto:00000000 fgoto + /tmp/ccwR4KB7.s:12322 .bss.sizeoffile:00000000 sizeoffile + /tmp/ccwR4KB7.s:12402 .bss.u_tx_flg:00000000 u_tx_flg + /tmp/ccwR4KB7.s:12396 .bss.u_rx_flg:00000000 u_rx_flg + /tmp/ccwR4KB7.s:12356 .bss.Long_Data:00000000 Long_Data + /tmp/ccwR4KB7.s:12280 .bss.Def_setup:00000000 Def_setup + /tmp/ccwR4KB7.s:12301 .bss.LD1_def_setup:00000000 LD1_def_setup + /tmp/ccwR4KB7.s:12294 .bss.LD2_def_setup:00000000 LD2_def_setup + /tmp/ccwR4KB7.s:12287 .bss.Curr_setup:00000000 Curr_setup + /tmp/ccwR4KB7.s:12315 .bss.LD1_curr_setup:00000000 LD1_curr_setup + /tmp/ccwR4KB7.s:12308 .bss.LD2_curr_setup:00000000 LD2_curr_setup + /tmp/ccwR4KB7.s:12415 .bss.UART_DATA:00000000 UART_DATA + ARM GAS /tmp/ccwR4KB7.s page 634 - /tmp/ccYgfTud.s:5654 .text.Get_ADC:00000068 $d - /tmp/ccYgfTud.s:11641 .bss.hadc1:00000000 hadc1 - /tmp/ccYgfTud.s:11634 .bss.hadc3:00000000 hadc3 - /tmp/ccYgfTud.s:5660 .text.Set_LTEC:00000000 $t - /tmp/ccYgfTud.s:5666 .text.Set_LTEC:00000000 Set_LTEC - /tmp/ccYgfTud.s:5697 .text.Set_LTEC:00000018 $d - /tmp/ccYgfTud.s:5701 .text.Set_LTEC:0000001c $t - /tmp/ccYgfTud.s:6123 .text.Set_LTEC:00000154 $d - /tmp/ccYgfTud.s:6131 .text.Decode_uart:00000000 $t - /tmp/ccYgfTud.s:6136 .text.Decode_uart:00000000 Decode_uart - /tmp/ccYgfTud.s:6699 .text.Decode_uart:000002cc $d - /tmp/ccYgfTud.s:6714 .text.Advanced_Controller_Temp:00000000 $t - /tmp/ccYgfTud.s:6720 .text.Advanced_Controller_Temp:00000000 Advanced_Controller_Temp - /tmp/ccYgfTud.s:6889 .text.Advanced_Controller_Temp:000000cc $d - /tmp/ccYgfTud.s:6899 .text.CalculateChecksum:00000000 $t - /tmp/ccYgfTud.s:6905 .text.CalculateChecksum:00000000 CalculateChecksum - /tmp/ccYgfTud.s:6950 .text.CheckChecksum:00000000 $t - /tmp/ccYgfTud.s:6956 .text.CheckChecksum:00000000 CheckChecksum - /tmp/ccYgfTud.s:7018 .text.CheckChecksum:0000003c $d - /tmp/ccYgfTud.s:11425 .bss.UART_header:00000000 UART_header - /tmp/ccYgfTud.s:11418 .bss.CS_result:00000000 CS_result - /tmp/ccYgfTud.s:7025 .rodata.SD_SAVE.str1.4:00000000 $d - /tmp/ccYgfTud.s:7029 .text.SD_SAVE:00000000 $t - /tmp/ccYgfTud.s:7035 .text.SD_SAVE:00000000 SD_SAVE - /tmp/ccYgfTud.s:7104 .text.SD_SAVE:00000030 $d - /tmp/ccYgfTud.s:7111 .text.SD_READ:00000000 $t - /tmp/ccYgfTud.s:7117 .text.SD_READ:00000000 SD_READ - /tmp/ccYgfTud.s:7195 .text.SD_READ:0000003c $d - /tmp/ccYgfTud.s:7203 .text.SD_REMOVE:00000000 $t - /tmp/ccYgfTud.s:7209 .text.SD_REMOVE:00000000 SD_REMOVE - /tmp/ccYgfTud.s:7277 .text.SD_REMOVE:00000034 $d - /tmp/ccYgfTud.s:7284 .text.USART_TX:00000000 $t - /tmp/ccYgfTud.s:7290 .text.USART_TX:00000000 USART_TX - /tmp/ccYgfTud.s:7365 .text.USART_TX:00000028 $d - /tmp/ccYgfTud.s:7370 .text.USART_TX_DMA:00000000 $t - /tmp/ccYgfTud.s:7376 .text.USART_TX_DMA:00000000 USART_TX_DMA - /tmp/ccYgfTud.s:7445 .text.USART_TX_DMA:00000038 $d - /tmp/ccYgfTud.s:7451 .text.Error_Handler:00000000 $t - /tmp/ccYgfTud.s:7457 .text.Error_Handler:00000000 Error_Handler - /tmp/ccYgfTud.s:7488 .text.MX_ADC1_Init:00000000 $t - /tmp/ccYgfTud.s:7493 .text.MX_ADC1_Init:00000000 MX_ADC1_Init - /tmp/ccYgfTud.s:7682 .text.MX_ADC1_Init:000000bc $d - /tmp/ccYgfTud.s:7689 .text.MX_ADC3_Init:00000000 $t - /tmp/ccYgfTud.s:7694 .text.MX_ADC3_Init:00000000 MX_ADC3_Init - /tmp/ccYgfTud.s:7801 .text.MX_ADC3_Init:00000060 $d - /tmp/ccYgfTud.s:7808 .text.MX_USART1_UART_Init:00000000 $t - /tmp/ccYgfTud.s:7813 .text.MX_USART1_UART_Init:00000000 MX_USART1_UART_Init - /tmp/ccYgfTud.s:8212 .text.MX_USART1_UART_Init:0000017c $d - /tmp/ccYgfTud.s:8221 .text.MX_TIM10_Init:00000000 $t - /tmp/ccYgfTud.s:8226 .text.MX_TIM10_Init:00000000 MX_TIM10_Init - /tmp/ccYgfTud.s:8275 .text.MX_TIM10_Init:00000024 $d - /tmp/ccYgfTud.s:8281 .text.MX_UART8_Init:00000000 $t - /tmp/ccYgfTud.s:8286 .text.MX_UART8_Init:00000000 MX_UART8_Init - /tmp/ccYgfTud.s:8347 .text.MX_UART8_Init:00000030 $d - /tmp/ccYgfTud.s:11592 .bss.huart8:00000000 huart8 - /tmp/ccYgfTud.s:8353 .text.MX_TIM8_Init:00000000 $t - /tmp/ccYgfTud.s:8358 .text.MX_TIM8_Init:00000000 MX_TIM8_Init - ARM GAS /tmp/ccYgfTud.s page 609 + /tmp/ccwR4KB7.s:12509 .bss.SD_SEEK:00000000 SD_SEEK + /tmp/ccwR4KB7.s:12502 .bss.SD_SLIDE:00000000 SD_SLIDE + /tmp/ccwR4KB7.s:12336 .bss.test:00000000 test + /tmp/ccwR4KB7.s:12440 .bss.CPU_state:00000000 CPU_state + /tmp/ccwR4KB7.s:12349 .bss.COMMAND:00000000 COMMAND + /tmp/ccwR4KB7.s:6353 .text.Get_ADC:00000000 $t + /tmp/ccwR4KB7.s:6358 .text.Get_ADC:00000000 Get_ADC + /tmp/ccwR4KB7.s:6378 .text.Get_ADC:0000000c $d + /tmp/ccwR4KB7.s:6384 .text.Get_ADC:00000012 $t + /tmp/ccwR4KB7.s:6482 .text.Get_ADC:00000068 $d + /tmp/ccwR4KB7.s:12593 .bss.hadc1:00000000 hadc1 + /tmp/ccwR4KB7.s:12586 .bss.hadc3:00000000 hadc3 + /tmp/ccwR4KB7.s:6488 .text.Set_LTEC:00000000 $t + /tmp/ccwR4KB7.s:6494 .text.Set_LTEC:00000000 Set_LTEC + /tmp/ccwR4KB7.s:6525 .text.Set_LTEC:00000018 $d + /tmp/ccwR4KB7.s:6529 .text.Set_LTEC:0000001c $t + /tmp/ccwR4KB7.s:6951 .text.Set_LTEC:00000154 $d + /tmp/ccwR4KB7.s:6959 .text.Decode_uart:00000000 $t + /tmp/ccwR4KB7.s:6964 .text.Decode_uart:00000000 Decode_uart + /tmp/ccwR4KB7.s:7527 .text.Decode_uart:000002cc $d + /tmp/ccwR4KB7.s:7542 .text.Advanced_Controller_Temp:00000000 $t + /tmp/ccwR4KB7.s:7548 .text.Advanced_Controller_Temp:00000000 Advanced_Controller_Temp + /tmp/ccwR4KB7.s:7717 .text.Advanced_Controller_Temp:000000cc $d + /tmp/ccwR4KB7.s:7727 .text.CalculateChecksum:00000000 $t + /tmp/ccwR4KB7.s:7733 .text.CalculateChecksum:00000000 CalculateChecksum + /tmp/ccwR4KB7.s:7778 .text.CheckChecksum:00000000 $t + /tmp/ccwR4KB7.s:7784 .text.CheckChecksum:00000000 CheckChecksum + /tmp/ccwR4KB7.s:7846 .text.CheckChecksum:0000003c $d + /tmp/ccwR4KB7.s:12377 .bss.UART_header:00000000 UART_header + /tmp/ccwR4KB7.s:12370 .bss.CS_result:00000000 CS_result + /tmp/ccwR4KB7.s:7853 .rodata.SD_SAVE.str1.4:00000000 $d + /tmp/ccwR4KB7.s:7857 .text.SD_SAVE:00000000 $t + /tmp/ccwR4KB7.s:7863 .text.SD_SAVE:00000000 SD_SAVE + /tmp/ccwR4KB7.s:7932 .text.SD_SAVE:00000030 $d + /tmp/ccwR4KB7.s:7939 .text.SD_READ:00000000 $t + /tmp/ccwR4KB7.s:7945 .text.SD_READ:00000000 SD_READ + /tmp/ccwR4KB7.s:8023 .text.SD_READ:0000003c $d + /tmp/ccwR4KB7.s:8031 .text.SD_REMOVE:00000000 $t + /tmp/ccwR4KB7.s:8037 .text.SD_REMOVE:00000000 SD_REMOVE + /tmp/ccwR4KB7.s:8105 .text.SD_REMOVE:00000034 $d + /tmp/ccwR4KB7.s:8112 .text.USART_TX:00000000 $t + /tmp/ccwR4KB7.s:8118 .text.USART_TX:00000000 USART_TX + /tmp/ccwR4KB7.s:8193 .text.USART_TX:00000028 $d + /tmp/ccwR4KB7.s:8198 .text.USART_TX_DMA:00000000 $t + /tmp/ccwR4KB7.s:8204 .text.USART_TX_DMA:00000000 USART_TX_DMA + /tmp/ccwR4KB7.s:8273 .text.USART_TX_DMA:00000038 $d + /tmp/ccwR4KB7.s:8279 .text.Error_Handler:00000000 $t + /tmp/ccwR4KB7.s:8285 .text.Error_Handler:00000000 Error_Handler + /tmp/ccwR4KB7.s:8316 .text.MX_ADC1_Init:00000000 $t + /tmp/ccwR4KB7.s:8321 .text.MX_ADC1_Init:00000000 MX_ADC1_Init + /tmp/ccwR4KB7.s:8510 .text.MX_ADC1_Init:000000bc $d + /tmp/ccwR4KB7.s:8517 .text.MX_ADC3_Init:00000000 $t + /tmp/ccwR4KB7.s:8522 .text.MX_ADC3_Init:00000000 MX_ADC3_Init + /tmp/ccwR4KB7.s:8629 .text.MX_ADC3_Init:00000060 $d + /tmp/ccwR4KB7.s:8636 .text.MX_USART1_UART_Init:00000000 $t + /tmp/ccwR4KB7.s:8641 .text.MX_USART1_UART_Init:00000000 MX_USART1_UART_Init + /tmp/ccwR4KB7.s:9040 .text.MX_USART1_UART_Init:0000017c $d + ARM GAS /tmp/ccwR4KB7.s page 635 - /tmp/ccYgfTud.s:8467 .text.MX_TIM8_Init:00000064 $d - /tmp/ccYgfTud.s:11613 .bss.htim8:00000000 htim8 - /tmp/ccYgfTud.s:8473 .text.MX_TIM11_Init:00000000 $t - /tmp/ccYgfTud.s:8478 .text.MX_TIM11_Init:00000000 MX_TIM11_Init - /tmp/ccYgfTud.s:8588 .text.MX_TIM11_Init:00000068 $d - /tmp/ccYgfTud.s:11599 .bss.htim11:00000000 htim11 - /tmp/ccYgfTud.s:8594 .text.MX_TIM4_Init:00000000 $t - /tmp/ccYgfTud.s:8599 .text.MX_TIM4_Init:00000000 MX_TIM4_Init - /tmp/ccYgfTud.s:8754 .text.MX_TIM4_Init:0000009c $d - /tmp/ccYgfTud.s:11620 .bss.htim4:00000000 htim4 - /tmp/ccYgfTud.s:8760 .text.SystemClock_Config:00000000 $t - /tmp/ccYgfTud.s:8766 .text.SystemClock_Config:00000000 SystemClock_Config - /tmp/ccYgfTud.s:8925 .text.SystemClock_Config:000000ac $d - /tmp/ccYgfTud.s:8931 .text.main:00000000 $t - /tmp/ccYgfTud.s:8937 .text.main:00000000 main - /tmp/ccYgfTud.s:9341 .text.main:00000140 $d - /tmp/ccYgfTud.s:9352 .text.main:0000016c $t - /tmp/ccYgfTud.s:9605 .text.main:00000278 $d - /tmp/ccYgfTud.s:11482 .bss.CPU_state_old:00000000 CPU_state_old - /tmp/ccYgfTud.s:11476 .bss.UART_transmission_request:00000000 UART_transmission_request - /tmp/ccYgfTud.s:11470 .bss.State_Data:00000000 State_Data - /tmp/ccYgfTud.s:11411 .bss.temp16:00000000 temp16 - /tmp/ccYgfTud.s:9629 .text.main:000002cc $t - /tmp/ccYgfTud.s:10187 .text.main:0000054c $d - /tmp/ccYgfTud.s:11321 .bss.LD1_param:00000000 LD1_param - /tmp/ccYgfTud.s:11314 .bss.LD2_param:00000000 LD2_param - /tmp/ccYgfTud.s:11571 .bss.TO6_stop:00000000 TO6_stop - /tmp/ccYgfTud.s:11501 .bss.TIM10_period:00000000 TIM10_period - /tmp/ccYgfTud.s:10215 .text.main:000005ac $t - /tmp/ccYgfTud.s:10727 .text.main:00000864 $d - /tmp/ccYgfTud.s:11307 .bss.LD_blinker:00000000 LD_blinker - /tmp/ccYgfTud.s:10750 .text.main:000008b8 $t - /tmp/ccYgfTud.s:11128 .text.main:00000a6c $d - /tmp/ccYgfTud.s:11154 .rodata.ad9102_example4_regval:00000000 $d - /tmp/ccYgfTud.s:11225 .rodata.ad9102_reg_addr:00000000 $d - /tmp/ccYgfTud.s:11297 .bss.task:00000000 $d - /tmp/ccYgfTud.s:11304 .bss.LD_blinker:00000000 $d - /tmp/ccYgfTud.s:11311 .bss.LD2_param:00000000 $d - /tmp/ccYgfTud.s:11318 .bss.LD1_param:00000000 $d - /tmp/ccYgfTud.s:11325 .bss.Def_setup:00000000 $d - /tmp/ccYgfTud.s:11332 .bss.Curr_setup:00000000 $d - /tmp/ccYgfTud.s:11339 .bss.LD2_def_setup:00000000 $d - /tmp/ccYgfTud.s:11346 .bss.LD1_def_setup:00000000 $d - /tmp/ccYgfTud.s:11353 .bss.LD2_curr_setup:00000000 $d - /tmp/ccYgfTud.s:11360 .bss.LD1_curr_setup:00000000 $d - /tmp/ccYgfTud.s:11367 .bss.sizeoffile:00000000 $d - /tmp/ccYgfTud.s:11374 .bss.fgoto:00000000 $d - /tmp/ccYgfTud.s:11381 .bss.test:00000000 $d - /tmp/ccYgfTud.s:11390 .bss.fresult:00000000 fresult - /tmp/ccYgfTud.s:11391 .bss.fresult:00000000 $d - /tmp/ccYgfTud.s:11394 .bss.COMMAND:00000000 $d - /tmp/ccYgfTud.s:11401 .bss.Long_Data:00000000 $d - /tmp/ccYgfTud.s:11408 .bss.temp16:00000000 $d - /tmp/ccYgfTud.s:11415 .bss.CS_result:00000000 $d - /tmp/ccYgfTud.s:11422 .bss.UART_header:00000000 $d - /tmp/ccYgfTud.s:11429 .bss.UART_rec_incr:00000000 $d - /tmp/ccYgfTud.s:11439 .bss.TIM10_coflag:00000000 $d - ARM GAS /tmp/ccYgfTud.s page 610 + /tmp/ccwR4KB7.s:9049 .text.MX_TIM10_Init:00000000 $t + /tmp/ccwR4KB7.s:9054 .text.MX_TIM10_Init:00000000 MX_TIM10_Init + /tmp/ccwR4KB7.s:9103 .text.MX_TIM10_Init:00000024 $d + /tmp/ccwR4KB7.s:9109 .text.MX_UART8_Init:00000000 $t + /tmp/ccwR4KB7.s:9114 .text.MX_UART8_Init:00000000 MX_UART8_Init + /tmp/ccwR4KB7.s:9175 .text.MX_UART8_Init:00000030 $d + /tmp/ccwR4KB7.s:12544 .bss.huart8:00000000 huart8 + /tmp/ccwR4KB7.s:9181 .text.MX_TIM8_Init:00000000 $t + /tmp/ccwR4KB7.s:9186 .text.MX_TIM8_Init:00000000 MX_TIM8_Init + /tmp/ccwR4KB7.s:9295 .text.MX_TIM8_Init:00000064 $d + /tmp/ccwR4KB7.s:12565 .bss.htim8:00000000 htim8 + /tmp/ccwR4KB7.s:9301 .text.MX_TIM11_Init:00000000 $t + /tmp/ccwR4KB7.s:9306 .text.MX_TIM11_Init:00000000 MX_TIM11_Init + /tmp/ccwR4KB7.s:9416 .text.MX_TIM11_Init:00000068 $d + /tmp/ccwR4KB7.s:12551 .bss.htim11:00000000 htim11 + /tmp/ccwR4KB7.s:9422 .text.MX_TIM4_Init:00000000 $t + /tmp/ccwR4KB7.s:9427 .text.MX_TIM4_Init:00000000 MX_TIM4_Init + /tmp/ccwR4KB7.s:9582 .text.MX_TIM4_Init:0000009c $d + /tmp/ccwR4KB7.s:12572 .bss.htim4:00000000 htim4 + /tmp/ccwR4KB7.s:9588 .text.SystemClock_Config:00000000 $t + /tmp/ccwR4KB7.s:9594 .text.SystemClock_Config:00000000 SystemClock_Config + /tmp/ccwR4KB7.s:9753 .text.SystemClock_Config:000000ac $d + /tmp/ccwR4KB7.s:9759 .text.main:00000000 $t + /tmp/ccwR4KB7.s:9765 .text.main:00000000 main + /tmp/ccwR4KB7.s:10169 .text.main:00000140 $d + /tmp/ccwR4KB7.s:10180 .text.main:0000016c $t + /tmp/ccwR4KB7.s:10433 .text.main:00000278 $d + /tmp/ccwR4KB7.s:12434 .bss.CPU_state_old:00000000 CPU_state_old + /tmp/ccwR4KB7.s:12428 .bss.UART_transmission_request:00000000 UART_transmission_request + /tmp/ccwR4KB7.s:12422 .bss.State_Data:00000000 State_Data + /tmp/ccwR4KB7.s:12363 .bss.temp16:00000000 temp16 + /tmp/ccwR4KB7.s:10457 .text.main:000002cc $t + /tmp/ccwR4KB7.s:11007 .text.main:00000540 $d + /tmp/ccwR4KB7.s:12273 .bss.LD1_param:00000000 LD1_param + /tmp/ccwR4KB7.s:12266 .bss.LD2_param:00000000 LD2_param + /tmp/ccwR4KB7.s:12523 .bss.TO6_stop:00000000 TO6_stop + /tmp/ccwR4KB7.s:11029 .text.main:0000058c $t + /tmp/ccwR4KB7.s:11412 .text.main:000007a8 $d + /tmp/ccwR4KB7.s:12453 .bss.TIM10_period:00000000 TIM10_period + /tmp/ccwR4KB7.s:11437 .text.main:000007fc $t + /tmp/ccwR4KB7.s:12003 .text.main:00000a9c $d + /tmp/ccwR4KB7.s:12259 .bss.LD_blinker:00000000 LD_blinker + /tmp/ccwR4KB7.s:12035 .rodata.ad9102_example2_regval:00000000 $d + /tmp/ccwR4KB7.s:12106 .rodata.ad9102_example4_regval:00000000 $d + /tmp/ccwR4KB7.s:12177 .rodata.ad9102_reg_addr:00000000 $d + /tmp/ccwR4KB7.s:12249 .bss.task:00000000 $d + /tmp/ccwR4KB7.s:12256 .bss.LD_blinker:00000000 $d + /tmp/ccwR4KB7.s:12263 .bss.LD2_param:00000000 $d + /tmp/ccwR4KB7.s:12270 .bss.LD1_param:00000000 $d + /tmp/ccwR4KB7.s:12277 .bss.Def_setup:00000000 $d + /tmp/ccwR4KB7.s:12284 .bss.Curr_setup:00000000 $d + /tmp/ccwR4KB7.s:12291 .bss.LD2_def_setup:00000000 $d + /tmp/ccwR4KB7.s:12298 .bss.LD1_def_setup:00000000 $d + /tmp/ccwR4KB7.s:12305 .bss.LD2_curr_setup:00000000 $d + /tmp/ccwR4KB7.s:12312 .bss.LD1_curr_setup:00000000 $d + /tmp/ccwR4KB7.s:12319 .bss.sizeoffile:00000000 $d + /tmp/ccwR4KB7.s:12326 .bss.fgoto:00000000 $d + ARM GAS /tmp/ccwR4KB7.s page 636 - /tmp/ccYgfTud.s:11445 .bss.u_rx_flg:00000000 $d - /tmp/ccYgfTud.s:11451 .bss.u_tx_flg:00000000 $d - /tmp/ccYgfTud.s:11457 .bss.flg_tmt:00000000 $d - /tmp/ccYgfTud.s:11460 .bss.UART_DATA:00000000 $d - /tmp/ccYgfTud.s:11467 .bss.State_Data:00000000 $d - /tmp/ccYgfTud.s:11477 .bss.UART_transmission_request:00000000 $d - /tmp/ccYgfTud.s:11483 .bss.CPU_state_old:00000000 $d - /tmp/ccYgfTud.s:11489 .bss.CPU_state:00000000 $d - /tmp/ccYgfTud.s:11494 .bss.uart_buf:00000000 uart_buf - /tmp/ccYgfTud.s:11495 .bss.uart_buf:00000000 $d - /tmp/ccYgfTud.s:11498 .bss.TIM10_period:00000000 $d - /tmp/ccYgfTud.s:11505 .bss.TO10_counter:00000000 $d - /tmp/ccYgfTud.s:11512 .bss.TO10:00000000 $d - /tmp/ccYgfTud.s:11519 .bss.TO7_PID:00000000 $d - /tmp/ccYgfTud.s:11526 .bss.TO7_before:00000000 $d - /tmp/ccYgfTud.s:11533 .bss.TO7:00000000 $d - /tmp/ccYgfTud.s:11543 .bss.temp32:00000000 temp32 - /tmp/ccYgfTud.s:11540 .bss.temp32:00000000 $d - /tmp/ccYgfTud.s:11547 .bss.SD_SLIDE:00000000 $d - /tmp/ccYgfTud.s:11554 .bss.SD_SEEK:00000000 $d - /tmp/ccYgfTud.s:11561 .bss.TO6_uart:00000000 $d - /tmp/ccYgfTud.s:11568 .bss.TO6_stop:00000000 $d - /tmp/ccYgfTud.s:11575 .bss.TO6_before:00000000 $d - /tmp/ccYgfTud.s:11582 .bss.TO6:00000000 $d - /tmp/ccYgfTud.s:11589 .bss.huart8:00000000 $d - /tmp/ccYgfTud.s:11596 .bss.htim11:00000000 $d - /tmp/ccYgfTud.s:11603 .bss.htim10:00000000 $d - /tmp/ccYgfTud.s:11610 .bss.htim8:00000000 $d - /tmp/ccYgfTud.s:11617 .bss.htim4:00000000 $d - /tmp/ccYgfTud.s:11624 .bss.hsd1:00000000 $d - /tmp/ccYgfTud.s:11631 .bss.hadc3:00000000 $d - /tmp/ccYgfTud.s:11638 .bss.hadc1:00000000 $d + /tmp/ccwR4KB7.s:12333 .bss.test:00000000 $d + /tmp/ccwR4KB7.s:12342 .bss.fresult:00000000 fresult + /tmp/ccwR4KB7.s:12343 .bss.fresult:00000000 $d + /tmp/ccwR4KB7.s:12346 .bss.COMMAND:00000000 $d + /tmp/ccwR4KB7.s:12353 .bss.Long_Data:00000000 $d + /tmp/ccwR4KB7.s:12360 .bss.temp16:00000000 $d + /tmp/ccwR4KB7.s:12367 .bss.CS_result:00000000 $d + /tmp/ccwR4KB7.s:12374 .bss.UART_header:00000000 $d + /tmp/ccwR4KB7.s:12381 .bss.UART_rec_incr:00000000 $d + /tmp/ccwR4KB7.s:12391 .bss.TIM10_coflag:00000000 $d + /tmp/ccwR4KB7.s:12397 .bss.u_rx_flg:00000000 $d + /tmp/ccwR4KB7.s:12403 .bss.u_tx_flg:00000000 $d + /tmp/ccwR4KB7.s:12409 .bss.flg_tmt:00000000 $d + /tmp/ccwR4KB7.s:12412 .bss.UART_DATA:00000000 $d + /tmp/ccwR4KB7.s:12419 .bss.State_Data:00000000 $d + /tmp/ccwR4KB7.s:12429 .bss.UART_transmission_request:00000000 $d + /tmp/ccwR4KB7.s:12435 .bss.CPU_state_old:00000000 $d + /tmp/ccwR4KB7.s:12441 .bss.CPU_state:00000000 $d + /tmp/ccwR4KB7.s:12446 .bss.uart_buf:00000000 uart_buf + /tmp/ccwR4KB7.s:12447 .bss.uart_buf:00000000 $d + /tmp/ccwR4KB7.s:12450 .bss.TIM10_period:00000000 $d + /tmp/ccwR4KB7.s:12457 .bss.TO10_counter:00000000 $d + /tmp/ccwR4KB7.s:12464 .bss.TO10:00000000 $d + /tmp/ccwR4KB7.s:12471 .bss.TO7_PID:00000000 $d + /tmp/ccwR4KB7.s:12478 .bss.TO7_before:00000000 $d + /tmp/ccwR4KB7.s:12485 .bss.TO7:00000000 $d + /tmp/ccwR4KB7.s:12495 .bss.temp32:00000000 temp32 + /tmp/ccwR4KB7.s:12492 .bss.temp32:00000000 $d + /tmp/ccwR4KB7.s:12499 .bss.SD_SLIDE:00000000 $d + /tmp/ccwR4KB7.s:12506 .bss.SD_SEEK:00000000 $d + /tmp/ccwR4KB7.s:12513 .bss.TO6_uart:00000000 $d + /tmp/ccwR4KB7.s:12520 .bss.TO6_stop:00000000 $d + /tmp/ccwR4KB7.s:12527 .bss.TO6_before:00000000 $d + /tmp/ccwR4KB7.s:12534 .bss.TO6:00000000 $d + /tmp/ccwR4KB7.s:12541 .bss.huart8:00000000 $d + /tmp/ccwR4KB7.s:12548 .bss.htim11:00000000 $d + /tmp/ccwR4KB7.s:12555 .bss.htim10:00000000 $d + /tmp/ccwR4KB7.s:12562 .bss.htim8:00000000 $d + /tmp/ccwR4KB7.s:12569 .bss.htim4:00000000 $d + /tmp/ccwR4KB7.s:12576 .bss.hsd1:00000000 $d + /tmp/ccwR4KB7.s:12583 .bss.hadc3:00000000 $d + /tmp/ccwR4KB7.s:12590 .bss.hadc1:00000000 $d UNDEFINED SYMBOLS HAL_GPIO_WritePin @@ -36582,6 +38156,9 @@ Seek_Read_File Unmount_SD HAL_ADC_Start HAL_ADC_PollForConversion + ARM GAS /tmp/ccwR4KB7.s page 637 + + HAL_ADC_GetValue HAL_ADC_Stop Remove_File @@ -36592,9 +38169,6 @@ HAL_ADC_Init HAL_ADC_ConfigChannel HAL_RCCEx_PeriphCLKConfig LL_USART_Init - ARM GAS /tmp/ccYgfTud.s page 611 - - HAL_TIM_Base_Init HAL_UART_Init HAL_TIM_ConfigClockSource diff --git a/build/main.o b/build/main.o index 1b75b561ad01194bf59528f3bdb16e4656e8ba99..7b53f962411cc337e77755a7c8197d393918a404 100644 GIT binary patch literal 162152 zcmd?Sd3aPs_CH*8Z{KuxZYSyFcA!ZDbkYF=2@n!C0U;z9mV_M@0W~aYK-91(7!evo z1!a_wpn@ACI_?Unqo^nfD&q>Gqacn5N?ZmEt8xE*PA#1VGxL6*@9%y8dU>9@UFV!n zojO%@>eO;?bkRBGrJQr7|8bVXnkdF9E;2}Dbr*mf_9T0PvFBKWn{7Sn_Pu=6m6Y@9 z$Of0sY#o=Iv}aqJkqv+JPyE@}kog_sYl;$oHh<6hF3}kHoxv__bp67@N9q}iD{~J^ zt6*6ZD%Mu)tr&TNO>Q-L!sI~K+R0UeMKyW6h&^}1hJ>=T%ZpD$jI^ogmzyUdCa>jp zd&@qpWLe3jTaO!|KYslE55~7{vdV5~EH#U=)>fDsL@m9IB6gVVXJ4}YOEwtGj0SF` zRT;}(KVD=^5Wf*)t@zz)>=nN(C2f|Fr%VvPk(9OKcWcUC@yoK(W(#@N1o0cmS}T6H zX6+TftRQWUkQYptvt)knvb3rt%iKp+c4|CwS@pKVy!!PR%BVJ$H_6QEVo?50FB}`02{SMs?hgm3se4!5d)4RxXK`n&)n>Hgwyiy6J}``eNF>PDn_Xg%dy9$6W`;birq zxX*^4+CTQLV%O*R9mV$-AFBu%os6B4P5CcZ4K~WsDv>IFgoo;XJBk_mxfJP5a0d5& z&Ii9sv^tcfS2_(vNv>V(hB=ib4MnB{ZytFfGCFIB@X2u7VXG=r8jK`s*My8`P&5C~ zDLql&s_fpyEF2UveugZi?6XQ1PHwiGU3L%3#W!2dg>qcfZHl^kZ(*;p-mHkZjH0UN z;z|=rS+-|?&&Gh?Dl2RZFtU$#e{jvt2P}>+xGnpg|)vNJ2vptAG4OHC7)y$ zC+y7_nh0b=J@1^eXGWVy++{62>J+1t|>Uq{b>#4SV^-NiZR_y=d4~iGEA6m#U$STSV zsL|lH#(sV`FQoWEqtUpVLz*C@#hE^dQrdWCYtd%X#U{rInTjf}QlByp68-ZTMgHfC zPOw2a|4VO36QkO^H#q;r8(7#LR=c=)Z?MYtRX(^W)*nKp{w>-cI)B?R@`epJlqQu1 zN?VsQ(at5MT>LIBmGLxES|R9+jXclz)W|mX`?H^gSGYdyu`#K$wI`{axgY*9?#FuG zu8R?OqUzGphU7S2XEh{Qu3xN^tv5b*GBTk2L%y2#dvH@We{j=_M_JO4UA$eZ6DJn2 zovdB(MB-KS>u(s4M89n}rZ?~;wu`mvAZji-mT%rwOp+WyZxH#8BEO~4l`my&1X+6lk+SIOu+TL>) z&sJ^ER&CE#ZO`tok>Bme)@SS1r-X&Y*)grpmaQLu4tga!+VbpPqK%JGd$X5D+sCrs zLIgw01}@oPm9{C(+~_Oi9Zw(2f{jU?FqT=-vCL{|xKC7FHn<_#y{^<~NHSc%7{}5! zZo*g&|8Qk#ac0lcW(mfKOM5X(W=T8HBgwMY&nlI+xBYq9QE55LR90tBlB1O=M{RPO z<(s^G`6fAXdhT^A4V6+{=<$r4g+Wm_KVycnFt4@tqrc}rU4Q!QrdZ4-+oF_=UnIK2Mg5kujD3sJ@*n zH!!B0%D-9PMwW|_F_nLzJ_wmVQUKb9MD`;76i-om*DV zf`(WNdq3wY6}>QUvFJI`$Fmm6d>A8L_{_OZ&a^U5bT<&^f`GDg%Ft)rPn5NE2Wvb68=M7k;yJmmnG_&NORr~ zzX%|8=S6H3FY-Jm5iD#DbE=RkJX=`IKUyhn-@vlHb@6p}ov$vT?iMp=kzFP02k~c91C0jA_L_-Pbx1*ZS zj;T$$WGm1fLP5XOCbSL&6#(;t}~B?IXztv8SZ9dew%UESBkcM4TV8jXJZ=RcF=3)w%0Bl}(sge1eUc zFm1w21HanO$UkW8{U)nrcf-1|My=7#Ts^YE^t{*Tk60btcV>(*9@W+{$j#M4LVE9P zl0>F@YDb<}g4T^ZQ8hKb)?V$a!~C3+P#X*<)+W{Y>)hew+W2zMqaiWIQ!B%$b!r9u zdhnYfS67@nRGToT{(GCcmZhOhk>a#zX=qcVShtC00kz3cZ6cdTHW+A+FJg9Z-D$OV z-;p`ocr-`YLE~xEk_-}R(;ZC`_8%l3v@E8j@IBd5e@sig|4%KYcG6h@=dAzU&W>X2 zA}Mn0A}P9^6g8-wA<@oA_|GGk9y4;0IsbPf_djY6`6S}t|D-)kwTDI9L-CB-!$o^S zXSBxyPfQAiT|VaFtleJ#~JM=L~UNDXH;wQJh~5> zmOfM4+X{C|S*4k$-6^HwPAS72*$^3%h8wEtIZxu`Vbmp;nYFGu{wVlGG*j_gl7@8~ zF~4F>W&E)CqO}zhKvx;K+Y6>%GI0+Vw?-ANVg^0CHOfB)l5+cJc0i1NZVkLb%_ zGqwd_TY(Ah#|>KXF~72H9Z}Gu`303^@3dttuH!uXQAw~sbRA=;ZHVE?5HwJL>&2# z_5|3U#!uRU*e7g}vF|_G(v$iKwv-)vTG`_K?``q3qOOdwl99uQ4;(S5%ee957|j(H zz8`yqW>OV+kr+PFRo4FdhOx}7M#s+!@7|P{`{SOqWdn~Tr=&&Jl(DS6i}zNg%}QI6 zHfO?|3A5JD+BC4|F zv7|TmHM0D|$choGLEVIO%kVlpZ$w&NwzrZzes4vZ_)V)YPe!KxnHMPB-S|Q%3&?Hw z9ofL9;BK~o&E8va?J(o0#~k|&8&Cp&@)Q(*!@9AK$9K&wqY}jpeo;c^U4JS)a~LG~ zX2VvqDEIoEmz8a6+#0GJwykk{h-F_^mQf)Rb|fCP56LQZMRz2Rh#g5}mRzZ`O7&i4 zlGt-Z)IQ^a;Z$0#30b8)nlqv~_+)fX5>ndTC)s84j3ig{p)vbUc?ytxnU^b{%*!ao zv7eH43hrpl^=odXw0hJ=iWGGI%t70?hdQF|TSJk0_~tBGp5+|g)k*9ZI+X=0f*U)Q z@vO9}gY|8~X{8;8<_Jl+JXDb>a-j+q_Q1E|;7{Mi+*QIk|8M@mznLF<;b}$@smY!&tVJlP6B1rYEIkMtgbY4dD(drF@z?oynezY&uadZ{R|u zKh(=RxKQbL_1-_>_Segud8qWW`cUZ}eO^bEW=`-`p2Hf}N9bmj_cn9FqHd$_#0B!K zS1x*tWtElPjT>77H@2H_%HyB%f|K>7bpMt$NJ#i;k^#7VJA1esYdJ#w&h(AZdgS$q z75A?2hXPe!w`S_g6ZLg!roMKl@6CE)@#wZnLz`wav=SPE&1j(e!iS*2pP8)6`He4*V*Tv=ZDWar8^ad3AA1@xDy@QNJ|*iw&wm)nT}G>D zxGHzqw&O+SRPh@z*Nfk+=0WkxobW6mcczNph_hb&ZgmcdUltC}7V_{^@f!)R7r$G> z2gNTd49^kr!l`pEU)DGB__D&t<;xE)ew^Ng;LXBi)%PF1RlMtX3vUFzk8j&e0-xT+RO*!gi zHd)^2bG-jc5!g8b>xyD!j&6=TLe9}sGIynp8*~O^k-m)n#l|%j8W{gcxF4}8p8fyf zeb&-awv2~e`};LIp;1M=Fn!al#f_g;4fa2mSeCww_9eB&*3QAl=FP4xPTG}-TkeGH zOyMW)vS7qb?~`yFA9$68cnEvk(673WsT1+9bZGfG-Na6bF+c9#cxJp970*V(%W%Mvij&*qU z-+!-X&)v8IH(<4RhgECV<_^gnX5c(hR8U-TLj}Bh@(q(CjiLN)Q`!$*JY`#jmH8Uz z{QTm{;vONV+b%Da#Z9>zXRhg`>7sXwUh;rzfIGcZzAf{-WPoD|j+|LLH^+nH5*)cs z-?iBW#}XXbYZaR<@xGnvYA%Uh5Ah<-Skme32n-3tw8MH3c<=H63blYC6_*s>!X%t67<4K0+23 z;XEL7ET^d9zQ`y#uVX(e&g=NqH+W6wTY86xNHnK|x|djodx?&Bvg}TExpnULd3O{I z@6dERF|`A3C)Pze-bvEDJG7*?@`r{o#n@%jZkxOyt6{5Aj2mE07h{xlKI_EF*-d#C z&EpQGsr-qpW128qi)H>@=%qdRyP=F`PHaJ(*xH$)tO@X`FAF=@cB$)HmtW@#cdIR^ zE39)JjSO;~T-LpF)4k7$l_m20*vVX95yrc3to;?;#r==)IC;)xhTKQ0bEW4w&k#?U zS@C?h1bf#TD!f^*SJ0S?5}Q3+#4p3YL39sm53zwIdn9@ru)eHf;I~aSr<6=Nt(1Is zvjF>*=ayrhxN5E1xLUWGEspTA63mo|qQ(+c=UtnzB93*{x*nC0pmH<4OQQM3AC+%> z^EZ3{=B z47>K7Jl-CThg)&kZsSm&zsWKA!XGrV%Mv@z*Vy+NZ89XAj4|LP6h zaf9g=^NRG~E<%h(wzxgOJ&HK7N5;}^WeDF|z`u*rD$*;>6GbI7t2k_ey@eh`rUc3v ziK|*=C9N8H;)U7%Rmrd_WtCGa^>5frbw7g0fSWVSVH)|7C)SO%sNC4N+PF+Z*pa_E z^-q?oyO=6*cUN-b2HleXFMe+v)+4-o%I+DwaH5Cz-92^pjJugxXq;SE(8L`(wS4~q zu~LlOb=|Nrbjrp}vpi#;+I5ZO;HFS>X2+bydCY123hd4?o5M7lE5%CEVgGd6u~$`= zO{h#0v+Xj}V_=86c&Ul!vrBodch}T%L!Hd953ib9brH^$7X!zEcxWm5bJir`B|PWx zofE;2&;9IE{=k^VaKk~k=M@OvaZbyH_!;0Xu)|yU@N$Gn=HVp6t z_q!UBT!p1sr5#J?}l$QyUgxe!NjXvVnUBZN~QwbH!H= zbMaopOFULrR$7cQ^8Tqkbnv?O8rjN{(t@a_zwHb~HLa_c?_H}lr$^h9A-p+N%)X## z+qYjQm$e)g9O{U9;ln(GpI3PCg_=`kBYl6yUjH;_{9h0^iHH;4Nztj>;-whHrNW2V zu}>E-feicToisuV%09cr%(eF{ghdO>_EyX3c^J0W=`FeKQ z?!)ftU**?-eb#J}o)hckbIL=f`FRz*n&TXCm5g?!S3)lF2F}2jE3Ph6i5sDaj+@ck z1c72XSMM5AR*Rd5-G^P(y>LIV`>=`c8{1cJI^q)d6lB+XhfRFp>8tpnv9g9`>hpKS zVvo8v96hoxBA3VPTQL$R9LnWZuW=_de^GzeapAqPL`IH4y+LiV|t6kMpv;KOr z*T;pT_m1vt>I*r?Iw`CvzLVUBa;!tovbGf+%Gy@ZJ%BiItDDz8c$3Ri{@Gtn9gq9P zDY<)7`bPSaaC`ml_2012I)*lw{e++87JV);k7Z`ls*XV!lZ?OQUaUrU4*ZQqvID;N#Yl!} zE>vTleudHby?&n1Ft=Hsy;8_7$K0PF_STb|88JC~Z|(+D|Eehd|K^G?0I_5MERriiAy$OGSP?$@ zx^Hwxau#+Z6*u6!%Ke4I3UC*40qZ%0;g@$yi7y@}-_#u4Bflie7cugWAFq5VM`3gS zBetEwj(>@TkJq<`9a)HJcc)FuU36;f<1DK!_8M)m*C@gJZo4Y2jAyp0!aKmKKYkqa zl6KW*e_aOd@VIpUm;aE#usb!lIcX(2(TA~ui}vl2Flox=vRQEW6D!^X04>|AypJD-hb7qAIzBAdi6WEZiESsT`xJz1x_ z(8Xt^Vu&y7z}O8rcqwy69~mBZB}4}I{Nclo%l%6pehha*5HCk8?!)kSyNMrHc6-KV zyKaPFuIrgDj9u+op2gTTu61t4u5)EW@dDR<9T{8by0;x;i>yaH=qYP8^l|Gt48CC< zN+zYdQg8&eKEaOOvIc@5XMK>snA_S113cFDHmK1$3(t6~5Ae3t8rpo;W!X3(SXYG^ zOSICxxDK+8qF%o>8_#6xX822r^+td($8tk|z#50Lsn#i!ZDFlPzNPigmW&0hchHJf z)=jW8&FT&d)2;q6Gs7B#7PYos?Tq_s>-i94ZLMp830eD)&$J#xKFiARGZwZkgAZg| z--6%HIvdaS)&uaa4%V?Wbgy*?rjhxz<&=jOAI^WZ;WhYYZ&!VqFPj zS8D}&Cg1uRHFmQS9L5T)0Q$4gIvcfgxAM`_9+nHpp4JDjzn2w3pY*mqYR%YL)^LnV zA1eo~?rYtGTKZXaXzAJ3&y2DD*7xX#0oLoS7%Q@}@Em9zMJ>hF5J*cb4u2SAO#$W{ z>nGG(YP|z(gDqbst_rLzXz5Vv-^dTM7Ghk=tVf`~+_HfmZtX+sMp%2nA7%B2Cych< z1#*nF9sMxYx*qv))*Z;7Yh}bScAm8e`17qoaK>A4@Usi7wP@D_Yd=PRqE&=?Cs|*@ z@(V2o{EMt?Xt>xq3L7dcH%d*mCfbZmwIcD1O|xD_?_FZOi=MpH>Vg(sW*vkjmDUC5 zx9Qd^C_BTt0%Ll)>> z82vsf$v?Um3TagFzj+-JP}10_N6rUo{S<)`#eHC6-Ai#zcDh# z(@})Wt{}t)p7JoNM=dVj&{53T$Wz`DbR^E6L4Zv>YAy`TU_(;>;?H3U#jE^lnIyyzl3TUJ#XQ%MgcxEXlOu>K6ive}=t)ve{UGQ>Nq?+qi}_Qq8XCWF z^E(|Cj%guh2^W%cV}THbvFjpP@+j|{-o9vR%Gfc?yCYcy<1kAp8Pkn<|Di}1$O7hl zTag}T1=M@rQKZkIAm)8nk$$Hu!m0N?MFyN6M82=cpwpMg4-}cE$b9EqB0pAScjpi6LcIS}WN+szEScU<6xq+| zPvobHEOJVS+@r`r&JZH^Dso85AXxF4qRLs^S8yKhKGW^RHY(`-EB9_h2l@~Sz3aI` zG5a5w=-vl4?edKp2>C;r_SjpnntK1HX`ej{%eePpP5XVNr0)?;2bg~a0UqV%U{n_H zdmrasFF5w^m{Hy*HICV@P=`LHX_tKrA=3M_rakr!TI4rq+Q&TY*nhx3zA)b1#)pUk$U@7p`MlzXbghR}q2Z#4wXW+I0IKN-mfFtd$tj{QE3_0L+KZ|70{zi7I<-H*Ea zS55a8J0tIJy1ssPIaV+4?^<4D{{WBo{-NnXV(s!WQ`I-bzJ+|Ao60>#*>0NahNj2a zcO-x|H9cPJqP#9swQrKWh}v&yd4)ZNrXhBhGAd0ItC-iV>#MZ8l6!fyyvkQXLCmY^ zxnfQ8#%uh1dn0zaUR%n=@_Z3i4zEu$uslCchy=~R^89b=(nQU`@_dpQNt&^eGyhm@ zGQ7zqZrb20OTF_=?|O`@J)U$|OCasF+EQb#)3nPsaLi!lU7%?=%kV+Wd%dQ8_T@M; zc^8_=arRny;##3c4v|=(R9dunw;SVtv}oT8#Q&QrgQ9P zXb#+{={)-ha+aHP`F!8laRZt6W=(hZ4W$6JOyhgoFHkou*K|MWytnAiFS4(s$#JVL zKSVm~3Nx8H%Ltd-DdZe~k>zP{V+GQW5Vy|f0V>eQFysBwzyd@? z=zmModA>0;+B-CzZ?~mo<{z5wZf6tywx)aA9f^KN)BWr&M8B))BKuwPmiIJ0$Tx`e zzpv>b_E?%dA85MVHxlBVnjB@Hq~`6?^f3A8EP*bOH7X znx4k|5ekK$nC7MMs6d|gu<89II%+>?oEo(TP18bBh={LgkFS`z?U<&0_9(LRxTgJf z0*&ekO$U5qMgxCR(?Q=*8s<})&XAMrM@@%(W5|0OHJ$AnNAypc&SCziaV+=#Y?>Lc z-a}0gd&-}X5wpl-CjLSMr$qY!9zY*iAHltuRqw+c6pLGgcxpdn5?aF^<$Vd3nM1IP z5JCVOgk{Hm!VE!RcwBRFa93zw2Yxl7UlU5d!(oeC_s0QcorlS9vbdXZ{`2LTBLLDx z3iv%#?Y(lvL zF=t^XkfRjoa;_nAoFYBWl|)WZq>sg|=nVQIqXQH{<5cgfr15dIIN_40#+Qhk9@V&w z$g83npCNK?lg4YXF-e$bTuT~PCM@vY4gYnzqx%vTMm4rapC&ABMdssh?|hCiNLbp6 z>Ndgw$B!{jxLJX-ofHI!gj*GvsimY&wu-+wXR^&A21o_X)imY@}sXt#;`>%<=T;)$QRD)rAKCoAAZZWfp|S0rSl~^=v~$(~mDpXNu$yo?g=j`A(&f})1QPow z(&Idi4P)Zjiu5^c(ALBvMf#mwxN>5NA_FO-%F9_|X$zWUxU*q#GvN1$LyU*f1<8TL z;oj@0`d&EWC5}{OnDYY$F>#C{UCw^0?_5QCoUMp*iQ^UNbNV9$Bu-SMpT)ID#7Mlz zXb-)~fut_peaNJYntmlq%2y!f+>W75DpaJ)8HhNV)Kifjrv*Ga=`2P1oZnDiQa?qa zf^BF)Qh)Pi=v84RX%IKz{?-;OJIpG^1uyz}Df&5Su=x$yk?+siMV*XaR|%)+uKkOH^SYWYcbjVHEn_d+{5u;F8FKPnshG_?(LjH_xo38wiIMP z=O5InI~7^vaLgnB8bu;9Q1{)f$RW;ZQgyE)%N;MNx?ho_oNrOT|F3Q2NnxDR5$lzI zeH*!0jCW3wRSzk05^Le26MIWnkSD{ER`dX`HEeF-vOvVWfQSEKgE-0g$-TYxpq+8h znXKm+bIwMM$$E~tobO;>vL1U}k)T_W_1NQz1Y6f+J=lI{0=hJLbks9$L;ol1)g$N> zV&|TGzC-IXPJK=~0(G(;?2t1Vhot0-RM~9jZL(^LB6FMvsoqOeS$M`dh}6k5jE-nP zvOjr__bl|W@bToURT<_iLGzR6DbnR^$J9%%R;0&CqK4g|NUUX7!`G6R8plcFkmT3B zFOWv^k>oeBD6f4a`K?UqHu4dU0FeBTOgT8+op&*?$?s&nBEY?c2PMCkDLts4@Sx-m z6u3wXZ1OHe4#EJ@Z50L!s^i9C9w&choC8HIT=dQ%Ihc~~?StNQ-a_zCiJ8Xe|CFX_ zyn-T5(=^_MNuHvI(&wbXEmNAp<#aetN;F)uIJ#U*DK-9yTGeE83iyqv)M~^uW7Yu} z$gSUCj$u`SVOqn{ewTGIL984|?SMUJtKR9ioobA;4J>k^`9GbVcVn3p00$;SD)Y zQw5QboQm1bPqa~4qNF)azbueTl{C*OKm>Je3Q14N7rx*u3)P5YO2!Ui&Z^M2XuT1hmQpelWSt`C!hPtV88;Lo z@7!->(-aE^x_ED-#&^Z&1)5f-2!Mg6m8lz=8E9IW9)n*7bdc~lBQV+l?OA^3ZH!xB zh#m?SHySMn3^OxPO>#zHq}PR+;Y>sS1$1zrCV0TxM2@WP^8aE zMe_nWI3UiT4+7dT0?z&D`+)WYtn?1%Phf^wgX%q0b+SM3rgtLQ@E~GOK<{vvv!xTr zw^c1J5eWnDMs1jf5EPIb9wUqhVR}ICG*h9-L)wykfp5L*N$sO#-uL22LVolG6+Em+ zmlML068J%p9u}94i5EC!&LlllJWVcbfzF&C0BH?`HfHt4U~#J@4YRcv{cGYskcH`n zrGpw@$jxVgbyERd{w&U0pi`{_=zV6ri2>x+W_UPWoV6nZ&*tU{DnlS$riAlhROTR* zGV5=!lv_hF-BIR#Oya;`ZstJlCXg;Oobx-V%oT7TZry~ZVYv|&T-GDVd#u;+^jmxJ z3|Uv8eo)=v>49^(ISJ(g<$(*iw?B4^HqF041@AxvI?kpwI53&FC;!9@v}w~4n8Mpr zb#zhqHg>{+sl3A=fe+cVNCz(A?NyAmX_XFK%G>{dW*XtM?Wgb?xQw@-Ch-03yRa7w zRPy%M3VM*e96cJC&fA|a^bf&wp*xKPnt9^@5l727mJo)RR0!H)ZjuQm=~3rT_jKg_ zmtmj+%elE8C6Ys_UAzet2ZmrkQk!Pl6!=l9-d(wzelR+&RjGob(E3@otc=Hsd`Q!=v{(^KJ^0gR+yHYlX{VNGg@NbCCzYJ zlJq)7hMXTU#;J=Gna$$vZx4F0*$O7cUDFcz$5SY_y5AtiN%UvxHp%!WG43$HcwaK= z!AL!T%9f?>_IJ-l6UnbqKWplWpF5-IX z=Na@;-w2O#c2M_xk#VIU$A~bW`ekdm2#gb9KJ}mik9SfK=2O2`;0ewraKF@gC7tB7 zM_5Yzw(S8?Z-w(MHS+uH+9q#kW8*MusuCZrx$ zxas!`p7SH=8r zATylr5e;10u|v)V42DZPHXLjpM#DA3tVV0ZJHwu^RZLzF^R!1k{S&m=>fD0(Xc)jQ zSHFJgrT)hCbDyGt{eWd$RRaV9z z_e@1%_1%fibI&%DP^*Wk7M;Bw85Jo#waBNt@MzJc1@T>m%i~WDwjAJX4Nny(=9bz) zr2DiS6t$F&$Srj{JkEL8;_s36eyB+9j7C=kcPr9x`l3YeBSo6dO|T~Tu_9g0wFv*ge=5>) zdLr%yKT%|yvk8M0{8W){r-sNqiu5@6IFJSRD$?uh!srD*Q)Ij|sSC(`inN{SaKqr| zip2H^p(OY(MJ71y;03|`%A*n;H&(gemx{zS0$i&ZIMb;YzEfZyK67%th?8~P5116ef16z)P4)$k#J`G+Q;A6$ zY=|np7~T;)>eY(rZBp=tG4br&v zD{5=us-nW&b1%9uZY$iURsTd{dFJ7vPLQqsnMmhs>wNecvs#MbyBknk*MMVM7b0M~ ztS(SzS+`=Pjk6wrqr0t7;r$-`w<8dVtw9*#c)KqvOGUert8n&fVnv8mbsDP%w((h~u?8XX^Vz4d-XzxCz<4;RQr~9W$exVPi>KX= zuCXoph0jZhWgWuI;PcXBS=XSK_`G(pEc_iMSY2aT_%Anu)jO6o8NROX((b{*Y7H2P)kH(osWNv(`IAUFWv~ zOIQCp)&)MlGDdOhZ{bXQ{;XJ5Phrt@u`KK~fVwf3)tA&?8&4BXtM^b<*S3mf4I(eQ zwtXyXHl`-Owp$EK%-XNC>4~g$EjiD%XMGf7`qShv*OtYyCerX#duje@3x39g;@4TL zV~l!&24+DLeYdJnYY4TVMJ(%0nkNfW79fgh)GR_R%!*~Lp&Az!#Iool#upBZW#!{g z!WTKT_G(>mn8bWh+gR2&)PIo_T0%5xKD9T}I+j&VowcOZh2)lMvbLc1F7;6KSFD6N zXk2zz7 z&qhq7mkODDDmo%#yTXL{8psl>beSiq3_Sp+S0EvtjZR9w!ch44NKOyPDOQE}HFRHF z4Y`;;hokZk{{XE_zEYR;<*Smdgf$`lJ%Ua0Of7D&#rV&}q$lA#-_gs3cZ?vx4D?|u zI@h%7g{sAe%)ng^1JhD1E?nj^!qEek-2iwNKZ1cvD^_Y&{#gwmZ(=;s!V2rL5ec#cM=G*!n`lKDp(xHxzi0ydcal++#!A(Z43PD zQN4V&mbVf)HGF=IM2LR~M+n@hkr!$tB)?$QN^i%Njs;rMigKvvX;C~6(=%Xt73i-~ z5aj^6On@Fm&!wKS6zDYq(F1Z?8baJAB{Q@QUuq?gyak_kZ%s@PZ?HKlKuJ32wxS%0 z--aL-;(kQFghzZzeTYExfSlf_hWJQwsb$(T&LO$*JIVn>*Xbd?!UNC*4Z1{wAbADW zTNkG&8=@KKk2bu%- zXvuIb(Gv*TS>RqRo_VG?9$_&sTZ?bfV%Yi(3MPFAKYWOoqAe8BThZG(IQEZTh`&t| zFYoxa(;)aSPTql@Y109PGx=}W6t&*0hOr&L7o~aEggB00?0d11x}I@=cl<5NnmS^E z5q%R9O@f)11NJ*0 z{(+R24&qB>zCfa;y-jO*qG}rEhiKXkG_4DE^$>{Y$47~VCMJkQ`8S|`Lh3sG%4z86 z1aVLaqc78ua!3C~w%%xJy_1lz8XEJaK{N@N2}rDS&lQMD$jB!)a*PKOth_N`Ujx8g zq`Y%L+=|R{D#7yki}666@W~iQtRkfK5b~Kl@s~qlDL>_lqrm(gxZ98lP=pDG1A<1? zM}Okik&ouxSOEdi6K>4k zi?OjBs6@CRZ;M5w@E?fM5Vs_v0NgG}((n(Y;S<0Zg;d}}IWqi1Wn8S`)Ny3^x2GGP z2R5x}Hk3z=LR-;-j(iLs!E$;7afZn)T;#s_d>oF%{HYkj`vH45Ea9I<4Sz}+{wlaH zAxXnGNW<&F_#7!}_^rx{<_v!z)_cUqLFS zlWp|D{!*lF&to6NN6N9;3&w}UJVb*$%IBf8ehVy`0i(&8SoxET}ctxr2Dng*(1Ov-JeA@koS=8agdPi zAEFYLa}ju?yU94#;~8?rr7^7!VWwV)=J2lv=+-Z_L)7{k!Mz@->nNNBWZT~bxgDw7 zO!BFlZT$CK;K}eBx)jb`b30=ZLb*F_a~XOy?-7WCh`=o<3g;fb4Z|jY^t^*| zYi!>}0>%MIp*o*{y%vC4M`CstJ=faiKM8az*yR8W6WTUH+g1Uh=bMzf&vySo!0ixS z3eYqGB>RpCAUzu?_poi|AiN3t=+7w^3Lx3{vjEc5MGo_*?Hf%%vTrRwcM(w7mq=o^ zf#8qX<~0N&`D*>|Y`(zA+kn{D4wZJ&Xq1%Fzt?4zq7&UTP}FWP2{vz2`r0HhH}*tb@I=(&z^ zuh{MZ1SI=<0@Pgq$-XxQke)j!_m*u|5|GAs6hI>cknHH3X#on*mTI z0Y(2E62Sdr-`lqNcWvKN0G0@C)PHgCQhdFIC;2OX-*$hY?Yj@4dk9$I$Ak8nMt|w^ z_x|tk_)Gu#Nj`B|_`6ID%!y~MN_(dh&5i8c!=d&F017W>x zn3i?JAA|Fc;0(OPj)M}+d_4b7j5|wocq_46Qh56g+yh93?ks_CM+^PgKJ*Ea3~=Yj z07rj=|1whUhw#KsP|C%V9EG1}`=%GcufK-qz65w863d+n3IhWmJ&P%KzU_LV2*8yP zy#UbPk@9W;@g6eoAf0tDh+D_f^t{du77Hy zHUUI0;e}CeA@c^3FzQQWzCe;jof0bOiRR(*+4lXRjrs+kp9GMMqQ6e%;@O^Z^KD-a zhDR8cnuJ?%B-vB>0!Yv9l)Kh;T~0t6zODduMiNF1LZ%o=7$b z04*ZaEK%YXm;n?DbaB6uuTb*tN-m0XU78kNs{A}Dg?&uer}Sg8?^TFvqljn=L=~8@ zX=uNiuu%oFhJ5VEZiWK>WxPMSrA`5SC3=V7bPjxSVu}!VrTMuR+>ek7M`a3T3C-jb zKQ>E9h2^aUb37qOfiZ}f|I8Iku_t~UjP*#}7N>)GFkWovz60YMV&3Hf^DD{x1B~B@ znI8o6Ysm~GqcWs!BWXMjNoFn>9f&!)C78cSW*HbmiTOZhF!4wCv{AYgjEjhAI$*}j zE!8?O?m_B$)#Z%)?09O>cF?aN6$H>TMI*o%B!*6}V8r@Fu`vGG3iX|0709h7p?;Sv z!&AWu{-$6l=v49pPX|`;cg1V3c{!}$b;awWc^z57hl)2`^7u$rKogs)n5Jx#rEr;O04uk8e8{^Z&2d6bSJDmsqmf;BWkf9~= zzE6bEVpebwgten^-jG5*0s@+cm5P6vhWgT5u5ruDOeFdtUIel8uxyKAg(H=Vl4=Dc2XH-W2*&tH+#eYzVR?|t0X38W|(%z8zNqR1#AkT>x-(n2GI#r6q&PK%)flb1)*eT5FCi%xn?-eWKz{N)(;+yEJUBFCvgg&~?`FMB&ujSqsm z4oMy)U-62S=pY#HAa$L31(u*!y<+=04_nbWNHP*^mCV0^@c>fp#M^QCfm#gl^drY# z_qz9?p?OzAL?5!#dvJOAMq+%NjwdQ%e7o1QMgmBeGy4JhmjKc!h`P@Z&jJGe!yDg) zfOItb8K6c1Y~~RAw%53VfOHB9WMDIlBu+sck?DXmfDW;~-mIwU0BbZIVBht|-$BLc z1XKd_KqPspt`G*%lMXw4r#JppZP0}PO%y;f=o%7>=K{*@@*2NugXRHrHIgvsFUZ`A zbcR6-P{?BRyorkM_QrR>$O(fU2Kpf+c_Frn#EhPIQSKve{3rs_h1hEVy-GlF)l1$# z2O>EGTt*Sx87qlC`8)_*(*!wPOkSPP4%*i#uigOg9%$y9$7pw2=aui;!2JoSP%Ibg zygkUrI^noOf3_lh>;dUxbHSkh?wItk_0pX@SWjF?!ks9%$#;?|lzYhQ&K-@WkvsJQ zrU#OAClVWsp43|Yu-6<%Kys(i0F4wta;HuLNYCyBe8L-lJpsv`E(d730Mh6ckytzj zQSM2v@iGC)o#@XRZa@;Fw-%YZkj@xA3Wo-xCpw(*r@irCQ*m;qXMv{woSby0DFR4O z3TXTpZ+s$pR2cL=K<^4588n~7;<`F$Lev4UxtbB!sW|y(k0`_=T)63Y-&-NhZyo_1ML^K{JXaw^;G`wYgZ=Xm2q`+Q zkV3uIM;EXM6<@C?lT>xmUZ0*%>fV%f*a$b{6TR|wFB@A7`ecM(b{^)&N<)a!Xwj#y zO>Rai$Wrz{TI)P=yVQu8v6#T;OoT3BM4d+%@esIwMUtk}d4wr%fw7I4!jw9X zFy&h?z9yzHrOqQv!T-95xsjwPcY1^=gTd&CB!UZlxv=7VF#^$(79Ae-dG5)mOa>m_ zTRE1#GkpI{Kz9Y`!sP%SjRK<4f-6Xof~1Vs2B=Dk6kwbJ^oRnYOSBFUbQB~%IWG!f z28xf48oEFM=A8-XMwP&omMOs6C?Hyih$4X8rywsyA*zxBrQ;C=_&f@bEm5-pD&7Zz zI{TL>LaM-K1h)%&A*ByRQZA4^VZu`|LPx-+FI?J7ws9?Zzk)|!xb%tP#T&Sh1@D3= zkK#MsB-7U<1wn}EvyJ)9i?bl6k4yYf6`*$%5FH);GH$klTo8rGu9YqT9SZ@V_vdpY zfES__X8a$EF!oCFmp@79U?Ex`RT`~VuPyf}$gU_v)hj#;ljt#}{d=Vy{i5o9R!J;O zcr=?gNnTM(J4gv8d?c3p#9tWu8!}uxH&Cvx$9N3zyq6%F1<+Ljcs@2@BsRqJ1p@Z- z7`q90DMYsdv^=Vj#0I11b^@O5F@Dt=9|CB-0Fp)$8{+vc0sDK5cGzwRjjsZb%08hdd#I%svksNZ1den zEY}Z;#D;i&L%_iv^GO1>g(wVArU3qR1@@oWfsgMd1i> z)+->+2lrg0+{^2v2Di|23`*RG63lj_VIf2_fti7H)~z6JLS`uv>)Z*{DN!Lke^sUO zhJk%I0Bex)&Ia)uGS48Lbv}r#Yv7qkh7a|a_fWMTLi7b-pCjeH z0pcVw$EjTIAy9-h#FK(QALcPXq*4a@h5lkL0V(e!aP5!@Be7iScETFs8KP2U9`hF} zMcqCCptA*#x}C&^c#3y_~=g-V4zjfMy}( ztpu?gnVYFpuVK(3u=2AKlz4_p`~~cX0Qf7Fh=6ztnQcVO0dX9eABeaVL|fe7r6c8C z0HOq$0Z6!;hA9*!K7=~j#LUA}E4o6M*(<60U8uQST9#ZA*UsgI?rDb(|KsVUfO9-Lb+cEFk( zGxV@}U>*c?zfdqlAv!9AelLvO!Wf8Xw@@TSdcmFvHhoq)L$h6sl#kYLOt2T|$j8#> zrPly?#^siRnbO-2Lb)#lbzZB@j#9%v6Q89fo z$Y;4tI@X#s4=!T;NYoptJ}REA#g9NtB084EP0^+2Xz>#elL+CKwTp`9YVih$NpvOB zps4t2Eq)ea5=D@vM#a}?@e2@>2$6v;iHhfG@yigC=s~1)QSp2!HfoAk!LyK%KfVSj zP4;W4bItgoIPLJSE5MfuP)z{C(@)FaRdV{CoD?W|k#g8il{lotYQB`|;s=zxf2=&} zQOA_@VkOnV#HWk@t^kY90O;x|yi@bmDfx9|y&2ySRX~xP09#K7$jdZLIEu?8|5C}- zgjx~}XY{s_0DPKkzn*b=Lsg{Y?W7!gpP&KjMw>SKUAJNkFnbFSf0Yg~2yja56qV$H zKS|~*$s8q-{Z3`@-*yw){_-aY#YU>V4$x65^%jVD zyp{1F<-G_ZgiISGmRnfE7!@?c^LLw7Ikl8@QwIFsN^Cl9@y&FSJ1r70RK`Q#X&Ecft zd58`Gw4X{n2BHy}Q&dXKM8e_^mGGp{&HJmFNZV^5@DzJuu-B3@nu#g7*p4BInb-lD zc1Ut264nqUD2(#~hyzrLW@3MU=s&T^a%bb1IG)7fSxLEaxA|`ZE{5n_fW`{o?Vw0( zh-Vc6hr7+x835h~(NzFlK|t{bJ?l|N4~P&SX*TLE z6S=8zY4qPGGioY}U!ZEH#ii4KXN+1-HT@s<-UL3b;>sJnw{PFJEXzW+WMhnhwlUa% zt<5V$Hfn8l%i8E}8=DZ?vec4=wMC0Dge_nQ5JK1{A$cTX2uTQG7$!pqUsg}TUtK-^;Q$ zgE-Lg27s?)%Y$HP;z6sP?dOkR$7dlgwo=%YQBA|@OeGHJgtcaH6)NAN`Mee2?sWj1 zI0`=hm_TZKVkuuz6T74ToEP4XF#`&`cOL)QR6CV$UP6uQeg)Lc$oMvd=0D*kcE^4- zG)bm@0JxSJS`uoKq&BN#y6qagX$0kPXx@i1c*rh8^W#YH?eJ=7k~SvKGPf{SYr?sN zxi~bx0-`So;d!?yzuFe>x}Sty3FmDjOat{J5dDJ?{siNX=$QPcHrm|@=QAXXf$%>- z#1F2m`wi$S*W<@I2-Z1&hda{7Pa|183ExlK&=PSIS6XNa+J}FXE$*y$$D`u zU3>mgmu`?AVc=uUfzwge;y_olq8$7FG1C<%9k(l1B%DdqBwcY0GG2vn+^#sScvk>? zjODN^{tRW@g&vldiZ0W!!`yT`_~i z`w)tD#qV8bin-VokAvtjA!JwVM-E&5)5h6O!g(JFIV!#iqAv?!1@4H(goXdqbUU7K zzD2@yK>Z_#evGj0G~E0L690~XZ8ON5w1H9KCY<>Ym~`NYH8_PvkPcjr#5oA6137|X za`b&IQg$NY)H4@5a0iH5N$7Q82Tp8{I9RIDAAqY0+xCcniQoj!(u}uart@Kjx;aPUc zbFo!_1(2M=wnmXxfi`1rwd$_}1*fp?Acd8>6=0ddZZ`?^yn@_g68GwawdT8vAc&i_ zWC;EsC3F6iQSIB0tJ-(D&UaC}sP+$$@%sqJRqb~bS8agLoJ2XaGQU9?|AHW@U5fUV zAQV;Yce_qEb5XUEAUahDsoI>`Z21q@15Zf0&Jhw)wKs!kqYzTHiH^yCGy~Svbsixh zRht_{9SEY@{YV^;TvTn+#^gVH$^L-ryvSU%O;>{G3g+T8aVHWypHiw#+L*=v>^b`Z z*I5WLi)udvq6bOnsrDM6!m7vmOQfir*Sb&LVps}pJxuWsGdXU+g#@s=Ah8O2kP%4h|qt9 z#4izw3Vpll{55k?=nEi+`Rsg8=-&jYh|uXzavkz>jaD08P&oCdIZ-7L6?6KixkTL+ zhh)DJSCjA4DEV|`w{O8jq4fJ(@vwgXef+rk{Y>0>2kI74UxJb@MmWBxpN%`8V-AY? zFsP@PBP{Ai!It{9?GsG>DenA+IVkE|K}`h`QQwcmeF#d_q*W(`$C&GtxN|C6C8GW` zh(1X|Pt@ChDk5s5-+MLMm#3%Nle183$!`&@eyRd&9Mz(J2{ccG1-k+!ONsjJ5mCP* zAZjiLBBtc_xbr(Uh>p(*8*oyFAhUz)mlrc7cgCHwFGmiFdJU-0V2-e;zerKZ@2S7W z)aT;Pe&(R4w}JW%2qNk%5*HvSQIl5f%Y2);j>VmunTuLI0-{4C^hEt2P{$GV7c^R( zOo&z+EAoTcsC!T{75?|LP;1$g*}c&6_=(`~pzej$py4Yc)=Y3&xKTrg0lfh{+xM_< zUS5dQ8{*6P3LvZ?>(2vr7pgo6B-&xt$~^#|3GfX;FsG5Lu-@e&M7)OmI$^E(^a2$7 z9NzE)i2PFf?^xsgZ!tCg$nk1y00nD&HdwU!`9Ev?Z4j($tRFxgBCAlK$E86+Z3J0Y z40(%2b`?X?hhedYiXc-D0x7M0*d#a-1oD_kJYf=_)(QN0cLlrTLry|OLCS?20eI(? z5JjHL_XnM&d@mR_mYW`4iTjT@OZi$c=Z;6O@g9Zz6BtsbMt|YxQzIS=Rim^fgi~0U z94b9x&^Q*VF9(X#TLaLdlP&)Aw$Z8|1^TWUY)5)%D>Vh!QNZMPICOL;6_VUA^JXh` zKS-q2A2NxDbi!)2cdtVWe&)Z$rVM(JWqY|B+%}09@BFfAx)Q5 z26bGO*w5PXh{YFx{S-poqae4xr-1V|;WxqreuBW~6tEk>W`sKVE!Ow#6Zo{`hXME? zfnP)6_74>BNdP`c;LKtGf2e?GZieweXt)-Xk05*xI$b9}y!?^9h)*S74eXT&b@CIg z7wrmGa2Eh~5co!x^z^-qJ9Ki`E(3jIKaWiHT6@k}PmqdSat^0xLR5c7wu zKHntI;s;zpB9w7yh1Kw!i|x(%Z~(4H)hT2|Tcv}aMYUfiKc}t&Fr$F0x8l)kgu0Vs z0A>~NO#tj8@FCibtolD`P`3{%NhqoV8iY|&u0hj2XazugHO{*g$eb0McMo@c295Y2zCw*u*J=L)Jd6@R`v)`2SW(_vK2K4pjeoe8r zI0aPU5nc3HxagMwu0qi_hQWW-<$X|rqiUMK@Fzo07D1z~GNAu}S@(OPLQ_itmY%Ie zf-V28!egkc-2)I??#=xe*yW{AQiOFdG&BmAJC!uvFQF@*N3a^U19=fbrzUutA~@q* zJgS6X?f5-B$2*aD0Ksms#Z3kodJyD^G-Bd{zXz##cA4`D zFmkSEgKio`Vt>WQ>_k+3cPzYl@Ab83bXKd0ff)5K{A=U*H@-PGR+zp!qq1 zusZ)dU=b9nk09Z{V}rSb)l)&R0zp{aio|9FVYL&9T?n{#d=*k9n_ok)x7+cq8^G#w z05<+p0CVn7adQA!_9FW_)jN=QCxT-2NhEA}Ao5E( zm$3RF5Ile&tR6$+vk1cK-y`uY1YC0FPBtB3_S;C==iBk4td_e=KLy!K2(r6mVbuSL z`Q*%e}PmDqIDi2(J>)< zoP;@h-YbT1Cy3gFkZ+TEk!bnP=OXMOJF)gg6vQ_+9RSgOkC5n?#s7aG;iY!s0z-Hu zh^`=E3gg528b(&C90~gCsl`a}S=iK4B=~GoYB>_8!62u&X5;HDQ>&2Rj%eykBzVk_ zIvWWtFyzGUOeX39;mSL;83}GNrOrcwyM?LkNbuo_R1*?hGN#&);0af%9SI&GrMi&d z>0T;>1RqIA?LmSkXmTjUL&MZ1fN*C$bpQ$eFd+47B*ci&o8o&do8A_fDmm*`1Hq@t z_A3M)ps`|&aBMI!;jyv9!19%Lmxr=#v+Az}g0JFxhljvxCII_qaP?^qhH{Mk&zMA3 z+v(KvASZ7r_8_^fUmSy3gLr(6`~nG1JEb>CYdG2Q2N49F z;)9^a0;<&@w6;`(ntjk>4cenYnERG#(2x&GYS5J$gt_lb4SJ^!+6)lqzDE>@4xw>v z$zv1HwB&!|m)oOrJg;-8XOrkoX4pFy=^X#!*THYIu#m*fUfb#X5p-8m@l}26 zGzjwy4@(I;-_Llv24#HEdo`%wgC5YJBR=R64SKr|dP0NVuR&nqmY0#4z z1UY_FgTA9do2>eHT&dm53Zy1f8*0Z-B%T3%oOg>f-c0#tYx<-DYkE}oCm^V%TO#x> zeq{zt9SVYvtE`V9hp66x`AVs7P+8fn!y0st51P`Tk7^KmM1wx-gKh(eJ@O3=LMPp$ zK`;7c-LFBv^+6A7P$^cG@Bzrg;~I2|4?3nnwLa)e8q};o;Om zScaQ*d%2EnBvIxi~B6;qlkWFQ8 zAhNw-f#Bp*4pw^M3fxtZl1EvJva0M{p?siHa66@?>3;=J?(;4v`8yIt`MlepD*P+- zgu9YR{-jtTSGrpjl5dNMzlq3?5_!i$xjmOJ`)%S1cQMJJ4>a5z zPp<>4(OoX@Ds}i%YgIs_+rR>>j!QAn;&(f`1Nh!WMR2!sz9P5^&4}M@2zb_`2yS*7 zg&_U#QV?9~fIl7|DdeTjHibL`x*mUsgM{xPP{@bu%|y0;TH#tnKpnq58rYV^AGKd$17s<_X2njc1azkT)o1-GX z^dDi<5|u2FPid+GD}x1AssgR_b1)Q%5}G)^DqK;P#JBrZm&7}z0)8M6gqNrau7jo| zzRZ5+1DGn?mmO(NyGZfN&JM}80K*4_Vx+9}GZgT>%*F=|RknMblwaGuPLE{cr;R~) zK-KnUv^{Y?v+)r}mF@gsZRhLSx|ayyK9%h^C*rPx+4yj!%2pA~RuRlr;plAEX~^~h z4ao_2nrtt`-rzI&LQF<{do#;_Atv8wvC_YR{YiYB+4w-Is_o;!Y#$G1`?$&Wzu3|n znT@{{QrT{d)%&&G7)yyr_<2GQW~6N$TVS&iBQZTf_#myyIuhIAXB~;{QIeQpckN*% z{5_hY+!Jf|Dfg&y+eMA`#N-<@R=V>nWOJFV>@JhdjRktyjY%(C>D#J7`74?KJj!3$ zTl@-sWw!|{n|^{(5<9U(F^-WT&wG0M@ICn#l{K=bJYGs*|owqAc9(B4*buu!JSOaruZTEH{6r(y<6by=0v!fFB@e zmptp@Z}9U}$IC^;J@1DmmfU(Wrd)h}3p$#FZGcYOi|jMXD;GHBCztO|EP{_;!3M3y z>jbw02>&H+Z(p!rLAvt11#ehz?gASe#@AX-`3g)jt|VX&6H5V61Zfc9P=Ha%nG(&{ zg`tZ}D{;&YI#(66V4=!}+jQkt@K**viNY(uLfcMPvd;3AD60llogfL!)D^l;$&BX| zQ1k+y$HlrNu&hd|)OC4)DxE>|vZT^>%7Y~=JpnRcGfrdzzX(`juPGxdC%MwBNaRs^iv_34KD-uf6#?8#-2p>d(66I@^ks-qD2C;I;35Psb9UXoA+Aa|*~J zMU(AyE~?Zt>x`r@7X0VAt{$LJ+8Pb(1OXmW#sVgWG*x?}eB*ezC z1_|2)T);umQ1-UQa%ILBN?C;-pH$s;LVV$(6)^+v;J|h)`<%i}M@ntlw_` ztu=#Nx%{uS#H=kvpb4wY>W?*g82>vhrnD`A(tK>NG#@&5yJEa8l_h}!^k6H zTNf~bXNu&-24k8|u@H@4Sj;en69cjgqa=c3Ogvy>lN-qENEv&l2_8YE#hqVG! zs8~}YT82R2Z1QjyHG&4+HLHsh6(%>~6jQ!@2Zvn4lUDCFvwB!T5&?ZlSv9I8{(Bdj zYqX(5rCCMlygoUz*3XX(sYhgliFy#NLrEss}0W3Nq6G zXt3ReD8LL!{xi%_S-=cD8cP)wVuls6RiI$Rh7?g3qR3JV$N!8e1KY|nq8J=&@)}Pb zfCHp2zsyjrK@sc(X)zJ7gp~;3jL~L<;F#h)1+3-FQi5pQ>WkX35g{N$VuCCjll!Ym z7=K=+C4N!E5rwY%aEE#sk)(LNKax)9%l5VLOYG%yvHAsSVf?s3Go>oj8}f;Y#J z3|;r(?qdiL10&Xtg1Z@iR)N_x<^~1+dshr8GZc@h^#76j?f>t}ot-?_kOOMgRRsvT zkr79e(RV5^?^h`_quL0X_w@?R2>aEc+`Mm4Xhtm&H1FFLn$g|}n)eqeG@}C%H1GQr znh_fvQ%8OxxYb*%yfZY-l=N#+>ch9CvnYK_4AI|Y3KqpwLa z$LMJVWmEw!;CV2rlH>)9$P1u8OPST!lL9IUM%d*FnzGEEsq zn>CoRYH9}g!Re2O$^%!4Bs*At-<_nB8&%g zX}QqQd<0M>o*Ytg`H$_epdh&;zp0_vSa}d*i(u&jMf2DqTiU|eY`qMql6IhS1B{Y8 z@`)Vw0xJ)-+lwfKfEk2-!y#tIFCF%*J#-!YBgx zWyI_;>yDh?*xhWi>c=}g%>t#oubX6$ham}w1_(`aHDazf87ulgk#(W2noGUDE=62b z%lK)PUd{L!4M!BZs&EGZFj6F8&J``T6{tjFk3 z@qF0W7V<13>H(z1s2xFaY8BzVGW$U$IG0HQArWK7D8)*=Kohxd&LK;wUri$a7a&qy)8$7ek2GrlLp zxK=K|xbu)y>|N*sRjLJ17Xmn7q$=6#SCU~RDsMTk*gN> zn-S2}jJ6_R*VyK7NTjj^>YhaVnKg$1I!3JAppeuTGc_RuH8*w%0F+)3h+FoW(UrJL z^9#z-7LH%j7^KVCf+rNsGDNd30x^;qku*3^d4In`Gh!)0G;U{I6bZDCkyn~lIo{u= z(2Ts&A{q%);Hp3xjc2qNAvn}|uarH*qCbcLN=9DMb8I1kL~qz+S0U*!s)xB>S~gVL zEGxirRCdlQ%*L9T_OB$8cO!%b4UL=vh6Zr3TdA<{6;3u9w>#T-7NK!}o3tqkvtxW|}gv|W<3R)jr@g3(2a;u1vr5!gD$ z!w4vY(P2quu0+H@3dT1HILqixNpf&|7p3(s1oSo|HmO`6si9L!t!r0??AATNKd8tV zkv!lK_+Pk*E@k{r+RVnRMIrSFQOxUHTlycVi53(SiCtQ>3JT3g3rV^BkJCg;^1nM1 z#rPkZiDFnJdp@FA6;f5;AEyGyk`cvPOtE}wsvoQtqYp_k$H>bU85%_t64YvacQ#_G z3ggWPP$ou=lFYOqYC|9eW9kkl7+oyM%zi`%5Jm(#fK`)rnyiD@gQG#rt41@o1q$XTiuLg=bNW^sta-8F{2|8-k=U`#6^< zVW6+5$=J<}%`kDJx{1#)aksij%rJ4kx+$4q;`8dJR1Q|Zu5QX^nD~LZDW742qDRpc zGfcd!ZWhll!F>i`s%DtrhCFVT&M+{EM1#6nKEniC3$hiSEkQY<4X@v!gU}~Q z!h_dR+@O0IktAR$3{{m-T);?C%vy3)2!%L_ieit+YvOXD$TCtCIfK!i5ra<=?H7+{E#FNqk)5~YpLX2!AiuRXJAP99w1w1Hp$1=is zfnKh9{NISc*@f|T1k68-8WH3v2PWDO0LOp1{Lfd=vQ`9kqW$kx%*H%{ylgu$RiQkD zex)deP+F4k(?ABwlKMl>B9Zn5T~ZiBDCIjVk4-3ACz#L!J~jnSOrYuWgq+=hf=a^V zgfaxkZ7JiAMaX?jfZVc4$^ica|K&p8fd}pz2BqLbXSK-tf<%zs|E|PrdLC>f5oTiu zJ+lY~zBr)VG7r|_L!%|JA*AMpIoewb1*}I1HeFLRf&#hMQnV!7j$rOZ9Qq$iQ?!r- z-sIrZs{3NJL4QkNk+!H z5OF%TDtHCsohnVVT>h)U<5pu+a3^Ff@N~yuP!%cv6UbrhSS4+qdG=rM9RicSNLys1 za02p0TVAr6IE+C1!T5HAU~XRiE4yQ%QQZaHeuUuGr2pz|G-ik27#|+&7atn!1^@lq zXpnyp=7WR9_|VzKd>#yb4Iysr+~%|6zneQ;j-j4i4$F8}8e1EXx)1dqrSxCgJ-ZZ^ z@RM1k_|RY}20FVGmOwicho2J{3`lspwBoGCnj| zih<59g(WPNQiAjb8l_i8izX^GHfYIcH=r~AG6-`YK-{7Yf&CY3v+$sy_ur@;#h|6o zc7KTLVO>JFxq|qh3D^q)46(J0FIMR|<8ci~J8&?fHv5t+dpz(8lyllBNg6a!GG_t;uWmho$Ab@0 zSf&3yX;I7&eX!BNl8)Et>y!YJjPFtDB3&J`wt5YD^+wlww4p}(VE;YAY(!b85eLD9 z>gk{_~t+#a0!E=A1~!bDJP1{$R% zr5YYVY6Fc@lal%rh64bIh(O|mN{b_M3~6zynD{yZ zX8wy|gBsyO+3&%}IQ&<_Mlr1XKhJPuF@{5?)8}n&j(Y-6^@KSNVvfi0=YbRvGx0RS zTp}*De5>ximp5pG{CAUv8GaO{K7l|%ZVWL@=&>RgfaVnOGr$SMOuU3JH^ad>!PkkP zz4;>Y(@_gEY@lR#Ysdr zb~1iIrQ?jBQt8)J#(O~v!9637g}q-F!uTI7dQcN+qx z`JMO$XFCFtM`6isML?1-3j1f3jOOh?Wj7*VNyzA(2>3}AsrZ(~FDVS8Z~2&L8GM27 zuu$%1bgiPKJeg!U*x6yE%OIxM#UF+o73v%#%?nae#uEy|=#vQGk{BjGi-5BrM!E)K z{40lBzP{47W^HOgEr2*6$UTh6@jRR-*RS4i#*EMY9wQA8XJk^Lq;+?!^p#hZOD$PZM_W)pF^ z$t+4lbWj7=01#IT&0a<%FR>i<;N7tqKNkm8=(HUv44WrE`koN&kusH7>&D0#Fbm18$^WF*J#9HKv}q{+SuARCTM{JDY~HcT7%*1p9EES&LL1Y~D) zHiBelVuOO4>?-E#R&ol#Xb*y9U?Q*Jeg-;W4%O6}3S~j5!0dm`B z8TTPX$$d8PnynOml%g>iF)G8)Ns}aB) zBhr=mhsj%(&-gh#!-XdSL8jQ??uEWqASQL7fA59J)Ufs?!hF0~9j~1#lH(>OU)1+> zCV5c|yq;8%oYyjG@O%`P*E1@TO&%tn(DyuHz2u<_5Dja{(2wAe?&0XeMqoe2Iesr&qsJ@$-wgrb6tV-Q5|j!z<+}D z%R2lz0Ow|4BZArgH|1OshddCBt6|`b|Bv1(Y5aH4+wY`k@7H4F#q57CUx?oo@s~xg zJa~QTM4#0%F?6^vFpPBc}-jIRNG|DBp9|vdWS}<``CcKv57*yZ)8jLL0Znq zsgVu!1LSphIDcSz5>PZc1f3ioDgvDv8Yu$pAL%Uuot^|c3f?y|IW(C^t8nXAzZnbw zfPpbN)ju>!S~tLjK^ayL_73O!3j+X$cqMqEuPLb8Y$QComdUvK6f3GBS|Y3w|T$HJvC9;?q;gpQ&+lnhdTm9%(B|7tMcaapi%{@^S?Vcp@N_T~hmuUP-eZLg3y&>j?O8ZVZN~@1M?o#KwlSo!o zUL?GhHjwQ^GHxfF50=?z)bes*-Q@{84l?pw3*gd(bCW$lgj?m-CG4bIlWZVC!uieB z%(WEXI}+qM3A-8y+quk+%@48g@x>HUEU~hx(#21=+}fnOw3_$Fy*nM0HA#1gq72`? z_EN%>;Zk@9UUUtsRDD%`eLgNoxvJ8o;470!cWol+#wy)YaJ!_zt*my>Od$8`0Gv_n zLLsUXQ#zM0^LopvOrqW(Bc{|KFN9U2rq=CO>N4G-m6gzUs$(kY zmVgDQ_(I&p618p>;yAT_mkfxSYIl9R+fnT{?sd1fyBAiwE>7YccLC6` z6GHsoSE=}~sU(&)#N+OA=b15%4;dY;)mq6PtgwMw>U>UciM`P9Si<={hJ8a4TrWsC zhi&(K4&;PWnsm=%iaC}$FUe?=(wd~SdX6dQU1hdVVI&El0p-<56^~wq>X%ef0vt#v z@T(^f;Fl6)@_lnM z`H@*nK7AY}zvUMnWb&g$nM9WjCL`ACS>03H+gn66bWdx&Xq0%t_N@>vMsH$!pxn~6Nw*wD#a4r8qg#&J+(ZpymS4?(NkCS* zZ@`N;*C*W;XySTWQD=eeCO}=fT^Ha?(B{X~Kj`U692HUsZfY;gWU<@KoY4djpqj&%vyPqEm5j_tcU400HG}&oEKWkmQj46F{W*+ncNHQVy0+`0UAuO% zBV%Que)zQR$CYNp)l|tK`Baf1_qTe;-5(lqKg5u0S0irP8*vLlBks$-wgr{>ujf?e zyJji#PmiO_pYe+iD)ZkIRpvQI+>?GOK_)*rCzH4OOwuNylYT`e#U!Y)t_{xPe#t@p zo+`$l2>+j9x?t}(o0V3>5n$PO&$kEBf0fm-c&G#aVTl?@)AUA?YL2A85rcg}#-EyaGFF(c`bqMd!vcKb1Wxvfm7v(It5JiS1T^8(yatf%{ zJsqSwV8=v^r!P@rJQpZuKJA>Ap6W&sWFUFE5EwzKCcI`r8tKfI#cTEtYu~cqZ|4yh3{(jcJl+v%`4 zFs0?rknPq%VPI`fY;dVMu#%j$U?rVhZfulpi)-W4pNTEIBF6Fs?8&tu;o5SXC;!!L`}qt z|DN&UUFWXEUW~~Y4TV!fzMNdrfSl7`bE=(%>~oRhI4L_(74ZpEh^I#2|Ef1}x6mF3#HjIz-!< zpy!ov9<72wo)15bv!R_>Dc1F6e`-_an8=uOTZQdzN6JYwxXlvNGjLcx^DT9rQ6pj3Omngv2e{egv?)+^ajpSq@cdf#hn;^%@* zJXWlU&lhjv`(LezPX(Iz3Dd+cg_`(y(I)PbCf*rsBHHzGS#tU{cHLhF+x7Kg?fQE0 zc0KZH?Rp~6uK#J;^~q4XzF4$fs_U*R(ynV4CSR*c&IH@_e6e;NE8ecpzFNB;47BSz zrd9S9818@M~nsMyb#e(xrwn&)|5`- zkZtd6PgdG?`)m8ZM?W>hAiw9HpEJT#Kxd^x50}idBX>`YTv~I8EYF zI*E(4z%G;BtMA3AMMZY6{`@Li5gZYMj#=AV4`A7%_Rx%cYILi1RjSPzCsAW6GbEYR5QHw`=z;s_I=C(MOAYK z`^wy|{yrDJRYg?uemL4nHIE~-gAtNf9nY8O@%(Ci&$P@jt%VIJ5O9$tv2w#885zp|IxR|2EOwR zl@}ZQSXS$O&qvX(YNYM*#RG*^wbKz@x42V=qBF{xlP@IVdh z`3VJk#e>1B9i6aaJbd(zL4Gz{3ZE2ZDH^!cQQD@W$CEm?f+WzYy&y zB87Lxl@#uoErp*LDLgQT6uzsa@PQ&y_`#e~z??-LxKm~sWf*>riG{F#VfR%fL@{oi zQm}7%?MIJ4IvJhE?wsA$yXNZgpXwg}%Ug3?PDO~9EpWso5qd+X z;yP~Ba&gG5a%MSA7MeTdKMvmz%gVT(JH^~YJ71i0GEyl8V>SIMF^_k6f@k8zk$VG= zmSf=Ic$K)NY#?0?#vFBitj;`HpMsyR1$Digk;ZV+s*aJ~B&zqh6GZj&SRPB|!Oo+{I3;^xQUcvNpKy`hC-b`}PewrF*X* z#IL0=Xhgka#Z+JL;s|`MhnA!xVM) z;gn&|4Rk2svUarqAjtp#HU4b_Zk1}gP<4#8SUNQ2{MOr9a^1_Y*Tch_n1f9^hn23oN)x-aexfMld_#$5AF58q5~2FPuoP0PT#BkN4`wNv1&{{V z7~*MT9ghYVsnb2Z$Mo58YI@*|Q4R>5V^HchfIaRp@tnYs(2fd@l zc*6NDzRDuS2e+^u^@|T~VSNq7H|XM1k>Xv4B3o@wqZjvagK!@zb>5i7hUEFP`Tv+- zfjSIP{D0-u`2PdPVu=6i@j;_m{6F9qALRepSK&XtD$!7k+YkH21-bpst8t6zKf>*8 z#khTsUwn|;AHO=cMP+-hUtEye7ha9q7iV$%o?_hI<`*C2_T}Sqn@C31u6Hj|o4E&1 zq*1^#6*Te~(@5!q7L0-u8vcLs;0R~0<EKccwvtWw<=T9Ayd2RsbM6pvsmi=!1 z#Ei2z`Tx;pW^Ou34b+wD1fQNIPq3V%PTX}WHMF~D&i5%5R@C1quQ8@QfCq7 z>s53f#*(4}+^=y* z65hfhcRn6iWdE#^GeLHf+|vDA?tJSCP%5utmpt~u$zGmG!WetlRW9vU`6NyiyNnMj z0r4@coUklO!mnC^9^V*wfZ#pY=NIo6CuJ-SP2MF==s)446bnUhR^PQ$Ii`<{2y8Ek zPB`CKtUXvos9p7k;VW^h+S?+>gMW#NoF(v@PjR=M*lB1-t&JfJtK zGuy;|m*$eXqP97C6+tzH?@?kXE6FwBk?Oi_a$$P!+t+z{R^mdZJ-Rt?WdK$Bj^Kq3HuRw;72WC zzcXKrD!r*I>%zORKgqS?-zz$SeN@w3C%ds~Kj%*+itaB0uy1MDcLT5wYuJry4^+zg zgRbKlwFfG&kLZo7Qz^C3?%jU9dH2v9&meybD^xs#?3^Vz)!rTL5p45b+Z)N|1V>49 zrFQ^xrXG50CHB&^<~GL2r><#;Y+b&c zs>P>hxcfnqqMqC~roikV*O;Ru*O(Sh*Q#BmxK~7%h|ffeR@$;nTQT1XsY55VK|}MR zSWp`%v|2_cN(Sl~LRn=8stzB*KF1v`GuHQMA*MXDY1CGoX04PRC00z&lNFj%F%t*c z$_HCkX;FD#+PBs283L}s6V9rXS(3uz$zrKS8#Zi;%-|1ER%Y+?ZF6*nIi8DlM!<^D zUat<@fz|pfy2i85#`YL7gxawN6C$6Bb4D8KH%AuzkE(rcB{n10ZF=|r^4Be1uU^IV z9AfpTXw-Zu7m+T}+^l0)Ds?tGX5xVE>;;+E)&mV2>NiGP`ytM`W&rHdt-REn=;K`f zL~q_y8oEtuhM8}-d3Ms^jV7zuKd%k7agE=96wDeuYu83fH?#IO%>|whM%!gvK+#sS z3x^suIpx(6Rr?wJne$;UHf^ezeYvq(?BvJ>6`zmf1aNB7U72)OC*2dcKs!TVyyNmt z*$a4*r{l?fIMPXXH$5iQ>ZX+^rZ))_&QnXoL5uDveiVyy*-;E`7=HbP;Ev)CK!P2` zn!t|Y`xJqcm~ireLd9W|jmWPQEBP-&CBHJe&zvl_51Pe1sN2ew~7La!V1or*ZtmDdR!epr@G5 zQ9dkie~-NnZowz;Fn_zKeFD8f2k#_2910`m*1)jeONaN*FOs3j{Y5&C+*l+X7m2R3 zO8t1JgsSFz;4KYRvSIISVmj#NM9JqRqb!r~*eCLF=Tz@(&PzB8ld?+2uT$oM2kvh( z=5t*M=n$|OmJhTpE->`%QVPGLg3R2?NCnVx(XdWnNX%dMhPsXyW z2Y%iPjp~u|Ol}tob>w2}MPT?fizt*=afFb(gg~)#)DN>%KdJ+k`R!n3yB3O?Ax~tf z4FE@O)#>qE*wbZbvwK)C7r;`+%Hx4$`}jK6v`xso`<2_JGpdrp1$9c2tM*+iaxC{t zr_2Jk?1y=HSoS{!ri6#%|m}Ge$}v%CZ6s$JdjkqUdmyxNfe+Y z(JFZtQxXFhS<0_s%u#ZJ5>N>SB-I_`hkC}b)k@4>HN+@g2Rm%cAtY)@1$Abg(+uMa z{5%vDjj7?(5*=5m%_fZ629mNO{31%{BWKKySPoH=7zJx()4m*!X_JG>?RaLmB;g#u zCbp*JG)I`4BUuE0VYomy0lOodj8Cj?cPkw{dN&_GSRsDNs%p0iKR0x!y<-l5L{R-pyS)1sid(jyCj2eshkC|vu)`Jl>dr7CFT_aPt-l( zY{V1x9rA+}cRqW#R{U6M2mPT_(U^90U!C;#d@*;=T*aTeLHG@c>x+*s`NS4(AOVy&qAsUdYxE}=eF7FS!}|fE1k2G+X#WCpUiC;(RAFDHpt!@ zwq?m}&Gn+h`0-i^#7}<_BY!s+C3+;J&KJk@g^ezrm3`#pCC4sg%_HAis|8vcR&MhQDWa$3s&(iQu34ckK{ zti)V1M}KUPeV-LP-3#{xCk&vE~sg|RvjA9BE0SyOKqO(IYw#YYOy@te4Tw{TNeo9`PN815akvOVd1dUR+iJ2f%gH)Zuq42?|;OD_$6L4EV^Sl^*+VYtvYH8eJA^`z_anHG!nWn1#uTq@U^Z`z&RXJvXv z4_T>}bL(pB^UVhfeTUjm^JI3Scf@L)m>8Q-Kiw}(SUnvb*;Kkq$2~f}K*t$V2KlwR z+uE|NxqL3wly7eC%p8$=cl4yY^B1B4g`S~Nt2MVXf8nm(J&I>EduzTavx~y0(`{-& z);+0atEF&Yda!d0<$@b&?R0+PNPb{=&}z%HW_NewtR01^e5$3{>Kho$7bYewm36n3 zJJQlS)oWPm80+n4!!o^)U0WvKxeFpoHFalltu0ndXR01uFj43o*{EgO+|@HS+)Igz ze0OF83^(`e&QDJDP8ITF!~IrAM}BuUl|hRqdPgTmhNf8UR!f-eo1T~`j85gpdnwag zw{-9H=oCass`Myc-Z5qE9Vkqs4vbAqHTMn=AL#8nWKB&B4GtD2P)lJv$lV6T9jZ+A zG}YyIWP0lIt)smMh6~c=R;IZ*pSyg#&{7z%c3##tJa$?0)UfIJ=H7|^^yt8tAxO96 zTiV!n&8pO~>8bpv5btJlGDlhugLhJ!9MWj3GnL(CNr(2NyYlFT)|}PUlFQ%=}hSOvo6@3YLQXGK@jLdtwNMV_hesS4Ec<87DmPTd9=qogjjSdVAiU@RW1Hs!>*x?prmPTh=ss6)lh2E*@iGt|7D8ObV#vzR0!a%;x zO6_cF?%35bba<#A{f)}WY|GFjyUX;68jMi<*6!UoHbTa{kvH@--L)sxfm(Y~nN(+M zt~Fx`zofvcGz#OWOzBhSUX~B_ zW@^fI_GIcT{;#*j$1W>OU^H1xLsQ)o} zM#+it!(!;J$hLHL0tn7beSE_R-tsbFO%4r?;*BHY(0(i1I}|ltkW9X_7Y&_IJz?_G zUV^0<+m%rZv@>_sx)!82Z7QDvXTRZHAt*E5Tl!Vick?lDD8` z8|tBDoh|8ZZBtXzFg}H07!Vn>7Y_AL9ke=Yp#|XXh(G>C@>3(@6NNz-p-z}@DrP3v zoKL}$jA)_AkVudA7miq62PV1)nw5z_^Y|hkm}@c0=t`|l_Ddrzi&2h^oA-L-?}FrB?n^o_!djIz495cPtPSz?X>x^b?oo904nCew8p zbPy#MoZa-uY#uK3PH+y&=bE=zc_;{8>@qZ(A1RDX7BKRmSv`e`q49%gcu<>QgL*bt z%E)$4PmNEDo=JCasJA8yecAw{m+Q2h*V0vHY-m)e1Y0T)>B{UL+GEvi1A}8zV^-7j zBzhn3R~nkoQ!8Fc)IVWCf&6S}8qEAS_#Epe2KQUls0>uUNfk>m$aoHGcgq0Y<5QQK z?jIUc*2$a7SvaOumD_YoQ}1L!JcxWcXZ0xaLshpf9GmFxD2xt5Uz<~18}ixaR+Tez z1ke`cT#vIiLb73X|t79B59;%Bpjh$F$@qaxHq3I|+Arrn4f}iXg8-+?tk4;Z<$cPo< z#3r1IsEu?Ad5q=4;6(4RvAyZZ6da<%1*KtoTLUu{XJaiXxJWP{EfJ(l?y!G;*SEC6 ztkvb)I&#{|K?ceZ2&(1?)K@7c2W)FsMh1syOQz7sM1%erV#&R;r0G5WwH)vP49k-FsTC=1em_qYUfYq^vL05VqA=X=;_nIfc3} zAXPPz@zyZahhrlncu$m-uJ79rQ4BrghYwM%+8xdfjbJXie6;W21f0Vwdd1JhblK6} zyo(N<*Eh9FbLog#oprF;VnoE94R#alzw%am{|U@$T0qi6Q2OjP~9>#5YoX&K*J}bR1GXs^~pBCt}c6I05 z(jBeYeOb)qRzGw$kI4qF0)q_-$+|U@!O&|S?wy_^xMDTqJG z>d<;|OGqa!p|lomO;5AvAEl!}m?1MVLt>JWiL!NX&P@KTU8$yyR%`b-_$}n+jbH~Z z$NW1zN^?@^Pxc+`oxn5+hUr(Z;+AxFR~~JE60&2$+~=oyClBSP-~eHo_C^8euoB1= z22+$qE+>xU4)~LFed?lsdgIl%!h?nvs~nb|^bvY(8#;P8P^HOJ%Bi2^%nV__dAcw; zWeuQ>Q!<$aW?(j152Q?&9?)WSb9=S*R7T!vNn`M(hT+qU(hos}^{PUMkfsa`peq!$ zkL}%UaMAd`UjA>eSfkeOY(H~axxE;W8MtNX{^5d})6yKE=oZWeQ=S3Nr8;}K5X66J zIb?1e%`Ui^-UJ>}*<7(nqkETj48`i8ZCUB@bImSYqpX6J zojzbn6Tg?rsi(%K-s%1fHHqUUhRB8vOo+(#^bSuKEOtfV$W+ih(E3lul4BMF4tpJYwd@K<#^I;s zCwniWp`dusDLJ*aR(_(k)2ux;40AMs6|Z!!tOsR;otxLr8t1yP;mfVwe%UbbEN^o* z+u9*6?H1K#N@!3z3WWZ@zt@53ExN?fEbE4JH@EdpPKi!>W}S@dHCt#v8u13j+FuwQ z8-Xi~RzpLlC#`g@xf3QqE2Zwc%mr3=wx_kV1y&9#v8|CAmm3wa`FbnB z3=1#_rOk(2!pz>TRtqmI<))9CWK`p_N*TnBt5wSktedF6p4V@RrFq_nF?A$pXk;&~ znUXv#Y7EJk?Ix`;+`_{alMHxh4+pniGiW{`NOb*ZKaG5UVHgv?aw?^0Dg}BvI4@>* z(xL<^((4_%?VcA%k5p_ZR+iJlQ(_R%@w&&lMAs~FX^$xHBM0Y?=Do%8m=WzYGaPJH zCr6KL6v{54II=P<>+^<+t`N2~T7&Eb)Tg1EMvWA!jmpv@LR(dt1Sg#%a*TgnCQZWhe$(GlZs z%LIk-6?Vs^rXFs5WqS{+-8o7vXjxkzFF0;&7q_#pKE+<3G%no+k;09W83 zHKGGMsk7EUqP515>xDdI#Fe}o^*bBXXPj3m{uW{YP zaX*Nc1lL*ouXa|+3wE(&ll?%o6WZB3+B+zMRAq`&h0zWzA#W5#*oEU#E{AEI z1=R&@o!O;@6~G3YY&RMm!#?iBRMK<%K`Fa`W(5EhjJmuqF3<)un{%g3yKY8cos;7| zW0O-M9aHL}jhJ%ci8ov@D^(GT1?5y|)s_Xm-o3{jAt#k7PH!z8Sn&2yd#r4>8G=_W zlRnV=>8YDmUs+Okh+&6YTs9*~rBrhEz%jTv-;y#rrp--iFz7x_jgJpsF2^x4(U>ME zWj#nOM@L(-;ITgS~3QGCOzp~*o`w6G|pcuQ6oZY zB>`XprsiQ`I>c3wn3J%LRofo9y`HkDCUU@VTYEY`rH*W5iL@z??J?0@?k9KFg$@I< zJF!}6Q7(%rm3^ld{ajOXPi;?IrdIyf$^UxmNFHYw*!3f8=%DTkF;3APE{jpcsE^AL0(P+e@I7}kIOWJM ztf#tcI!qL{b~#idx~vX!{$OfT8(BulJr%k0QEcf*RyaN_GNXwzVw$LQNOqu=LtO{2-b^O!2VJXq+T=Jxw! z@IXSAFmhs$#<>)G+_-jT{ib%|xbEcIBHTKqhu%(@vR2`-#r-O%Cz&yV<1o^_)|}NQ z$4o4qiszbVgIX==mj1D69zg|o)dP}y2z%5igqCQ2x^AO)_N;P;3^-ZQJq`^Yrgv<(ekDEJNlru|56r8gDS^j%RwpF>kecY51mDkPFV@+YfaCphcmaBf_w0($W zn>LtU<3bzX3eYpyNbeEt!e@J0(ruXKluhKWHqIcsn`Ph}C=B4}$=YeS>d0Z{65A=P z>3t2TwcOSPcIhw+=-ooA8P0Y_mW1LMfiQ14q{o82 zz?{;89a?Sz@6l|il?o5Ka3tD0+E>64GlmU_uoN>yJRaA>f%-2SYndYyj1dm#H+b~9 z?k#!Ua=)kt<51Y1=+!<>C9DCxqG4@47iLOrlHCzxZu$nzmlHw(bQ zLR&AEfQm6}Swz^^TONfYVrDmT*BMJ$fBCCrVvHM~Xp!n#3Ox6b9a{^#*4Qo86C0F} zLq@MB+J*+k#Ar0P29CB!5VY}>u~tpdAe_PBh^J3&eUmuoq6X#-y#@h=IaBg27MH-Y zAEN+iJ)C=LHD+M(AyU)=wn>fJNy~c(L>X=AMLp`34L0j&@sQPOy+c+CqHyR(c@D?l z4ds;P?cVW0gA^Xl(3{=fw4t4bfQ!KWn@y4KQe6&NvC9MP*7jnmcWBtk@=GDny{Hb% z+G?##CMi?JrJAS0Fp)4??AcHnJ!M%Gm#Imd&q%j2qbdR8%47A59j|g!Y z6X04~j;0nYTR0Bs6ro{ewDw>d67C)ZhH9rK#)dIR=W{&%6lLEWkq!M3E?KQMy$J6e z);66RG<-5i`W*|<+)&>kb>lTGv|W_L38L9c;dzvm%Zg=!>22Mc&gQI+9<)_+pNAwf zt$Qz2JCxo*Y_Dz*)=DkuJ(R{|Urrtn>FjQSKhZTd%K3zlG|r2JHL47sfT@KoG|$4A zRJ{k=;H5TtsZCxA8)!Q37B98cYVB_Jr&1YX;pbe8$VH@0myh#!DV>GKF73qgT#U8Z zkwvn%ztGaWi^Hf68_<%d#~I3Cerg0>0H?Ipj3?-TdPEn%%{?iuT$N&C{l+OcH_Od{ z_;DzK4V4=GsUh)s!Lxe+U4QWuYTDd&+MjdV04OT4+?Hbpcy>mU0)SHQf zMr=!DpklIsxZuoZQaf6+O0;+kD!0>WZ{a~$3(vt?u-k=y8;w?I!=fZ6&&a5L#bY@e z>ecouR8~9~t#YEe!S#^w+Y6)pS?$0mZ$@V*dV&Cy|4b{dE>S7wwj4MKg~`(qn@K=B(9; zSqmHSqMv!?>V+3H&>@bD^rWh-pF8ec8Fdc~OyVIQ?qbWKM07tgxF@1!uc#lxhvDSO zJDsSv;QM()5FNcWuWgie0Q_g`!F(RboLy?zM0k3hHZwvVR#?? zmdsdzV{Lg@aZp(iZX$8R&RZ)O1JT;my?e(_EWtCaFbI>_+3!=Ej+hQ$6!a4h7yxQ} zLYq82t*U)uEOz0r4_nyh$1zD3gJDMwwum-Q&dDOr$QV-*dH$=pqcxS`rV*dd6Mtuq zc6=fevYM1ynsb>B&+LS^Jd8iU&gG^(9<*V*v6sfjfO(YDDQ7vI7_uQlEECN^Y+u44 zsV%vkSclTy$OEiuQitb@P1kzGB$i+5$%@WS_5_^bu!=S7d4hYgv%Nbm#FRhgotSuj zMSV6nn7E-lt~Q<2=B1258Bln>INhmN5Y(AjOHMwsiJ_qPibb}vUFc2y>=CuBfXUV! zZPrk;Tp2zj!2N!$8RGx>HUQ0(trM`MH5($q{Gbp0Fja=mP51;5YuBf=eB6A}7*I7R zwf%%KX=&|BLqA%YyLV#-!2@uCb%M2{x%s^0+PY2W)$vn+c=V%gef?R{;}v{m)v{i} zh2M5uSzfkKKB=lcu&6#YnJSOp#%~&u&RnaJFrN`6jGx*Rx>R|^Mdk5O83&O$RbCQ% zpxm-nkXT;^lQFa6sm%dOOcV43_pCyKj1e$=@k1`dKae)bc%qwyP@8>6@< zkAs^M9NL4-BN0ATec%UmtplC8_*vJc^3_M@-%xVnytgH8a&L~`;=CPHsq)&`)urXD zn-+xVpFzes=?jXU{F`f|l)vm~;s*D|_}iSDq~v7mhSKt7DA}@-h7j=+2&wWiC6QG5 zvRFrHd0A>fNZ$O+tjIMYvm`#F7?dYJoolWn63BCXwCxuo&m3*p@0?_pQx6!-#ZTBa zl}FmLKXyquIxk4aPpuZA8;a6>y*S;QUJqSR=k7&$S~jWjWUR5gB&?J7gz(o89n#rb zL-@D6ZahEH8)Ca*mi`ellP-84 z$9=F3PvKtMnq{%B((*V)Nf19Az#mj-@6*jd$>)kAeUK`D$&Nj)2VAh7@`TbTUyt5T8V}8I_JkqOBTng>?QVz&NBNXd%3;BKGj|YeT!Z}P~7^}D?vOy z8yCFAcTb^=fy?2SPy?5PPq=by`B&Vctz#+tOlXXscnw?*KJyx;cdgTaC;e)K81QVO zFKc`jHgGxk+G#ldJZmHH%)b*M20ZgOAgF7eNl5Hi^CS7^TaCalKj*g?@XX&sfL!xU zLShH43)jEE>Hvo1FCxT%Xa27ssEg9@FUMLK$-mIr4>a?0-iiUw{0}0iYoSR<>{us6 z@}D4|6rn%K`jw`C264H=fLteARXVNO z>q~-Y$2uia-YM2Opl6mR5MsbnezX_rI>jU;b})Lv`goePRp+Pw5Cfk1OTAo*zAA7} z{0dem7e}LiIo8TZ`75m!U49a#AqG72^K z_!#gk-{<#qX7et`IwO+*3~P_hPoF0SJo7hr^`GJ8Wx}!6MDnk(`gH!MfsX;t{7;cs zE?Qmxa;&o=`OmV(b^ez?76YF7pYyVu<)xT#taBpy&#|u3`ROyofM@b|;o=UyJsv!VQ(BKbE(@^2Bm58UD> zrTndt^0!)F*5%U&j9FV%`#k-kN8w+NbzUU@dDeGye)mI9JnX`VBp?M zBH>`B3(LPj%3J0UDg27SJ6gZUXa28v?NuKGH-$J> zV`CKV2!2>n`*ir$5PIaX(czEkLZt?TrOk#el= z2z_@1-xI<2SU=PK{S+u;R*#hbX)jlgmtw-PGLifl>vuZ;Fz_+psW1Bx)Ri#_i5)8! z$)B@a=oZ!UcKnM0&-_;sAXm;LBz7?Kgypx#I!WhW2Z|W*%)i>p<3 zou4v|0nhxte(Ys7?{ch*BKa?}HtGDT{TE4of7bVBMi$~&7f146Y&Gfp%065y`44(E zUhJh*{!1eHFR^-b{s%x1vo4YR_jwU}e!|l{>ljcstEq72>$8_ z{^|(+nh5@y2>#j#{@Mustr7fNBlzng`0FD0>m&H!+h{>BLY zZ4vz2BKVsk_?sg5n$j6{*DO#jtKtF2>#9p{;mlAt_c3_2>$K}{?8)#Ka1es6~VtNf`4}e|LzF> zo(TS)2>v}0{Cgt!_eSphnVbm6dS3)T6S@EM$o&T*_aBVhe>iggp~(G5tT*YooFi$G z^=@m2rl60z$QrZ`Xnb7mZ?wij_qSM+q5GSxx9EEoQ-Sb~$o>8LzC+5p+xm#Ur;D-3 z`o9~y6F8m9|NrA>hU^L1LY6Gq_kGDW_I>P2#$d*7m>K)NM#fS}NVdqDEhI@uQrSyU zl0;MzSws21Kj*v-x4ZfNf9}U)JbkX~I-hf$^*;A~pJjxzmDn5KOU{Qu!+#zW9|?+o z2#S9Vif;tP$&zTqysW=Z1;sgo;zGn;|6Xy5JrYlKDn1g=a%w*k&u|(Od(%7GX+><^ zO79GJx<1lA*6I03JkW`IWcX3e$VcLl&LrZTZoa|JOk(>Cn%?Q-%pnlqIZf=1Z;W%1*qcAoohy&T3C`b-#Bt8Q#NPav;H0nt_44u! za?%l7ne{nmP+T!6ZV(i=A+E1s(>wE=PLITMovw;)-1b{e27UhS6Eysgpm;)1{8~`F zOtIxVr@stN4d)}`tZrP(IZSN*$)L}}KPa}BxBQ1WzdjNVb*|CAs@i1G=iR%+w*6$# z=h-AWwzl!raN~x~lf*^cxUrM@k@_Z1USbw4~j~z(j zGj9Al*ZHT!dS~DSUwqC$jRS9QN0~d)|8eFvP5g@n34`td_@7e0OAoJ0do=xn^Z6Lk zZTHA&W1K)0aPFmM+ru-6y>rfVT8*7^<^?+C=V8Dp&0Y=Xbt}+$FAtk3c-Tw z$*W>w-4pB{xj~@Lsnaze-g$L)wvIcO9^69FKcDNtsh@VmsCzYVN%w5rk~$a8PV8}S zI_RG5^KdTr^KPf5v&tTp`Df+XH0uAFZ{GAi7_+S^cDJG?{)Mzb_vi??#8#(RyFKR` z4m;yI;J@w+_Rs!(^hAE|E?WV&-*|B4;Dft9K0HJH;f-@1yudrp8V$Nq)!GHz z4aDt+a z(bc6;-ra-31MXlDc-NEQlMVlKQ=R{L0@;7BoqF`fAb}_0J-n#QW`TP-9rwgi9A3x0 z@soF=zpfhc|Kna#<(@go$#~v%8UFdH59W_|rd!~Zi~sYSM=!Oz+1V_!b@Jf_5?11N z+O6j*biWxR3Ajvxn*ZaBYukV-x?Q!AJ-Cd;PiqDL?Y}h*ybzgd@{O{IUC3_P?8HCa zk%H6ytR(Tvl>D~txzV(CPw})0e}@!szm^AUse5ZucmBjDb_XN({8aBs54*5PCu!Q& z!Br{`&X0U>?WT?G!R&X}ciY|grQS*MT9+R!u&qJ^X}`!hlz#PteU?W0;I@taC0n+8 zaPJIh{n9zx-Z>Ycbwb?l%2Vk*xt-pyL+ggP$GM^PLfqfsL+gh)N7Od70qq)wIExjh zk{QixoX7E%m(ODR#>w1{c3fcXGoyWOwAhYUQ|TZ+%v5_j9y9G5cdPF!Lyzisgm^L9 zF-oeU-g%5>ZsLNt6gS~cJcK9kEM7);dXz5*aXwU$J3jj+#KyM}SL0UPh2f^AtAnZO z>5lzzD2_$@hR52yiu2K(4wY{p-iEu(ypH2ekLJ@il%K|=T8=jVQkm*+R#SQMQEuld zgdTPrTL-MXGS`K|JT zgROU=jlJ_^Lz{T#{e?CS@s_)i?PPrWF?jr!DZhiM z7>_@l{&Fu#c~#UXoK($1oURy;Q*b`6#a;Lf{)Ydeo%3P&a$;$8=d(_*>SFzC5u$G} zJlC4xA?|PCsS>H5O}jlo?K)HLZb!=Jt{4BGJbt~qe6^qJV8gczaew2p{a&Y_xZVGV zH41mRcEY|m7$>6rj%nMAJOAV|;tjYRzd(0>s@+-Q%XkNq+I&>KJAY+1;^$2LuwT%8 zUi(qvrey#+lM%_%nl*WY_nsCGuPBaE-+uz{@(1Y z=`i(pq?Klu5NE9!srA&=EMZH+zOSC(K?U&Ka|J zh;z>D6XM)9^|R1D(`K^1{|W6E;v_Zuhd3!r)!TNHDkj8xe;A-Qft^E0{Uh_8^gZD>MD0kOOwR88oGBe95v(;;PB=ut~jQ)1l zoY>v&H2hFvfBgwwZ@#d4<#pE+E!W>H9<2Ff4heCRX+EV=l8ojswm&WJ;ub4^Wvq{_ z(7v~|`u;fF9OSJhrmYuNKOf(r-j=u3Z>QXrtF^P=cx`#P%T*J1#bPa|>v%x(C-8V8 zr_HYs-f{}nNl-PcesqX?Jm4;8tJie9%URRyE+0)_VJp}4m9_TDU(wW?MT(&I?)sqh z-`ZLG8rDwj!%VHu^-T?DUx(OuGME}qZd3EOfT{Ug)YS0qcr?7dKiF_?tnI)|HHr0W zvi7GI%XplOb8(reg}oBp{h;Cv#G7#&+WU^Jr{yiycp96^-;R2B|E1x(C=QLM-&)Ds z{oP9;&UkC5{p13C&ej|4_cX~)D(&nwscwI=TK!a}U-@i)+xyaUR{k>cUFDWHbQ;^6 z+E=vt1h%v3A?~?>Hhu1PCf)tD>~6!&AdiM~k3VKI+^i6tIiftTgn0X7weMmv!$O z?Re|=3dbpK?b>pj*3t2ne+0*CYrONVQ>nAHtX&^nXJG2*_=e_s$7yQ5=Xmq=eeayj zR3GyG_p#$G7ybNw+1fSIIcc^YjMwrpwQ|&up?kHxpx!dvSgVAqW|6C{N7hbnEw1+d zXt6d8*Y2oYz8h=T>u&cWP5raeoTzgqP4(l9seYvmm1DJh&2b^lNNMjk?)%r9ynof@ z{c8d5UvE8p|8n2A^uDpohSU3o`@W_9i~D{R&HI%)<-T9(eaU^l(nPrLS9(9R{hGb6 zx$jpCL!4vQ5B2XivyQi4GwprKwBL!$w3rcd;B#2o)XMOJsr{(^-eYka;@%jK!%dwg zFdh?d4lc&kxEXigUOa?$ioWf4bs3eDYK-<5#0h43$C+Gn5mVczNzDh#^xgJ56#6Pj{QCms`=N>)covZYCd-{muSCWYI*cDwOsp} zT22E@EzfvU%WtTuwHGi+0b<}@MstwiRRG8J& z{Lg2qeR1N7#9^l1-O#wY|*7g}4$o;SSt~hwvLb zgGsfIwe6*(IYH|$+Bs;poEDp!-^)zR@0F(J_gYi)dxNR@z1du${fnvh!TqL|-vLw0 z^@yqE@wKVtd&1OmJ!NY7pE0}YIN8+pbJ5iHbBXdRrnZ~wW-rZGQ`^fuv!iyZsiltR zlbYJDQkb1|{HXnZXjSiXSZK`<{YIo%X2NI8>LE^kvxav(WcAu5xa}%qO>Bks{%`HN zU^Mo{SR9J>er@e1;>&37*H%6U-S=t5ONm$FI<(^_Yrh?L;XXWo$M6K6#&h@^UcsAq z4?{IeZ9FM3EoQ`Qm>UaVQ7nxW@db3>ZS>$!7aEKzrwS4743tU<$VfsVpWX9arg>u!q4#}{)&HNDto_E z{_qnqwCnfMannevF6lM@*;BN|vVw z4#5+c;%TowEoQvCov}$!OGYG+hGqJ zjFWISzKxr3Hy*(s@iOMr7kbv8GFS^+U>A(R(KsC!;2PYHpW_LXYTHx9!o_y)d%TW~Lag=aCdzRy-@`q46wlzF_%Eh?&dZ+{ zOJhxJjuF@&M_~fKiK}rt?!#~KBL0oZ@_OUXg!!-x*1{Ip1!HhDPR9kf2Djtqcmglr zO?)Ds*N=>t58GojPQ=%6DQ?7FcpCq}dzd=EH=gWR6~nP7j>g&e9`3=Tcn1H(`}j-& zZ#)ID0@lUW*d60=0H!`xUBYhZI6gEMgvuE&q@ zF#d>FFnM8bd|B{$tbp~fGsfXid;{OYw{aD&$1V6F?#9pXAby1>@kcz5zvETBh5ulZ zBHr|*#B`Vg3!D0#xdd@FQ(q?5B5rQh32|BzcQf^SK~Lhr=8O<$1o2c;-*3+#USR4= z$0fw;P5q9%$JF=PpHY6?)bBXo5nnWyggAc?-!<*~?4nZdw`tAZAOu zsV_6@nf3L(1?3$~eXkxt+|O*F^JR#~noUETNyM+2`aXUx@jIrzr(Z+-fw@ZG;}IV) z^*hy3;vY@@K68%vFLObNlf0PJbYwF1y?kNfil)BDuSVR+)R(`_i94HJLY!{I1I{u)#j)WXFc&p=4dSs;v=TM6h2RU&D599w~3P#SKL3uNo}hC z&zLLqyEbuAvu}t~inzMjS-%$&hno>0PFvzAQ@@+^CLU_)%k5Fb(@g!CJd1dt85QEZ zO}x>J*7^f~dj<|6%`Lj0S#Sl_o1|6}U+na~na)057utK~sl!Td_+e-Jk? zkLq`J;*REF-L8#zGQN&m@Hqa7X-jH2jjtd!#~6GSx8NbXfKDlI`0Q8*^~51J??haM zpX1M%qBP^jCfEZL@O?am_b_uAZ}^hf4Ey60T!EkB5&RJ^nu{Fg68?ip%6jF=F};3RKvzmUNBCcd=|5MXc`-bKMEia5V)xI~zQ9cYu;SB0u#W!>}>N(J-&x~ zso#%B@i?Bwvv|o=p1<%WCMoCjGdZTijF`jJ^yN3_IZh#LMtw`{jy-XpsrEx~1SU{F z3+Ge57?bKxd+=E}3>esjC9LM<{f296b>TeMLjsKczpRK%S5p$s9=wy1gybiX< zXzKf$8s7->HOCo)6HG1V>D137ehZgUzK(bkzHcheS9s1;KYk;=YtC?-G!?vd&zP!z z-c&!znzMAC7*;jakGj-{6Su*Rl=mR+g9A+ENx-*EjpuFR&8GVCDe*Dtzcba33+7bE z`5kXlp0uLM)t?kt01IPfd;#m2$`@`<)A=gcf%@*$4gNhNRie@O#QH5dV%>D8EN+C-&R?OJ-`i zpEid$P8Q5geJL!5b+I8fGc{ZnQ^$wV#A9(bE~kDC@eWhRk9&wu;T8Oc`lMCVPW?-7 z)^?ms_>8Ikm%uVu3+rMdQ^U61nyH^w%UcQVzlev}Wy5!8>vNjQi4 z`M8Yo)wm8nrv4K=NcmUzEncMl65gczo~eF4Su`5R708{-MjKgsn^)vBx%D3SOyoFh` zZ?HV&uq_V9xu(|VyhHsa;;r~0<)0CMiAN|uMSKR& zQ+}2B2Hv4OSzT{@sqiUN{mM?93-eK4lDI5ZqPz}q18hop2jb4yjq(`cI2=m(MB*tp zo$`6aZ{fSR5x1I}kDucy{1cPZ^Xju;5v-2k*v-`R4>0waG9HJTS}xrx+1+y*;R-h;Rg z4ltD`9$%t-8qP8`e_l5=-X)YT$JLZ?CEku7Q~o9KVf@-uz8|RnmGVFEFY517pS+RU zYr0ZndQ-z^Hr1c!C@+9TD6c?V1#6iat`YTZDes7prsl&SoQ_LPjc2{7&pPkn`=g!=+%G(il z!bnrYN8u=(i<|HOUPRp@*c~n}R>77Shm&z3?ljfE&&(W-^CccOHN7XPKTrHCUZ(sG z@xPd)sh1}?W;T^48|I?Cr1_Pe&tYo(P0hl(P6^wX8mF=B<3`=yq?3Nl$XZx zSdaQf*n;wSoNa1(y=7)~oF%y2RQ~nUe@Of>?xp+)@z;2g^7F*M;vM`Kleh53_avsr z=S+>a0G6b@JXXd=)HlQSlt*AUjHiAmj;DMICg5AtFTvHg4tJZHKcC^3c#8Tn_#5R{ z@H##b?oC%peA-mLXYg4pPJL;tg4HqH)Nt*v6ZWHiAP%8?K5jR)oIf%1YdY{tQ}g>c z@kzXj8C!bo%VRt2WggZ01o3oSj-Q$u-yyS_;~c|pTtl2Q)L$aLf;U|CeN-!NxN_JU z2jT0u1&`wm%+#9Uu{93D*Ki{q!9Ou=8*lhx*cf}7ny!InI!!+gbL&H#3Dm!e3n^cU zD=2@D_>;S%bX<9f=s;0O2x^@s2T<)`s1UZegNhII1!n;cVP4paTkjfE*M ziDj`4^$jo_+h7+{^CKF2;|S`<;8eS4^n>=zoYy#UZDJUyiWNY z{1=~k(VOn4F$d*q=0{fWCGY|*iWa?kW*YFKoVrsY*xCVDn zzY9OdgZQnf;eNoM@Gt6bqFuOd?UG?C%x-FZ$c2R{FM(w+jQaZ60$XE*sr*rGV zADArC8~!OQj8#nSuWAy96L&Oq{zo6mhf+Sq)P81)sm}%pILp-XnNR&{%Gcrhlz&cq z5Wk`PBJm}>L3#47-gr`DMpNT2KwKEhP+o_)0ftlFowz3sq-y#nA5F@CC32cEEU?fh%zjp2C}$F3QVS7{jnL4mCBu#+hjxXA({| zwY=USehZi2ChE81e##HwG5itF$p#CZ*?cwE1g=sODseE~{D3-)Z zSPko$>Q@tNfnBNB1F+qEF&KvaU=Cx za3}7;FYz#*G?nK^{28xPe;Y%3sh!q?ConB$z#Qf($9WD5U4lKLH# z@4DhOMb@kKHKmh5c|e_2V&t z@>g*VuAqJmZpLl6$5cP|;{p7E`k(Luct9Ia9+|!dh4to15xa8|;96sMigF-QkB(J_aY?Z0hIYQp#82TKtIm-S`C_ z!V{+YaT?F!HR^Anqt6C5JxMXGso^qWRxCt)F)TxQ6YOqkx%4wX(&tVbWGep{>Sy92 zTyLuVE>qVd>?8h`_-Eql#CM2O$9nCvm>RwyaV6r0#LbD@V^{2h@i^L4|6elo*<>2d zG}Zrk)W1vld-y)?H`VR{o~Ha9Uc?)C7w==bIB)oj_$=nZBBuIP3d><#>KkG!$~$0Z zjG;abM^QcjU&6W6FTmxv3g0u;j}P!8JVgC5{2qVAUri17Ctky(@!oW&z_g~?6~r25 z%@C)7sqYY)U<*_8yCd~|a4hwc@nw9|RQpA^iSli@0}oPv6wguq8(zly)F&C_ zFq^6V=Ei(jj`~Vio$}5&8W-XgQ`5iG)OU+}aG$B^IYRvzyg~h4ypQPyd+jsg^QQ6@ z!%|p_`nuSj@(ApP@zf8+aX1NQn#%t=&coHzufxrhe}$JZ!Dyu8UVtEqN5umt7h zuo5<;zA3iFju>UCzkM(U$5KBLU#5H&?!_PR4yGTje3}p0%oMtA1fQq8q`6$rb;pXP zrlS`1;gokXbzXBX;^D-TiD%+GQ{!7|F46Z3xY|_S&D8Iu{J5#}tG_3{M0}e#RDg}5*AARLV^;Vhho%S`qAU30hNY{V_5`u#EWhw%*c=kO28?-M5( z>E%gdDsN8WYS;ohU_6e($@q$?;oma%>i1z>ZmM4&;77QJ`h9rV)bQU^|0ABG{0i}P z{G0M8MtS*DVp>yqvJvORyp)$9E`t>*40SmWegqXQuI~*pnVNqUus!xR)sF$hm&bV?AtXDo=ZS5&Kggiz9FhPBk^$OneQOQNI#5QN9g#;6dt-;`fyQgy-=l z^>;AoWN*BwFfHaXHDB{$G0Mwe1*}hfV+^OfBX-ArI2gy^6nq8eb3lHVkr#6w%8j-;VfK_d+;Z`j>)Hb`Lkg$tbr{t8i!#5F2YUtDW1Tq82Yj| zoheLBPaZ67_SgOVi5n1yo0^XuP0h#drsiXBQ^UvMWSoa<@nbxO=kYeCp62DriKQ?M z+hT7Vg>!Hfeqic2Vm}_opYboek549e?Q>uutblc~B}QUAj>8$a6gT1_`~mM^%IV&C z3t%}6$0&@$@i+??;k&p4zrd4t0dHcG8Qyr)V{R;lRj?tp!yY&YC*mu(5I5nc_!a(w z*D?7_uOFE(AC|_N*c3Zq435GCoR6#UecXp%;RU>jNoFxWFgF&*YS;)nU=NJPaX14P z;2PY9`|voP#Xs>MO!JD@uV=6Tmc`oG9ACsfI2>QX*|-!p;!gY$PvS+qfuXN@{Yi(p zuqal-de{cL;Q$jjii_c(_ubyf#Vd!5?BVCU<>SqJy0Jn-Qo2y!u3sDgd1@Seu;utc)*UJ#2)!#g3c53l7HNsGpAA`kDB)IY;Na;d*=z z58_cgi9g_Z{1va@b-auBF>R>Er*$I(WmUPVh42Zcdqu)#P0ph6~_|0 z_d8cSig+Bl_d8d40`Z%s_Fao`1+Kx5@e_3KYp(W(h%eypcnxpieN2+X8&4`si<$5l zENbdlrzBRuDj1ITycKKL8M|UH?1zKVp2K48r{PRoXzG|^DXzwKxDUU;qj((8Yl-B%2IVLzONQ*jo~#y4>huEe!?0FU6e_&uJ*U+@pSiUm`8{j=xvSU<~R zMXZjsu@N@IHrN5XVl?){f#^P8K;s!jJQ3aJ4XAt;u|5CC`tv3(!WFm%?Rh}fZY%D@ zJ@`2u#N&7p?Kwd<{5iaYSMV0z#U!b`_Q^3T=D^Ze9vfqGjK=A zcoE&_2x&S(Q+xeOhB+`dmdDE299v;;?2i+13NFN@xYg7_;&$AF`|uDR!{6{S-oU@n z&Kb6R$uKi!!)jO)>tkbViEXh5_Q6;jjH7TIPQe6x4d1|pxD;36yLbxE;6=QI*YFnJ z$0SdB)13;_VrI;Sc`!c~!%|ogt6~_|$7a|PJ7NSzV{eSb!8i)X;Z&TC3vnrK!yR}K zkKzUV9YfN3^Wh21j=8WLy3e!FdeV@%DR#%6I2y;}TwH*ga4UX>U*b=A9`E9P%=DDk z-)FD{mccNrkDakA4#kl;%Pg+vpWy;rj4N?1ZpLl63-{u8cpA^+uXqKoV+MV2wDD)g zXE6^J#G=?7TVY3xz-a7^!*MiD!l^h5XX6@Nk6Up&?#55?IG)7c@G{=VB)1VFaa0iGF*e}aWC%2BltCbkM8qIwA}u*xRm2u!@GDN zlV|YiQ{&T^1#@9utbkRp7S_d1*adrFAB@GpI2-5UB77TH<2pQq$M7WnfamZc-o|_Q z)YIPdK8@Ki7nZ>aSRHF)D{P0oupf@b@%TEhyoZ@GdDH(4y3dzU`+USj(0$&F%F7d1#+q0MBd{9|$I&xSy;3nLPpW&DIomoleVdF3O8~%ki@n5uiGuUvcFfA6q!dME+ zVI6FM&9N26<4_!f6Yw>B0~g{_+>871Fn)zU;{|k|1ElHri}-K+2cLb$o6bB~5Q}0} ztbz5g5%$177>7e}Do)3RxD+>2{;Rv;YwVO@8QpQ0sq8ncnAN*C$f9v zONr?*6Xw9&_&gTDGFSm$z*^V}1nALP1Hpbx)T#xVJcHD`F@ED%NAMg*nins9|rpfJ% zKOJVl>{tX#V0o;J4Y4V<#`f3?`(Zo|#VMG8ui+cG0@vUs+=~0~3p|R)@efm4UiO*slEQm$1J~qad*cRh(2#&__xD9vUC-@m2!LRWL{0V=<%Xka#V$$cl z=}CdtF*6$2RCbXG`<18*yJ8faA>Zy6*u_$5(JUuEGtt89&1> z@fd!Czv3Tw9dBdmyx#bq!pxWr>tQ1d$2J&&-LNkXz+pHFC*#Zb8oq&xaT&gg8_|9K z*LdAOkN7kE62C_GxnOGd6Y+VxjDO)>ypQSfX@11%eG+qEZmft^F%0WtGi-^SunP{v zK{yR(;&NPtALA!@5`Vxy@fxPozSjExB<98Eu^QIIw%8H-;sBhCFXNlI2)Ez|_yr!q zAMt0rfq&yu1-$+~jrp+#`d9$&;b9D-AEIxfdmxB)lgXZR(4i{IllyoLXoy+WKM z&wKq&j%iJm=OWIFMX&_c#(LNi+hQNHiQ~lJ5FCLM@FkpuvvHZJ@8nnF2HcE0a2M{! z19%$GqWfGn<-0?ix}cZ;DSQqKU{tv-VLfbw5#~oa9>qQwgF|oxPQ)oV3uohUGg8k#z>T;C zKf>MkIUd9x@n^h&e`BhWUjDS08}ng#tc*=D9J^yr9EoGmeZHOgKZkfVuESmCi~4>a z58x3zfv501{)%_;K0aN_%a;WUVKJka z`BHcW&*3G!f`8*b_*5Bh_^0uCEP~arCbq=3*bfKdBy+jrOvP95b$kn#;3|9&yaX)KQ~U@dHE?sc5D z7=hie560k2I1SzB9BTME#BbpeT#0M(6Z{Mh;W0dE>bjyIh=0P1=sx#QypFf= zKDy6u)O<@*$(s-9Fh3T;l2{h2VNDFjHrNCE;5eLwb8tRxz|Ht6evaSaY5WtfVam#0 z|DVL1_#9Tms@McuU{`dXyQujwgm?tLg0JH{xEgoiUObK`@i)ATP8F}e?sFM6zAVJq zu{f5-`q&t|Vlez6AsrS&Krq;c&rhd1XV%FC2o7q6~-E87G zi%lKZtu$NfK6qw($Ju7;czc%_srwh2QTlvp>T~J|Q=i|?m~lF<#vI}}SIkk4bKBJS zzK(Y3cD;ameb!Xnzro^ZntoHA$!)%-={M(S`ptQIev-LB_ir>8Y5L72ntpS+rr%tp z={Mii^qU(s{pJ=;zxjct-~33^Z|>Ign_8dkW%DyBra&zUw>&Fq*1K_T%!dV0AIshP zim1iy#x*bun`0|%hn=t|_Qe4hk7G?O*NHd<6L7An<*Qldx)_(?2HcF>a0l+k19$|# z#xr;hFXAP#Yr(8^F1TF%YUz)!$s^a|0i_(X0a@3rqFc+=&lcG^xSoe zrMq6FbDS`XrMrG)bR6A!#NB?Hn^_&F6}sz74&4vhV(G3od2~L6#nN4W^6Pe~7Rv#q zwy$_}*C%afBQ2KhdZq1cqQ%l(zqEW3ES9rOZGW?IuBq*C0WLPRyq4igQ`_ZQ++b?^ z+>F~yZKpeMm#OV_FYY(B-5$UrrncX&@q`(v>vr&r8KvtL@S>^h`Vw9-wS8a5+ommF zbV3ztdryifOl|jRFr7JGzu#b1Q~QA&nA_C;ARiVqwO=TTCCyn{{#en}exfSYFtxu3 z!}_N78;!BKxj@Sw+nL&rbiyv?5-or1X)f3D#{s7HFY!3k)P80pjy1KvnTS(N?ROGz zmZ|;EY@BOqKePZBo4d9Aaiyv4VJ%ilqWB3tx5U(T@V%+^zH?Hk^}U4NQ0zLnKTWOY z^VG)H>yu_4o!6F1YCVoLwH`mGVQsy2&#Tw^`hHr)T2E&@CAFUBQ%+ky-!-*fj!&x&0a=iLkNNWAatG?QLG0@cdu-VjlkkP*9)$$*0YPp{^=jr>iqEgG* z{r*(T_ol^Ku9Y;cwmh$!s~o49rrDO?YICFGPcb#qRdkg6&7KyZvZAao2yv?)tCwWrq!?c$ca5 z<{a@wGgAALBwl?AQ|nPa;(}%`jgPp#sr9NmaZgk0*F@qerq;6s#EVU>Z@Y;1n&UNo z;)|x%zofQ(sedUzi6XyAXFbwVn+ee9wdN8nAL0Y1*5`}FmrSkK8MRJYf3uoezl##P*UM@>4lYu{RmR79_VoW3A2l@IDc(IYKGG@P zH7?F6ZUx1gwrNm1qE7#AG2Nq@$M%Ye?G-=FDIOcu*Q;&PE}~^vlP0xGiHHXMdnrL+ zU09Qv!KGnQmMS7XGOkZR+vW|zB5KF=9=v|2wjW z_5ZD_IbcBFVTljsRs{^vtaYo1_}E@OdPKzrls0MJGc2N2Ktap+m;n*38Z;?YGN4dP zrC##}&4OpWEv)7Z$|hc1I`QIii5Hhoq*%R3EQyK}OQPZmi6?oGJI2<<;l{9WuC$NYWaZqGz;7VJw`{2m_-J-hxcWrdH zhT4&RyAA3a86V{?<+wqC%ik>uDEGRr?V@GPHg*2nbt(co85R*F8e>KHBdxk_wJg9+8-A8c3Jkn#$gd% z`}XSJ$L6jVm-g0BKP(j(hDAk3#6`sq(jLtk*B%rb8yGhZD;?4O(I$<(#TSL0VL~C#9B^eYE zJ2WD??}I2lAX0Hed_Q{SW(%v?O6#=st7W{lxqyzj)$y^B{p0%eii_(N(_eiXIOxFy z)^6T9BF-Horf+w;?-$V#ZT1me2St04*U7;Vd8eQ6yzXl!(6~XEHe+{U6xFHI$RECZgtrf}s#eX)tK)h) zfZNcbM{~0*dfE^by+%Fbd-W?-D&YV0(#ivxl%+*ncfW09_ikk<)PGfK@7&#^x(@20 zMHsD>#`}L{*RHWqg9B@|`2~jBHTUlkrQ?N%!~eHLn~P?Umr;9hr+BxRe*L2QYiU0m zDq8z^HL4ljqk ztj=CKRm;&wg#WXheWnN=?+YsPU;cO-svxjkyyAR*BdJ3|_f=Q_rqo{zH_~UDDS`Rp^sIhFY@zkf4S5SVX4K)%$f^YhtftiXJBk02}aUw%IO zOct1LZ9u*!Rp;mXLjMoUcS`vR`pIZ#;XeHZ=GzgFPanS@e)yVSMKE=;BJt$uq z4YbWqMmr0q2IU*MBE;#Ua?AIu{``E)g7WQEzI-b4Uw;1<2jx4Ze2dk{^66`t2l=)K z<+FQ&S&cbU!`OYa{Zk1a; z+sFI)?4E3D`r!Seopx#$75gv0f2q_iaD7R-TK92QBgHn@B#pw_V`!NC?PR zCLo`EhZUI5z8g&}pMB>Qm~TNqK7FnDV0!J|c$QCJLAtM^+Bw>M@n1Iotp1Cj@m95V zdavp?~R`Rmo0pnQ$9df!t9=Q|aYuj<+m_xDH3r=N)**~)R?;An+mMLFjOTf#|_gYZC#>!{wo#nIX_VcX@%6CQiYN+0S z`T3Ry<(n9gub~?I`928BS5j|kMg3&7v+zJryH09X!zy_B+SquT>(3vr-3u~sz3Q3Ueaxd; zcrQO+D*Y#Ly(+4kk``1G%NMRcKcC%0GBDrQxxL>n)x>@I`SJwiYo&bt@@=J-e!kj4 z`MN)s`0}V8lrKT~Y&)|4wF$`AF(}_G<+JhnFB`AD+6LuY7Lc!<>aCqE$GD(;`<1V+ z%Kew0FD5A8j)3XypvHc_mxJ<^&71iCbaGI>>&jO{d2D(+1>{>Al+UigTc&#drE2%J zFeqPH{b<}pHI}cl{;Zu%?+5x%;PSO=t9#>Sv$-3lm27*LiJ~_6eab$g!f*+J$U*38~vE=W+c)s_;|yTFL}&%n;)~C{dN>Q9f^(iR3h#CX|#U%|F_SH!TJ2U zz;?GDvt5YR$>4mpp7}5T|7jCxr?;*LFTW4jAG2NIMB4e=fF!@^pDvtx7r16*Y>`@arVQ6eq9c=3p{?A_`Yg%U}eWI^XZ?OI7Nf< z)!C=-arEBfzx;eJ1hwn`rQ^I8@WIS)S2=jRnL?c|`r^RG`F4VdlrLT<-7Qw9tba=a^2G+_8yLo{{Ur3qS62W literal 151476 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≶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 NHEPRP?2Fy+{{zJsH9i0U