Subversion Repositories dashGPS

Rev

Blame | Last modification | View Log | Download | RSS feed

ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                    page 1


   1                            .cpu cortex-m3
   2                            .eabi_attribute 20, 1
   3                            .eabi_attribute 21, 1
   4                            .eabi_attribute 23, 3
   5                            .eabi_attribute 24, 1
   6                            .eabi_attribute 25, 1
   7                            .eabi_attribute 26, 1
   8                            .eabi_attribute 30, 1
   9                            .eabi_attribute 34, 1
  10                            .eabi_attribute 18, 4
  11                            .file   "main.c"
  12                            .text
  13                    .Ltext0:
  14                            .cfi_sections   .debug_frame
  15                            .section        .text.user_delay_ms,"ax",%progbits
  16                            .align  1
  17                            .arch armv7-m
  18                            .syntax unified
  19                            .thumb
  20                            .thumb_func
  21                            .fpu softvfp
  23                    user_delay_ms:
  24                    .LVL0:
  25                    .LFB70:
  26                            .file 1 "Core/Src/main.c"
   1:Core/Src/main.c **** /* USER CODE BEGIN Header */
   2:Core/Src/main.c **** /**
   3:Core/Src/main.c ****  ******************************************************************************
   4:Core/Src/main.c ****  * @file           : main.c
   5:Core/Src/main.c ****  * @brief          : Main program body
   6:Core/Src/main.c ****  ******************************************************************************
   7:Core/Src/main.c ****  * @attention
   8:Core/Src/main.c ****  *
   9:Core/Src/main.c ****  * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
  10:Core/Src/main.c ****  * All rights reserved.</center></h2>
  11:Core/Src/main.c ****  *
  12:Core/Src/main.c ****  * This software component is licensed by ST under BSD 3-Clause license,
  13:Core/Src/main.c ****  * the "License"; You may not use this file except in compliance with the
  14:Core/Src/main.c ****  * License. You may obtain a copy of the License at:
  15:Core/Src/main.c ****  *                        opensource.org/licenses/BSD-3-Clause
  16:Core/Src/main.c ****  *
  17:Core/Src/main.c ****  ******************************************************************************
  18:Core/Src/main.c ****  */
  19:Core/Src/main.c **** /* USER CODE END Header */
  20:Core/Src/main.c **** /* Includes ------------------------------------------------------------------*/
  21:Core/Src/main.c **** #include "main.h"
  22:Core/Src/main.c **** #include "usb_device.h"
  23:Core/Src/main.c **** 
  24:Core/Src/main.c **** /* Private includes ----------------------------------------------------------*/
  25:Core/Src/main.c **** /* USER CODE BEGIN Includes */
  26:Core/Src/main.c **** #include "libSerial/serial.h"
  27:Core/Src/main.c **** #include "libBMP280/bmp280.h"
  28:Core/Src/main.c **** #include "display.h"
  29:Core/Src/main.c **** /* USER CODE END Includes */
  30:Core/Src/main.c **** 
  31:Core/Src/main.c **** /* Private typedef -----------------------------------------------------------*/
  32:Core/Src/main.c **** /* USER CODE BEGIN PTD */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 2


  33:Core/Src/main.c **** 
  34:Core/Src/main.c **** /* USER CODE END PTD */
  35:Core/Src/main.c **** 
  36:Core/Src/main.c **** /* Private define ------------------------------------------------------------*/
  37:Core/Src/main.c **** /* USER CODE BEGIN PD */
  38:Core/Src/main.c **** /* USER CODE END PD */
  39:Core/Src/main.c **** 
  40:Core/Src/main.c **** /* Private macro -------------------------------------------------------------*/
  41:Core/Src/main.c **** /* USER CODE BEGIN PM */
  42:Core/Src/main.c **** 
  43:Core/Src/main.c **** /* USER CODE END PM */
  44:Core/Src/main.c **** 
  45:Core/Src/main.c **** /* Private variables ---------------------------------------------------------*/
  46:Core/Src/main.c **** I2C_HandleTypeDef hi2c2;
  47:Core/Src/main.c **** 
  48:Core/Src/main.c **** RTC_HandleTypeDef hrtc;
  49:Core/Src/main.c **** 
  50:Core/Src/main.c **** SPI_HandleTypeDef hspi1;
  51:Core/Src/main.c **** 
  52:Core/Src/main.c **** TIM_HandleTypeDef htim3;
  53:Core/Src/main.c **** TIM_HandleTypeDef htim4;
  54:Core/Src/main.c **** 
  55:Core/Src/main.c **** UART_HandleTypeDef huart1;
  56:Core/Src/main.c **** 
  57:Core/Src/main.c **** /* USER CODE BEGIN PV */
  58:Core/Src/main.c **** typedef struct
  59:Core/Src/main.c **** {
  60:Core/Src/main.c ****   uint8_t dev_addr;
  61:Core/Src/main.c **** } interface_t;
  62:Core/Src/main.c **** 
  63:Core/Src/main.c **** static int8_t
  64:Core/Src/main.c **** user_i2c_write (uint8_t i2c_addr, uint8_t reg_addr, uint8_t *reg_data, uint32_t len)
  65:Core/Src/main.c **** {
  66:Core/Src/main.c ****     HAL_StatusTypeDef st = HAL_I2C_Mem_Write(&hi2c2, i2c_addr<<1, reg_addr, 1, reg_data, len, 10000
  67:Core/Src/main.c **** 
  68:Core/Src/main.c ****   return st != HAL_OK ?  BMP280_E_COMM_FAIL: BMP280_OK;
  69:Core/Src/main.c **** 
  70:Core/Src/main.c **** }
  71:Core/Src/main.c **** static int8_t
  72:Core/Src/main.c **** user_i2c_read (uint8_t i2c_addr, uint8_t reg_addr, uint8_t *reg_data, uint32_t len)
  73:Core/Src/main.c **** {
  74:Core/Src/main.c ****   HAL_StatusTypeDef st = HAL_I2C_Mem_Read(&hi2c2, i2c_addr<<1, reg_addr, 1, reg_data, len, 10000);
  75:Core/Src/main.c **** 
  76:Core/Src/main.c ****   return st != HAL_OK ?  BMP280_E_COMM_FAIL: BMP280_OK;
  77:Core/Src/main.c **** 
  78:Core/Src/main.c **** }
  79:Core/Src/main.c **** 
  80:Core/Src/main.c **** static void
  81:Core/Src/main.c **** user_delay_ms (uint32_t ms, void *handle)
  82:Core/Src/main.c **** {
  27                            .loc 1 82 1 view -0
  28                            .cfi_startproc
  29                            @ args = 0, pretend = 0, frame = 0
  30                            @ frame_needed = 0, uses_anonymous_args = 0
  31                            .loc 1 82 1 is_stmt 0 view .LVU1
  32 0000 08B5                  push    {r3, lr}
  33                    .LCFI0:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 3


  34                            .cfi_def_cfa_offset 8
  35                            .cfi_offset 3, -8
  36                            .cfi_offset 14, -4
  83:Core/Src/main.c ****   HAL_Delay (ms);
  37                            .loc 1 83 3 is_stmt 1 view .LVU2
  38 0002 FFF7FEFF              bl      HAL_Delay
  39                    .LVL1:
  84:Core/Src/main.c **** 
  85:Core/Src/main.c **** }
  40                            .loc 1 85 1 is_stmt 0 view .LVU3
  41 0006 08BD                  pop     {r3, pc}
  42                            .cfi_endproc
  43                    .LFE70:
  45                            .section        .text.user_i2c_write,"ax",%progbits
  46                            .align  1
  47                            .syntax unified
  48                            .thumb
  49                            .thumb_func
  50                            .fpu softvfp
  52                    user_i2c_write:
  53                    .LVL2:
  54                    .LFB68:
  65:Core/Src/main.c ****     HAL_StatusTypeDef st = HAL_I2C_Mem_Write(&hi2c2, i2c_addr<<1, reg_addr, 1, reg_data, len, 10000
  55                            .loc 1 65 1 is_stmt 1 view -0
  56                            .cfi_startproc
  57                            @ args = 0, pretend = 0, frame = 0
  58                            @ frame_needed = 0, uses_anonymous_args = 0
  65:Core/Src/main.c ****     HAL_StatusTypeDef st = HAL_I2C_Mem_Write(&hi2c2, i2c_addr<<1, reg_addr, 1, reg_data, len, 10000
  59                            .loc 1 65 1 is_stmt 0 view .LVU5
  60 0000 10B5                  push    {r4, lr}
  61                    .LCFI1:
  62                            .cfi_def_cfa_offset 8
  63                            .cfi_offset 4, -8
  64                            .cfi_offset 14, -4
  65 0002 84B0                  sub     sp, sp, #16
  66                    .LCFI2:
  67                            .cfi_def_cfa_offset 24
  66:Core/Src/main.c **** 
  68                            .loc 1 66 5 is_stmt 1 view .LVU6
  66:Core/Src/main.c **** 
  69                            .loc 1 66 28 is_stmt 0 view .LVU7
  70 0004 42F21074              movw    r4, #10000
  71 0008 0294                  str     r4, [sp, #8]
  72 000a 9BB2                  uxth    r3, r3
  73                    .LVL3:
  66:Core/Src/main.c **** 
  74                            .loc 1 66 28 view .LVU8
  75 000c 0193                  str     r3, [sp, #4]
  76 000e 0092                  str     r2, [sp]
  77 0010 0123                  movs    r3, #1
  78 0012 0A46                  mov     r2, r1
  79                    .LVL4:
  66:Core/Src/main.c **** 
  80                            .loc 1 66 28 view .LVU9
  81 0014 00FA03F1              lsl     r1, r0, r3
  82                    .LVL5:
  66:Core/Src/main.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 4


  83                            .loc 1 66 28 view .LVU10
  84 0018 0448                  ldr     r0, .L8
  85                    .LVL6:
  66:Core/Src/main.c **** 
  86                            .loc 1 66 28 view .LVU11
  87 001a FFF7FEFF              bl      HAL_I2C_Mem_Write
  88                    .LVL7:
  68:Core/Src/main.c **** 
  89                            .loc 1 68 3 is_stmt 1 view .LVU12
  68:Core/Src/main.c **** 
  90                            .loc 1 68 44 is_stmt 0 view .LVU13
  91 001e 10B9                  cbnz    r0, .L7
  92 0020 0020                  movs    r0, #0
  93                    .LVL8:
  94                    .L4:
  70:Core/Src/main.c **** static int8_t
  95                            .loc 1 70 1 discriminator 4 view .LVU14
  96 0022 04B0                  add     sp, sp, #16
  97                    .LCFI3:
  98                            .cfi_remember_state
  99                            .cfi_def_cfa_offset 8
 100                            @ sp needed
 101 0024 10BD                  pop     {r4, pc}
 102                    .LVL9:
 103                    .L7:
 104                    .LCFI4:
 105                            .cfi_restore_state
  68:Core/Src/main.c **** 
 106                            .loc 1 68 44 view .LVU15
 107 0026 6FF00300              mvn     r0, #3
 108                    .LVL10:
  68:Core/Src/main.c **** 
 109                            .loc 1 68 44 view .LVU16
 110 002a FAE7                  b       .L4
 111                    .L9:
 112                            .align  2
 113                    .L8:
 114 002c 00000000              .word   hi2c2
 115                            .cfi_endproc
 116                    .LFE68:
 118                            .section        .text.user_i2c_read,"ax",%progbits
 119                            .align  1
 120                            .syntax unified
 121                            .thumb
 122                            .thumb_func
 123                            .fpu softvfp
 125                    user_i2c_read:
 126                    .LVL11:
 127                    .LFB69:
  73:Core/Src/main.c ****   HAL_StatusTypeDef st = HAL_I2C_Mem_Read(&hi2c2, i2c_addr<<1, reg_addr, 1, reg_data, len, 10000);
 128                            .loc 1 73 1 is_stmt 1 view -0
 129                            .cfi_startproc
 130                            @ args = 0, pretend = 0, frame = 0
 131                            @ frame_needed = 0, uses_anonymous_args = 0
  73:Core/Src/main.c ****   HAL_StatusTypeDef st = HAL_I2C_Mem_Read(&hi2c2, i2c_addr<<1, reg_addr, 1, reg_data, len, 10000);
 132                            .loc 1 73 1 is_stmt 0 view .LVU18
 133 0000 10B5                  push    {r4, lr}
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 5


 134                    .LCFI5:
 135                            .cfi_def_cfa_offset 8
 136                            .cfi_offset 4, -8
 137                            .cfi_offset 14, -4
 138 0002 84B0                  sub     sp, sp, #16
 139                    .LCFI6:
 140                            .cfi_def_cfa_offset 24
  74:Core/Src/main.c **** 
 141                            .loc 1 74 3 is_stmt 1 view .LVU19
  74:Core/Src/main.c **** 
 142                            .loc 1 74 26 is_stmt 0 view .LVU20
 143 0004 42F21074              movw    r4, #10000
 144 0008 0294                  str     r4, [sp, #8]
 145 000a 9BB2                  uxth    r3, r3
 146                    .LVL12:
  74:Core/Src/main.c **** 
 147                            .loc 1 74 26 view .LVU21
 148 000c 0193                  str     r3, [sp, #4]
 149 000e 0092                  str     r2, [sp]
 150 0010 0123                  movs    r3, #1
 151 0012 0A46                  mov     r2, r1
 152                    .LVL13:
  74:Core/Src/main.c **** 
 153                            .loc 1 74 26 view .LVU22
 154 0014 00FA03F1              lsl     r1, r0, r3
 155                    .LVL14:
  74:Core/Src/main.c **** 
 156                            .loc 1 74 26 view .LVU23
 157 0018 0448                  ldr     r0, .L15
 158                    .LVL15:
  74:Core/Src/main.c **** 
 159                            .loc 1 74 26 view .LVU24
 160 001a FFF7FEFF              bl      HAL_I2C_Mem_Read
 161                    .LVL16:
  76:Core/Src/main.c **** 
 162                            .loc 1 76 3 is_stmt 1 view .LVU25
  76:Core/Src/main.c **** 
 163                            .loc 1 76 44 is_stmt 0 view .LVU26
 164 001e 10B9                  cbnz    r0, .L14
 165 0020 0020                  movs    r0, #0
 166                    .LVL17:
 167                    .L11:
  78:Core/Src/main.c **** 
 168                            .loc 1 78 1 discriminator 4 view .LVU27
 169 0022 04B0                  add     sp, sp, #16
 170                    .LCFI7:
 171                            .cfi_remember_state
 172                            .cfi_def_cfa_offset 8
 173                            @ sp needed
 174 0024 10BD                  pop     {r4, pc}
 175                    .LVL18:
 176                    .L14:
 177                    .LCFI8:
 178                            .cfi_restore_state
  76:Core/Src/main.c **** 
 179                            .loc 1 76 44 view .LVU28
 180 0026 6FF00300              mvn     r0, #3
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 6


 181                    .LVL19:
  76:Core/Src/main.c **** 
 182                            .loc 1 76 44 view .LVU29
 183 002a FAE7                  b       .L11
 184                    .L16:
 185                            .align  2
 186                    .L15:
 187 002c 00000000              .word   hi2c2
 188                            .cfi_endproc
 189                    .LFE69:
 191                            .section        .text.MX_GPIO_Init,"ax",%progbits
 192                            .align  1
 193                            .syntax unified
 194                            .thumb
 195                            .thumb_func
 196                            .fpu softvfp
 198                    MX_GPIO_Init:
 199                    .LFB79:
  86:Core/Src/main.c **** 
  87:Core/Src/main.c **** 
  88:Core/Src/main.c **** 
  89:Core/Src/main.c **** 
  90:Core/Src/main.c **** struct bmp280_dev bmp =
  91:Core/Src/main.c ****   {
  92:Core/Src/main.c **** 
  93:Core/Src/main.c ****   .intf = BMP280_I2C_INTF, .read = user_i2c_read, .write = user_i2c_write,
  94:Core/Src/main.c ****       .delay_ms = user_delay_ms,
  95:Core/Src/main.c **** 
  96:Core/Src/main.c ****       /* Update interface pointer with the structure that contains both device address and file des
  97:Core/Src/main.c ****      .dev_id =  BMP280_I2C_ADDR_PRIM };
  98:Core/Src/main.c **** 
  99:Core/Src/main.c **** int8_t rslt;
 100:Core/Src/main.c **** struct bmp280_config conf;
 101:Core/Src/main.c **** 
 102:Core/Src/main.c **** 
 103:Core/Src/main.c **** /* USER CODE END PV */
 104:Core/Src/main.c **** 
 105:Core/Src/main.c **** /* Private function prototypes -----------------------------------------------*/
 106:Core/Src/main.c **** void SystemClock_Config(void);
 107:Core/Src/main.c **** static void MX_GPIO_Init(void);
 108:Core/Src/main.c **** static void MX_SPI1_Init(void);
 109:Core/Src/main.c **** static void MX_TIM4_Init(void);
 110:Core/Src/main.c **** static void MX_USART1_UART_Init(void);
 111:Core/Src/main.c **** static void MX_TIM3_Init(void);
 112:Core/Src/main.c **** static void MX_I2C2_Init(void);
 113:Core/Src/main.c **** static void MX_RTC_Init(void);
 114:Core/Src/main.c **** /* USER CODE BEGIN PFP */
 115:Core/Src/main.c **** 
 116:Core/Src/main.c **** /* USER CODE END PFP */
 117:Core/Src/main.c **** 
 118:Core/Src/main.c **** /* Private user code ---------------------------------------------------------*/
 119:Core/Src/main.c **** /* USER CODE BEGIN 0 */
 120:Core/Src/main.c **** 
 121:Core/Src/main.c **** /* USER CODE END 0 */
 122:Core/Src/main.c **** 
 123:Core/Src/main.c **** /**
 124:Core/Src/main.c ****   * @brief  The application entry point.
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 7


 125:Core/Src/main.c ****   * @retval int
 126:Core/Src/main.c ****   */
 127:Core/Src/main.c **** int main(void)
 128:Core/Src/main.c **** {
 129:Core/Src/main.c ****   /* USER CODE BEGIN 1 */
 130:Core/Src/main.c **** 
 131:Core/Src/main.c ****   /* USER CODE END 1 */
 132:Core/Src/main.c **** 
 133:Core/Src/main.c ****   /* MCU Configuration--------------------------------------------------------*/
 134:Core/Src/main.c **** 
 135:Core/Src/main.c ****   /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
 136:Core/Src/main.c ****   HAL_Init();
 137:Core/Src/main.c **** 
 138:Core/Src/main.c ****   /* USER CODE BEGIN Init */
 139:Core/Src/main.c **** 
 140:Core/Src/main.c ****   /* USER CODE END Init */
 141:Core/Src/main.c **** 
 142:Core/Src/main.c ****   /* Configure the system clock */
 143:Core/Src/main.c ****   SystemClock_Config();
 144:Core/Src/main.c **** 
 145:Core/Src/main.c ****   /* USER CODE BEGIN SysInit */
 146:Core/Src/main.c **** 
 147:Core/Src/main.c ****   /* USER CODE END SysInit */
 148:Core/Src/main.c **** 
 149:Core/Src/main.c ****   /* Initialize all configured peripherals */
 150:Core/Src/main.c ****   MX_GPIO_Init();
 151:Core/Src/main.c ****   MX_SPI1_Init();
 152:Core/Src/main.c ****   MX_TIM4_Init();
 153:Core/Src/main.c ****   MX_USART1_UART_Init();
 154:Core/Src/main.c ****   MX_TIM3_Init();
 155:Core/Src/main.c ****   MX_I2C2_Init();
 156:Core/Src/main.c ****   MX_RTC_Init();
 157:Core/Src/main.c ****   MX_USB_DEVICE_Init();
 158:Core/Src/main.c ****   /* USER CODE BEGIN 2 */
 159:Core/Src/main.c **** 
 160:Core/Src/main.c ****   HAL_GPIO_WritePin ( USB_PULLUP_GPIO_Port, USB_PULLUP_Pin, GPIO_PIN_RESET);
 161:Core/Src/main.c ****   HAL_Delay (1000);
 162:Core/Src/main.c ****   HAL_GPIO_WritePin ( USB_PULLUP_GPIO_Port, USB_PULLUP_Pin, GPIO_PIN_SET);
 163:Core/Src/main.c **** 
 164:Core/Src/main.c ****   /* setup the USART control blocks */
 165:Core/Src/main.c ****   init_usart_ctl (&uc1, &huart1);
 166:Core/Src/main.c **** 
 167:Core/Src/main.c ****   EnableSerialRxInterrupt (&uc1);
 168:Core/Src/main.c **** 
 169:Core/Src/main.c **** 
 170:Core/Src/main.c ****   /* Initialize the bmp280 */
 171:Core/Src/main.c ****   rslt = bmp280_init(&bmp);
 172:Core/Src/main.c **** //  print_rslt(" bmp280_init status", rslt);
 173:Core/Src/main.c **** 
 174:Core/Src/main.c ****   /* Always read the current settings before writing, especially when
 175:Core/Src/main.c ****    * all the configuration is not modified
 176:Core/Src/main.c ****    */
 177:Core/Src/main.c ****   rslt = bmp280_get_config(&conf, &bmp);
 178:Core/Src/main.c ****  // print_rslt(" bmp280_get_config status", rslt);
 179:Core/Src/main.c **** 
 180:Core/Src/main.c ****   /* configuring the temperature oversampling, filter coefficient and output data rate */
 181:Core/Src/main.c ****   /* Overwrite the desired settings */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 8


 182:Core/Src/main.c ****   conf.filter = BMP280_FILTER_COEFF_2;
 183:Core/Src/main.c **** 
 184:Core/Src/main.c ****   /* Temperature oversampling set at 4x */
 185:Core/Src/main.c ****   conf.os_temp = BMP280_OS_4X;
 186:Core/Src/main.c **** 
 187:Core/Src/main.c ****   /* Pressure over sampling none (disabling pressure measurement) */
 188:Core/Src/main.c ****   conf.os_pres = BMP280_OS_4X;
 189:Core/Src/main.c **** 
 190:Core/Src/main.c ****   /* Setting the output data rate as 2HZ(500ms) */
 191:Core/Src/main.c ****   conf.odr = BMP280_ODR_500_MS;
 192:Core/Src/main.c ****   rslt = bmp280_set_config(&conf, &bmp);
 193:Core/Src/main.c ****   //print_rslt(" bmp280_set_config status", rslt);
 194:Core/Src/main.c **** 
 195:Core/Src/main.c ****   /* Always set the power mode after setting the configuration */
 196:Core/Src/main.c ****   rslt = bmp280_set_power_mode(BMP280_NORMAL_MODE, &bmp);
 197:Core/Src/main.c ****   //print_rslt(" bmp280_set_power_mode status", rslt);
 198:Core/Src/main.c **** 
 199:Core/Src/main.c **** 
 200:Core/Src/main.c **** 
 201:Core/Src/main.c ****   cc_init ();
 202:Core/Src/main.c ****   /* USER CODE END 2 */
 203:Core/Src/main.c **** 
 204:Core/Src/main.c ****   /* Infinite loop */
 205:Core/Src/main.c ****   /* USER CODE BEGIN WHILE */
 206:Core/Src/main.c ****   while (1)
 207:Core/Src/main.c ****     {
 208:Core/Src/main.c ****       cc_run (&bmp);
 209:Core/Src/main.c **** 
 210:Core/Src/main.c **** 
 211:Core/Src/main.c **** 
 212:Core/Src/main.c ****       HAL_Delay (50);
 213:Core/Src/main.c **** 
 214:Core/Src/main.c ****     /* USER CODE END WHILE */
 215:Core/Src/main.c **** 
 216:Core/Src/main.c ****     /* USER CODE BEGIN 3 */
 217:Core/Src/main.c ****     }
 218:Core/Src/main.c ****   /* USER CODE END 3 */
 219:Core/Src/main.c **** }
 220:Core/Src/main.c **** 
 221:Core/Src/main.c **** /**
 222:Core/Src/main.c ****   * @brief System Clock Configuration
 223:Core/Src/main.c ****   * @retval None
 224:Core/Src/main.c ****   */
 225:Core/Src/main.c **** void SystemClock_Config(void)
 226:Core/Src/main.c **** {
 227:Core/Src/main.c ****   RCC_OscInitTypeDef RCC_OscInitStruct = {0};
 228:Core/Src/main.c ****   RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
 229:Core/Src/main.c ****   RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
 230:Core/Src/main.c **** 
 231:Core/Src/main.c ****   /** Initializes the RCC Oscillators according to the specified parameters
 232:Core/Src/main.c ****   * in the RCC_OscInitTypeDef structure.
 233:Core/Src/main.c ****   */
 234:Core/Src/main.c ****   RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE|RCC_OSCILLATORTYPE_LSE;
 235:Core/Src/main.c ****   RCC_OscInitStruct.HSEState = RCC_HSE_ON;
 236:Core/Src/main.c ****   RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
 237:Core/Src/main.c ****   RCC_OscInitStruct.LSEState = RCC_LSE_ON;
 238:Core/Src/main.c ****   RCC_OscInitStruct.HSIState = RCC_HSI_ON;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 9


 239:Core/Src/main.c ****   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
 240:Core/Src/main.c ****   RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
 241:Core/Src/main.c ****   RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
 242:Core/Src/main.c ****   if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
 243:Core/Src/main.c ****   {
 244:Core/Src/main.c ****     Error_Handler();
 245:Core/Src/main.c ****   }
 246:Core/Src/main.c ****   /** Initializes the CPU, AHB and APB buses clocks
 247:Core/Src/main.c ****   */
 248:Core/Src/main.c ****   RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
 249:Core/Src/main.c ****                               |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
 250:Core/Src/main.c ****   RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
 251:Core/Src/main.c ****   RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
 252:Core/Src/main.c ****   RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
 253:Core/Src/main.c ****   RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
 254:Core/Src/main.c **** 
 255:Core/Src/main.c ****   if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
 256:Core/Src/main.c ****   {
 257:Core/Src/main.c ****     Error_Handler();
 258:Core/Src/main.c ****   }
 259:Core/Src/main.c ****   PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_RTC|RCC_PERIPHCLK_USB;
 260:Core/Src/main.c ****   PeriphClkInit.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
 261:Core/Src/main.c ****   PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_PLL_DIV1_5;
 262:Core/Src/main.c ****   if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
 263:Core/Src/main.c ****   {
 264:Core/Src/main.c ****     Error_Handler();
 265:Core/Src/main.c ****   }
 266:Core/Src/main.c **** }
 267:Core/Src/main.c **** 
 268:Core/Src/main.c **** /**
 269:Core/Src/main.c ****   * @brief I2C2 Initialization Function
 270:Core/Src/main.c ****   * @param None
 271:Core/Src/main.c ****   * @retval None
 272:Core/Src/main.c ****   */
 273:Core/Src/main.c **** static void MX_I2C2_Init(void)
 274:Core/Src/main.c **** {
 275:Core/Src/main.c **** 
 276:Core/Src/main.c ****   /* USER CODE BEGIN I2C2_Init 0 */
 277:Core/Src/main.c **** 
 278:Core/Src/main.c ****   /* USER CODE END I2C2_Init 0 */
 279:Core/Src/main.c **** 
 280:Core/Src/main.c ****   /* USER CODE BEGIN I2C2_Init 1 */
 281:Core/Src/main.c **** 
 282:Core/Src/main.c ****   /* USER CODE END I2C2_Init 1 */
 283:Core/Src/main.c ****   hi2c2.Instance = I2C2;
 284:Core/Src/main.c ****   hi2c2.Init.ClockSpeed = 100000;
 285:Core/Src/main.c ****   hi2c2.Init.DutyCycle = I2C_DUTYCYCLE_2;
 286:Core/Src/main.c ****   hi2c2.Init.OwnAddress1 = 0;
 287:Core/Src/main.c ****   hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
 288:Core/Src/main.c ****   hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
 289:Core/Src/main.c ****   hi2c2.Init.OwnAddress2 = 0;
 290:Core/Src/main.c ****   hi2c2.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
 291:Core/Src/main.c ****   hi2c2.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
 292:Core/Src/main.c ****   if (HAL_I2C_Init(&hi2c2) != HAL_OK)
 293:Core/Src/main.c ****   {
 294:Core/Src/main.c ****     Error_Handler();
 295:Core/Src/main.c ****   }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 10


 296:Core/Src/main.c ****   /* USER CODE BEGIN I2C2_Init 2 */
 297:Core/Src/main.c **** 
 298:Core/Src/main.c ****   /* USER CODE END I2C2_Init 2 */
 299:Core/Src/main.c **** 
 300:Core/Src/main.c **** }
 301:Core/Src/main.c **** 
 302:Core/Src/main.c **** /**
 303:Core/Src/main.c ****   * @brief RTC Initialization Function
 304:Core/Src/main.c ****   * @param None
 305:Core/Src/main.c ****   * @retval None
 306:Core/Src/main.c ****   */
 307:Core/Src/main.c **** static void MX_RTC_Init(void)
 308:Core/Src/main.c **** {
 309:Core/Src/main.c **** 
 310:Core/Src/main.c ****   /* USER CODE BEGIN RTC_Init 0 */
 311:Core/Src/main.c **** 
 312:Core/Src/main.c ****   /* USER CODE END RTC_Init 0 */
 313:Core/Src/main.c **** 
 314:Core/Src/main.c ****   RTC_TimeTypeDef sTime = {0};
 315:Core/Src/main.c ****   RTC_DateTypeDef DateToUpdate = {0};
 316:Core/Src/main.c **** 
 317:Core/Src/main.c ****   /* USER CODE BEGIN RTC_Init 1 */
 318:Core/Src/main.c **** 
 319:Core/Src/main.c ****   /* USER CODE END RTC_Init 1 */
 320:Core/Src/main.c ****   /** Initialize RTC Only
 321:Core/Src/main.c ****   */
 322:Core/Src/main.c ****   hrtc.Instance = RTC;
 323:Core/Src/main.c ****   hrtc.Init.AsynchPrediv = RTC_AUTO_1_SECOND;
 324:Core/Src/main.c ****   hrtc.Init.OutPut = RTC_OUTPUTSOURCE_ALARM;
 325:Core/Src/main.c ****   if (HAL_RTC_Init(&hrtc) != HAL_OK)
 326:Core/Src/main.c ****   {
 327:Core/Src/main.c ****     Error_Handler();
 328:Core/Src/main.c ****   }
 329:Core/Src/main.c **** 
 330:Core/Src/main.c ****   /* USER CODE BEGIN Check_RTC_BKUP */
 331:Core/Src/main.c **** 
 332:Core/Src/main.c ****   /* USER CODE END Check_RTC_BKUP */
 333:Core/Src/main.c **** 
 334:Core/Src/main.c ****   /** Initialize RTC and set the Time and Date
 335:Core/Src/main.c ****   */
 336:Core/Src/main.c ****   sTime.Hours = 0x0;
 337:Core/Src/main.c ****   sTime.Minutes = 0x0;
 338:Core/Src/main.c ****   sTime.Seconds = 0x0;
 339:Core/Src/main.c **** 
 340:Core/Src/main.c ****   if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BCD) != HAL_OK)
 341:Core/Src/main.c ****   {
 342:Core/Src/main.c ****     Error_Handler();
 343:Core/Src/main.c ****   }
 344:Core/Src/main.c ****   DateToUpdate.WeekDay = RTC_WEEKDAY_MONDAY;
 345:Core/Src/main.c ****   DateToUpdate.Month = RTC_MONTH_JANUARY;
 346:Core/Src/main.c ****   DateToUpdate.Date = 0x1;
 347:Core/Src/main.c ****   DateToUpdate.Year = 0x0;
 348:Core/Src/main.c **** 
 349:Core/Src/main.c ****   if (HAL_RTC_SetDate(&hrtc, &DateToUpdate, RTC_FORMAT_BCD) != HAL_OK)
 350:Core/Src/main.c ****   {
 351:Core/Src/main.c ****     Error_Handler();
 352:Core/Src/main.c ****   }
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 11


 353:Core/Src/main.c ****   /* USER CODE BEGIN RTC_Init 2 */
 354:Core/Src/main.c **** 
 355:Core/Src/main.c ****   /* USER CODE END RTC_Init 2 */
 356:Core/Src/main.c **** 
 357:Core/Src/main.c **** }
 358:Core/Src/main.c **** 
 359:Core/Src/main.c **** /**
 360:Core/Src/main.c ****   * @brief SPI1 Initialization Function
 361:Core/Src/main.c ****   * @param None
 362:Core/Src/main.c ****   * @retval None
 363:Core/Src/main.c ****   */
 364:Core/Src/main.c **** static void MX_SPI1_Init(void)
 365:Core/Src/main.c **** {
 366:Core/Src/main.c **** 
 367:Core/Src/main.c ****   /* USER CODE BEGIN SPI1_Init 0 */
 368:Core/Src/main.c **** 
 369:Core/Src/main.c ****   /* USER CODE END SPI1_Init 0 */
 370:Core/Src/main.c **** 
 371:Core/Src/main.c ****   /* USER CODE BEGIN SPI1_Init 1 */
 372:Core/Src/main.c **** 
 373:Core/Src/main.c ****   /* USER CODE END SPI1_Init 1 */
 374:Core/Src/main.c ****   /* SPI1 parameter configuration*/
 375:Core/Src/main.c ****   hspi1.Instance = SPI1;
 376:Core/Src/main.c ****   hspi1.Init.Mode = SPI_MODE_MASTER;
 377:Core/Src/main.c ****   hspi1.Init.Direction = SPI_DIRECTION_1LINE;
 378:Core/Src/main.c ****   hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
 379:Core/Src/main.c ****   hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH;
 380:Core/Src/main.c ****   hspi1.Init.CLKPhase = SPI_PHASE_2EDGE;
 381:Core/Src/main.c ****   hspi1.Init.NSS = SPI_NSS_SOFT;
 382:Core/Src/main.c ****   hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;
 383:Core/Src/main.c ****   hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
 384:Core/Src/main.c ****   hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
 385:Core/Src/main.c ****   hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
 386:Core/Src/main.c ****   hspi1.Init.CRCPolynomial = 10;
 387:Core/Src/main.c ****   if (HAL_SPI_Init(&hspi1) != HAL_OK)
 388:Core/Src/main.c ****   {
 389:Core/Src/main.c ****     Error_Handler();
 390:Core/Src/main.c ****   }
 391:Core/Src/main.c ****   /* USER CODE BEGIN SPI1_Init 2 */
 392:Core/Src/main.c **** 
 393:Core/Src/main.c ****   /* USER CODE END SPI1_Init 2 */
 394:Core/Src/main.c **** 
 395:Core/Src/main.c **** }
 396:Core/Src/main.c **** 
 397:Core/Src/main.c **** /**
 398:Core/Src/main.c ****   * @brief TIM3 Initialization Function
 399:Core/Src/main.c ****   * @param None
 400:Core/Src/main.c ****   * @retval None
 401:Core/Src/main.c ****   */
 402:Core/Src/main.c **** static void MX_TIM3_Init(void)
 403:Core/Src/main.c **** {
 404:Core/Src/main.c **** 
 405:Core/Src/main.c ****   /* USER CODE BEGIN TIM3_Init 0 */
 406:Core/Src/main.c **** 
 407:Core/Src/main.c ****   /* USER CODE END TIM3_Init 0 */
 408:Core/Src/main.c **** 
 409:Core/Src/main.c ****   TIM_MasterConfigTypeDef sMasterConfig = {0};
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 12


 410:Core/Src/main.c ****   TIM_OC_InitTypeDef sConfigOC = {0};
 411:Core/Src/main.c **** 
 412:Core/Src/main.c ****   /* USER CODE BEGIN TIM3_Init 1 */
 413:Core/Src/main.c **** 
 414:Core/Src/main.c ****   /* USER CODE END TIM3_Init 1 */
 415:Core/Src/main.c ****   htim3.Instance = TIM3;
 416:Core/Src/main.c ****   htim3.Init.Prescaler = 640;
 417:Core/Src/main.c ****   htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
 418:Core/Src/main.c ****   htim3.Init.Period = 10000;
 419:Core/Src/main.c ****   htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
 420:Core/Src/main.c ****   htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
 421:Core/Src/main.c ****   if (HAL_TIM_OC_Init(&htim3) != HAL_OK)
 422:Core/Src/main.c ****   {
 423:Core/Src/main.c ****     Error_Handler();
 424:Core/Src/main.c ****   }
 425:Core/Src/main.c ****   if (HAL_TIM_OnePulse_Init(&htim3, TIM_OPMODE_SINGLE) != HAL_OK)
 426:Core/Src/main.c ****   {
 427:Core/Src/main.c ****     Error_Handler();
 428:Core/Src/main.c ****   }
 429:Core/Src/main.c ****   sMasterConfig.MasterOutputTrigger = TIM_TRGO_ENABLE;
 430:Core/Src/main.c ****   sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
 431:Core/Src/main.c ****   if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)
 432:Core/Src/main.c ****   {
 433:Core/Src/main.c ****     Error_Handler();
 434:Core/Src/main.c ****   }
 435:Core/Src/main.c ****   sConfigOC.OCMode = TIM_OCMODE_TIMING;
 436:Core/Src/main.c ****   sConfigOC.Pulse = 9999;
 437:Core/Src/main.c ****   sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
 438:Core/Src/main.c ****   sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
 439:Core/Src/main.c ****   if (HAL_TIM_OC_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
 440:Core/Src/main.c ****   {
 441:Core/Src/main.c ****     Error_Handler();
 442:Core/Src/main.c ****   }
 443:Core/Src/main.c ****   /* USER CODE BEGIN TIM3_Init 2 */
 444:Core/Src/main.c **** 
 445:Core/Src/main.c ****   /* USER CODE END TIM3_Init 2 */
 446:Core/Src/main.c **** 
 447:Core/Src/main.c **** }
 448:Core/Src/main.c **** 
 449:Core/Src/main.c **** /**
 450:Core/Src/main.c ****   * @brief TIM4 Initialization Function
 451:Core/Src/main.c ****   * @param None
 452:Core/Src/main.c ****   * @retval None
 453:Core/Src/main.c ****   */
 454:Core/Src/main.c **** static void MX_TIM4_Init(void)
 455:Core/Src/main.c **** {
 456:Core/Src/main.c **** 
 457:Core/Src/main.c ****   /* USER CODE BEGIN TIM4_Init 0 */
 458:Core/Src/main.c **** 
 459:Core/Src/main.c ****   /* USER CODE END TIM4_Init 0 */
 460:Core/Src/main.c **** 
 461:Core/Src/main.c ****   TIM_Encoder_InitTypeDef sConfig = {0};
 462:Core/Src/main.c ****   TIM_MasterConfigTypeDef sMasterConfig = {0};
 463:Core/Src/main.c **** 
 464:Core/Src/main.c ****   /* USER CODE BEGIN TIM4_Init 1 */
 465:Core/Src/main.c **** 
 466:Core/Src/main.c ****   /* USER CODE END TIM4_Init 1 */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 13


 467:Core/Src/main.c ****   htim4.Instance = TIM4;
 468:Core/Src/main.c ****   htim4.Init.Prescaler = 0;
 469:Core/Src/main.c ****   htim4.Init.CounterMode = TIM_COUNTERMODE_UP;
 470:Core/Src/main.c ****   htim4.Init.Period = 65535;
 471:Core/Src/main.c ****   htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
 472:Core/Src/main.c ****   htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
 473:Core/Src/main.c ****   sConfig.EncoderMode = TIM_ENCODERMODE_TI12;
 474:Core/Src/main.c ****   sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
 475:Core/Src/main.c ****   sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
 476:Core/Src/main.c ****   sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
 477:Core/Src/main.c ****   sConfig.IC1Filter = 8;
 478:Core/Src/main.c ****   sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;
 479:Core/Src/main.c ****   sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;
 480:Core/Src/main.c ****   sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
 481:Core/Src/main.c ****   sConfig.IC2Filter = 8;
 482:Core/Src/main.c ****   if (HAL_TIM_Encoder_Init(&htim4, &sConfig) != HAL_OK)
 483:Core/Src/main.c ****   {
 484:Core/Src/main.c ****     Error_Handler();
 485:Core/Src/main.c ****   }
 486:Core/Src/main.c ****   sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
 487:Core/Src/main.c ****   sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
 488:Core/Src/main.c ****   if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK)
 489:Core/Src/main.c ****   {
 490:Core/Src/main.c ****     Error_Handler();
 491:Core/Src/main.c ****   }
 492:Core/Src/main.c ****   /* USER CODE BEGIN TIM4_Init 2 */
 493:Core/Src/main.c **** 
 494:Core/Src/main.c ****   /* USER CODE END TIM4_Init 2 */
 495:Core/Src/main.c **** 
 496:Core/Src/main.c **** }
 497:Core/Src/main.c **** 
 498:Core/Src/main.c **** /**
 499:Core/Src/main.c ****   * @brief USART1 Initialization Function
 500:Core/Src/main.c ****   * @param None
 501:Core/Src/main.c ****   * @retval None
 502:Core/Src/main.c ****   */
 503:Core/Src/main.c **** static void MX_USART1_UART_Init(void)
 504:Core/Src/main.c **** {
 505:Core/Src/main.c **** 
 506:Core/Src/main.c ****   /* USER CODE BEGIN USART1_Init 0 */
 507:Core/Src/main.c **** 
 508:Core/Src/main.c ****   /* USER CODE END USART1_Init 0 */
 509:Core/Src/main.c **** 
 510:Core/Src/main.c ****   /* USER CODE BEGIN USART1_Init 1 */
 511:Core/Src/main.c **** 
 512:Core/Src/main.c ****   /* USER CODE END USART1_Init 1 */
 513:Core/Src/main.c ****   huart1.Instance = USART1;
 514:Core/Src/main.c ****   huart1.Init.BaudRate = 115200;
 515:Core/Src/main.c ****   huart1.Init.WordLength = UART_WORDLENGTH_8B;
 516:Core/Src/main.c ****   huart1.Init.StopBits = UART_STOPBITS_1;
 517:Core/Src/main.c ****   huart1.Init.Parity = UART_PARITY_NONE;
 518:Core/Src/main.c ****   huart1.Init.Mode = UART_MODE_TX_RX;
 519:Core/Src/main.c ****   huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
 520:Core/Src/main.c ****   huart1.Init.OverSampling = UART_OVERSAMPLING_16;
 521:Core/Src/main.c ****   if (HAL_UART_Init(&huart1) != HAL_OK)
 522:Core/Src/main.c ****   {
 523:Core/Src/main.c ****     Error_Handler();
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 14


 524:Core/Src/main.c ****   }
 525:Core/Src/main.c ****   /* USER CODE BEGIN USART1_Init 2 */
 526:Core/Src/main.c **** 
 527:Core/Src/main.c ****   /* USER CODE END USART1_Init 2 */
 528:Core/Src/main.c **** 
 529:Core/Src/main.c **** }
 530:Core/Src/main.c **** 
 531:Core/Src/main.c **** /**
 532:Core/Src/main.c ****   * @brief GPIO Initialization Function
 533:Core/Src/main.c ****   * @param None
 534:Core/Src/main.c ****   * @retval None
 535:Core/Src/main.c ****   */
 536:Core/Src/main.c **** static void MX_GPIO_Init(void)
 537:Core/Src/main.c **** {
 200                            .loc 1 537 1 is_stmt 1 view -0
 201                            .cfi_startproc
 202                            @ args = 0, pretend = 0, frame = 32
 203                            @ frame_needed = 0, uses_anonymous_args = 0
 204 0000 2DE9F041              push    {r4, r5, r6, r7, r8, lr}
 205                    .LCFI9:
 206                            .cfi_def_cfa_offset 24
 207                            .cfi_offset 4, -24
 208                            .cfi_offset 5, -20
 209                            .cfi_offset 6, -16
 210                            .cfi_offset 7, -12
 211                            .cfi_offset 8, -8
 212                            .cfi_offset 14, -4
 213 0004 88B0                  sub     sp, sp, #32
 214                    .LCFI10:
 215                            .cfi_def_cfa_offset 56
 538:Core/Src/main.c ****   GPIO_InitTypeDef GPIO_InitStruct = {0};
 216                            .loc 1 538 3 view .LVU31
 217                            .loc 1 538 20 is_stmt 0 view .LVU32
 218 0006 0024                  movs    r4, #0
 219 0008 0494                  str     r4, [sp, #16]
 220 000a 0594                  str     r4, [sp, #20]
 221 000c 0694                  str     r4, [sp, #24]
 222 000e 0794                  str     r4, [sp, #28]
 539:Core/Src/main.c **** 
 540:Core/Src/main.c ****   /* GPIO Ports Clock Enable */
 541:Core/Src/main.c ****   __HAL_RCC_GPIOC_CLK_ENABLE();
 223                            .loc 1 541 3 is_stmt 1 view .LVU33
 224                    .LBB2:
 225                            .loc 1 541 3 view .LVU34
 226                            .loc 1 541 3 view .LVU35
 227 0010 244B                  ldr     r3, .L19
 228 0012 9A69                  ldr     r2, [r3, #24]
 229 0014 42F01002              orr     r2, r2, #16
 230 0018 9A61                  str     r2, [r3, #24]
 231                            .loc 1 541 3 view .LVU36
 232 001a 9A69                  ldr     r2, [r3, #24]
 233 001c 02F01002              and     r2, r2, #16
 234 0020 0092                  str     r2, [sp]
 235                            .loc 1 541 3 view .LVU37
 236 0022 009A                  ldr     r2, [sp]
 237                    .LBE2:
 542:Core/Src/main.c ****   __HAL_RCC_GPIOD_CLK_ENABLE();
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 15


 238                            .loc 1 542 3 view .LVU38
 239                    .LBB3:
 240                            .loc 1 542 3 view .LVU39
 241                            .loc 1 542 3 view .LVU40
 242 0024 9A69                  ldr     r2, [r3, #24]
 243 0026 42F02002              orr     r2, r2, #32
 244 002a 9A61                  str     r2, [r3, #24]
 245                            .loc 1 542 3 view .LVU41
 246 002c 9A69                  ldr     r2, [r3, #24]
 247 002e 02F02002              and     r2, r2, #32
 248 0032 0192                  str     r2, [sp, #4]
 249                            .loc 1 542 3 view .LVU42
 250 0034 019A                  ldr     r2, [sp, #4]
 251                    .LBE3:
 543:Core/Src/main.c ****   __HAL_RCC_GPIOA_CLK_ENABLE();
 252                            .loc 1 543 3 view .LVU43
 253                    .LBB4:
 254                            .loc 1 543 3 view .LVU44
 255                            .loc 1 543 3 view .LVU45
 256 0036 9A69                  ldr     r2, [r3, #24]
 257 0038 42F00402              orr     r2, r2, #4
 258 003c 9A61                  str     r2, [r3, #24]
 259                            .loc 1 543 3 view .LVU46
 260 003e 9A69                  ldr     r2, [r3, #24]
 261 0040 02F00402              and     r2, r2, #4
 262 0044 0292                  str     r2, [sp, #8]
 263                            .loc 1 543 3 view .LVU47
 264 0046 029A                  ldr     r2, [sp, #8]
 265                    .LBE4:
 544:Core/Src/main.c ****   __HAL_RCC_GPIOB_CLK_ENABLE();
 266                            .loc 1 544 3 view .LVU48
 267                    .LBB5:
 268                            .loc 1 544 3 view .LVU49
 269                            .loc 1 544 3 view .LVU50
 270 0048 9A69                  ldr     r2, [r3, #24]
 271 004a 42F00802              orr     r2, r2, #8
 272 004e 9A61                  str     r2, [r3, #24]
 273                            .loc 1 544 3 view .LVU51
 274 0050 9B69                  ldr     r3, [r3, #24]
 275 0052 03F00803              and     r3, r3, #8
 276 0056 0393                  str     r3, [sp, #12]
 277                            .loc 1 544 3 view .LVU52
 278 0058 039B                  ldr     r3, [sp, #12]
 279                    .LBE5:
 545:Core/Src/main.c **** 
 546:Core/Src/main.c ****   /*Configure GPIO pin Output Level */
 547:Core/Src/main.c ****   HAL_GPIO_WritePin(GPIOA, SPI_CD_Pin|SPI_RESET_Pin|SPI_NSS1_Pin, GPIO_PIN_RESET);
 280                            .loc 1 547 3 view .LVU53
 281 005a DFF85080              ldr     r8, .L19+8
 282 005e 2246                  mov     r2, r4
 283 0060 5821                  movs    r1, #88
 284 0062 4046                  mov     r0, r8
 285 0064 FFF7FEFF              bl      HAL_GPIO_WritePin
 286                    .LVL20:
 548:Core/Src/main.c **** 
 549:Core/Src/main.c ****   /*Configure GPIO pin Output Level */
 550:Core/Src/main.c ****   HAL_GPIO_WritePin(USB_PULLUP_GPIO_Port, USB_PULLUP_Pin, GPIO_PIN_RESET);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 16


 287                            .loc 1 550 3 view .LVU54
 288 0068 0F4D                  ldr     r5, .L19+4
 289 006a 2246                  mov     r2, r4
 290 006c 1021                  movs    r1, #16
 291 006e 2846                  mov     r0, r5
 292 0070 FFF7FEFF              bl      HAL_GPIO_WritePin
 293                    .LVL21:
 551:Core/Src/main.c **** 
 552:Core/Src/main.c ****   /*Configure GPIO pins : SPI_CD_Pin SPI_RESET_Pin SPI_NSS1_Pin */
 553:Core/Src/main.c ****   GPIO_InitStruct.Pin = SPI_CD_Pin|SPI_RESET_Pin|SPI_NSS1_Pin;
 294                            .loc 1 553 3 view .LVU55
 295                            .loc 1 553 23 is_stmt 0 view .LVU56
 296 0074 5823                  movs    r3, #88
 297 0076 0493                  str     r3, [sp, #16]
 554:Core/Src/main.c ****   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
 298                            .loc 1 554 3 is_stmt 1 view .LVU57
 299                            .loc 1 554 24 is_stmt 0 view .LVU58
 300 0078 0127                  movs    r7, #1
 301 007a 0597                  str     r7, [sp, #20]
 555:Core/Src/main.c ****   GPIO_InitStruct.Pull = GPIO_NOPULL;
 302                            .loc 1 555 3 is_stmt 1 view .LVU59
 303                            .loc 1 555 24 is_stmt 0 view .LVU60
 304 007c 0694                  str     r4, [sp, #24]
 556:Core/Src/main.c ****   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
 305                            .loc 1 556 3 is_stmt 1 view .LVU61
 306                            .loc 1 556 25 is_stmt 0 view .LVU62
 307 007e 0226                  movs    r6, #2
 308 0080 0796                  str     r6, [sp, #28]
 557:Core/Src/main.c ****   HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
 309                            .loc 1 557 3 is_stmt 1 view .LVU63
 310 0082 04A9                  add     r1, sp, #16
 311 0084 4046                  mov     r0, r8
 312 0086 FFF7FEFF              bl      HAL_GPIO_Init
 313                    .LVL22:
 558:Core/Src/main.c **** 
 559:Core/Src/main.c ****   /*Configure GPIO pin : USB_PULLUP_Pin */
 560:Core/Src/main.c ****   GPIO_InitStruct.Pin = USB_PULLUP_Pin;
 314                            .loc 1 560 3 view .LVU64
 315                            .loc 1 560 23 is_stmt 0 view .LVU65
 316 008a 1023                  movs    r3, #16
 317 008c 0493                  str     r3, [sp, #16]
 561:Core/Src/main.c ****   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
 318                            .loc 1 561 3 is_stmt 1 view .LVU66
 319                            .loc 1 561 24 is_stmt 0 view .LVU67
 320 008e 0597                  str     r7, [sp, #20]
 562:Core/Src/main.c ****   GPIO_InitStruct.Pull = GPIO_NOPULL;
 321                            .loc 1 562 3 is_stmt 1 view .LVU68
 322                            .loc 1 562 24 is_stmt 0 view .LVU69
 323 0090 0694                  str     r4, [sp, #24]
 563:Core/Src/main.c ****   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
 324                            .loc 1 563 3 is_stmt 1 view .LVU70
 325                            .loc 1 563 25 is_stmt 0 view .LVU71
 326 0092 0796                  str     r6, [sp, #28]
 564:Core/Src/main.c ****   HAL_GPIO_Init(USB_PULLUP_GPIO_Port, &GPIO_InitStruct);
 327                            .loc 1 564 3 is_stmt 1 view .LVU72
 328 0094 0DEB0301              add     r1, sp, r3
 329 0098 2846                  mov     r0, r5
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 17


 330 009a FFF7FEFF              bl      HAL_GPIO_Init
 331                    .LVL23:
 565:Core/Src/main.c **** 
 566:Core/Src/main.c **** }
 332                            .loc 1 566 1 is_stmt 0 view .LVU73
 333 009e 08B0                  add     sp, sp, #32
 334                    .LCFI11:
 335                            .cfi_def_cfa_offset 24
 336                            @ sp needed
 337 00a0 BDE8F081              pop     {r4, r5, r6, r7, r8, pc}
 338                    .L20:
 339                            .align  2
 340                    .L19:
 341 00a4 00100240              .word   1073876992
 342 00a8 000C0140              .word   1073810432
 343 00ac 00080140              .word   1073809408
 344                            .cfi_endproc
 345                    .LFE79:
 347                            .section        .text.MX_SPI1_Init,"ax",%progbits
 348                            .align  1
 349                            .syntax unified
 350                            .thumb
 351                            .thumb_func
 352                            .fpu softvfp
 354                    MX_SPI1_Init:
 355                    .LFB75:
 365:Core/Src/main.c **** 
 356                            .loc 1 365 1 is_stmt 1 view -0
 357                            .cfi_startproc
 358                            @ args = 0, pretend = 0, frame = 0
 359                            @ frame_needed = 0, uses_anonymous_args = 0
 360 0000 08B5                  push    {r3, lr}
 361                    .LCFI12:
 362                            .cfi_def_cfa_offset 8
 363                            .cfi_offset 3, -8
 364                            .cfi_offset 14, -4
 375:Core/Src/main.c ****   hspi1.Init.Mode = SPI_MODE_MASTER;
 365                            .loc 1 375 3 view .LVU75
 375:Core/Src/main.c ****   hspi1.Init.Mode = SPI_MODE_MASTER;
 366                            .loc 1 375 18 is_stmt 0 view .LVU76
 367 0002 0E48                  ldr     r0, .L23
 368 0004 0E4B                  ldr     r3, .L23+4
 369 0006 0360                  str     r3, [r0]
 376:Core/Src/main.c ****   hspi1.Init.Direction = SPI_DIRECTION_1LINE;
 370                            .loc 1 376 3 is_stmt 1 view .LVU77
 376:Core/Src/main.c ****   hspi1.Init.Direction = SPI_DIRECTION_1LINE;
 371                            .loc 1 376 19 is_stmt 0 view .LVU78
 372 0008 4FF48273              mov     r3, #260
 373 000c 4360                  str     r3, [r0, #4]
 377:Core/Src/main.c ****   hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
 374                            .loc 1 377 3 is_stmt 1 view .LVU79
 377:Core/Src/main.c ****   hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
 375                            .loc 1 377 24 is_stmt 0 view .LVU80
 376 000e 4FF40043              mov     r3, #32768
 377 0012 8360                  str     r3, [r0, #8]
 378:Core/Src/main.c ****   hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH;
 378                            .loc 1 378 3 is_stmt 1 view .LVU81
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 18


 378:Core/Src/main.c ****   hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH;
 379                            .loc 1 378 23 is_stmt 0 view .LVU82
 380 0014 0023                  movs    r3, #0
 381 0016 C360                  str     r3, [r0, #12]
 379:Core/Src/main.c ****   hspi1.Init.CLKPhase = SPI_PHASE_2EDGE;
 382                            .loc 1 379 3 is_stmt 1 view .LVU83
 379:Core/Src/main.c ****   hspi1.Init.CLKPhase = SPI_PHASE_2EDGE;
 383                            .loc 1 379 26 is_stmt 0 view .LVU84
 384 0018 0222                  movs    r2, #2
 385 001a 0261                  str     r2, [r0, #16]
 380:Core/Src/main.c ****   hspi1.Init.NSS = SPI_NSS_SOFT;
 386                            .loc 1 380 3 is_stmt 1 view .LVU85
 380:Core/Src/main.c ****   hspi1.Init.NSS = SPI_NSS_SOFT;
 387                            .loc 1 380 23 is_stmt 0 view .LVU86
 388 001c 0122                  movs    r2, #1
 389 001e 4261                  str     r2, [r0, #20]
 381:Core/Src/main.c ****   hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;
 390                            .loc 1 381 3 is_stmt 1 view .LVU87
 381:Core/Src/main.c ****   hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;
 391                            .loc 1 381 18 is_stmt 0 view .LVU88
 392 0020 4FF40072              mov     r2, #512
 393 0024 8261                  str     r2, [r0, #24]
 382:Core/Src/main.c ****   hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
 394                            .loc 1 382 3 is_stmt 1 view .LVU89
 382:Core/Src/main.c ****   hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
 395                            .loc 1 382 32 is_stmt 0 view .LVU90
 396 0026 1022                  movs    r2, #16
 397 0028 C261                  str     r2, [r0, #28]
 383:Core/Src/main.c ****   hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
 398                            .loc 1 383 3 is_stmt 1 view .LVU91
 383:Core/Src/main.c ****   hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
 399                            .loc 1 383 23 is_stmt 0 view .LVU92
 400 002a 0362                  str     r3, [r0, #32]
 384:Core/Src/main.c ****   hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
 401                            .loc 1 384 3 is_stmt 1 view .LVU93
 384:Core/Src/main.c ****   hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
 402                            .loc 1 384 21 is_stmt 0 view .LVU94
 403 002c 4362                  str     r3, [r0, #36]
 385:Core/Src/main.c ****   hspi1.Init.CRCPolynomial = 10;
 404                            .loc 1 385 3 is_stmt 1 view .LVU95
 385:Core/Src/main.c ****   hspi1.Init.CRCPolynomial = 10;
 405                            .loc 1 385 29 is_stmt 0 view .LVU96
 406 002e 8362                  str     r3, [r0, #40]
 386:Core/Src/main.c ****   if (HAL_SPI_Init(&hspi1) != HAL_OK)
 407                            .loc 1 386 3 is_stmt 1 view .LVU97
 386:Core/Src/main.c ****   if (HAL_SPI_Init(&hspi1) != HAL_OK)
 408                            .loc 1 386 28 is_stmt 0 view .LVU98
 409 0030 0A23                  movs    r3, #10
 410 0032 C362                  str     r3, [r0, #44]
 387:Core/Src/main.c ****   {
 411                            .loc 1 387 3 is_stmt 1 view .LVU99
 387:Core/Src/main.c ****   {
 412                            .loc 1 387 7 is_stmt 0 view .LVU100
 413 0034 FFF7FEFF              bl      HAL_SPI_Init
 414                    .LVL24:
 395:Core/Src/main.c **** 
 415                            .loc 1 395 1 view .LVU101
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 19


 416 0038 08BD                  pop     {r3, pc}
 417                    .L24:
 418 003a 00BF                  .align  2
 419                    .L23:
 420 003c 00000000              .word   hspi1
 421 0040 00300140              .word   1073819648
 422                            .cfi_endproc
 423                    .LFE75:
 425                            .section        .text.MX_TIM4_Init,"ax",%progbits
 426                            .align  1
 427                            .syntax unified
 428                            .thumb
 429                            .thumb_func
 430                            .fpu softvfp
 432                    MX_TIM4_Init:
 433                    .LFB77:
 455:Core/Src/main.c **** 
 434                            .loc 1 455 1 is_stmt 1 view -0
 435                            .cfi_startproc
 436                            @ args = 0, pretend = 0, frame = 48
 437                            @ frame_needed = 0, uses_anonymous_args = 0
 438 0000 30B5                  push    {r4, r5, lr}
 439                    .LCFI13:
 440                            .cfi_def_cfa_offset 12
 441                            .cfi_offset 4, -12
 442                            .cfi_offset 5, -8
 443                            .cfi_offset 14, -4
 444 0002 8DB0                  sub     sp, sp, #52
 445                    .LCFI14:
 446                            .cfi_def_cfa_offset 64
 461:Core/Src/main.c ****   TIM_MasterConfigTypeDef sMasterConfig = {0};
 447                            .loc 1 461 3 view .LVU103
 461:Core/Src/main.c ****   TIM_MasterConfigTypeDef sMasterConfig = {0};
 448                            .loc 1 461 27 is_stmt 0 view .LVU104
 449 0004 0024                  movs    r4, #0
 450 0006 0494                  str     r4, [sp, #16]
 451 0008 0694                  str     r4, [sp, #24]
 452 000a 0894                  str     r4, [sp, #32]
 453 000c 0A94                  str     r4, [sp, #40]
 462:Core/Src/main.c **** 
 454                            .loc 1 462 3 is_stmt 1 view .LVU105
 462:Core/Src/main.c **** 
 455                            .loc 1 462 27 is_stmt 0 view .LVU106
 456 000e 0194                  str     r4, [sp, #4]
 457 0010 0294                  str     r4, [sp, #8]
 467:Core/Src/main.c ****   htim4.Init.Prescaler = 0;
 458                            .loc 1 467 3 is_stmt 1 view .LVU107
 467:Core/Src/main.c ****   htim4.Init.Prescaler = 0;
 459                            .loc 1 467 18 is_stmt 0 view .LVU108
 460 0012 0F4D                  ldr     r5, .L27
 461 0014 0F4B                  ldr     r3, .L27+4
 462 0016 2B60                  str     r3, [r5]
 468:Core/Src/main.c ****   htim4.Init.CounterMode = TIM_COUNTERMODE_UP;
 463                            .loc 1 468 3 is_stmt 1 view .LVU109
 468:Core/Src/main.c ****   htim4.Init.CounterMode = TIM_COUNTERMODE_UP;
 464                            .loc 1 468 24 is_stmt 0 view .LVU110
 465 0018 6C60                  str     r4, [r5, #4]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 20


 469:Core/Src/main.c ****   htim4.Init.Period = 65535;
 466                            .loc 1 469 3 is_stmt 1 view .LVU111
 469:Core/Src/main.c ****   htim4.Init.Period = 65535;
 467                            .loc 1 469 26 is_stmt 0 view .LVU112
 468 001a AC60                  str     r4, [r5, #8]
 470:Core/Src/main.c ****   htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
 469                            .loc 1 470 3 is_stmt 1 view .LVU113
 470:Core/Src/main.c ****   htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
 470                            .loc 1 470 21 is_stmt 0 view .LVU114
 471 001c 4FF6FF73              movw    r3, #65535
 472 0020 EB60                  str     r3, [r5, #12]
 471:Core/Src/main.c ****   htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
 473                            .loc 1 471 3 is_stmt 1 view .LVU115
 471:Core/Src/main.c ****   htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
 474                            .loc 1 471 28 is_stmt 0 view .LVU116
 475 0022 2C61                  str     r4, [r5, #16]
 472:Core/Src/main.c ****   sConfig.EncoderMode = TIM_ENCODERMODE_TI12;
 476                            .loc 1 472 3 is_stmt 1 view .LVU117
 472:Core/Src/main.c ****   sConfig.EncoderMode = TIM_ENCODERMODE_TI12;
 477                            .loc 1 472 32 is_stmt 0 view .LVU118
 478 0024 AC61                  str     r4, [r5, #24]
 473:Core/Src/main.c ****   sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
 479                            .loc 1 473 3 is_stmt 1 view .LVU119
 473:Core/Src/main.c ****   sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
 480                            .loc 1 473 23 is_stmt 0 view .LVU120
 481 0026 0323                  movs    r3, #3
 482 0028 0393                  str     r3, [sp, #12]
 474:Core/Src/main.c ****   sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
 483                            .loc 1 474 3 is_stmt 1 view .LVU121
 475:Core/Src/main.c ****   sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
 484                            .loc 1 475 3 view .LVU122
 475:Core/Src/main.c ****   sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
 485                            .loc 1 475 24 is_stmt 0 view .LVU123
 486 002a 0122                  movs    r2, #1
 487 002c 0592                  str     r2, [sp, #20]
 476:Core/Src/main.c ****   sConfig.IC1Filter = 8;
 488                            .loc 1 476 3 is_stmt 1 view .LVU124
 477:Core/Src/main.c ****   sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;
 489                            .loc 1 477 3 view .LVU125
 477:Core/Src/main.c ****   sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;
 490                            .loc 1 477 21 is_stmt 0 view .LVU126
 491 002e 0823                  movs    r3, #8
 492 0030 0793                  str     r3, [sp, #28]
 478:Core/Src/main.c ****   sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;
 493                            .loc 1 478 3 is_stmt 1 view .LVU127
 479:Core/Src/main.c ****   sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
 494                            .loc 1 479 3 view .LVU128
 479:Core/Src/main.c ****   sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
 495                            .loc 1 479 24 is_stmt 0 view .LVU129
 496 0032 0992                  str     r2, [sp, #36]
 480:Core/Src/main.c ****   sConfig.IC2Filter = 8;
 497                            .loc 1 480 3 is_stmt 1 view .LVU130
 481:Core/Src/main.c ****   if (HAL_TIM_Encoder_Init(&htim4, &sConfig) != HAL_OK)
 498                            .loc 1 481 3 view .LVU131
 481:Core/Src/main.c ****   if (HAL_TIM_Encoder_Init(&htim4, &sConfig) != HAL_OK)
 499                            .loc 1 481 21 is_stmt 0 view .LVU132
 500 0034 0B93                  str     r3, [sp, #44]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 21


 482:Core/Src/main.c ****   {
 501                            .loc 1 482 3 is_stmt 1 view .LVU133
 482:Core/Src/main.c ****   {
 502                            .loc 1 482 7 is_stmt 0 view .LVU134
 503 0036 03A9                  add     r1, sp, #12
 504 0038 2846                  mov     r0, r5
 505 003a FFF7FEFF              bl      HAL_TIM_Encoder_Init
 506                    .LVL25:
 486:Core/Src/main.c ****   sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
 507                            .loc 1 486 3 is_stmt 1 view .LVU135
 486:Core/Src/main.c ****   sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
 508                            .loc 1 486 37 is_stmt 0 view .LVU136
 509 003e 0194                  str     r4, [sp, #4]
 487:Core/Src/main.c ****   if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK)
 510                            .loc 1 487 3 is_stmt 1 view .LVU137
 487:Core/Src/main.c ****   if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK)
 511                            .loc 1 487 33 is_stmt 0 view .LVU138
 512 0040 0294                  str     r4, [sp, #8]
 488:Core/Src/main.c ****   {
 513                            .loc 1 488 3 is_stmt 1 view .LVU139
 488:Core/Src/main.c ****   {
 514                            .loc 1 488 7 is_stmt 0 view .LVU140
 515 0042 01A9                  add     r1, sp, #4
 516 0044 2846                  mov     r0, r5
 517 0046 FFF7FEFF              bl      HAL_TIMEx_MasterConfigSynchronization
 518                    .LVL26:
 496:Core/Src/main.c **** 
 519                            .loc 1 496 1 view .LVU141
 520 004a 0DB0                  add     sp, sp, #52
 521                    .LCFI15:
 522                            .cfi_def_cfa_offset 12
 523                            @ sp needed
 524 004c 30BD                  pop     {r4, r5, pc}
 525                    .L28:
 526 004e 00BF                  .align  2
 527                    .L27:
 528 0050 00000000              .word   htim4
 529 0054 00080040              .word   1073743872
 530                            .cfi_endproc
 531                    .LFE77:
 533                            .section        .text.MX_USART1_UART_Init,"ax",%progbits
 534                            .align  1
 535                            .syntax unified
 536                            .thumb
 537                            .thumb_func
 538                            .fpu softvfp
 540                    MX_USART1_UART_Init:
 541                    .LFB78:
 504:Core/Src/main.c **** 
 542                            .loc 1 504 1 is_stmt 1 view -0
 543                            .cfi_startproc
 544                            @ args = 0, pretend = 0, frame = 0
 545                            @ frame_needed = 0, uses_anonymous_args = 0
 546 0000 08B5                  push    {r3, lr}
 547                    .LCFI16:
 548                            .cfi_def_cfa_offset 8
 549                            .cfi_offset 3, -8
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 22


 550                            .cfi_offset 14, -4
 513:Core/Src/main.c ****   huart1.Init.BaudRate = 115200;
 551                            .loc 1 513 3 view .LVU143
 513:Core/Src/main.c ****   huart1.Init.BaudRate = 115200;
 552                            .loc 1 513 19 is_stmt 0 view .LVU144
 553 0002 0848                  ldr     r0, .L31
 554 0004 084B                  ldr     r3, .L31+4
 555 0006 0360                  str     r3, [r0]
 514:Core/Src/main.c ****   huart1.Init.WordLength = UART_WORDLENGTH_8B;
 556                            .loc 1 514 3 is_stmt 1 view .LVU145
 514:Core/Src/main.c ****   huart1.Init.WordLength = UART_WORDLENGTH_8B;
 557                            .loc 1 514 24 is_stmt 0 view .LVU146
 558 0008 4FF4E133              mov     r3, #115200
 559 000c 4360                  str     r3, [r0, #4]
 515:Core/Src/main.c ****   huart1.Init.StopBits = UART_STOPBITS_1;
 560                            .loc 1 515 3 is_stmt 1 view .LVU147
 515:Core/Src/main.c ****   huart1.Init.StopBits = UART_STOPBITS_1;
 561                            .loc 1 515 26 is_stmt 0 view .LVU148
 562 000e 0023                  movs    r3, #0
 563 0010 8360                  str     r3, [r0, #8]
 516:Core/Src/main.c ****   huart1.Init.Parity = UART_PARITY_NONE;
 564                            .loc 1 516 3 is_stmt 1 view .LVU149
 516:Core/Src/main.c ****   huart1.Init.Parity = UART_PARITY_NONE;
 565                            .loc 1 516 24 is_stmt 0 view .LVU150
 566 0012 C360                  str     r3, [r0, #12]
 517:Core/Src/main.c ****   huart1.Init.Mode = UART_MODE_TX_RX;
 567                            .loc 1 517 3 is_stmt 1 view .LVU151
 517:Core/Src/main.c ****   huart1.Init.Mode = UART_MODE_TX_RX;
 568                            .loc 1 517 22 is_stmt 0 view .LVU152
 569 0014 0361                  str     r3, [r0, #16]
 518:Core/Src/main.c ****   huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
 570                            .loc 1 518 3 is_stmt 1 view .LVU153
 518:Core/Src/main.c ****   huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
 571                            .loc 1 518 20 is_stmt 0 view .LVU154
 572 0016 0C22                  movs    r2, #12
 573 0018 4261                  str     r2, [r0, #20]
 519:Core/Src/main.c ****   huart1.Init.OverSampling = UART_OVERSAMPLING_16;
 574                            .loc 1 519 3 is_stmt 1 view .LVU155
 519:Core/Src/main.c ****   huart1.Init.OverSampling = UART_OVERSAMPLING_16;
 575                            .loc 1 519 25 is_stmt 0 view .LVU156
 576 001a 8361                  str     r3, [r0, #24]
 520:Core/Src/main.c ****   if (HAL_UART_Init(&huart1) != HAL_OK)
 577                            .loc 1 520 3 is_stmt 1 view .LVU157
 520:Core/Src/main.c ****   if (HAL_UART_Init(&huart1) != HAL_OK)
 578                            .loc 1 520 28 is_stmt 0 view .LVU158
 579 001c C361                  str     r3, [r0, #28]
 521:Core/Src/main.c ****   {
 580                            .loc 1 521 3 is_stmt 1 view .LVU159
 521:Core/Src/main.c ****   {
 581                            .loc 1 521 7 is_stmt 0 view .LVU160
 582 001e FFF7FEFF              bl      HAL_UART_Init
 583                    .LVL27:
 529:Core/Src/main.c **** 
 584                            .loc 1 529 1 view .LVU161
 585 0022 08BD                  pop     {r3, pc}
 586                    .L32:
 587                            .align  2
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 23


 588                    .L31:
 589 0024 00000000              .word   huart1
 590 0028 00380140              .word   1073821696
 591                            .cfi_endproc
 592                    .LFE78:
 594                            .section        .text.MX_TIM3_Init,"ax",%progbits
 595                            .align  1
 596                            .syntax unified
 597                            .thumb
 598                            .thumb_func
 599                            .fpu softvfp
 601                    MX_TIM3_Init:
 602                    .LFB76:
 403:Core/Src/main.c **** 
 603                            .loc 1 403 1 is_stmt 1 view -0
 604                            .cfi_startproc
 605                            @ args = 0, pretend = 0, frame = 40
 606                            @ frame_needed = 0, uses_anonymous_args = 0
 607 0000 30B5                  push    {r4, r5, lr}
 608                    .LCFI17:
 609                            .cfi_def_cfa_offset 12
 610                            .cfi_offset 4, -12
 611                            .cfi_offset 5, -8
 612                            .cfi_offset 14, -4
 613 0002 8BB0                  sub     sp, sp, #44
 614                    .LCFI18:
 615                            .cfi_def_cfa_offset 56
 409:Core/Src/main.c ****   TIM_OC_InitTypeDef sConfigOC = {0};
 616                            .loc 1 409 3 view .LVU163
 409:Core/Src/main.c ****   TIM_OC_InitTypeDef sConfigOC = {0};
 617                            .loc 1 409 27 is_stmt 0 view .LVU164
 618 0004 0024                  movs    r4, #0
 619 0006 0894                  str     r4, [sp, #32]
 620 0008 0994                  str     r4, [sp, #36]
 410:Core/Src/main.c **** 
 621                            .loc 1 410 3 is_stmt 1 view .LVU165
 410:Core/Src/main.c **** 
 622                            .loc 1 410 22 is_stmt 0 view .LVU166
 623 000a 0194                  str     r4, [sp, #4]
 624 000c 0294                  str     r4, [sp, #8]
 625 000e 0394                  str     r4, [sp, #12]
 626 0010 0494                  str     r4, [sp, #16]
 627 0012 0594                  str     r4, [sp, #20]
 628 0014 0694                  str     r4, [sp, #24]
 629 0016 0794                  str     r4, [sp, #28]
 415:Core/Src/main.c ****   htim3.Init.Prescaler = 640;
 630                            .loc 1 415 3 is_stmt 1 view .LVU167
 415:Core/Src/main.c ****   htim3.Init.Prescaler = 640;
 631                            .loc 1 415 18 is_stmt 0 view .LVU168
 632 0018 134D                  ldr     r5, .L35
 633 001a 144B                  ldr     r3, .L35+4
 634 001c 2B60                  str     r3, [r5]
 416:Core/Src/main.c ****   htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
 635                            .loc 1 416 3 is_stmt 1 view .LVU169
 416:Core/Src/main.c ****   htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
 636                            .loc 1 416 24 is_stmt 0 view .LVU170
 637 001e 4FF42073              mov     r3, #640
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 24


 638 0022 6B60                  str     r3, [r5, #4]
 417:Core/Src/main.c ****   htim3.Init.Period = 10000;
 639                            .loc 1 417 3 is_stmt 1 view .LVU171
 417:Core/Src/main.c ****   htim3.Init.Period = 10000;
 640                            .loc 1 417 26 is_stmt 0 view .LVU172
 641 0024 AC60                  str     r4, [r5, #8]
 418:Core/Src/main.c ****   htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
 642                            .loc 1 418 3 is_stmt 1 view .LVU173
 418:Core/Src/main.c ****   htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
 643                            .loc 1 418 21 is_stmt 0 view .LVU174
 644 0026 42F21073              movw    r3, #10000
 645 002a EB60                  str     r3, [r5, #12]
 419:Core/Src/main.c ****   htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
 646                            .loc 1 419 3 is_stmt 1 view .LVU175
 419:Core/Src/main.c ****   htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
 647                            .loc 1 419 28 is_stmt 0 view .LVU176
 648 002c 2C61                  str     r4, [r5, #16]
 420:Core/Src/main.c ****   if (HAL_TIM_OC_Init(&htim3) != HAL_OK)
 649                            .loc 1 420 3 is_stmt 1 view .LVU177
 420:Core/Src/main.c ****   if (HAL_TIM_OC_Init(&htim3) != HAL_OK)
 650                            .loc 1 420 32 is_stmt 0 view .LVU178
 651 002e AC61                  str     r4, [r5, #24]
 421:Core/Src/main.c ****   {
 652                            .loc 1 421 3 is_stmt 1 view .LVU179
 421:Core/Src/main.c ****   {
 653                            .loc 1 421 7 is_stmt 0 view .LVU180
 654 0030 2846                  mov     r0, r5
 655 0032 FFF7FEFF              bl      HAL_TIM_OC_Init
 656                    .LVL28:
 425:Core/Src/main.c ****   {
 657                            .loc 1 425 3 is_stmt 1 view .LVU181
 425:Core/Src/main.c ****   {
 658                            .loc 1 425 7 is_stmt 0 view .LVU182
 659 0036 0821                  movs    r1, #8
 660 0038 2846                  mov     r0, r5
 661 003a FFF7FEFF              bl      HAL_TIM_OnePulse_Init
 662                    .LVL29:
 429:Core/Src/main.c ****   sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
 663                            .loc 1 429 3 is_stmt 1 view .LVU183
 429:Core/Src/main.c ****   sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
 664                            .loc 1 429 37 is_stmt 0 view .LVU184
 665 003e 1023                  movs    r3, #16
 666 0040 0893                  str     r3, [sp, #32]
 430:Core/Src/main.c ****   if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)
 667                            .loc 1 430 3 is_stmt 1 view .LVU185
 430:Core/Src/main.c ****   if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)
 668                            .loc 1 430 33 is_stmt 0 view .LVU186
 669 0042 0994                  str     r4, [sp, #36]
 431:Core/Src/main.c ****   {
 670                            .loc 1 431 3 is_stmt 1 view .LVU187
 431:Core/Src/main.c ****   {
 671                            .loc 1 431 7 is_stmt 0 view .LVU188
 672 0044 08A9                  add     r1, sp, #32
 673 0046 2846                  mov     r0, r5
 674 0048 FFF7FEFF              bl      HAL_TIMEx_MasterConfigSynchronization
 675                    .LVL30:
 435:Core/Src/main.c ****   sConfigOC.Pulse = 9999;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 25


 676                            .loc 1 435 3 is_stmt 1 view .LVU189
 435:Core/Src/main.c ****   sConfigOC.Pulse = 9999;
 677                            .loc 1 435 20 is_stmt 0 view .LVU190
 678 004c 0194                  str     r4, [sp, #4]
 436:Core/Src/main.c ****   sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
 679                            .loc 1 436 3 is_stmt 1 view .LVU191
 436:Core/Src/main.c ****   sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
 680                            .loc 1 436 19 is_stmt 0 view .LVU192
 681 004e 42F20F73              movw    r3, #9999
 682 0052 0293                  str     r3, [sp, #8]
 437:Core/Src/main.c ****   sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
 683                            .loc 1 437 3 is_stmt 1 view .LVU193
 437:Core/Src/main.c ****   sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
 684                            .loc 1 437 24 is_stmt 0 view .LVU194
 685 0054 0394                  str     r4, [sp, #12]
 438:Core/Src/main.c ****   if (HAL_TIM_OC_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
 686                            .loc 1 438 3 is_stmt 1 view .LVU195
 438:Core/Src/main.c ****   if (HAL_TIM_OC_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
 687                            .loc 1 438 24 is_stmt 0 view .LVU196
 688 0056 0594                  str     r4, [sp, #20]
 439:Core/Src/main.c ****   {
 689                            .loc 1 439 3 is_stmt 1 view .LVU197
 439:Core/Src/main.c ****   {
 690                            .loc 1 439 7 is_stmt 0 view .LVU198
 691 0058 2246                  mov     r2, r4
 692 005a 01A9                  add     r1, sp, #4
 693 005c 2846                  mov     r0, r5
 694 005e FFF7FEFF              bl      HAL_TIM_OC_ConfigChannel
 695                    .LVL31:
 447:Core/Src/main.c **** 
 696                            .loc 1 447 1 view .LVU199
 697 0062 0BB0                  add     sp, sp, #44
 698                    .LCFI19:
 699                            .cfi_def_cfa_offset 12
 700                            @ sp needed
 701 0064 30BD                  pop     {r4, r5, pc}
 702                    .L36:
 703 0066 00BF                  .align  2
 704                    .L35:
 705 0068 00000000              .word   htim3
 706 006c 00040040              .word   1073742848
 707                            .cfi_endproc
 708                    .LFE76:
 710                            .section        .text.MX_I2C2_Init,"ax",%progbits
 711                            .align  1
 712                            .syntax unified
 713                            .thumb
 714                            .thumb_func
 715                            .fpu softvfp
 717                    MX_I2C2_Init:
 718                    .LFB73:
 274:Core/Src/main.c **** 
 719                            .loc 1 274 1 is_stmt 1 view -0
 720                            .cfi_startproc
 721                            @ args = 0, pretend = 0, frame = 0
 722                            @ frame_needed = 0, uses_anonymous_args = 0
 723 0000 08B5                  push    {r3, lr}
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 26


 724                    .LCFI20:
 725                            .cfi_def_cfa_offset 8
 726                            .cfi_offset 3, -8
 727                            .cfi_offset 14, -4
 283:Core/Src/main.c ****   hi2c2.Init.ClockSpeed = 100000;
 728                            .loc 1 283 3 view .LVU201
 283:Core/Src/main.c ****   hi2c2.Init.ClockSpeed = 100000;
 729                            .loc 1 283 18 is_stmt 0 view .LVU202
 730 0002 0948                  ldr     r0, .L39
 731 0004 094B                  ldr     r3, .L39+4
 732 0006 0360                  str     r3, [r0]
 284:Core/Src/main.c ****   hi2c2.Init.DutyCycle = I2C_DUTYCYCLE_2;
 733                            .loc 1 284 3 is_stmt 1 view .LVU203
 284:Core/Src/main.c ****   hi2c2.Init.DutyCycle = I2C_DUTYCYCLE_2;
 734                            .loc 1 284 25 is_stmt 0 view .LVU204
 735 0008 094B                  ldr     r3, .L39+8
 736 000a 4360                  str     r3, [r0, #4]
 285:Core/Src/main.c ****   hi2c2.Init.OwnAddress1 = 0;
 737                            .loc 1 285 3 is_stmt 1 view .LVU205
 285:Core/Src/main.c ****   hi2c2.Init.OwnAddress1 = 0;
 738                            .loc 1 285 24 is_stmt 0 view .LVU206
 739 000c 0023                  movs    r3, #0
 740 000e 8360                  str     r3, [r0, #8]
 286:Core/Src/main.c ****   hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
 741                            .loc 1 286 3 is_stmt 1 view .LVU207
 286:Core/Src/main.c ****   hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
 742                            .loc 1 286 26 is_stmt 0 view .LVU208
 743 0010 C360                  str     r3, [r0, #12]
 287:Core/Src/main.c ****   hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
 744                            .loc 1 287 3 is_stmt 1 view .LVU209
 287:Core/Src/main.c ****   hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
 745                            .loc 1 287 29 is_stmt 0 view .LVU210
 746 0012 4FF48042              mov     r2, #16384
 747 0016 0261                  str     r2, [r0, #16]
 288:Core/Src/main.c ****   hi2c2.Init.OwnAddress2 = 0;
 748                            .loc 1 288 3 is_stmt 1 view .LVU211
 288:Core/Src/main.c ****   hi2c2.Init.OwnAddress2 = 0;
 749                            .loc 1 288 30 is_stmt 0 view .LVU212
 750 0018 4361                  str     r3, [r0, #20]
 289:Core/Src/main.c ****   hi2c2.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
 751                            .loc 1 289 3 is_stmt 1 view .LVU213
 289:Core/Src/main.c ****   hi2c2.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
 752                            .loc 1 289 26 is_stmt 0 view .LVU214
 753 001a 8361                  str     r3, [r0, #24]
 290:Core/Src/main.c ****   hi2c2.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
 754                            .loc 1 290 3 is_stmt 1 view .LVU215
 290:Core/Src/main.c ****   hi2c2.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
 755                            .loc 1 290 30 is_stmt 0 view .LVU216
 756 001c C361                  str     r3, [r0, #28]
 291:Core/Src/main.c ****   if (HAL_I2C_Init(&hi2c2) != HAL_OK)
 757                            .loc 1 291 3 is_stmt 1 view .LVU217
 291:Core/Src/main.c ****   if (HAL_I2C_Init(&hi2c2) != HAL_OK)
 758                            .loc 1 291 28 is_stmt 0 view .LVU218
 759 001e 0362                  str     r3, [r0, #32]
 292:Core/Src/main.c ****   {
 760                            .loc 1 292 3 is_stmt 1 view .LVU219
 292:Core/Src/main.c ****   {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 27


 761                            .loc 1 292 7 is_stmt 0 view .LVU220
 762 0020 FFF7FEFF              bl      HAL_I2C_Init
 763                    .LVL32:
 300:Core/Src/main.c **** 
 764                            .loc 1 300 1 view .LVU221
 765 0024 08BD                  pop     {r3, pc}
 766                    .L40:
 767 0026 00BF                  .align  2
 768                    .L39:
 769 0028 00000000              .word   hi2c2
 770 002c 00580040              .word   1073764352
 771 0030 A0860100              .word   100000
 772                            .cfi_endproc
 773                    .LFE73:
 775                            .section        .text.MX_RTC_Init,"ax",%progbits
 776                            .align  1
 777                            .syntax unified
 778                            .thumb
 779                            .thumb_func
 780                            .fpu softvfp
 782                    MX_RTC_Init:
 783                    .LFB74:
 308:Core/Src/main.c **** 
 784                            .loc 1 308 1 is_stmt 1 view -0
 785                            .cfi_startproc
 786                            @ args = 0, pretend = 0, frame = 8
 787                            @ frame_needed = 0, uses_anonymous_args = 0
 788 0000 30B5                  push    {r4, r5, lr}
 789                    .LCFI21:
 790                            .cfi_def_cfa_offset 12
 791                            .cfi_offset 4, -12
 792                            .cfi_offset 5, -8
 793                            .cfi_offset 14, -4
 794 0002 83B0                  sub     sp, sp, #12
 795                    .LCFI22:
 796                            .cfi_def_cfa_offset 24
 314:Core/Src/main.c ****   RTC_DateTypeDef DateToUpdate = {0};
 797                            .loc 1 314 3 view .LVU223
 314:Core/Src/main.c ****   RTC_DateTypeDef DateToUpdate = {0};
 798                            .loc 1 314 19 is_stmt 0 view .LVU224
 799 0004 0024                  movs    r4, #0
 800 0006 ADF80440              strh    r4, [sp, #4]    @ movhi
 801 000a 8DF80640              strb    r4, [sp, #6]
 315:Core/Src/main.c **** 
 802                            .loc 1 315 3 is_stmt 1 view .LVU225
 315:Core/Src/main.c **** 
 803                            .loc 1 315 19 is_stmt 0 view .LVU226
 804 000e 0094                  str     r4, [sp]
 322:Core/Src/main.c ****   hrtc.Init.AsynchPrediv = RTC_AUTO_1_SECOND;
 805                            .loc 1 322 3 is_stmt 1 view .LVU227
 322:Core/Src/main.c ****   hrtc.Init.AsynchPrediv = RTC_AUTO_1_SECOND;
 806                            .loc 1 322 17 is_stmt 0 view .LVU228
 807 0010 124D                  ldr     r5, .L43
 808 0012 134B                  ldr     r3, .L43+4
 809 0014 2B60                  str     r3, [r5]
 323:Core/Src/main.c ****   hrtc.Init.OutPut = RTC_OUTPUTSOURCE_ALARM;
 810                            .loc 1 323 3 is_stmt 1 view .LVU229
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 28


 323:Core/Src/main.c ****   hrtc.Init.OutPut = RTC_OUTPUTSOURCE_ALARM;
 811                            .loc 1 323 26 is_stmt 0 view .LVU230
 812 0016 4FF0FF33              mov     r3, #-1
 813 001a 6B60                  str     r3, [r5, #4]
 324:Core/Src/main.c ****   if (HAL_RTC_Init(&hrtc) != HAL_OK)
 814                            .loc 1 324 3 is_stmt 1 view .LVU231
 324:Core/Src/main.c ****   if (HAL_RTC_Init(&hrtc) != HAL_OK)
 815                            .loc 1 324 20 is_stmt 0 view .LVU232
 816 001c 4FF48073              mov     r3, #256
 817 0020 AB60                  str     r3, [r5, #8]
 325:Core/Src/main.c ****   {
 818                            .loc 1 325 3 is_stmt 1 view .LVU233
 325:Core/Src/main.c ****   {
 819                            .loc 1 325 7 is_stmt 0 view .LVU234
 820 0022 2846                  mov     r0, r5
 821 0024 FFF7FEFF              bl      HAL_RTC_Init
 822                    .LVL33:
 336:Core/Src/main.c ****   sTime.Minutes = 0x0;
 823                            .loc 1 336 3 is_stmt 1 view .LVU235
 336:Core/Src/main.c ****   sTime.Minutes = 0x0;
 824                            .loc 1 336 15 is_stmt 0 view .LVU236
 825 0028 8DF80440              strb    r4, [sp, #4]
 337:Core/Src/main.c ****   sTime.Seconds = 0x0;
 826                            .loc 1 337 3 is_stmt 1 view .LVU237
 337:Core/Src/main.c ****   sTime.Seconds = 0x0;
 827                            .loc 1 337 17 is_stmt 0 view .LVU238
 828 002c 8DF80540              strb    r4, [sp, #5]
 338:Core/Src/main.c **** 
 829                            .loc 1 338 3 is_stmt 1 view .LVU239
 338:Core/Src/main.c **** 
 830                            .loc 1 338 17 is_stmt 0 view .LVU240
 831 0030 8DF80640              strb    r4, [sp, #6]
 340:Core/Src/main.c ****   {
 832                            .loc 1 340 3 is_stmt 1 view .LVU241
 340:Core/Src/main.c ****   {
 833                            .loc 1 340 7 is_stmt 0 view .LVU242
 834 0034 0122                  movs    r2, #1
 835 0036 01A9                  add     r1, sp, #4
 836 0038 2846                  mov     r0, r5
 837 003a FFF7FEFF              bl      HAL_RTC_SetTime
 838                    .LVL34:
 344:Core/Src/main.c ****   DateToUpdate.Month = RTC_MONTH_JANUARY;
 839                            .loc 1 344 3 is_stmt 1 view .LVU243
 344:Core/Src/main.c ****   DateToUpdate.Month = RTC_MONTH_JANUARY;
 840                            .loc 1 344 24 is_stmt 0 view .LVU244
 841 003e 0122                  movs    r2, #1
 842 0040 8DF80020              strb    r2, [sp]
 345:Core/Src/main.c ****   DateToUpdate.Date = 0x1;
 843                            .loc 1 345 3 is_stmt 1 view .LVU245
 345:Core/Src/main.c ****   DateToUpdate.Date = 0x1;
 844                            .loc 1 345 22 is_stmt 0 view .LVU246
 845 0044 8DF80120              strb    r2, [sp, #1]
 346:Core/Src/main.c ****   DateToUpdate.Year = 0x0;
 846                            .loc 1 346 3 is_stmt 1 view .LVU247
 346:Core/Src/main.c ****   DateToUpdate.Year = 0x0;
 847                            .loc 1 346 21 is_stmt 0 view .LVU248
 848 0048 8DF80220              strb    r2, [sp, #2]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 29


 347:Core/Src/main.c **** 
 849                            .loc 1 347 3 is_stmt 1 view .LVU249
 347:Core/Src/main.c **** 
 850                            .loc 1 347 21 is_stmt 0 view .LVU250
 851 004c 8DF80340              strb    r4, [sp, #3]
 349:Core/Src/main.c ****   {
 852                            .loc 1 349 3 is_stmt 1 view .LVU251
 349:Core/Src/main.c ****   {
 853                            .loc 1 349 7 is_stmt 0 view .LVU252
 854 0050 6946                  mov     r1, sp
 855 0052 2846                  mov     r0, r5
 856 0054 FFF7FEFF              bl      HAL_RTC_SetDate
 857                    .LVL35:
 357:Core/Src/main.c **** 
 858                            .loc 1 357 1 view .LVU253
 859 0058 03B0                  add     sp, sp, #12
 860                    .LCFI23:
 861                            .cfi_def_cfa_offset 12
 862                            @ sp needed
 863 005a 30BD                  pop     {r4, r5, pc}
 864                    .L44:
 865                            .align  2
 866                    .L43:
 867 005c 00000000              .word   hrtc
 868 0060 00280040              .word   1073752064
 869                            .cfi_endproc
 870                    .LFE74:
 872                            .section        .text.SystemClock_Config,"ax",%progbits
 873                            .align  1
 874                            .global SystemClock_Config
 875                            .syntax unified
 876                            .thumb
 877                            .thumb_func
 878                            .fpu softvfp
 880                    SystemClock_Config:
 881                    .LFB72:
 226:Core/Src/main.c ****   RCC_OscInitTypeDef RCC_OscInitStruct = {0};
 882                            .loc 1 226 1 is_stmt 1 view -0
 883                            .cfi_startproc
 884                            @ args = 0, pretend = 0, frame = 80
 885                            @ frame_needed = 0, uses_anonymous_args = 0
 886 0000 30B5                  push    {r4, r5, lr}
 887                    .LCFI24:
 888                            .cfi_def_cfa_offset 12
 889                            .cfi_offset 4, -12
 890                            .cfi_offset 5, -8
 891                            .cfi_offset 14, -4
 892 0002 95B0                  sub     sp, sp, #84
 893                    .LCFI25:
 894                            .cfi_def_cfa_offset 96
 227:Core/Src/main.c ****   RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
 895                            .loc 1 227 3 view .LVU255
 227:Core/Src/main.c ****   RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
 896                            .loc 1 227 22 is_stmt 0 view .LVU256
 897 0004 0024                  movs    r4, #0
 898 0006 0C94                  str     r4, [sp, #48]
 899 0008 0F94                  str     r4, [sp, #60]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 30


 900 000a 1094                  str     r4, [sp, #64]
 228:Core/Src/main.c ****   RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
 901                            .loc 1 228 3 is_stmt 1 view .LVU257
 228:Core/Src/main.c ****   RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
 902                            .loc 1 228 22 is_stmt 0 view .LVU258
 903 000c 0594                  str     r4, [sp, #20]
 904 000e 0694                  str     r4, [sp, #24]
 905 0010 0794                  str     r4, [sp, #28]
 906 0012 0894                  str     r4, [sp, #32]
 907 0014 0994                  str     r4, [sp, #36]
 229:Core/Src/main.c **** 
 908                            .loc 1 229 3 is_stmt 1 view .LVU259
 229:Core/Src/main.c **** 
 909                            .loc 1 229 28 is_stmt 0 view .LVU260
 910 0016 0194                  str     r4, [sp, #4]
 911 0018 0294                  str     r4, [sp, #8]
 912 001a 0394                  str     r4, [sp, #12]
 913 001c 0494                  str     r4, [sp, #16]
 234:Core/Src/main.c ****   RCC_OscInitStruct.HSEState = RCC_HSE_ON;
 914                            .loc 1 234 3 is_stmt 1 view .LVU261
 234:Core/Src/main.c ****   RCC_OscInitStruct.HSEState = RCC_HSE_ON;
 915                            .loc 1 234 36 is_stmt 0 view .LVU262
 916 001e 0523                  movs    r3, #5
 917 0020 0A93                  str     r3, [sp, #40]
 235:Core/Src/main.c ****   RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
 918                            .loc 1 235 3 is_stmt 1 view .LVU263
 235:Core/Src/main.c ****   RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
 919                            .loc 1 235 30 is_stmt 0 view .LVU264
 920 0022 4FF48033              mov     r3, #65536
 921 0026 0B93                  str     r3, [sp, #44]
 236:Core/Src/main.c ****   RCC_OscInitStruct.LSEState = RCC_LSE_ON;
 922                            .loc 1 236 3 is_stmt 1 view .LVU265
 237:Core/Src/main.c ****   RCC_OscInitStruct.HSIState = RCC_HSI_ON;
 923                            .loc 1 237 3 view .LVU266
 237:Core/Src/main.c ****   RCC_OscInitStruct.HSIState = RCC_HSI_ON;
 924                            .loc 1 237 30 is_stmt 0 view .LVU267
 925 0028 0122                  movs    r2, #1
 926 002a 0D92                  str     r2, [sp, #52]
 238:Core/Src/main.c ****   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
 927                            .loc 1 238 3 is_stmt 1 view .LVU268
 238:Core/Src/main.c ****   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
 928                            .loc 1 238 30 is_stmt 0 view .LVU269
 929 002c 0E92                  str     r2, [sp, #56]
 239:Core/Src/main.c ****   RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
 930                            .loc 1 239 3 is_stmt 1 view .LVU270
 239:Core/Src/main.c ****   RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
 931                            .loc 1 239 34 is_stmt 0 view .LVU271
 932 002e 0225                  movs    r5, #2
 933 0030 1195                  str     r5, [sp, #68]
 240:Core/Src/main.c ****   RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
 934                            .loc 1 240 3 is_stmt 1 view .LVU272
 240:Core/Src/main.c ****   RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
 935                            .loc 1 240 35 is_stmt 0 view .LVU273
 936 0032 1293                  str     r3, [sp, #72]
 241:Core/Src/main.c ****   if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
 937                            .loc 1 241 3 is_stmt 1 view .LVU274
 241:Core/Src/main.c ****   if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 31


 938                            .loc 1 241 32 is_stmt 0 view .LVU275
 939 0034 4FF4E013              mov     r3, #1835008
 940 0038 1393                  str     r3, [sp, #76]
 242:Core/Src/main.c ****   {
 941                            .loc 1 242 3 is_stmt 1 view .LVU276
 242:Core/Src/main.c ****   {
 942                            .loc 1 242 7 is_stmt 0 view .LVU277
 943 003a 0AA8                  add     r0, sp, #40
 944 003c FFF7FEFF              bl      HAL_RCC_OscConfig
 945                    .LVL36:
 248:Core/Src/main.c ****                               |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
 946                            .loc 1 248 3 is_stmt 1 view .LVU278
 248:Core/Src/main.c ****                               |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
 947                            .loc 1 248 31 is_stmt 0 view .LVU279
 948 0040 0F23                  movs    r3, #15
 949 0042 0593                  str     r3, [sp, #20]
 250:Core/Src/main.c ****   RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
 950                            .loc 1 250 3 is_stmt 1 view .LVU280
 250:Core/Src/main.c ****   RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
 951                            .loc 1 250 34 is_stmt 0 view .LVU281
 952 0044 0695                  str     r5, [sp, #24]
 251:Core/Src/main.c ****   RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
 953                            .loc 1 251 3 is_stmt 1 view .LVU282
 251:Core/Src/main.c ****   RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
 954                            .loc 1 251 35 is_stmt 0 view .LVU283
 955 0046 0794                  str     r4, [sp, #28]
 252:Core/Src/main.c ****   RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
 956                            .loc 1 252 3 is_stmt 1 view .LVU284
 252:Core/Src/main.c ****   RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
 957                            .loc 1 252 36 is_stmt 0 view .LVU285
 958 0048 4FF48063              mov     r3, #1024
 959 004c 0893                  str     r3, [sp, #32]
 253:Core/Src/main.c **** 
 960                            .loc 1 253 3 is_stmt 1 view .LVU286
 253:Core/Src/main.c **** 
 961                            .loc 1 253 36 is_stmt 0 view .LVU287
 962 004e 0994                  str     r4, [sp, #36]
 255:Core/Src/main.c ****   {
 963                            .loc 1 255 3 is_stmt 1 view .LVU288
 255:Core/Src/main.c ****   {
 964                            .loc 1 255 7 is_stmt 0 view .LVU289
 965 0050 2946                  mov     r1, r5
 966 0052 05A8                  add     r0, sp, #20
 967 0054 FFF7FEFF              bl      HAL_RCC_ClockConfig
 968                    .LVL37:
 259:Core/Src/main.c ****   PeriphClkInit.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
 969                            .loc 1 259 3 is_stmt 1 view .LVU290
 259:Core/Src/main.c ****   PeriphClkInit.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
 970                            .loc 1 259 38 is_stmt 0 view .LVU291
 971 0058 1123                  movs    r3, #17
 972 005a 0193                  str     r3, [sp, #4]
 260:Core/Src/main.c ****   PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_PLL_DIV1_5;
 973                            .loc 1 260 3 is_stmt 1 view .LVU292
 260:Core/Src/main.c ****   PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_PLL_DIV1_5;
 974                            .loc 1 260 35 is_stmt 0 view .LVU293
 975 005c 4FF48073              mov     r3, #256
 976 0060 0293                  str     r3, [sp, #8]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 32


 261:Core/Src/main.c ****   if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
 977                            .loc 1 261 3 is_stmt 1 view .LVU294
 261:Core/Src/main.c ****   if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
 978                            .loc 1 261 35 is_stmt 0 view .LVU295
 979 0062 0494                  str     r4, [sp, #16]
 262:Core/Src/main.c ****   {
 980                            .loc 1 262 3 is_stmt 1 view .LVU296
 262:Core/Src/main.c ****   {
 981                            .loc 1 262 7 is_stmt 0 view .LVU297
 982 0064 01A8                  add     r0, sp, #4
 983 0066 FFF7FEFF              bl      HAL_RCCEx_PeriphCLKConfig
 984                    .LVL38:
 266:Core/Src/main.c **** 
 985                            .loc 1 266 1 view .LVU298
 986 006a 15B0                  add     sp, sp, #84
 987                    .LCFI26:
 988                            .cfi_def_cfa_offset 12
 989                            @ sp needed
 990 006c 30BD                  pop     {r4, r5, pc}
 991                            .cfi_endproc
 992                    .LFE72:
 994                            .section        .text.main,"ax",%progbits
 995                            .align  1
 996                            .global main
 997                            .syntax unified
 998                            .thumb
 999                            .thumb_func
 1000                           .fpu softvfp
 1002                   main:
 1003                   .LFB71:
 128:Core/Src/main.c ****   /* USER CODE BEGIN 1 */
 1004                           .loc 1 128 1 is_stmt 1 view -0
 1005                           .cfi_startproc
 1006                           @ Volatile: function does not return.
 1007                           @ args = 0, pretend = 0, frame = 0
 1008                           @ frame_needed = 0, uses_anonymous_args = 0
 1009 0000 80B5                 push    {r7, lr}
 1010                   .LCFI27:
 1011                           .cfi_def_cfa_offset 8
 1012                           .cfi_offset 7, -8
 1013                           .cfi_offset 14, -4
 136:Core/Src/main.c **** 
 1014                           .loc 1 136 3 view .LVU300
 1015 0002 FFF7FEFF             bl      HAL_Init
 1016                   .LVL39:
 143:Core/Src/main.c **** 
 1017                           .loc 1 143 3 view .LVU301
 1018 0006 FFF7FEFF             bl      SystemClock_Config
 1019                   .LVL40:
 150:Core/Src/main.c ****   MX_SPI1_Init();
 1020                           .loc 1 150 3 view .LVU302
 1021 000a FFF7FEFF             bl      MX_GPIO_Init
 1022                   .LVL41:
 151:Core/Src/main.c ****   MX_TIM4_Init();
 1023                           .loc 1 151 3 view .LVU303
 1024 000e FFF7FEFF             bl      MX_SPI1_Init
 1025                   .LVL42:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 33


 152:Core/Src/main.c ****   MX_USART1_UART_Init();
 1026                           .loc 1 152 3 view .LVU304
 1027 0012 FFF7FEFF             bl      MX_TIM4_Init
 1028                   .LVL43:
 153:Core/Src/main.c ****   MX_TIM3_Init();
 1029                           .loc 1 153 3 view .LVU305
 1030 0016 FFF7FEFF             bl      MX_USART1_UART_Init
 1031                   .LVL44:
 154:Core/Src/main.c ****   MX_I2C2_Init();
 1032                           .loc 1 154 3 view .LVU306
 1033 001a FFF7FEFF             bl      MX_TIM3_Init
 1034                   .LVL45:
 155:Core/Src/main.c ****   MX_RTC_Init();
 1035                           .loc 1 155 3 view .LVU307
 1036 001e FFF7FEFF             bl      MX_I2C2_Init
 1037                   .LVL46:
 156:Core/Src/main.c ****   MX_USB_DEVICE_Init();
 1038                           .loc 1 156 3 view .LVU308
 1039 0022 FFF7FEFF             bl      MX_RTC_Init
 1040                   .LVL47:
 157:Core/Src/main.c ****   /* USER CODE BEGIN 2 */
 1041                           .loc 1 157 3 view .LVU309
 1042 0026 FFF7FEFF             bl      MX_USB_DEVICE_Init
 1043                   .LVL48:
 160:Core/Src/main.c ****   HAL_Delay (1000);
 1044                           .loc 1 160 3 view .LVU310
 1045 002a 1E4C                 ldr     r4, .L50
 1046 002c 0022                 movs    r2, #0
 1047 002e 1021                 movs    r1, #16
 1048 0030 2046                 mov     r0, r4
 1049 0032 FFF7FEFF             bl      HAL_GPIO_WritePin
 1050                   .LVL49:
 161:Core/Src/main.c ****   HAL_GPIO_WritePin ( USB_PULLUP_GPIO_Port, USB_PULLUP_Pin, GPIO_PIN_SET);
 1051                           .loc 1 161 3 view .LVU311
 1052 0036 4FF47A70             mov     r0, #1000
 1053 003a FFF7FEFF             bl      HAL_Delay
 1054                   .LVL50:
 162:Core/Src/main.c **** 
 1055                           .loc 1 162 3 view .LVU312
 1056 003e 0122                 movs    r2, #1
 1057 0040 1021                 movs    r1, #16
 1058 0042 2046                 mov     r0, r4
 1059 0044 FFF7FEFF             bl      HAL_GPIO_WritePin
 1060                   .LVL51:
 165:Core/Src/main.c **** 
 1061                           .loc 1 165 3 view .LVU313
 1062 0048 174C                 ldr     r4, .L50+4
 1063 004a 1849                 ldr     r1, .L50+8
 1064 004c 2046                 mov     r0, r4
 1065 004e FFF7FEFF             bl      init_usart_ctl
 1066                   .LVL52:
 167:Core/Src/main.c **** 
 1067                           .loc 1 167 3 view .LVU314
 1068 0052 2046                 mov     r0, r4
 1069 0054 FFF7FEFF             bl      EnableSerialRxInterrupt
 1070                   .LVL53:
 171:Core/Src/main.c **** //  print_rslt(" bmp280_init status", rslt);
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 34


 1071                           .loc 1 171 3 view .LVU315
 171:Core/Src/main.c **** //  print_rslt(" bmp280_init status", rslt);
 1072                           .loc 1 171 10 is_stmt 0 view .LVU316
 1073 0058 154E                 ldr     r6, .L50+12
 1074 005a 3046                 mov     r0, r6
 1075 005c FFF7FEFF             bl      bmp280_init
 1076                   .LVL54:
 171:Core/Src/main.c **** //  print_rslt(" bmp280_init status", rslt);
 1077                           .loc 1 171 8 view .LVU317
 1078 0060 144D                 ldr     r5, .L50+16
 1079 0062 2870                 strb    r0, [r5]
 177:Core/Src/main.c ****  // print_rslt(" bmp280_get_config status", rslt);
 1080                           .loc 1 177 3 is_stmt 1 view .LVU318
 177:Core/Src/main.c ****  // print_rslt(" bmp280_get_config status", rslt);
 1081                           .loc 1 177 10 is_stmt 0 view .LVU319
 1082 0064 144C                 ldr     r4, .L50+20
 1083 0066 3146                 mov     r1, r6
 1084 0068 2046                 mov     r0, r4
 1085 006a FFF7FEFF             bl      bmp280_get_config
 1086                   .LVL55:
 177:Core/Src/main.c ****  // print_rslt(" bmp280_get_config status", rslt);
 1087                           .loc 1 177 8 view .LVU320
 1088 006e 2870                 strb    r0, [r5]
 182:Core/Src/main.c **** 
 1089                           .loc 1 182 3 is_stmt 1 view .LVU321
 182:Core/Src/main.c **** 
 1090                           .loc 1 182 15 is_stmt 0 view .LVU322
 1091 0070 0123                 movs    r3, #1
 1092 0072 E370                 strb    r3, [r4, #3]
 185:Core/Src/main.c **** 
 1093                           .loc 1 185 3 is_stmt 1 view .LVU323
 185:Core/Src/main.c **** 
 1094                           .loc 1 185 16 is_stmt 0 view .LVU324
 1095 0074 0327                 movs    r7, #3
 1096 0076 2770                 strb    r7, [r4]
 188:Core/Src/main.c **** 
 1097                           .loc 1 188 3 is_stmt 1 view .LVU325
 188:Core/Src/main.c **** 
 1098                           .loc 1 188 16 is_stmt 0 view .LVU326
 1099 0078 6770                 strb    r7, [r4, #1]
 191:Core/Src/main.c ****   rslt = bmp280_set_config(&conf, &bmp);
 1100                           .loc 1 191 3 is_stmt 1 view .LVU327
 191:Core/Src/main.c ****   rslt = bmp280_set_config(&conf, &bmp);
 1101                           .loc 1 191 12 is_stmt 0 view .LVU328
 1102 007a 0423                 movs    r3, #4
 1103 007c A370                 strb    r3, [r4, #2]
 192:Core/Src/main.c ****   //print_rslt(" bmp280_set_config status", rslt);
 1104                           .loc 1 192 3 is_stmt 1 view .LVU329
 192:Core/Src/main.c ****   //print_rslt(" bmp280_set_config status", rslt);
 1105                           .loc 1 192 10 is_stmt 0 view .LVU330
 1106 007e 3146                 mov     r1, r6
 1107 0080 2046                 mov     r0, r4
 1108 0082 FFF7FEFF             bl      bmp280_set_config
 1109                   .LVL56:
 192:Core/Src/main.c ****   //print_rslt(" bmp280_set_config status", rslt);
 1110                           .loc 1 192 8 view .LVU331
 1111 0086 2870                 strb    r0, [r5]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 35


 196:Core/Src/main.c ****   //print_rslt(" bmp280_set_power_mode status", rslt);
 1112                           .loc 1 196 3 is_stmt 1 view .LVU332
 196:Core/Src/main.c ****   //print_rslt(" bmp280_set_power_mode status", rslt);
 1113                           .loc 1 196 10 is_stmt 0 view .LVU333
 1114 0088 3146                 mov     r1, r6
 1115 008a 3846                 mov     r0, r7
 1116 008c FFF7FEFF             bl      bmp280_set_power_mode
 1117                   .LVL57:
 196:Core/Src/main.c ****   //print_rslt(" bmp280_set_power_mode status", rslt);
 1118                           .loc 1 196 8 view .LVU334
 1119 0090 2870                 strb    r0, [r5]
 201:Core/Src/main.c ****   /* USER CODE END 2 */
 1120                           .loc 1 201 3 is_stmt 1 view .LVU335
 1121 0092 FFF7FEFF             bl      cc_init
 1122                   .LVL58:
 1123                   .L48:
 206:Core/Src/main.c ****     {
 1124                           .loc 1 206 3 discriminator 1 view .LVU336
 208:Core/Src/main.c **** 
 1125                           .loc 1 208 7 discriminator 1 view .LVU337
 1126 0096 0648                 ldr     r0, .L50+12
 1127 0098 FFF7FEFF             bl      cc_run
 1128                   .LVL59:
 212:Core/Src/main.c **** 
 1129                           .loc 1 212 7 discriminator 1 view .LVU338
 1130 009c 3220                 movs    r0, #50
 1131 009e FFF7FEFF             bl      HAL_Delay
 1132                   .LVL60:
 1133 00a2 F8E7                 b       .L48
 1134                   .L51:
 1135                           .align  2
 1136                   .L50:
 1137 00a4 000C0140             .word   1073810432
 1138 00a8 00000000             .word   uc1
 1139 00ac 00000000             .word   huart1
 1140 00b0 00000000             .word   .LANCHOR0
 1141 00b4 00000000             .word   rslt
 1142 00b8 00000000             .word   conf
 1143                           .cfi_endproc
 1144                   .LFE71:
 1146                           .section        .text.Error_Handler,"ax",%progbits
 1147                           .align  1
 1148                           .global Error_Handler
 1149                           .syntax unified
 1150                           .thumb
 1151                           .thumb_func
 1152                           .fpu softvfp
 1154                   Error_Handler:
 1155                   .LFB80:
 567:Core/Src/main.c **** 
 568:Core/Src/main.c **** /* USER CODE BEGIN 4 */
 569:Core/Src/main.c **** 
 570:Core/Src/main.c **** /* USER CODE END 4 */
 571:Core/Src/main.c **** 
 572:Core/Src/main.c **** /**
 573:Core/Src/main.c ****   * @brief  This function is executed in case of error occurrence.
 574:Core/Src/main.c ****   * @retval None
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 36


 575:Core/Src/main.c ****   */
 576:Core/Src/main.c **** void Error_Handler(void)
 577:Core/Src/main.c **** {
 1156                           .loc 1 577 1 view -0
 1157                           .cfi_startproc
 1158                           @ args = 0, pretend = 0, frame = 0
 1159                           @ frame_needed = 0, uses_anonymous_args = 0
 1160                           @ link register save eliminated.
 578:Core/Src/main.c ****   /* USER CODE BEGIN Error_Handler_Debug */
 579:Core/Src/main.c ****   /* User can add his own implementation to report the HAL error return state */
 580:Core/Src/main.c **** 
 581:Core/Src/main.c ****   /* USER CODE END Error_Handler_Debug */
 582:Core/Src/main.c **** }
 1161                           .loc 1 582 1 view .LVU340
 1162 0000 7047                 bx      lr
 1163                           .cfi_endproc
 1164                   .LFE80:
 1166                           .comm   conf,5,4
 1167                           .comm   rslt,1,1
 1168                           .global bmp
 1169                           .comm   huart1,64,4
 1170                           .comm   htim4,64,4
 1171                           .comm   htim3,64,4
 1172                           .comm   hspi1,88,4
 1173                           .comm   hrtc,20,4
 1174                           .comm   hi2c2,84,4
 1175                           .section        .data.bmp,"aw"
 1176                           .align  2
 1177                           .set    .LANCHOR0,. + 0
 1180                   bmp:
 1181 0000 00                   .space  1
 1182 0001 76                   .byte   118
 1183 0002 01                   .byte   1
 1184 0003 00                   .space  1
 1185 0004 00000000             .word   user_i2c_read
 1186 0008 00000000             .word   user_i2c_write
 1187 000c 00000000             .word   user_delay_ms
 1188 0010 00000000             .space  36
 1188      00000000 
 1188      00000000 
 1188      00000000 
 1188      00000000 
 1189                           .text
 1190                   .Letext0:
 1191                           .file 2 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
 1192                           .file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
 1193                           .file 4 "Drivers/CMSIS/Include/core_cm3.h"
 1194                           .file 5 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
 1195                           .file 6 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
 1196                           .file 7 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
 1197                           .file 8 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h"
 1198                           .file 9 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h"
 1199                           .file 10 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h"
 1200                           .file 11 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h"
 1201                           .file 12 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_i2c.h"
 1202                           .file 13 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rtc.h"
 1203                           .file 14 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h"
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 37


 1204                           .file 15 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h"
 1205                           .file 16 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h"
 1206                           .file 17 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
 1207                           .file 18 "Core/Inc/main.h"
 1208                           .file 19 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
 1209                           .file 20 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
 1210                           .file 21 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
 1211                           .file 22 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
 1212                           .file 23 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.
 1213                           .file 24 "../libSerial/inc/libSerial/serial.h"
 1214                           .file 25 "../libBMP280/inc/libBMP280/bmp280_defs.h"
 1215                           .file 26 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h"
 1216                           .file 27 "USB_DEVICE/App/usb_device.h"
 1217                           .file 28 "../libBMP280/inc/libBMP280/bmp280.h"
 1218                           .file 29 "inc/display.h"
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 38


DEFINED SYMBOLS
                            *ABS*:0000000000000000 main.c
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:16     .text.user_delay_ms:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:23     .text.user_delay_ms:0000000000000000 user_delay_ms
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:46     .text.user_i2c_write:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:52     .text.user_i2c_write:0000000000000000 user_i2c_write
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:114    .text.user_i2c_write:000000000000002c $d
                            *COM*:0000000000000054 hi2c2
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:119    .text.user_i2c_read:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:125    .text.user_i2c_read:0000000000000000 user_i2c_read
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:187    .text.user_i2c_read:000000000000002c $d
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:192    .text.MX_GPIO_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:198    .text.MX_GPIO_Init:0000000000000000 MX_GPIO_Init
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:341    .text.MX_GPIO_Init:00000000000000a4 $d
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:348    .text.MX_SPI1_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:354    .text.MX_SPI1_Init:0000000000000000 MX_SPI1_Init
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:420    .text.MX_SPI1_Init:000000000000003c $d
                            *COM*:0000000000000058 hspi1
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:426    .text.MX_TIM4_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:432    .text.MX_TIM4_Init:0000000000000000 MX_TIM4_Init
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:528    .text.MX_TIM4_Init:0000000000000050 $d
                            *COM*:0000000000000040 htim4
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:534    .text.MX_USART1_UART_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:540    .text.MX_USART1_UART_Init:0000000000000000 MX_USART1_UART_Init
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:589    .text.MX_USART1_UART_Init:0000000000000024 $d
                            *COM*:0000000000000040 huart1
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:595    .text.MX_TIM3_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:601    .text.MX_TIM3_Init:0000000000000000 MX_TIM3_Init
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:705    .text.MX_TIM3_Init:0000000000000068 $d
                            *COM*:0000000000000040 htim3
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:711    .text.MX_I2C2_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:717    .text.MX_I2C2_Init:0000000000000000 MX_I2C2_Init
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:769    .text.MX_I2C2_Init:0000000000000028 $d
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:776    .text.MX_RTC_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:782    .text.MX_RTC_Init:0000000000000000 MX_RTC_Init
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:867    .text.MX_RTC_Init:000000000000005c $d
                            *COM*:0000000000000014 hrtc
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:873    .text.SystemClock_Config:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:880    .text.SystemClock_Config:0000000000000000 SystemClock_Config
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:995    .text.main:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:1002   .text.main:0000000000000000 main
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:1137   .text.main:00000000000000a4 $d
                            *COM*:0000000000000001 rslt
                            *COM*:0000000000000005 conf
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:1147   .text.Error_Handler:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:1154   .text.Error_Handler:0000000000000000 Error_Handler
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:1180   .data.bmp:0000000000000000 bmp
C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s:1176   .data.bmp:0000000000000000 $d

UNDEFINED SYMBOLS
HAL_Delay
HAL_I2C_Mem_Write
HAL_I2C_Mem_Read
HAL_GPIO_WritePin
HAL_GPIO_Init
HAL_SPI_Init
HAL_TIM_Encoder_Init
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccQ2mrgm.s                   page 39


HAL_TIMEx_MasterConfigSynchronization
HAL_UART_Init
HAL_TIM_OC_Init
HAL_TIM_OnePulse_Init
HAL_TIM_OC_ConfigChannel
HAL_I2C_Init
HAL_RTC_Init
HAL_RTC_SetTime
HAL_RTC_SetDate
HAL_RCC_OscConfig
HAL_RCC_ClockConfig
HAL_RCCEx_PeriphCLKConfig
HAL_Init
MX_USB_DEVICE_Init
init_usart_ctl
EnableSerialRxInterrupt
bmp280_init
bmp280_get_config
bmp280_set_config
bmp280_set_power_mode
cc_init
cc_run
uc1