ARM GAS  /tmp/cc9cn0cw.s 			page 1


   1              		.cpu cortex-m0
   2              		.arch armv6s-m
   3              		.fpu softvfp
   4              		.eabi_attribute 23, 1
   5              		.eabi_attribute 24, 1
   6              		.eabi_attribute 25, 1
   7              		.eabi_attribute 26, 1
   8              		.eabi_attribute 30, 2
   9              		.eabi_attribute 34, 0
  10              		.eabi_attribute 18, 4
  11              		.file	"lcm32f06x_flash.c"
  12              		.text
  13              	.Ltext0:
  14              		.cfi_sections	.debug_frame
  15              		.file 1 "Library/src/lcm32f06x_flash.c"
  16              		.section	.text.FLASH_SetLatency,"ax",%progbits
  17              		.align	1
  18              		.p2align 2,,3
  19              		.global	FLASH_SetLatency
  20              		.syntax unified
  21              		.code	16
  22              		.thumb_func
  24              	FLASH_SetLatency:
  25              	.LVL0:
  26              	.LFB45:
   1:Library/src/lcm32f06x_flash.c **** /**
   2:Library/src/lcm32f06x_flash.c ****   ******************************************************************************
   3:Library/src/lcm32f06x_flash.c ****   * @file    lcm32f06x_flash.c
   4:Library/src/lcm32f06x_flash.c ****   * @author  System R&D Team
   5:Library/src/lcm32f06x_flash.c ****   * @version V2.0.2
   6:Library/src/lcm32f06x_flash.c ****   * @date    10-April-2025
   7:Library/src/lcm32f06x_flash.c ****   * @brief   This file provides all the FLASH firmware functions.
   8:Library/src/lcm32f06x_flash.c ****   ******************************************************************************
   9:Library/src/lcm32f06x_flash.c ****   * @attention
  10:Library/src/lcm32f06x_flash.c ****   *
  11:Library/src/lcm32f06x_flash.c ****   * Copyright (c) Hangzhou Lingxin Microelectronics Co.
  12:Library/src/lcm32f06x_flash.c ****   * All rights reserved.
  13:Library/src/lcm32f06x_flash.c ****   *
  14:Library/src/lcm32f06x_flash.c ****   * This software is licensed under terms that can be found in the LICENSE file
  15:Library/src/lcm32f06x_flash.c ****   * in the root directory of this software component.
  16:Library/src/lcm32f06x_flash.c ****   * If no LICENSE file comes with this software, it is provided AS-IS.
  17:Library/src/lcm32f06x_flash.c ****   *
  18:Library/src/lcm32f06x_flash.c ****   ******************************************************************************
  19:Library/src/lcm32f06x_flash.c ****   */
  20:Library/src/lcm32f06x_flash.c **** /* Includes ------------------------------------------------------------------*/
  21:Library/src/lcm32f06x_flash.c **** #include "lcm32f06x_flash.h"
  22:Library/src/lcm32f06x_flash.c **** 
  23:Library/src/lcm32f06x_flash.c **** /**
  24:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_SetLatency
  25:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Set FLASH read delay.
  26:Library/src/lcm32f06x_flash.c ****   *         CN: 设置FLASH 读取延迟。
  27:Library/src/lcm32f06x_flash.c ****   * @param  FLASH_Latency: 
  28:Library/src/lcm32f06x_flash.c ****   *         EN: Specify the number of read delay cycles.
  29:Library/src/lcm32f06x_flash.c ****   *         CN: 指定读取延时周期数。
  30:Library/src/lcm32f06x_flash.c ****   *             @arg FLASH_Latency_0
  31:Library/src/lcm32f06x_flash.c ****   *             @arg FLASH_Latency_1
  32:Library/src/lcm32f06x_flash.c ****   *             @arg FLASH_Latency_2
ARM GAS  /tmp/cc9cn0cw.s 			page 2


  33:Library/src/lcm32f06x_flash.c ****   *             @arg FLASH_Latency_3
  34:Library/src/lcm32f06x_flash.c ****   *             @arg FLASH_Latency_4
  35:Library/src/lcm32f06x_flash.c ****   * @retval None
  36:Library/src/lcm32f06x_flash.c ****   */
  37:Library/src/lcm32f06x_flash.c **** void FLASH_SetLatency(uint32_t FLASH_Latency)
  38:Library/src/lcm32f06x_flash.c **** {
  27              		.loc 1 38 1 view -0
  28              		.cfi_startproc
  29              		@ args = 0, pretend = 0, frame = 0
  30              		@ frame_needed = 0, uses_anonymous_args = 0
  31              		@ link register save eliminated.
  39:Library/src/lcm32f06x_flash.c ****   uint32_t tmpreg = 0;
  32              		.loc 1 39 3 view .LVU1
  40:Library/src/lcm32f06x_flash.c **** 
  41:Library/src/lcm32f06x_flash.c ****   /* Check the parameters */
  42:Library/src/lcm32f06x_flash.c ****   assert_param(IS_FLASH_LATENCY(FLASH_Latency));
  33              		.loc 1 42 3 view .LVU2
  43:Library/src/lcm32f06x_flash.c **** 
  44:Library/src/lcm32f06x_flash.c ****   /* Read the ACR register */
  45:Library/src/lcm32f06x_flash.c ****   tmpreg = FLASH->ACR;
  34              		.loc 1 45 3 view .LVU3
  46:Library/src/lcm32f06x_flash.c **** 
  47:Library/src/lcm32f06x_flash.c ****   /* Sets the Latency value */
  48:Library/src/lcm32f06x_flash.c ****   tmpreg &= (uint32_t)(FLASH_ACR_LATENCY_Msk | FLASH_ACR_PRFTBE_Msk);
  35              		.loc 1 48 10 is_stmt 0 view .LVU4
  36 0000 1723     		movs	r3, #23
  49:Library/src/lcm32f06x_flash.c ****   tmpreg |= FLASH_Latency;
  50:Library/src/lcm32f06x_flash.c **** 
  51:Library/src/lcm32f06x_flash.c ****   /* Write the ACR register */
  52:Library/src/lcm32f06x_flash.c ****   FLASH->ACR = tmpreg;
  53:Library/src/lcm32f06x_flash.c **** }
  37              		.loc 1 53 1 view .LVU5
  38              		@ sp needed
  45:Library/src/lcm32f06x_flash.c **** 
  39              		.loc 1 45 10 view .LVU6
  40 0002 034A     		ldr	r2, .L3
  41 0004 1168     		ldr	r1, [r2]
  42              	.LVL1:
  48:Library/src/lcm32f06x_flash.c ****   tmpreg |= FLASH_Latency;
  43              		.loc 1 48 3 is_stmt 1 view .LVU7
  48:Library/src/lcm32f06x_flash.c ****   tmpreg |= FLASH_Latency;
  44              		.loc 1 48 10 is_stmt 0 view .LVU8
  45 0006 0B40     		ands	r3, r1
  46              	.LVL2:
  49:Library/src/lcm32f06x_flash.c ****   tmpreg |= FLASH_Latency;
  47              		.loc 1 49 3 is_stmt 1 view .LVU9
  49:Library/src/lcm32f06x_flash.c ****   tmpreg |= FLASH_Latency;
  48              		.loc 1 49 10 is_stmt 0 view .LVU10
  49 0008 0343     		orrs	r3, r0
  50              	.LVL3:
  52:Library/src/lcm32f06x_flash.c **** }
  51              		.loc 1 52 3 is_stmt 1 view .LVU11
  52:Library/src/lcm32f06x_flash.c **** }
  52              		.loc 1 52 14 is_stmt 0 view .LVU12
  53 000a 1360     		str	r3, [r2]
  54              		.loc 1 53 1 view .LVU13
  55 000c 7047     		bx	lr
ARM GAS  /tmp/cc9cn0cw.s 			page 3


  56              	.L4:
  57 000e C046     		.align	2
  58              	.L3:
  59 0010 00D00140 		.word	1073860608
  60              		.cfi_endproc
  61              	.LFE45:
  63              		.section	.text.FLASH_GetPrefetchBufferStatus,"ax",%progbits
  64              		.align	1
  65              		.p2align 2,,3
  66              		.global	FLASH_GetPrefetchBufferStatus
  67              		.syntax unified
  68              		.code	16
  69              		.thumb_func
  71              	FLASH_GetPrefetchBufferStatus:
  72              	.LFB46:
  54:Library/src/lcm32f06x_flash.c **** 
  55:Library/src/lcm32f06x_flash.c **** /**
  56:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_GetPrefetchBufferStatus
  57:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Checks whether the FLASH Prefetch Buffer status is set or not.
  58:Library/src/lcm32f06x_flash.c ****   *         CN: 检查是否设置了FLASH预取缓冲区状态。
  59:Library/src/lcm32f06x_flash.c ****   * @param  None
  60:Library/src/lcm32f06x_flash.c ****   * @retval EN: FLASH Prefetch Buffer Status.
  61:Library/src/lcm32f06x_flash.c ****   *         CN: FLASH预取缓冲区状态。
  62:Library/src/lcm32f06x_flash.c ****   */
  63:Library/src/lcm32f06x_flash.c **** FlagStatus FLASH_GetPrefetchBufferStatus(void)
  64:Library/src/lcm32f06x_flash.c **** {
  73              		.loc 1 64 1 is_stmt 1 view -0
  74              		.cfi_startproc
  75              		@ args = 0, pretend = 0, frame = 0
  76              		@ frame_needed = 0, uses_anonymous_args = 0
  77              		@ link register save eliminated.
  65:Library/src/lcm32f06x_flash.c ****   FlagStatus bitstatus = RESET;
  78              		.loc 1 65 3 view .LVU15
  79              	.LVL4:
  66:Library/src/lcm32f06x_flash.c **** 
  67:Library/src/lcm32f06x_flash.c ****   if ((FLASH->ACR & FLASH_ACR_PRFTBS_Msk) != (uint32_t)RESET)
  80              		.loc 1 67 3 view .LVU16
  81              		.loc 1 67 13 is_stmt 0 view .LVU17
  82 0000 024B     		ldr	r3, .L6
  68:Library/src/lcm32f06x_flash.c ****   {
  69:Library/src/lcm32f06x_flash.c ****     bitstatus = SET;
  70:Library/src/lcm32f06x_flash.c ****   }
  71:Library/src/lcm32f06x_flash.c ****   else
  72:Library/src/lcm32f06x_flash.c ****   {
  73:Library/src/lcm32f06x_flash.c ****     bitstatus = RESET;
  74:Library/src/lcm32f06x_flash.c ****   }
  75:Library/src/lcm32f06x_flash.c ****   /* Return the new state of FLASH Prefetch Buffer Status (SET or RESET) */
  76:Library/src/lcm32f06x_flash.c ****   return bitstatus;
  77:Library/src/lcm32f06x_flash.c **** }
  83              		.loc 1 77 1 view .LVU18
  84              		@ sp needed
  67:Library/src/lcm32f06x_flash.c ****   {
  85              		.loc 1 67 13 view .LVU19
  86 0002 1868     		ldr	r0, [r3]
  87              	.LVL5:
  76:Library/src/lcm32f06x_flash.c **** }
  88              		.loc 1 76 3 is_stmt 1 view .LVU20
ARM GAS  /tmp/cc9cn0cw.s 			page 4


  67:Library/src/lcm32f06x_flash.c ****   {
  89              		.loc 1 67 6 is_stmt 0 view .LVU21
  90 0004 8006     		lsls	r0, r0, #26
  91              	.LVL6:
  76:Library/src/lcm32f06x_flash.c **** }
  92              		.loc 1 76 10 discriminator 1 view .LVU22
  93 0006 C00F     		lsrs	r0, r0, #31
  94              		.loc 1 77 1 view .LVU23
  95 0008 7047     		bx	lr
  96              	.L7:
  97 000a C046     		.align	2
  98              	.L6:
  99 000c 00D00140 		.word	1073860608
 100              		.cfi_endproc
 101              	.LFE46:
 103              		.section	.text.FLASH_PrefetchBufferCmd,"ax",%progbits
 104              		.align	1
 105              		.p2align 2,,3
 106              		.global	FLASH_PrefetchBufferCmd
 107              		.syntax unified
 108              		.code	16
 109              		.thumb_func
 111              	FLASH_PrefetchBufferCmd:
 112              	.LVL7:
 113              	.LFB47:
  78:Library/src/lcm32f06x_flash.c **** 
  79:Library/src/lcm32f06x_flash.c **** /**
  80:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_PrefetchBufferCmd
  81:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Enabling control of prefetching cache.
  82:Library/src/lcm32f06x_flash.c ****   *         CN: 预取缓存的使能控制。
  83:Library/src/lcm32f06x_flash.c ****   * @param  NewState: 
  84:Library/src/lcm32f06x_flash.c ****   *         EN: Pre drive prohibition or enable.
  85:Library/src/lcm32f06x_flash.c ****   *         CN: 预取禁止或使能。
  86:Library/src/lcm32f06x_flash.c ****   * @retval None
  87:Library/src/lcm32f06x_flash.c ****   */
  88:Library/src/lcm32f06x_flash.c **** void FLASH_PrefetchBufferCmd(FunctionalState NewState)
  89:Library/src/lcm32f06x_flash.c **** {
 114              		.loc 1 89 1 is_stmt 1 view -0
 115              		.cfi_startproc
 116              		@ args = 0, pretend = 0, frame = 0
 117              		@ frame_needed = 0, uses_anonymous_args = 0
 118              		@ link register save eliminated.
  90:Library/src/lcm32f06x_flash.c ****   /* Check the parameters */
  91:Library/src/lcm32f06x_flash.c ****   assert_param(IS_FUNCTIONAL_STATE(NewState));
 119              		.loc 1 91 3 view .LVU25
  92:Library/src/lcm32f06x_flash.c **** 
  93:Library/src/lcm32f06x_flash.c ****   if (NewState != DISABLE)
 120              		.loc 1 93 3 view .LVU26
  94:Library/src/lcm32f06x_flash.c ****   {
  95:Library/src/lcm32f06x_flash.c ****     FLASH->ACR |= FLASH_ACR_PRFTBE_Msk;
 121              		.loc 1 95 10 is_stmt 0 view .LVU27
 122 0000 054A     		ldr	r2, .L11
 123              		.loc 1 95 16 view .LVU28
 124 0002 1021     		movs	r1, #16
 125              		.loc 1 95 10 view .LVU29
 126 0004 1368     		ldr	r3, [r2]
  93:Library/src/lcm32f06x_flash.c ****   {
ARM GAS  /tmp/cc9cn0cw.s 			page 5


 127              		.loc 1 93 6 view .LVU30
 128 0006 0028     		cmp	r0, #0
 129 0008 02D0     		beq	.L9
 130              		.loc 1 95 5 is_stmt 1 view .LVU31
 131              		.loc 1 95 16 is_stmt 0 view .LVU32
 132 000a 0B43     		orrs	r3, r1
 133 000c 1360     		str	r3, [r2]
 134              	.L8:
  96:Library/src/lcm32f06x_flash.c ****   }
  97:Library/src/lcm32f06x_flash.c ****   else
  98:Library/src/lcm32f06x_flash.c ****   {
  99:Library/src/lcm32f06x_flash.c ****     FLASH->ACR &= (uint32_t)(~FLASH_ACR_PRFTBE_Msk);
 100:Library/src/lcm32f06x_flash.c ****   }
 101:Library/src/lcm32f06x_flash.c **** }
 135              		.loc 1 101 1 view .LVU33
 136              		@ sp needed
 137 000e 7047     		bx	lr
 138              	.L9:
  99:Library/src/lcm32f06x_flash.c ****   }
 139              		.loc 1 99 5 is_stmt 1 view .LVU34
  99:Library/src/lcm32f06x_flash.c ****   }
 140              		.loc 1 99 16 is_stmt 0 view .LVU35
 141 0010 8B43     		bics	r3, r1
 142 0012 1360     		str	r3, [r2]
 143              		.loc 1 101 1 view .LVU36
 144 0014 FBE7     		b	.L8
 145              	.L12:
 146 0016 C046     		.align	2
 147              	.L11:
 148 0018 00D00140 		.word	1073860608
 149              		.cfi_endproc
 150              	.LFE47:
 152              		.section	.text.FLASH_Unlock,"ax",%progbits
 153              		.align	1
 154              		.p2align 2,,3
 155              		.global	FLASH_Unlock
 156              		.syntax unified
 157              		.code	16
 158              		.thumb_func
 160              	FLASH_Unlock:
 161              	.LFB48:
 102:Library/src/lcm32f06x_flash.c **** 
 103:Library/src/lcm32f06x_flash.c **** /**
 104:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_Unlock
 105:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Unlocks the FLASH control register and program memory access.
 106:Library/src/lcm32f06x_flash.c ****   *         CN: 解锁FLASH控制寄存器和程序存储器访问。
 107:Library/src/lcm32f06x_flash.c ****   * @param  None
 108:Library/src/lcm32f06x_flash.c ****   * @retval None
 109:Library/src/lcm32f06x_flash.c ****   */
 110:Library/src/lcm32f06x_flash.c **** void FLASH_Unlock(void)
 111:Library/src/lcm32f06x_flash.c **** {
 162              		.loc 1 111 1 is_stmt 1 view -0
 163              		.cfi_startproc
 164              		@ args = 0, pretend = 0, frame = 0
 165              		@ frame_needed = 0, uses_anonymous_args = 0
 166              		@ link register save eliminated.
 112:Library/src/lcm32f06x_flash.c ****   if ((FLASH->CR & FLASH_CR_LOCK_Msk) != RESET)
ARM GAS  /tmp/cc9cn0cw.s 			page 6


 167              		.loc 1 112 3 view .LVU38
 168              		.loc 1 112 13 is_stmt 0 view .LVU39
 169 0000 044B     		ldr	r3, .L19
 170 0002 1A69     		ldr	r2, [r3, #16]
 171              		.loc 1 112 6 view .LVU40
 172 0004 1206     		lsls	r2, r2, #24
 173 0006 03D5     		bpl	.L13
 113:Library/src/lcm32f06x_flash.c ****   {
 114:Library/src/lcm32f06x_flash.c ****     /* Unlocking the program memory access */
 115:Library/src/lcm32f06x_flash.c ****     FLASH->KEYR = FLASH_FKEY1;
 174              		.loc 1 115 5 is_stmt 1 view .LVU41
 175              		.loc 1 115 17 is_stmt 0 view .LVU42
 176 0008 034A     		ldr	r2, .L19+4
 177 000a 5A60     		str	r2, [r3, #4]
 116:Library/src/lcm32f06x_flash.c ****     FLASH->KEYR = FLASH_FKEY2;
 178              		.loc 1 116 5 is_stmt 1 view .LVU43
 179              		.loc 1 116 17 is_stmt 0 view .LVU44
 180 000c 034A     		ldr	r2, .L19+8
 181 000e 5A60     		str	r2, [r3, #4]
 182              	.L13:
 117:Library/src/lcm32f06x_flash.c ****   }
 118:Library/src/lcm32f06x_flash.c **** }
 183              		.loc 1 118 1 view .LVU45
 184              		@ sp needed
 185 0010 7047     		bx	lr
 186              	.L20:
 187 0012 C046     		.align	2
 188              	.L19:
 189 0014 00D00140 		.word	1073860608
 190 0018 23016745 		.word	1164378403
 191 001c AB89EFCD 		.word	-839939669
 192              		.cfi_endproc
 193              	.LFE48:
 195              		.section	.text.FLASH_UnOnlyReadMode,"ax",%progbits
 196              		.align	1
 197              		.p2align 2,,3
 198              		.global	FLASH_UnOnlyReadMode
 199              		.syntax unified
 200              		.code	16
 201              		.thumb_func
 203              	FLASH_UnOnlyReadMode:
 204              	.LFB49:
 119:Library/src/lcm32f06x_flash.c **** 
 120:Library/src/lcm32f06x_flash.c **** /**
 121:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_UnOnlyReadMode
 122:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Exit read-only mode.
 123:Library/src/lcm32f06x_flash.c ****   *         CN: 退出只读模式。
 124:Library/src/lcm32f06x_flash.c ****   * @param  None
 125:Library/src/lcm32f06x_flash.c ****   * @retval None
 126:Library/src/lcm32f06x_flash.c ****   */
 127:Library/src/lcm32f06x_flash.c **** void FLASH_UnOnlyReadMode(void)
 128:Library/src/lcm32f06x_flash.c **** {
 205              		.loc 1 128 1 is_stmt 1 view -0
 206              		.cfi_startproc
 207              		@ args = 0, pretend = 0, frame = 0
 208              		@ frame_needed = 0, uses_anonymous_args = 0
 209              		@ link register save eliminated.
ARM GAS  /tmp/cc9cn0cw.s 			page 7


 129:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= ~(FLASH_CR_RDONLY_Msk);
 210              		.loc 1 129 3 view .LVU47
 211              		.loc 1 129 8 is_stmt 0 view .LVU48
 212 0000 024A     		ldr	r2, .L22
 213              		.loc 1 129 13 view .LVU49
 214 0002 0349     		ldr	r1, .L22+4
 215              		.loc 1 129 8 view .LVU50
 216 0004 1369     		ldr	r3, [r2, #16]
 130:Library/src/lcm32f06x_flash.c **** }
 217              		.loc 1 130 1 view .LVU51
 218              		@ sp needed
 129:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= ~(FLASH_CR_RDONLY_Msk);
 219              		.loc 1 129 13 view .LVU52
 220 0006 0B40     		ands	r3, r1
 221 0008 1361     		str	r3, [r2, #16]
 222              		.loc 1 130 1 view .LVU53
 223 000a 7047     		bx	lr
 224              	.L23:
 225              		.align	2
 226              	.L22:
 227 000c 00D00140 		.word	1073860608
 228 0010 FFFFFFEF 		.word	-268435457
 229              		.cfi_endproc
 230              	.LFE49:
 232              		.section	.text.FLASH_Lock,"ax",%progbits
 233              		.align	1
 234              		.p2align 2,,3
 235              		.global	FLASH_Lock
 236              		.syntax unified
 237              		.code	16
 238              		.thumb_func
 240              	FLASH_Lock:
 241              	.LFB50:
 131:Library/src/lcm32f06x_flash.c **** /**
 132:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_Lock
 133:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Locks the Program memory access.
 134:Library/src/lcm32f06x_flash.c ****   *         CN: 锁定程序内存访问。
 135:Library/src/lcm32f06x_flash.c ****   * @param  None
 136:Library/src/lcm32f06x_flash.c ****   * @retval None
 137:Library/src/lcm32f06x_flash.c ****   */
 138:Library/src/lcm32f06x_flash.c **** void FLASH_Lock(void)
 139:Library/src/lcm32f06x_flash.c **** {
 242              		.loc 1 139 1 is_stmt 1 view -0
 243              		.cfi_startproc
 244              		@ args = 0, pretend = 0, frame = 0
 245              		@ frame_needed = 0, uses_anonymous_args = 0
 246              		@ link register save eliminated.
 140:Library/src/lcm32f06x_flash.c ****   /* Set the LOCK Bit to lock the FLASH control register and program memory access */
 141:Library/src/lcm32f06x_flash.c ****   FLASH->CR |= FLASH_CR_LOCK_Msk;
 247              		.loc 1 141 3 view .LVU55
 248              		.loc 1 141 13 is_stmt 0 view .LVU56
 249 0000 8021     		movs	r1, #128
 142:Library/src/lcm32f06x_flash.c **** }
 250              		.loc 1 142 1 view .LVU57
 251              		@ sp needed
 141:Library/src/lcm32f06x_flash.c **** }
 252              		.loc 1 141 8 view .LVU58
ARM GAS  /tmp/cc9cn0cw.s 			page 8


 253 0002 024A     		ldr	r2, .L25
 254 0004 1369     		ldr	r3, [r2, #16]
 141:Library/src/lcm32f06x_flash.c **** }
 255              		.loc 1 141 13 view .LVU59
 256 0006 0B43     		orrs	r3, r1
 257 0008 1361     		str	r3, [r2, #16]
 258              		.loc 1 142 1 view .LVU60
 259 000a 7047     		bx	lr
 260              	.L26:
 261              		.align	2
 262              	.L25:
 263 000c 00D00140 		.word	1073860608
 264              		.cfi_endproc
 265              	.LFE50:
 267              		.section	.text.FLASH_OnlyReadMode,"ax",%progbits
 268              		.align	1
 269              		.p2align 2,,3
 270              		.global	FLASH_OnlyReadMode
 271              		.syntax unified
 272              		.code	16
 273              		.thumb_func
 275              	FLASH_OnlyReadMode:
 276              	.LFB51:
 143:Library/src/lcm32f06x_flash.c **** 
 144:Library/src/lcm32f06x_flash.c **** /**
 145:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_OnlyReadMode
 146:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Only read mode enable.
 147:Library/src/lcm32f06x_flash.c ****   *         CN: 只读模式使能。
 148:Library/src/lcm32f06x_flash.c ****   * @param  None
 149:Library/src/lcm32f06x_flash.c ****   * @retval None
 150:Library/src/lcm32f06x_flash.c ****   */
 151:Library/src/lcm32f06x_flash.c **** void FLASH_OnlyReadMode(void)
 152:Library/src/lcm32f06x_flash.c **** {
 277              		.loc 1 152 1 is_stmt 1 view -0
 278              		.cfi_startproc
 279              		@ args = 0, pretend = 0, frame = 0
 280              		@ frame_needed = 0, uses_anonymous_args = 0
 281              		@ link register save eliminated.
 153:Library/src/lcm32f06x_flash.c ****   FLASH->CR |= FLASH_CR_RDONLY_Msk;
 282              		.loc 1 153 3 view .LVU62
 283              		.loc 1 153 13 is_stmt 0 view .LVU63
 284 0000 8023     		movs	r3, #128
 154:Library/src/lcm32f06x_flash.c **** }
 285              		.loc 1 154 1 view .LVU64
 286              		@ sp needed
 153:Library/src/lcm32f06x_flash.c ****   FLASH->CR |= FLASH_CR_RDONLY_Msk;
 287              		.loc 1 153 8 view .LVU65
 288 0002 034A     		ldr	r2, .L28
 153:Library/src/lcm32f06x_flash.c ****   FLASH->CR |= FLASH_CR_RDONLY_Msk;
 289              		.loc 1 153 13 view .LVU66
 290 0004 5B05     		lsls	r3, r3, #21
 153:Library/src/lcm32f06x_flash.c ****   FLASH->CR |= FLASH_CR_RDONLY_Msk;
 291              		.loc 1 153 8 view .LVU67
 292 0006 1169     		ldr	r1, [r2, #16]
 153:Library/src/lcm32f06x_flash.c ****   FLASH->CR |= FLASH_CR_RDONLY_Msk;
 293              		.loc 1 153 13 view .LVU68
 294 0008 0B43     		orrs	r3, r1
ARM GAS  /tmp/cc9cn0cw.s 			page 9


 295 000a 1361     		str	r3, [r2, #16]
 296              		.loc 1 154 1 view .LVU69
 297 000c 7047     		bx	lr
 298              	.L29:
 299 000e C046     		.align	2
 300              	.L28:
 301 0010 00D00140 		.word	1073860608
 302              		.cfi_endproc
 303              	.LFE51:
 305              		.section	.text.FLASH_ErasePage,"ax",%progbits
 306              		.align	1
 307              		.p2align 2,,3
 308              		.global	FLASH_ErasePage
 309              		.syntax unified
 310              		.code	16
 311              		.thumb_func
 313              	FLASH_ErasePage:
 314              	.LVL8:
 315              	.LFB52:
 155:Library/src/lcm32f06x_flash.c **** /**
 156:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_ErasePage
 157:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Erases a specified page in program memory.
 158:Library/src/lcm32f06x_flash.c ****   *         CN: 擦除程序内存中的指定页面。
 159:Library/src/lcm32f06x_flash.c ****   * @note   To correctly run this function, the FLASH_Unlock() and FLASH_UnOnlyReadMode() function 
 160:Library/src/lcm32f06x_flash.c ****   * @note   Call the FLASH_Lock() to disable the flash memory access (recommended
 161:Library/src/lcm32f06x_flash.c ****   *         to protect the FLASH memory against possible unwanted operation)
 162:Library/src/lcm32f06x_flash.c ****   * @param  Page_Address
 163:Library/src/lcm32f06x_flash.c ****   *         EN: The page address in program memory to be erased.
 164:Library/src/lcm32f06x_flash.c ****   *         CN: 程序内存中要擦除的页面地址。
 165:Library/src/lcm32f06x_flash.c ****   * @note   A Page is erased in the Program memory only if the address to load 
 166:Library/src/lcm32f06x_flash.c ****   *         is the start address of a page(512bytes) .
 167:Library/src/lcm32f06x_flash.c ****   * @retval FLASH_Status: The returned value can be: 
 168:Library/src/lcm32f06x_flash.c ****   *         FLASH_ERROR_PROGRAM, FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT.
 169:Library/src/lcm32f06x_flash.c ****   */
 170:Library/src/lcm32f06x_flash.c **** FLASH_Status FLASH_ErasePage(uint32_t Page_Address)
 171:Library/src/lcm32f06x_flash.c **** {
 316              		.loc 1 171 1 is_stmt 1 view -0
 317              		.cfi_startproc
 318              		@ args = 0, pretend = 0, frame = 0
 319              		@ frame_needed = 0, uses_anonymous_args = 0
 172:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 320              		.loc 1 172 3 view .LVU71
 173:Library/src/lcm32f06x_flash.c **** 
 174:Library/src/lcm32f06x_flash.c ****   /* Check the parameters */
 175:Library/src/lcm32f06x_flash.c ****   assert_param(IS_FLASH_PROGRAM_ADDRESS(Page_Address));
 321              		.loc 1 175 3 view .LVU72
 176:Library/src/lcm32f06x_flash.c **** 
 177:Library/src/lcm32f06x_flash.c ****   /* Wait for last operation to be completed */
 178:Library/src/lcm32f06x_flash.c ****   status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 322              		.loc 1 178 3 view .LVU73
 323              	.LBB84:
 324              	.LBI84:
 179:Library/src/lcm32f06x_flash.c **** 
 180:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 181:Library/src/lcm32f06x_flash.c ****   {
 182:Library/src/lcm32f06x_flash.c ****     /* If the previous operation is completed, proceed to erase the page */
 183:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_PER_Msk;
ARM GAS  /tmp/cc9cn0cw.s 			page 10


 184:Library/src/lcm32f06x_flash.c ****     FLASH->AR = Page_Address;
 185:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 186:Library/src/lcm32f06x_flash.c ****     while (FLASH->SR_b.EOP == 0)
 187:Library/src/lcm32f06x_flash.c ****     {
 188:Library/src/lcm32f06x_flash.c ****         status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 189:Library/src/lcm32f06x_flash.c ****         break;
 190:Library/src/lcm32f06x_flash.c ****     }
 191:Library/src/lcm32f06x_flash.c ****     FLASH->SR_b.EOP = 1;
 192:Library/src/lcm32f06x_flash.c ****     /* Disable the PER Bit */
 193:Library/src/lcm32f06x_flash.c ****     FLASH->CR &= ~FLASH_CR_PER_Msk;
 194:Library/src/lcm32f06x_flash.c ****   }
 195:Library/src/lcm32f06x_flash.c **** 
 196:Library/src/lcm32f06x_flash.c ****   /* Return the Erase Status */
 197:Library/src/lcm32f06x_flash.c ****   return status;
 198:Library/src/lcm32f06x_flash.c **** }
 199:Library/src/lcm32f06x_flash.c **** 
 200:Library/src/lcm32f06x_flash.c **** /**
 201:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_EraseAllPages
 202:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Erases all FLASH pages.
 203:Library/src/lcm32f06x_flash.c ****   *         CN: 擦除所有FLASH页面。
 204:Library/src/lcm32f06x_flash.c ****   * @note   To correctly run this function, the FLASH_Unlock() and FLASH_UnOnlyReadMode() function 
 205:Library/src/lcm32f06x_flash.c ****   * @note   Call the FLASH_Lock() to disable the flash memory access (recommended
 206:Library/src/lcm32f06x_flash.c ****   *         to protect the FLASH memory against possible unwanted operation)
 207:Library/src/lcm32f06x_flash.c ****   * @param  None
 208:Library/src/lcm32f06x_flash.c ****   * @retval FLASH_Status: The returned value can be: FLASH_ERROR_PG,
 209:Library/src/lcm32f06x_flash.c ****   *         FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT.
 210:Library/src/lcm32f06x_flash.c ****   */
 211:Library/src/lcm32f06x_flash.c **** FLASH_Status FLASH_EraseAllPages(void)
 212:Library/src/lcm32f06x_flash.c **** {
 213:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 214:Library/src/lcm32f06x_flash.c **** 
 215:Library/src/lcm32f06x_flash.c ****   /* Wait for last operation to be completed */
 216:Library/src/lcm32f06x_flash.c ****   status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 217:Library/src/lcm32f06x_flash.c **** 
 218:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 219:Library/src/lcm32f06x_flash.c ****   {
 220:Library/src/lcm32f06x_flash.c ****     /* if the previous operation is completed, proceed to erase all pages */
 221:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_MER_Msk;
 222:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 223:Library/src/lcm32f06x_flash.c **** 
 224:Library/src/lcm32f06x_flash.c ****     /* Wait for last operation to be completed */
 225:Library/src/lcm32f06x_flash.c ****     while (FLASH->SR_b.EOP == 0)
 226:Library/src/lcm32f06x_flash.c ****     {
 227:Library/src/lcm32f06x_flash.c ****         status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 228:Library/src/lcm32f06x_flash.c ****         break;
 229:Library/src/lcm32f06x_flash.c ****     }
 230:Library/src/lcm32f06x_flash.c ****     FLASH->SR_b.EOP = 1;
 231:Library/src/lcm32f06x_flash.c ****     /* Disable the MER Bit */
 232:Library/src/lcm32f06x_flash.c ****     FLASH->CR &= ~FLASH_CR_MER_Msk;
 233:Library/src/lcm32f06x_flash.c ****   }
 234:Library/src/lcm32f06x_flash.c **** 
 235:Library/src/lcm32f06x_flash.c ****   /* Return the Erase Status */
 236:Library/src/lcm32f06x_flash.c ****   return status;
 237:Library/src/lcm32f06x_flash.c **** }
 238:Library/src/lcm32f06x_flash.c **** 
 239:Library/src/lcm32f06x_flash.c **** /**
 240:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_ProgramWord
ARM GAS  /tmp/cc9cn0cw.s 			page 11


 241:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Programs a word at a specified address.
 242:Library/src/lcm32f06x_flash.c ****   *         CN: 在指定地址进行字编程。
 243:Library/src/lcm32f06x_flash.c ****   * @note   To correctly run this function, the FLASH_Unlock() and FLASH_UnOnlyReadMode() function 
 244:Library/src/lcm32f06x_flash.c ****   * @note   Call the FLASH_Lock() to disable the flash memory access (recommended
 245:Library/src/lcm32f06x_flash.c ****   *         to protect the FLASH memory against possible unwanted operation)
 246:Library/src/lcm32f06x_flash.c ****   * @param  Address：
 247:Library/src/lcm32f06x_flash.c ****   *         EN: specifies the address to be programmed.
 248:Library/src/lcm32f06x_flash.c ****   *         CN: 指定要编程的地址。
 249:Library/src/lcm32f06x_flash.c ****   * @retval FLASH_Status: The returned value can be: FLASH_ERROR_PG,
 250:Library/src/lcm32f06x_flash.c ****   *         FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT.
 251:Library/src/lcm32f06x_flash.c ****   */
 252:Library/src/lcm32f06x_flash.c **** FLASH_Status FLASH_ProgramWord(uint32_t Address, uint32_t Data)
 253:Library/src/lcm32f06x_flash.c **** {
 254:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 255:Library/src/lcm32f06x_flash.c ****   __IO uint32_t tmp = 0;
 256:Library/src/lcm32f06x_flash.c **** 
 257:Library/src/lcm32f06x_flash.c ****   /* Check the parameters */
 258:Library/src/lcm32f06x_flash.c ****   assert_param(IS_FLASH_PROGRAM_ADDRESS(Address));
 259:Library/src/lcm32f06x_flash.c **** 
 260:Library/src/lcm32f06x_flash.c ****   /* Wait for last operation to be completed */
 261:Library/src/lcm32f06x_flash.c ****   status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 262:Library/src/lcm32f06x_flash.c **** 
 263:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 264:Library/src/lcm32f06x_flash.c ****   {
 265:Library/src/lcm32f06x_flash.c ****     /* If the previous operation is completed, proceed to program the new first 
 266:Library/src/lcm32f06x_flash.c ****     half word */
 267:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_PG_Msk;
 268:Library/src/lcm32f06x_flash.c **** 
 269:Library/src/lcm32f06x_flash.c ****     *(__IO uint32_t *)Address = (uint32_t)Data;
 270:Library/src/lcm32f06x_flash.c **** 
 271:Library/src/lcm32f06x_flash.c ****     /* Wait for last operation to be completed */
 272:Library/src/lcm32f06x_flash.c ****     while (FLASH->SR_b.EOP == 0)
 273:Library/src/lcm32f06x_flash.c ****     {
 274:Library/src/lcm32f06x_flash.c ****         status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 275:Library/src/lcm32f06x_flash.c ****         break;
 276:Library/src/lcm32f06x_flash.c ****     }
 277:Library/src/lcm32f06x_flash.c ****     FLASH->SR_b.EOP = 1;
 278:Library/src/lcm32f06x_flash.c ****     /* Disable the PG Bit */
 279:Library/src/lcm32f06x_flash.c ****     FLASH->CR &= ~FLASH_CR_PG_Msk;
 280:Library/src/lcm32f06x_flash.c ****   }
 281:Library/src/lcm32f06x_flash.c **** 
 282:Library/src/lcm32f06x_flash.c ****   /* Return the Program Status */
 283:Library/src/lcm32f06x_flash.c ****   return status;
 284:Library/src/lcm32f06x_flash.c **** }
 285:Library/src/lcm32f06x_flash.c **** 
 286:Library/src/lcm32f06x_flash.c **** /**
 287:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_ProgramHalfWord
 288:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Programs a half word at a specified address.
 289:Library/src/lcm32f06x_flash.c ****   *         CN: 在指定地址进行半字编程。
 290:Library/src/lcm32f06x_flash.c ****   * @note   To correctly run this function, the FLASH_Unlock() and FLASH_UnOnlyReadMode() function 
 291:Library/src/lcm32f06x_flash.c ****   * @note   Call the FLASH_Lock() to disable the flash memory access (recommended
 292:Library/src/lcm32f06x_flash.c ****   *         to protect the FLASH memory against possible unwanted operation)
 293:Library/src/lcm32f06x_flash.c ****   * @param  Address：
 294:Library/src/lcm32f06x_flash.c ****   *         EN: specifies the address to be programmed.
 295:Library/src/lcm32f06x_flash.c ****   *         CN: 指定要编程的地址。
 296:Library/src/lcm32f06x_flash.c ****   * @retval FLASH_Status: The returned value can be: FLASH_ERROR_PG,
 297:Library/src/lcm32f06x_flash.c ****   *         FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT.
ARM GAS  /tmp/cc9cn0cw.s 			page 12


 298:Library/src/lcm32f06x_flash.c ****   */
 299:Library/src/lcm32f06x_flash.c **** FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data)
 300:Library/src/lcm32f06x_flash.c **** {
 301:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 302:Library/src/lcm32f06x_flash.c **** 
 303:Library/src/lcm32f06x_flash.c ****   /* Check the parameters */
 304:Library/src/lcm32f06x_flash.c ****   assert_param(IS_FLASH_PROGRAM_ADDRESS(Address));
 305:Library/src/lcm32f06x_flash.c **** 
 306:Library/src/lcm32f06x_flash.c ****   /* Wait for last operation to be completed */
 307:Library/src/lcm32f06x_flash.c ****   status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 308:Library/src/lcm32f06x_flash.c **** 
 309:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 310:Library/src/lcm32f06x_flash.c ****   {
 311:Library/src/lcm32f06x_flash.c ****     /* If the previous operation is completed, proceed to program the new data */
 312:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_PG_Msk;
 313:Library/src/lcm32f06x_flash.c **** 
 314:Library/src/lcm32f06x_flash.c ****     *(__IO uint16_t *)Address = Data;
 315:Library/src/lcm32f06x_flash.c **** 
 316:Library/src/lcm32f06x_flash.c ****     /* Wait for last operation to be completed */
 317:Library/src/lcm32f06x_flash.c ****     while (FLASH->SR_b.EOP == 0)
 318:Library/src/lcm32f06x_flash.c ****     {
 319:Library/src/lcm32f06x_flash.c ****         status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 320:Library/src/lcm32f06x_flash.c ****         break;
 321:Library/src/lcm32f06x_flash.c ****     }
 322:Library/src/lcm32f06x_flash.c ****     FLASH->SR_b.EOP = 1;
 323:Library/src/lcm32f06x_flash.c ****     /* Disable the PG Bit */
 324:Library/src/lcm32f06x_flash.c ****     FLASH->CR &= ~FLASH_CR_PG_Msk;
 325:Library/src/lcm32f06x_flash.c ****   }
 326:Library/src/lcm32f06x_flash.c **** 
 327:Library/src/lcm32f06x_flash.c ****   /* Return the Program Status */
 328:Library/src/lcm32f06x_flash.c ****   return status;
 329:Library/src/lcm32f06x_flash.c **** }
 330:Library/src/lcm32f06x_flash.c **** 
 331:Library/src/lcm32f06x_flash.c **** /**
 332:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_OB_Unlock
 333:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Unlocks the option bytes block access.
 334:Library/src/lcm32f06x_flash.c ****   *         CN: 解锁选项字节区访问。
 335:Library/src/lcm32f06x_flash.c ****   * @param  None
 336:Library/src/lcm32f06x_flash.c ****   * @retval None
 337:Library/src/lcm32f06x_flash.c ****   */
 338:Library/src/lcm32f06x_flash.c **** void FLASH_OB_Unlock(void)
 339:Library/src/lcm32f06x_flash.c **** {
 340:Library/src/lcm32f06x_flash.c ****   if ((FLASH->CR & FLASH_CR_OPTWRE_Msk) == RESET)
 341:Library/src/lcm32f06x_flash.c ****   {
 342:Library/src/lcm32f06x_flash.c ****     /* Unlocking the option bytes block access */
 343:Library/src/lcm32f06x_flash.c ****     FLASH->OPTKEYR = FLASH_OPTKEY1;
 344:Library/src/lcm32f06x_flash.c ****     FLASH->OPTKEYR = FLASH_OPTKEY2;
 345:Library/src/lcm32f06x_flash.c ****     FLASH->CR &= ~(FLASH_CR_RDONLY_Msk);
 346:Library/src/lcm32f06x_flash.c ****   }
 347:Library/src/lcm32f06x_flash.c **** }
 348:Library/src/lcm32f06x_flash.c **** 
 349:Library/src/lcm32f06x_flash.c **** /**
 350:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_OB_Lock
 351:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Locks the option bytes block access.
 352:Library/src/lcm32f06x_flash.c ****   *         CN: 上锁选项字节区访问。
 353:Library/src/lcm32f06x_flash.c ****   * @param  None
 354:Library/src/lcm32f06x_flash.c ****   * @retval None
ARM GAS  /tmp/cc9cn0cw.s 			page 13


 355:Library/src/lcm32f06x_flash.c ****   */
 356:Library/src/lcm32f06x_flash.c **** void FLASH_OB_Lock(void)
 357:Library/src/lcm32f06x_flash.c **** {
 358:Library/src/lcm32f06x_flash.c ****   /* Set the OPTWREN Bit to lock the option bytes block access */
 359:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= ~FLASH_CR_OPTWRE_Msk;
 360:Library/src/lcm32f06x_flash.c ****   FLASH->CR |= FLASH_CR_RDONLY_Msk;
 361:Library/src/lcm32f06x_flash.c **** }
 362:Library/src/lcm32f06x_flash.c **** 
 363:Library/src/lcm32f06x_flash.c **** /** 
 364:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_DM_ErasePage
 365:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Half page erase FALSH user data area
 366:Library/src/lcm32f06x_flash.c ****   *         CN: 半页擦除 FALSH 用户数据区
 367:Library/src/lcm32f06x_flash.c ****   * @param  Page_Address
 368:Library/src/lcm32f06x_flash.c ****   *         EN: Address to be erased
 369:Library/src/lcm32f06x_flash.c ****   *         CN: 要擦除的地址
 370:Library/src/lcm32f06x_flash.c ****   * @retval FLASH_Status
 371:Library/src/lcm32f06x_flash.c ****   *         EN: Erase Status
 372:Library/src/lcm32f06x_flash.c ****   *         CN: 擦除状态
 373:Library/src/lcm32f06x_flash.c **** */
 374:Library/src/lcm32f06x_flash.c **** FLASH_Status FLASH_DM_ErasePage(uint32_t Page_Address)
 375:Library/src/lcm32f06x_flash.c **** {
 376:Library/src/lcm32f06x_flash.c ****     FLASH_Status status = FLASH_COMPLETE;
 377:Library/src/lcm32f06x_flash.c **** 
 378:Library/src/lcm32f06x_flash.c ****     /* Wait for last operation to be completed */
 379:Library/src/lcm32f06x_flash.c ****     status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 380:Library/src/lcm32f06x_flash.c **** 
 381:Library/src/lcm32f06x_flash.c ****     if(status == FLASH_COMPLETE)
 382:Library/src/lcm32f06x_flash.c ****     {
 383:Library/src/lcm32f06x_flash.c ****       
 384:Library/src/lcm32f06x_flash.c ****       FLASH->CR |= FLASH_CR_OPTER_Msk;
 385:Library/src/lcm32f06x_flash.c ****       FLASH->AR = ((uint32_t)(Page_Address));
 386:Library/src/lcm32f06x_flash.c ****       FLASH->CR |= FLASH_CR_STRT_Msk;
 387:Library/src/lcm32f06x_flash.c **** 
 388:Library/src/lcm32f06x_flash.c ****       /* Wait for last operation to be completed */
 389:Library/src/lcm32f06x_flash.c ****       while (FLASH->SR_b.EOP == 0)
 390:Library/src/lcm32f06x_flash.c ****       {
 391:Library/src/lcm32f06x_flash.c ****           status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 392:Library/src/lcm32f06x_flash.c ****           break;
 393:Library/src/lcm32f06x_flash.c ****       }
 394:Library/src/lcm32f06x_flash.c ****       FLASH->SR_b.EOP = 1;
 395:Library/src/lcm32f06x_flash.c ****       /* Disable the OPTER Bit */
 396:Library/src/lcm32f06x_flash.c ****       FLASH->CR &= ~FLASH_CR_OPTER_Msk;
 397:Library/src/lcm32f06x_flash.c ****     }
 398:Library/src/lcm32f06x_flash.c ****     return status;
 399:Library/src/lcm32f06x_flash.c ****     
 400:Library/src/lcm32f06x_flash.c **** }
 401:Library/src/lcm32f06x_flash.c **** 
 402:Library/src/lcm32f06x_flash.c **** /** 
 403:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_DM_ProgramWord
 404:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Word write user data
 405:Library/src/lcm32f06x_flash.c ****   *         CN: 字写入用户数据
 406:Library/src/lcm32f06x_flash.c ****   * @param  Address
 407:Library/src/lcm32f06x_flash.c ****   *         EN: Write address
 408:Library/src/lcm32f06x_flash.c ****   *         CN: 写入地址
 409:Library/src/lcm32f06x_flash.c ****   * @param  Data
 410:Library/src/lcm32f06x_flash.c ****   *         EN: Write data
 411:Library/src/lcm32f06x_flash.c ****   *         CN: 写入数据
ARM GAS  /tmp/cc9cn0cw.s 			page 14


 412:Library/src/lcm32f06x_flash.c ****   * @retval FLASH_Status
 413:Library/src/lcm32f06x_flash.c ****   *         EN: Write successful status
 414:Library/src/lcm32f06x_flash.c ****   *         CN: 写入成功状态
 415:Library/src/lcm32f06x_flash.c **** */
 416:Library/src/lcm32f06x_flash.c **** FLASH_Status FLASH_DM_ProgramWord(uint32_t Address, uint32_t Data)
 417:Library/src/lcm32f06x_flash.c **** {
 418:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 419:Library/src/lcm32f06x_flash.c **** 
 420:Library/src/lcm32f06x_flash.c ****   /* Wait for last operation to be completed */
 421:Library/src/lcm32f06x_flash.c ****   status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 422:Library/src/lcm32f06x_flash.c **** 
 423:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 424:Library/src/lcm32f06x_flash.c ****   {
 425:Library/src/lcm32f06x_flash.c ****     /* If the previous operation is completed, proceed to program the new data */
 426:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_OPTPG_Msk;
 427:Library/src/lcm32f06x_flash.c **** 
 428:Library/src/lcm32f06x_flash.c ****     *(__IO uint32_t *)Address = Data;
 429:Library/src/lcm32f06x_flash.c **** 
 430:Library/src/lcm32f06x_flash.c ****     /* Wait for last operation to be completed */
 431:Library/src/lcm32f06x_flash.c ****     while (FLASH->SR_b.EOP == 0)
 432:Library/src/lcm32f06x_flash.c ****     {
 433:Library/src/lcm32f06x_flash.c ****         status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 434:Library/src/lcm32f06x_flash.c ****         break;
 435:Library/src/lcm32f06x_flash.c ****     }
 436:Library/src/lcm32f06x_flash.c ****     FLASH->SR_b.EOP = 1;
 437:Library/src/lcm32f06x_flash.c ****     /* Disable the PG Bit */
 438:Library/src/lcm32f06x_flash.c ****     FLASH->CR &= ~FLASH_CR_OPTPG_Msk;
 439:Library/src/lcm32f06x_flash.c ****   }
 440:Library/src/lcm32f06x_flash.c **** 
 441:Library/src/lcm32f06x_flash.c ****   /* Return the Program Status */
 442:Library/src/lcm32f06x_flash.c ****   return status;
 443:Library/src/lcm32f06x_flash.c **** }
 444:Library/src/lcm32f06x_flash.c **** 
 445:Library/src/lcm32f06x_flash.c **** /** 
 446:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_DM_ProgramHalfWord
 447:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Half word write user data
 448:Library/src/lcm32f06x_flash.c ****   *         CN: 半字写入用户数据
 449:Library/src/lcm32f06x_flash.c ****   * @param  Address
 450:Library/src/lcm32f06x_flash.c ****   *         EN: Write address
 451:Library/src/lcm32f06x_flash.c ****   *         CN: 写入地址
 452:Library/src/lcm32f06x_flash.c ****   * @param  Data
 453:Library/src/lcm32f06x_flash.c ****   *         EN: Write data
 454:Library/src/lcm32f06x_flash.c ****   *         CN: 写入数据
 455:Library/src/lcm32f06x_flash.c ****   * @retval FLASH_Status
 456:Library/src/lcm32f06x_flash.c ****   *         EN: Write successful status
 457:Library/src/lcm32f06x_flash.c ****   *         CN: 写入成功状态
 458:Library/src/lcm32f06x_flash.c **** */
 459:Library/src/lcm32f06x_flash.c **** FLASH_Status FLASH_DM_ProgramHalfWord(uint32_t Address, uint16_t Data)
 460:Library/src/lcm32f06x_flash.c **** {
 461:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 462:Library/src/lcm32f06x_flash.c **** 
 463:Library/src/lcm32f06x_flash.c ****   /* Wait for last operation to be completed */
 464:Library/src/lcm32f06x_flash.c ****   status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 465:Library/src/lcm32f06x_flash.c **** 
 466:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 467:Library/src/lcm32f06x_flash.c ****   {
 468:Library/src/lcm32f06x_flash.c ****     /* If the previous operation is completed, proceed to program the new data */
ARM GAS  /tmp/cc9cn0cw.s 			page 15


 469:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_OPTPG_Msk;
 470:Library/src/lcm32f06x_flash.c **** 
 471:Library/src/lcm32f06x_flash.c ****     *(__IO uint16_t *)Address = Data;
 472:Library/src/lcm32f06x_flash.c **** 
 473:Library/src/lcm32f06x_flash.c ****     /* Wait for last operation to be completed */
 474:Library/src/lcm32f06x_flash.c ****     while (FLASH->SR_b.EOP == 0)
 475:Library/src/lcm32f06x_flash.c ****     {
 476:Library/src/lcm32f06x_flash.c ****         status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 477:Library/src/lcm32f06x_flash.c ****         break;
 478:Library/src/lcm32f06x_flash.c ****     }
 479:Library/src/lcm32f06x_flash.c ****     FLASH->SR_b.EOP = 1;
 480:Library/src/lcm32f06x_flash.c ****     /* Disable the PG Bit */
 481:Library/src/lcm32f06x_flash.c ****     FLASH->CR &= ~FLASH_CR_OPTPG_Msk;
 482:Library/src/lcm32f06x_flash.c ****   }
 483:Library/src/lcm32f06x_flash.c **** 
 484:Library/src/lcm32f06x_flash.c ****   /* Return the Program Status */
 485:Library/src/lcm32f06x_flash.c ****   return status;
 486:Library/src/lcm32f06x_flash.c **** }
 487:Library/src/lcm32f06x_flash.c **** 
 488:Library/src/lcm32f06x_flash.c **** /**
 489:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_OB_Erase
 490:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Erases the FLASH option bytes.
 491:Library/src/lcm32f06x_flash.c ****   *         CN: 擦除FLASH选项字节。
 492:Library/src/lcm32f06x_flash.c ****   * @note   To correctly run this function, the FLASH_OB_Unlock() function must be called before.
 493:Library/src/lcm32f06x_flash.c ****   * @note   Call the FLASH_OB_Lock() to disable the flash control register access and the option
 494:Library/src/lcm32f06x_flash.c ****   *         bytes (recommended to protect the FLASH memory against possible unwanted operation)
 495:Library/src/lcm32f06x_flash.c ****   * @param  None
 496:Library/src/lcm32f06x_flash.c ****   * @retval FLASH_Status: The returned value can be: FLASH_ERROR_PG,
 497:Library/src/lcm32f06x_flash.c ****   *         FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT.
 498:Library/src/lcm32f06x_flash.c ****   */
 499:Library/src/lcm32f06x_flash.c **** FLASH_Status FLASH_OB_Erase(void)
 500:Library/src/lcm32f06x_flash.c **** {
 501:Library/src/lcm32f06x_flash.c ****   uint16_t rdptmp = 0;
 502:Library/src/lcm32f06x_flash.c ****   uint16_t rdptmp2 = 0;
 503:Library/src/lcm32f06x_flash.c ****   uint16_t counter = 0;
 504:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 505:Library/src/lcm32f06x_flash.c ****   FLASH->AR = ((uint32_t)(OB_BASE));
 506:Library/src/lcm32f06x_flash.c ****   /* Get the actual read protection Option Byte value */
 507:Library/src/lcm32f06x_flash.c ****   /*if(FLASH_OB_GetRDP() != RESET)//读取保护等级，如果保护等级不是0，则预取置为L1
 508:Library/src/lcm32f06x_flash.c ****   {*/
 509:Library/src/lcm32f06x_flash.c ****   rdptmp = 0x00;
 510:Library/src/lcm32f06x_flash.c ****   for (counter = 0; counter < 4; counter++)
 511:Library/src/lcm32f06x_flash.c ****   {
 512:Library/src/lcm32f06x_flash.c ****     if (OB->RDP2[counter] != 0x33CC)
 513:Library/src/lcm32f06x_flash.c ****     {
 514:Library/src/lcm32f06x_flash.c ****       rdptmp2 = 1;
 515:Library/src/lcm32f06x_flash.c ****       break;
 516:Library/src/lcm32f06x_flash.c ****     }
 517:Library/src/lcm32f06x_flash.c ****   }
 518:Library/src/lcm32f06x_flash.c ****   if (rdptmp2)
 519:Library/src/lcm32f06x_flash.c ****   {
 520:Library/src/lcm32f06x_flash.c ****     for (counter = 0; counter < 8; counter++)
 521:Library/src/lcm32f06x_flash.c ****     {
 522:Library/src/lcm32f06x_flash.c ****       if (OB->RDP[counter] != 0x55AA)
 523:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 524:Library/src/lcm32f06x_flash.c ****     }
 525:Library/src/lcm32f06x_flash.c ****     rdptmp = rdptmp;
ARM GAS  /tmp/cc9cn0cw.s 			page 16


 526:Library/src/lcm32f06x_flash.c ****   }
 527:Library/src/lcm32f06x_flash.c **** 
 528:Library/src/lcm32f06x_flash.c ****   /* Wait for last operation to be completed */
 529:Library/src/lcm32f06x_flash.c ****   status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 530:Library/src/lcm32f06x_flash.c **** 
 531:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 532:Library/src/lcm32f06x_flash.c ****   {
 533:Library/src/lcm32f06x_flash.c ****     /* If the previous operation is completed, proceed to erase the option bytes */
 534:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_OPTER_Msk;
 535:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 536:Library/src/lcm32f06x_flash.c **** 
 537:Library/src/lcm32f06x_flash.c ****     /* Wait for last operation to be completed */
 538:Library/src/lcm32f06x_flash.c ****     status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 539:Library/src/lcm32f06x_flash.c **** 
 540:Library/src/lcm32f06x_flash.c ****     if (status == FLASH_COMPLETE)
 541:Library/src/lcm32f06x_flash.c ****     {
 542:Library/src/lcm32f06x_flash.c ****       /* If the erase operation is completed, disable the OPTER Bit */
 543:Library/src/lcm32f06x_flash.c ****       FLASH->CR &= ~FLASH_CR_OPTER_Msk;
 544:Library/src/lcm32f06x_flash.c **** 
 545:Library/src/lcm32f06x_flash.c ****       /* Enable the Option Bytes Programming operation */
 546:Library/src/lcm32f06x_flash.c ****       FLASH->CR |= FLASH_CR_OPTPG_Msk;
 547:Library/src/lcm32f06x_flash.c **** 
 548:Library/src/lcm32f06x_flash.c ****       /* Restore the last read protection Option Byte value */
 549:Library/src/lcm32f06x_flash.c ****       if (rdptmp2 == 0)
 550:Library/src/lcm32f06x_flash.c ****       {
 551:Library/src/lcm32f06x_flash.c ****         OB->RDP2[0] = 0xcc;
 552:Library/src/lcm32f06x_flash.c ****         OB->RDP2[1] = 0xcc;
 553:Library/src/lcm32f06x_flash.c ****         OB->RDP2[2] = 0xcc;
 554:Library/src/lcm32f06x_flash.c ****         OB->RDP2[3] = 0xcc;
 555:Library/src/lcm32f06x_flash.c ****       }
 556:Library/src/lcm32f06x_flash.c ****       else
 557:Library/src/lcm32f06x_flash.c ****       {
 558:Library/src/lcm32f06x_flash.c ****         for (counter = 0; counter < 8; counter++)
 559:Library/src/lcm32f06x_flash.c ****         {
 560:Library/src/lcm32f06x_flash.c ****           if (rdptmp >> counter)
 561:Library/src/lcm32f06x_flash.c ****           {
 562:Library/src/lcm32f06x_flash.c ****             OB->RDP[counter] = 0xBB;
 563:Library/src/lcm32f06x_flash.c ****           }
 564:Library/src/lcm32f06x_flash.c ****           else
 565:Library/src/lcm32f06x_flash.c ****           {
 566:Library/src/lcm32f06x_flash.c ****             OB->RDP[counter] = 0xAA;
 567:Library/src/lcm32f06x_flash.c ****           }
 568:Library/src/lcm32f06x_flash.c ****         }
 569:Library/src/lcm32f06x_flash.c ****       }
 570:Library/src/lcm32f06x_flash.c **** 
 571:Library/src/lcm32f06x_flash.c ****       /* Wait for last operation to be completed */
 572:Library/src/lcm32f06x_flash.c ****       status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 573:Library/src/lcm32f06x_flash.c **** 
 574:Library/src/lcm32f06x_flash.c ****       if (status != FLASH_TIMEOUT)
 575:Library/src/lcm32f06x_flash.c ****       {
 576:Library/src/lcm32f06x_flash.c ****         /* if the program operation is completed, disable the OPTPG Bit */
 577:Library/src/lcm32f06x_flash.c ****         FLASH->CR &= ~FLASH_CR_OPTPG_Msk;
 578:Library/src/lcm32f06x_flash.c ****       }
 579:Library/src/lcm32f06x_flash.c ****     }
 580:Library/src/lcm32f06x_flash.c ****     else
 581:Library/src/lcm32f06x_flash.c ****     {
 582:Library/src/lcm32f06x_flash.c ****       if (status != FLASH_TIMEOUT)
ARM GAS  /tmp/cc9cn0cw.s 			page 17


 583:Library/src/lcm32f06x_flash.c ****       {
 584:Library/src/lcm32f06x_flash.c ****         /* Disable the OPTPG Bit */
 585:Library/src/lcm32f06x_flash.c ****         FLASH->CR &= ~FLASH_CR_OPTPG_Msk;
 586:Library/src/lcm32f06x_flash.c ****       }
 587:Library/src/lcm32f06x_flash.c ****     }
 588:Library/src/lcm32f06x_flash.c ****   }
 589:Library/src/lcm32f06x_flash.c ****   /* Return the erase status */
 590:Library/src/lcm32f06x_flash.c ****   return status;
 591:Library/src/lcm32f06x_flash.c **** }
 592:Library/src/lcm32f06x_flash.c **** 
 593:Library/src/lcm32f06x_flash.c **** 
 594:Library/src/lcm32f06x_flash.c **** FLASH_Status FLASH_OB_EnableWRP(uint32_t OB_WRP)
 595:Library/src/lcm32f06x_flash.c **** {
 596:Library/src/lcm32f06x_flash.c ****   uint16_t WRP0_Data = 0xFFFF, WRP1_Data = 0xFFFF;
 597:Library/src/lcm32f06x_flash.c ****   uint16_t WRP2_Data = 0xFFFF, WRP3_Data = 0xFFFF;
 598:Library/src/lcm32f06x_flash.c **** 
 599:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 600:Library/src/lcm32f06x_flash.c **** 
 601:Library/src/lcm32f06x_flash.c ****   /* Check the parameters */
 602:Library/src/lcm32f06x_flash.c ****   assert_param(IS_OB_WRP(OB_WRP));
 603:Library/src/lcm32f06x_flash.c **** 
 604:Library/src/lcm32f06x_flash.c ****   OB_WRP = (uint32_t)(~OB_WRP);
 605:Library/src/lcm32f06x_flash.c ****   WRP0_Data = (uint16_t)(OB_WRP & OB_WRP0_WRP0);
 606:Library/src/lcm32f06x_flash.c ****   WRP1_Data = (uint16_t)((OB_WRP & OB_WRP0_nWRP0) >> 8);
 607:Library/src/lcm32f06x_flash.c ****   OB_WRP = OB_WRP >> 16;
 608:Library/src/lcm32f06x_flash.c ****   WRP2_Data = (uint16_t)(OB_WRP & OB_WRP0_WRP0);
 609:Library/src/lcm32f06x_flash.c ****   WRP3_Data = (uint16_t)((OB_WRP & OB_WRP0_nWRP0) >> 8);
 610:Library/src/lcm32f06x_flash.c ****   /* Wait for last operation to be completed */
 611:Library/src/lcm32f06x_flash.c ****   status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 612:Library/src/lcm32f06x_flash.c **** 
 613:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 614:Library/src/lcm32f06x_flash.c ****   {
 615:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_OPTPG_Msk;
 616:Library/src/lcm32f06x_flash.c **** 
 617:Library/src/lcm32f06x_flash.c ****     if (WRP0_Data != 0xFF)
 618:Library/src/lcm32f06x_flash.c ****     {
 619:Library/src/lcm32f06x_flash.c ****       OB->WRP[0] = WRP0_Data;
 620:Library/src/lcm32f06x_flash.c **** 
 621:Library/src/lcm32f06x_flash.c ****       /* Wait for last operation to be completed */
 622:Library/src/lcm32f06x_flash.c ****       status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 623:Library/src/lcm32f06x_flash.c ****     }
 624:Library/src/lcm32f06x_flash.c ****     if ((status == FLASH_COMPLETE) && (WRP1_Data != 0xFF))
 625:Library/src/lcm32f06x_flash.c ****     {
 626:Library/src/lcm32f06x_flash.c ****       OB->WRP[1] = WRP1_Data;
 627:Library/src/lcm32f06x_flash.c **** 
 628:Library/src/lcm32f06x_flash.c ****       /* Wait for last operation to be completed */
 629:Library/src/lcm32f06x_flash.c ****       status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 630:Library/src/lcm32f06x_flash.c ****     }
 631:Library/src/lcm32f06x_flash.c **** 
 632:Library/src/lcm32f06x_flash.c ****     if ((status == FLASH_COMPLETE) && (WRP2_Data != 0xFF))
 633:Library/src/lcm32f06x_flash.c ****     {
 634:Library/src/lcm32f06x_flash.c ****       OB->WRP[2] = WRP2_Data;
 635:Library/src/lcm32f06x_flash.c **** 
 636:Library/src/lcm32f06x_flash.c ****       /* Wait for last operation to be completed */
 637:Library/src/lcm32f06x_flash.c ****       status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 638:Library/src/lcm32f06x_flash.c ****     }
 639:Library/src/lcm32f06x_flash.c **** 
ARM GAS  /tmp/cc9cn0cw.s 			page 18


 640:Library/src/lcm32f06x_flash.c ****     if ((status == FLASH_COMPLETE) && (WRP1_Data != 0xFF))
 641:Library/src/lcm32f06x_flash.c ****     {
 642:Library/src/lcm32f06x_flash.c ****       OB->WRP[3] = WRP3_Data;
 643:Library/src/lcm32f06x_flash.c **** 
 644:Library/src/lcm32f06x_flash.c ****       /* Wait for last operation to be completed */
 645:Library/src/lcm32f06x_flash.c ****       status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 646:Library/src/lcm32f06x_flash.c ****     }
 647:Library/src/lcm32f06x_flash.c **** 
 648:Library/src/lcm32f06x_flash.c ****     if (status != FLASH_TIMEOUT)
 649:Library/src/lcm32f06x_flash.c ****     {
 650:Library/src/lcm32f06x_flash.c ****       /* if the program operation is completed, disable the OPTPG Bit */
 651:Library/src/lcm32f06x_flash.c ****       FLASH->CR &= ~FLASH_CR_OPTPG_Msk;
 652:Library/src/lcm32f06x_flash.c ****     }
 653:Library/src/lcm32f06x_flash.c ****   }
 654:Library/src/lcm32f06x_flash.c ****   /* Return the write protection operation Status */
 655:Library/src/lcm32f06x_flash.c ****   return status;
 656:Library/src/lcm32f06x_flash.c **** }
 657:Library/src/lcm32f06x_flash.c **** 
 658:Library/src/lcm32f06x_flash.c **** /**
 659:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_OB_RDPConfig
 660:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Enables or disables the read out protection.
 661:Library/src/lcm32f06x_flash.c ****   *         CN: 启用或禁用读取保护。
 662:Library/src/lcm32f06x_flash.c ****   * @note   To correctly run this function, the FLASH_OB_Unlock() function must be called before.
 663:Library/src/lcm32f06x_flash.c ****   * @note   Call the FLASH_OB_Lock() to disable the flash control register access and the option
 664:Library/src/lcm32f06x_flash.c ****   *         bytes (recommended to protect the FLASH memory against possible unwanted operation)
 665:Library/src/lcm32f06x_flash.c ****   * @param  OB_RDP:
 666:Library/src/lcm32f06x_flash.c ****   *         EN: specifies the read protection level. 
 667:Library/src/lcm32f06x_flash.c ****   *         CN: 指定读取保护级别。
 668:Library/src/lcm32f06x_flash.c ****   *             @arg OB_RDP_Level_0: No protection
 669:Library/src/lcm32f06x_flash.c ****   *             @arg OB_RDP_Level_1: Read protection of the memory
 670:Library/src/lcm32f06x_flash.c ****   * @retval FLASH Status: The returned value can be: 
 671:Library/src/lcm32f06x_flash.c ****   *         FLASH_ERROR_PROGRAM, FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT.
 672:Library/src/lcm32f06x_flash.c ****   */
 673:Library/src/lcm32f06x_flash.c **** FLASH_Status FLASH_OB_RDPConfig(uint8_t OB_RDP)
 674:Library/src/lcm32f06x_flash.c **** {
 675:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 676:Library/src/lcm32f06x_flash.c ****   uint16_t Rsb_counter;
 677:Library/src/lcm32f06x_flash.c ****   /* Check the parameters */
 678:Library/src/lcm32f06x_flash.c ****   status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 679:Library/src/lcm32f06x_flash.c ****   FLASH->AR = ((uint32_t)(OB_BASE));
 680:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 681:Library/src/lcm32f06x_flash.c ****   {
 682:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_OPTER_Msk;
 683:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 684:Library/src/lcm32f06x_flash.c **** 
 685:Library/src/lcm32f06x_flash.c ****     /* Wait for last operation to be completed */
 686:Library/src/lcm32f06x_flash.c ****     status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 687:Library/src/lcm32f06x_flash.c **** 
 688:Library/src/lcm32f06x_flash.c ****     if (status == FLASH_COMPLETE)
 689:Library/src/lcm32f06x_flash.c ****     {
 690:Library/src/lcm32f06x_flash.c ****       /* If the erase operation is completed, disable the OPTER Bit */
 691:Library/src/lcm32f06x_flash.c ****       FLASH->CR &= ~FLASH_CR_OPTER_Msk;
 692:Library/src/lcm32f06x_flash.c **** 
 693:Library/src/lcm32f06x_flash.c ****       /* Enable the Option Bytes Programming operation */
 694:Library/src/lcm32f06x_flash.c ****       FLASH->CR |= FLASH_CR_OPTPG_Msk;
 695:Library/src/lcm32f06x_flash.c ****       for (Rsb_counter = 0; Rsb_counter < 8; Rsb_counter++)
 696:Library/src/lcm32f06x_flash.c ****       {
ARM GAS  /tmp/cc9cn0cw.s 			page 19


 697:Library/src/lcm32f06x_flash.c ****         if (status == FLASH_COMPLETE)
 698:Library/src/lcm32f06x_flash.c ****         {
 699:Library/src/lcm32f06x_flash.c ****           if ((OB_RDP >> Rsb_counter) & 0x01)
 700:Library/src/lcm32f06x_flash.c ****           {
 701:Library/src/lcm32f06x_flash.c ****             OB->RDP[Rsb_counter] = (uint16_t)(0x33BB);
 702:Library/src/lcm32f06x_flash.c ****           }
 703:Library/src/lcm32f06x_flash.c ****           else
 704:Library/src/lcm32f06x_flash.c ****           {
 705:Library/src/lcm32f06x_flash.c ****             OB->RDP[Rsb_counter] = (uint16_t)(0x55AA);
 706:Library/src/lcm32f06x_flash.c ****           }
 707:Library/src/lcm32f06x_flash.c ****         }
 708:Library/src/lcm32f06x_flash.c ****         status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 709:Library/src/lcm32f06x_flash.c ****       }
 710:Library/src/lcm32f06x_flash.c ****       /* Wait for last operation to be completed */
 711:Library/src/lcm32f06x_flash.c ****       status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 712:Library/src/lcm32f06x_flash.c **** 
 713:Library/src/lcm32f06x_flash.c ****       if (status != FLASH_TIMEOUT)
 714:Library/src/lcm32f06x_flash.c ****       {
 715:Library/src/lcm32f06x_flash.c ****         /* if the program operation is completed, disable the OPTPG Bit */
 716:Library/src/lcm32f06x_flash.c ****         FLASH->CR &= ~FLASH_CR_OPTPG_Msk;
 717:Library/src/lcm32f06x_flash.c ****       }
 718:Library/src/lcm32f06x_flash.c ****     }
 719:Library/src/lcm32f06x_flash.c ****     else
 720:Library/src/lcm32f06x_flash.c ****     {
 721:Library/src/lcm32f06x_flash.c ****       if (status != FLASH_TIMEOUT)
 722:Library/src/lcm32f06x_flash.c ****       {
 723:Library/src/lcm32f06x_flash.c ****         /* Disable the OPTER Bit */
 724:Library/src/lcm32f06x_flash.c ****         FLASH->CR &= ~FLASH_CR_OPTPG_Msk;
 725:Library/src/lcm32f06x_flash.c ****       }
 726:Library/src/lcm32f06x_flash.c ****     }
 727:Library/src/lcm32f06x_flash.c ****   }
 728:Library/src/lcm32f06x_flash.c ****   /* Return the protection operation Status */
 729:Library/src/lcm32f06x_flash.c ****   return status;
 730:Library/src/lcm32f06x_flash.c **** }
 731:Library/src/lcm32f06x_flash.c **** 
 732:Library/src/lcm32f06x_flash.c **** /**
 733:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_OB_USERConfig
 734:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Programs the FLASH User Option Byte: IWDG_SW / RST_STOP / RST_STDBY.
 735:Library/src/lcm32f06x_flash.c ****   *         CN: 对FLASH用户选项字节进行编程：IWDG_SW/RST_STOP/RST_STDBY。
 736:Library/src/lcm32f06x_flash.c ****   * @note   To correctly run this function, the FLASH_OB_Unlock() function must be called before.
 737:Library/src/lcm32f06x_flash.c ****   * @note   Call the FLASH_OB_Lock() to disable the flash control register access and the option
 738:Library/src/lcm32f06x_flash.c ****   *         bytes (recommended to protect the FLASH memory against possible unwanted operation)
 739:Library/src/lcm32f06x_flash.c ****   * @param  IWDG_SEL:
 740:Library/src/lcm32f06x_flash.c ****   *         EN: IWDG sel. 
 741:Library/src/lcm32f06x_flash.c ****   *         CN: IWDG 设置。
 742:Library/src/lcm32f06x_flash.c ****   *             @arg OB_IWDG_HARD
 743:Library/src/lcm32f06x_flash.c ****   *             @arg OB_IWDG_SOFT
 744:Library/src/lcm32f06x_flash.c ****   * @param  OB_BOOT_SEL:
 745:Library/src/lcm32f06x_flash.c ****   *         EN: BOOT sel. 
 746:Library/src/lcm32f06x_flash.c ****   *         CN: BOOT 设置。
 747:Library/src/lcm32f06x_flash.c ****   *             @arg OB_BOOT0_HARD
 748:Library/src/lcm32f06x_flash.c ****   *             @arg OB_BOOT0_SOFT
 749:Library/src/lcm32f06x_flash.c ****   * @param  OB_BOOT1:
 750:Library/src/lcm32f06x_flash.c ****   *         EN: BOOT1 sel. 
 751:Library/src/lcm32f06x_flash.c ****   *         CN: BOOT1 设置。
 752:Library/src/lcm32f06x_flash.c ****   *             @arg OB_BOOT1_L
 753:Library/src/lcm32f06x_flash.c ****   *             @arg OB_BOOT1_H
ARM GAS  /tmp/cc9cn0cw.s 			page 20


 754:Library/src/lcm32f06x_flash.c ****   * @param  OB_BOOT0:
 755:Library/src/lcm32f06x_flash.c ****   *         EN: BOOT0 sel. 
 756:Library/src/lcm32f06x_flash.c ****   *         CN: BOOT0 设置。
 757:Library/src/lcm32f06x_flash.c ****   *             @arg OB_BOOT0_L
 758:Library/src/lcm32f06x_flash.c ****   *             @arg OB_BOOT0_H
 759:Library/src/lcm32f06x_flash.c ****   * @retval FLASH Status: The returned value can be: 
 760:Library/src/lcm32f06x_flash.c ****   *         FLASH_ERROR_PROGRAM, FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT.
 761:Library/src/lcm32f06x_flash.c ****   */
 762:Library/src/lcm32f06x_flash.c **** FLASH_Status FLASH_OB_USERConfig(uint8_t IWDG_SEL, uint8_t OB_BOOT_SEL, uint8_t OB_BOOT1, uint8_t O
 763:Library/src/lcm32f06x_flash.c **** {
 764:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 765:Library/src/lcm32f06x_flash.c ****   uint16_t usertmp;
 766:Library/src/lcm32f06x_flash.c **** 
 767:Library/src/lcm32f06x_flash.c ****   /* Wait for last operation to be completed */
 768:Library/src/lcm32f06x_flash.c ****   status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 769:Library/src/lcm32f06x_flash.c **** 
 770:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 771:Library/src/lcm32f06x_flash.c ****   {
 772:Library/src/lcm32f06x_flash.c ****     /* Enable the Option Bytes Programming operation */
 773:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_OPTPG_Msk;
 774:Library/src/lcm32f06x_flash.c **** 
 775:Library/src/lcm32f06x_flash.c ****     usertmp = (uint16_t)(IWDG_SEL & OB_BOOT_SEL & OB_BOOT1 & OB_BOOT0);
 776:Library/src/lcm32f06x_flash.c ****     OB->USER = usertmp;
 777:Library/src/lcm32f06x_flash.c ****     /* Wait for last operation to be completed */
 778:Library/src/lcm32f06x_flash.c ****     status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 779:Library/src/lcm32f06x_flash.c **** 
 780:Library/src/lcm32f06x_flash.c ****     if (status != FLASH_TIMEOUT)
 781:Library/src/lcm32f06x_flash.c ****     {
 782:Library/src/lcm32f06x_flash.c ****       /* If the program operation is completed, disable the OPTPG Bit */
 783:Library/src/lcm32f06x_flash.c ****       FLASH->CR &= ~FLASH_CR_OPTPG_Msk;
 784:Library/src/lcm32f06x_flash.c ****     }
 785:Library/src/lcm32f06x_flash.c ****   }
 786:Library/src/lcm32f06x_flash.c ****   /* Return the Option Byte program Status */
 787:Library/src/lcm32f06x_flash.c ****   return status;
 788:Library/src/lcm32f06x_flash.c **** }
 789:Library/src/lcm32f06x_flash.c **** 
 790:Library/src/lcm32f06x_flash.c **** /**
 791:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_OB_ProgramData
 792:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Programs the FLASH User Option Byte.
 793:Library/src/lcm32f06x_flash.c ****   *         CN: 对FLASH用户选项字节进行编程。
 794:Library/src/lcm32f06x_flash.c ****   * @note   To correctly run this function, the FLASH_OB_Unlock() function must be called before.
 795:Library/src/lcm32f06x_flash.c ****   * @note   Call the FLASH_OB_Lock() to disable the flash control register access and the option
 796:Library/src/lcm32f06x_flash.c ****   *         bytes (recommended to protect the FLASH memory against possible unwanted operation)
 797:Library/src/lcm32f06x_flash.c ****   * @param  DATAx:
 798:Library/src/lcm32f06x_flash.c ****   *         EN: Write data address. 
 799:Library/src/lcm32f06x_flash.c ****   *         CN: 写入数据地址。
 800:Library/src/lcm32f06x_flash.c ****   *             @arg OB_USER_DATA0
 801:Library/src/lcm32f06x_flash.c ****   *             @arg OB_USER_DATA1
 802:Library/src/lcm32f06x_flash.c ****   *             @arg OB_USER_DATA2
 803:Library/src/lcm32f06x_flash.c ****   * @param  OB_DATA:
 804:Library/src/lcm32f06x_flash.c ****   *         EN: Programming data.
 805:Library/src/lcm32f06x_flash.c ****   *         CN: 编程数据。
 806:Library/src/lcm32f06x_flash.c ****   * @retval FLASH Status: The returned value can be: 
 807:Library/src/lcm32f06x_flash.c ****   *         FLASH_ERROR_PROGRAM, FLASH_ERROR_WRP, FLASH_COMPLETE or FLASH_TIMEOUT.
 808:Library/src/lcm32f06x_flash.c ****   */
 809:Library/src/lcm32f06x_flash.c **** FLASH_Status FLASH_OB_ProgramData(uint8_t DATAx, uint8_t OB_DATA)
 810:Library/src/lcm32f06x_flash.c **** {
ARM GAS  /tmp/cc9cn0cw.s 			page 21


 811:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 812:Library/src/lcm32f06x_flash.c ****   assert_param(IS_OB_USER_DATA(DATAx));
 813:Library/src/lcm32f06x_flash.c **** 
 814:Library/src/lcm32f06x_flash.c ****   /* Wait for last operation to be completed */
 815:Library/src/lcm32f06x_flash.c ****   status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 816:Library/src/lcm32f06x_flash.c **** 
 817:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 818:Library/src/lcm32f06x_flash.c ****   {
 819:Library/src/lcm32f06x_flash.c ****     /* Enable the Option Bytes Programming operation */
 820:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_OPTPG_Msk;
 821:Library/src/lcm32f06x_flash.c **** 
 822:Library/src/lcm32f06x_flash.c ****     OB->DATA[DATAx] = ((uint16_t)OB_DATA);
 823:Library/src/lcm32f06x_flash.c **** 
 824:Library/src/lcm32f06x_flash.c ****     /* Wait for last operation to be completed */
 825:Library/src/lcm32f06x_flash.c ****     status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);
 826:Library/src/lcm32f06x_flash.c **** 
 827:Library/src/lcm32f06x_flash.c ****     if (status != FLASH_TIMEOUT)
 828:Library/src/lcm32f06x_flash.c ****     {
 829:Library/src/lcm32f06x_flash.c ****       /* If the program operation is completed, disable the OPTPG Bit */
 830:Library/src/lcm32f06x_flash.c ****       FLASH->CR &= ~FLASH_CR_OPTPG_Msk;
 831:Library/src/lcm32f06x_flash.c ****     }
 832:Library/src/lcm32f06x_flash.c ****   }
 833:Library/src/lcm32f06x_flash.c ****   /* Return the Option Byte program Status */
 834:Library/src/lcm32f06x_flash.c ****   return status;
 835:Library/src/lcm32f06x_flash.c **** }
 836:Library/src/lcm32f06x_flash.c **** 
 837:Library/src/lcm32f06x_flash.c **** /**
 838:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_ITConfig
 839:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Enables or disables the specified FLASH interrupts.
 840:Library/src/lcm32f06x_flash.c ****   *         CN: 启用或禁用指定的FLASH中断。
 841:Library/src/lcm32f06x_flash.c ****   * @param  FLASH_IT:
 842:Library/src/lcm32f06x_flash.c ****   *         EN: specifies the FLASH interrupt sources to be enabled or  disabled.
 843:Library/src/lcm32f06x_flash.c ****   *         CN: 指定要启用或禁用的FLASH中断源。
 844:Library/src/lcm32f06x_flash.c ****   *             @arg FLASH_IT_EOPIE
 845:Library/src/lcm32f06x_flash.c ****   *             @arg FLASH_IT_ERRIE
 846:Library/src/lcm32f06x_flash.c ****   *             @arg FLASH_IT_OPTWRE
 847:Library/src/lcm32f06x_flash.c ****   * @retval None 
 848:Library/src/lcm32f06x_flash.c ****   */
 849:Library/src/lcm32f06x_flash.c **** void FLASH_ITConfig(uint32_t FLASH_IT, FunctionalState NewState)
 850:Library/src/lcm32f06x_flash.c **** {
 851:Library/src/lcm32f06x_flash.c ****   /* Check the parameters */
 852:Library/src/lcm32f06x_flash.c ****   assert_param(IS_FLASH_IT(FLASH_IT));
 853:Library/src/lcm32f06x_flash.c ****   assert_param(IS_FUNCTIONAL_STATE(NewState));
 854:Library/src/lcm32f06x_flash.c **** 
 855:Library/src/lcm32f06x_flash.c ****   if (NewState != DISABLE)
 856:Library/src/lcm32f06x_flash.c ****   {
 857:Library/src/lcm32f06x_flash.c ****     /* Enable the interrupt sources */
 858:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_IT;
 859:Library/src/lcm32f06x_flash.c ****   }
 860:Library/src/lcm32f06x_flash.c ****   else
 861:Library/src/lcm32f06x_flash.c ****   {
 862:Library/src/lcm32f06x_flash.c ****     /* Disable the interrupt sources */
 863:Library/src/lcm32f06x_flash.c ****     FLASH->CR &= ~(uint32_t)FLASH_IT;
 864:Library/src/lcm32f06x_flash.c ****   }
 865:Library/src/lcm32f06x_flash.c **** }
 866:Library/src/lcm32f06x_flash.c **** 
 867:Library/src/lcm32f06x_flash.c **** /**
ARM GAS  /tmp/cc9cn0cw.s 			page 22


 868:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_GetFlagStatus
 869:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Checks whether the specified FLASH flag is set or not.
 870:Library/src/lcm32f06x_flash.c ****   *         CN: 检查是否设置了指定的FLASH标志。
 871:Library/src/lcm32f06x_flash.c ****   * @param  FLASH_IT:
 872:Library/src/lcm32f06x_flash.c ****   *         EN: specifies the FLASH flag to check.
 873:Library/src/lcm32f06x_flash.c ****   *         CN: 指定要检查的FLASH标志。
 874:Library/src/lcm32f06x_flash.c ****   *             @arg FLASH_FLAG_BSY
 875:Library/src/lcm32f06x_flash.c ****   *             @arg FLASH_FLAG_PGERR
 876:Library/src/lcm32f06x_flash.c ****   *             @arg FLASH_FLAG_WRPERR
 877:Library/src/lcm32f06x_flash.c ****   *             @arg FLASH_FLAG_EOP
 878:Library/src/lcm32f06x_flash.c ****   * @retval EN: The new state of FLASH_FLAG (SET or RESET).
 879:Library/src/lcm32f06x_flash.c ****   *         CN: FLASH_FLAG的新状态（SET或RESET）。
 880:Library/src/lcm32f06x_flash.c ****   */
 881:Library/src/lcm32f06x_flash.c **** FlagStatus FLASH_GetFlagStatus(uint32_t FLASH_FLAG)
 882:Library/src/lcm32f06x_flash.c **** {
 883:Library/src/lcm32f06x_flash.c ****   FlagStatus bitstatus = RESET;
 884:Library/src/lcm32f06x_flash.c **** 
 885:Library/src/lcm32f06x_flash.c ****   /* Check the parameters */
 886:Library/src/lcm32f06x_flash.c ****   assert_param(IS_FLASH_GET_FLAG(FLASH_FLAG));
 887:Library/src/lcm32f06x_flash.c **** 
 888:Library/src/lcm32f06x_flash.c ****   if ((FLASH->SR & FLASH_FLAG) != (uint32_t)RESET)
 889:Library/src/lcm32f06x_flash.c ****   {
 890:Library/src/lcm32f06x_flash.c ****     bitstatus = SET;
 891:Library/src/lcm32f06x_flash.c ****   }
 892:Library/src/lcm32f06x_flash.c ****   else
 893:Library/src/lcm32f06x_flash.c ****   {
 894:Library/src/lcm32f06x_flash.c ****     bitstatus = RESET;
 895:Library/src/lcm32f06x_flash.c ****   }
 896:Library/src/lcm32f06x_flash.c ****   /* Return the new state of FLASH_FLAG (SET or RESET) */
 897:Library/src/lcm32f06x_flash.c ****   return bitstatus;
 898:Library/src/lcm32f06x_flash.c **** }
 899:Library/src/lcm32f06x_flash.c **** 
 900:Library/src/lcm32f06x_flash.c **** /**
 901:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_OB_GetUser
 902:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Returns the FLASH User Option Bytes values.
 903:Library/src/lcm32f06x_flash.c ****   *         CN: 返回FLASH用户选项字节值。
 904:Library/src/lcm32f06x_flash.c ****   * @param  None
 905:Library/src/lcm32f06x_flash.c ****   * @retval EN:The FLASH User Option Bytes .
 906:Library/src/lcm32f06x_flash.c ****   *         CN:FLASH用户选项字节数。
 907:Library/src/lcm32f06x_flash.c ****   */
 908:Library/src/lcm32f06x_flash.c **** uint8_t FLASH_OB_GetUser(void)
 909:Library/src/lcm32f06x_flash.c **** {
 910:Library/src/lcm32f06x_flash.c ****   /* Return the User Option Byte */
 911:Library/src/lcm32f06x_flash.c ****   return (uint8_t)(FLASH->OBR >> 8);
 912:Library/src/lcm32f06x_flash.c **** }
 913:Library/src/lcm32f06x_flash.c **** 
 914:Library/src/lcm32f06x_flash.c **** /**
 915:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_OB_GetWRP
 916:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Returns the FLASH Write Protection Option Bytes value.
 917:Library/src/lcm32f06x_flash.c ****   *         CN: 返回FLASH写入保护选项字节值。
 918:Library/src/lcm32f06x_flash.c ****   * @param  None
 919:Library/src/lcm32f06x_flash.c ****   * @retval EN:The FLASH Write Protection Option Bytes value.
 920:Library/src/lcm32f06x_flash.c ****   *         CN:FLASH写入保护选项字节值。
 921:Library/src/lcm32f06x_flash.c ****   */
 922:Library/src/lcm32f06x_flash.c **** uint32_t FLASH_OB_GetWRP(void)
 923:Library/src/lcm32f06x_flash.c **** {
 924:Library/src/lcm32f06x_flash.c ****   /* Return the FLASH write protection Register value */
ARM GAS  /tmp/cc9cn0cw.s 			page 23


 925:Library/src/lcm32f06x_flash.c ****   return (uint32_t)(FLASH->WRPR);
 926:Library/src/lcm32f06x_flash.c **** }
 927:Library/src/lcm32f06x_flash.c **** 
 928:Library/src/lcm32f06x_flash.c **** /**
 929:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_WaitForLastOperation
 930:Library/src/lcm32f06x_flash.c ****   * @brief  EN: FLASH wait for last operation.
 931:Library/src/lcm32f06x_flash.c ****   *         CN: FLASH等待最后一次操作。
 932:Library/src/lcm32f06x_flash.c ****   * @param  Timeout
 933:Library/src/lcm32f06x_flash.c ****   *         EN:Time out.
 934:Library/src/lcm32f06x_flash.c ****   *         CN:超时时间。
 935:Library/src/lcm32f06x_flash.c ****   * @retval FLASH_Status
 936:Library/src/lcm32f06x_flash.c ****   */
 937:Library/src/lcm32f06x_flash.c **** FLASH_Status FLASH_WaitForLastOperation(uint32_t Timeout)
 325              		.loc 1 937 14 view .LVU74
 326              	.LBB85:
 938:Library/src/lcm32f06x_flash.c **** {
 939:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 327              		.loc 1 939 3 view .LVU75
 940:Library/src/lcm32f06x_flash.c **** 
 941:Library/src/lcm32f06x_flash.c ****   /* Check for the FLASH Status */
 942:Library/src/lcm32f06x_flash.c ****   status = FLASH_GetStatus();
 328              		.loc 1 942 3 view .LVU76
 329              	.LBB86:
 330              	.LBI86:
 943:Library/src/lcm32f06x_flash.c **** 
 944:Library/src/lcm32f06x_flash.c ****   /* Wait for a FLASH operation to complete or a TIMEOUT to occur */
 945:Library/src/lcm32f06x_flash.c ****   while ((status == FLASH_BUSY) && (Timeout != 0x00))
 946:Library/src/lcm32f06x_flash.c ****   {
 947:Library/src/lcm32f06x_flash.c ****     status = FLASH_GetStatus();
 948:Library/src/lcm32f06x_flash.c ****     Timeout--;
 949:Library/src/lcm32f06x_flash.c ****   }
 950:Library/src/lcm32f06x_flash.c **** 
 951:Library/src/lcm32f06x_flash.c ****   if (Timeout == 0x00)
 952:Library/src/lcm32f06x_flash.c ****   {
 953:Library/src/lcm32f06x_flash.c ****     status = FLASH_TIMEOUT;
 954:Library/src/lcm32f06x_flash.c ****   }
 955:Library/src/lcm32f06x_flash.c ****   /* Return the operation status */
 956:Library/src/lcm32f06x_flash.c ****   return status;
 957:Library/src/lcm32f06x_flash.c **** }
 958:Library/src/lcm32f06x_flash.c **** 
 959:Library/src/lcm32f06x_flash.c **** /**
 960:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_GetStatus
 961:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Get FLASH status.
 962:Library/src/lcm32f06x_flash.c ****   *         CN: 获取FLASH状态。
 963:Library/src/lcm32f06x_flash.c ****   * @param  None
 964:Library/src/lcm32f06x_flash.c ****   * @retval FLASH_Status
 965:Library/src/lcm32f06x_flash.c ****   */
 966:Library/src/lcm32f06x_flash.c **** FLASH_Status FLASH_GetStatus(void)
 331              		.loc 1 966 14 view .LVU77
 332              	.LBB87:
 967:Library/src/lcm32f06x_flash.c **** {
 968:Library/src/lcm32f06x_flash.c ****   FLASH_Status FLASHstatus = FLASH_COMPLETE;
 333              		.loc 1 968 3 view .LVU78
 969:Library/src/lcm32f06x_flash.c **** 
 970:Library/src/lcm32f06x_flash.c ****   if ((FLASH->SR & FLASH_FLAG_BSY) == FLASH_FLAG_BSY)
 334              		.loc 1 970 3 view .LVU79
 335              		.loc 1 970 13 is_stmt 0 view .LVU80
ARM GAS  /tmp/cc9cn0cw.s 			page 24


 336 0000 364A     		ldr	r2, .L64
 337              	.LBE87:
 338              	.LBE86:
 339              	.LBE85:
 340              	.LBE84:
 171:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 341              		.loc 1 171 1 view .LVU81
 342 0002 30B5     		push	{r4, r5, lr}
 343              	.LCFI0:
 344              		.cfi_def_cfa_offset 12
 345              		.cfi_offset 4, -12
 346              		.cfi_offset 5, -8
 347              		.cfi_offset 14, -4
 348              	.LBB127:
 349              	.LBB120:
 350              	.LBB95:
 351              	.LBB90:
 352              		.loc 1 970 13 view .LVU82
 353 0004 D368     		ldr	r3, [r2, #12]
 354              	.LBE90:
 355              	.LBE95:
 356              	.LBE120:
 357              	.LBE127:
 171:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 358              		.loc 1 171 1 view .LVU83
 359 0006 0500     		movs	r5, r0
 360              	.LBB128:
 361              	.LBB121:
 362              	.LBB96:
 363              	.LBB91:
 364              		.loc 1 970 6 view .LVU84
 365 0008 DB07     		lsls	r3, r3, #31
 366 000a 1ED4     		bmi	.L44
 971:Library/src/lcm32f06x_flash.c ****   {
 972:Library/src/lcm32f06x_flash.c ****     FLASHstatus = FLASH_BUSY;
 973:Library/src/lcm32f06x_flash.c ****   }
 974:Library/src/lcm32f06x_flash.c ****   else
 975:Library/src/lcm32f06x_flash.c ****   {
 976:Library/src/lcm32f06x_flash.c ****     if ((FLASH->SR & (uint32_t)FLASH_FLAG_WRPERR) != (uint32_t)0x00)
 367              		.loc 1 976 5 is_stmt 1 view .LVU85
 368              		.loc 1 976 15 is_stmt 0 view .LVU86
 369 000c D368     		ldr	r3, [r2, #12]
 370              		.loc 1 976 8 view .LVU87
 371 000e DB06     		lsls	r3, r3, #27
 372 0010 39D4     		bmi	.L45
 373              	.LBB88:
 374              	.LBI88:
 966:Library/src/lcm32f06x_flash.c **** {
 375              		.loc 1 966 14 is_stmt 1 view .LVU88
 376              	.LBB89:
 977:Library/src/lcm32f06x_flash.c ****     {
 978:Library/src/lcm32f06x_flash.c ****       FLASHstatus = FLASH_ERROR_WRP;
 979:Library/src/lcm32f06x_flash.c ****     }
 980:Library/src/lcm32f06x_flash.c ****     else
 981:Library/src/lcm32f06x_flash.c ****     {
 982:Library/src/lcm32f06x_flash.c ****       if ((FLASH->SR & (uint32_t)(FLASH_SR_PGERR_Msk)) != (uint32_t)0x00)
 377              		.loc 1 982 7 view .LVU89
ARM GAS  /tmp/cc9cn0cw.s 			page 25


 378              		.loc 1 982 17 is_stmt 0 view .LVU90
 379 0012 D368     		ldr	r3, [r2, #12]
 983:Library/src/lcm32f06x_flash.c ****       {
 984:Library/src/lcm32f06x_flash.c ****         FLASHstatus = FLASH_ERROR_PROGRAM;
 380              		.loc 1 984 21 view .LVU91
 381 0014 0320     		movs	r0, #3
 382              	.LVL9:
 982:Library/src/lcm32f06x_flash.c ****       {
 383              		.loc 1 982 10 view .LVU92
 384 0016 5B07     		lsls	r3, r3, #29
 385 0018 34D4     		bmi	.L56
 386              	.LVL10:
 387              	.L34:
 982:Library/src/lcm32f06x_flash.c ****       {
 388              		.loc 1 982 10 view .LVU93
 389              	.LBE89:
 390              	.LBE88:
 391              	.LBE91:
 392              	.LBE96:
 393              	.LBE121:
 394              	.LBE128:
 183:Library/src/lcm32f06x_flash.c ****     FLASH->AR = Page_Address;
 395              		.loc 1 183 5 is_stmt 1 view .LVU94
 183:Library/src/lcm32f06x_flash.c ****     FLASH->AR = Page_Address;
 396              		.loc 1 183 15 is_stmt 0 view .LVU95
 397 001a 0222     		movs	r2, #2
 183:Library/src/lcm32f06x_flash.c ****     FLASH->AR = Page_Address;
 398              		.loc 1 183 10 view .LVU96
 399 001c 2F49     		ldr	r1, .L64
 178:Library/src/lcm32f06x_flash.c **** 
 400              		.loc 1 178 12 view .LVU97
 401 001e 0420     		movs	r0, #4
 183:Library/src/lcm32f06x_flash.c ****     FLASH->AR = Page_Address;
 402              		.loc 1 183 10 view .LVU98
 403 0020 0B69     		ldr	r3, [r1, #16]
 183:Library/src/lcm32f06x_flash.c ****     FLASH->AR = Page_Address;
 404              		.loc 1 183 15 view .LVU99
 405 0022 1343     		orrs	r3, r2
 406 0024 0B61     		str	r3, [r1, #16]
 184:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 407              		.loc 1 184 5 is_stmt 1 view .LVU100
 184:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 408              		.loc 1 184 15 is_stmt 0 view .LVU101
 409 0026 4D61     		str	r5, [r1, #20]
 185:Library/src/lcm32f06x_flash.c ****     while (FLASH->SR_b.EOP == 0)
 410              		.loc 1 185 5 is_stmt 1 view .LVU102
 185:Library/src/lcm32f06x_flash.c ****     while (FLASH->SR_b.EOP == 0)
 411              		.loc 1 185 10 is_stmt 0 view .LVU103
 412 0028 0B69     		ldr	r3, [r1, #16]
 185:Library/src/lcm32f06x_flash.c ****     while (FLASH->SR_b.EOP == 0)
 413              		.loc 1 185 15 view .LVU104
 414 002a 3E32     		adds	r2, r2, #62
 415 002c 1343     		orrs	r3, r2
 416 002e 0B61     		str	r3, [r1, #16]
 186:Library/src/lcm32f06x_flash.c ****     {
 417              		.loc 1 186 5 is_stmt 1 view .LVU105
 186:Library/src/lcm32f06x_flash.c ****     {
ARM GAS  /tmp/cc9cn0cw.s 			page 26


 418              		.loc 1 186 28 view .LVU106
 186:Library/src/lcm32f06x_flash.c ****     {
 419              		.loc 1 186 23 is_stmt 0 view .LVU107
 420 0030 CB68     		ldr	r3, [r1, #12]
 186:Library/src/lcm32f06x_flash.c ****     {
 421              		.loc 1 186 28 view .LVU108
 422 0032 9B06     		lsls	r3, r3, #26
 423 0034 29D5     		bpl	.L63
 424              	.L39:
 425              	.LVL11:
 191:Library/src/lcm32f06x_flash.c ****     /* Disable the PER Bit */
 426              		.loc 1 191 5 is_stmt 1 view .LVU109
 191:Library/src/lcm32f06x_flash.c ****     /* Disable the PER Bit */
 427              		.loc 1 191 21 is_stmt 0 view .LVU110
 428 0036 2021     		movs	r1, #32
 429 0038 284B     		ldr	r3, .L64
 430 003a DA68     		ldr	r2, [r3, #12]
 431 003c 0A43     		orrs	r2, r1
 432 003e DA60     		str	r2, [r3, #12]
 193:Library/src/lcm32f06x_flash.c ****   }
 433              		.loc 1 193 5 is_stmt 1 view .LVU111
 193:Library/src/lcm32f06x_flash.c ****   }
 434              		.loc 1 193 10 is_stmt 0 view .LVU112
 435 0040 1A69     		ldr	r2, [r3, #16]
 193:Library/src/lcm32f06x_flash.c ****   }
 436              		.loc 1 193 15 view .LVU113
 437 0042 1E39     		subs	r1, r1, #30
 438 0044 8A43     		bics	r2, r1
 439 0046 1A61     		str	r2, [r3, #16]
 440 0048 1CE0     		b	.L56
 441              	.LVL12:
 442              	.L44:
 443              	.LBB129:
 444              	.LBB122:
 445              	.LBB97:
 446              	.LBB92:
 193:Library/src/lcm32f06x_flash.c ****   }
 447              		.loc 1 193 15 view .LVU114
 448 004a B023     		movs	r3, #176
 449              	.LBE92:
 450              	.LBE97:
 451              	.LBB98:
 452              	.LBB99:
 970:Library/src/lcm32f06x_flash.c ****   {
 453              		.loc 1 970 18 view .LVU115
 454 004c 0124     		movs	r4, #1
 455              	.LBE99:
 456              	.LBE98:
 457              	.LBB112:
 458              	.LBB93:
 459 004e 1B03     		lsls	r3, r3, #12
 460              	.LVL13:
 461              	.L31:
 970:Library/src/lcm32f06x_flash.c ****   {
 462              		.loc 1 970 18 view .LVU116
 463              	.LBE93:
 464              	.LBE112:
ARM GAS  /tmp/cc9cn0cw.s 			page 27


 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 465              		.loc 1 947 5 is_stmt 1 view .LVU117
 466              	.LBB113:
 467              	.LBI98:
 966:Library/src/lcm32f06x_flash.c **** {
 468              		.loc 1 966 14 view .LVU118
 469              	.LBB106:
 968:Library/src/lcm32f06x_flash.c **** 
 470              		.loc 1 968 3 view .LVU119
 970:Library/src/lcm32f06x_flash.c ****   {
 471              		.loc 1 970 3 view .LVU120
 970:Library/src/lcm32f06x_flash.c ****   {
 472              		.loc 1 970 13 is_stmt 0 view .LVU121
 473 0050 D168     		ldr	r1, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 474              		.loc 1 970 6 view .LVU122
 475 0052 0C42     		tst	r4, r1
 476 0054 0BD1     		bne	.L35
 976:Library/src/lcm32f06x_flash.c ****     {
 477              		.loc 1 976 5 is_stmt 1 view .LVU123
 976:Library/src/lcm32f06x_flash.c ****     {
 478              		.loc 1 976 15 is_stmt 0 view .LVU124
 479 0056 D168     		ldr	r1, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 480              		.loc 1 976 8 view .LVU125
 481 0058 C906     		lsls	r1, r1, #27
 482 005a 0DD4     		bmi	.L36
 483              	.LBB100:
 484              	.LBI100:
 966:Library/src/lcm32f06x_flash.c **** {
 485              		.loc 1 966 14 is_stmt 1 view .LVU126
 486              	.LBB101:
 982:Library/src/lcm32f06x_flash.c ****       {
 487              		.loc 1 982 7 view .LVU127
 982:Library/src/lcm32f06x_flash.c ****       {
 488              		.loc 1 982 17 is_stmt 0 view .LVU128
 489 005c D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 490              		.loc 1 982 10 view .LVU129
 491 005e 5207     		lsls	r2, r2, #29
 492 0060 0DD5     		bpl	.L37
 493              	.LVL14:
 982:Library/src/lcm32f06x_flash.c ****       {
 494              		.loc 1 982 10 view .LVU130
 495              	.LBE101:
 496              	.LBE100:
 985:Library/src/lcm32f06x_flash.c ****       }
 986:Library/src/lcm32f06x_flash.c ****       else
 987:Library/src/lcm32f06x_flash.c ****       {
 988:Library/src/lcm32f06x_flash.c ****         FLASHstatus = FLASH_COMPLETE;
 989:Library/src/lcm32f06x_flash.c ****       }
 990:Library/src/lcm32f06x_flash.c ****     }
 991:Library/src/lcm32f06x_flash.c ****   }
 992:Library/src/lcm32f06x_flash.c ****   /* Return the FLASH Status */
 993:Library/src/lcm32f06x_flash.c ****   return FLASHstatus;
 497              		.loc 1 993 3 is_stmt 1 view .LVU131
 498              		.loc 1 993 3 is_stmt 0 view .LVU132
ARM GAS  /tmp/cc9cn0cw.s 			page 28


 499              	.LBE106:
 500              	.LBE113:
 948:Library/src/lcm32f06x_flash.c ****   }
 501              		.loc 1 948 5 is_stmt 1 view .LVU133
 502              	.LBB114:
 503              	.LBB107:
 504              	.LBB104:
 505              	.LBB102:
 984:Library/src/lcm32f06x_flash.c ****       }
 506              		.loc 1 984 21 is_stmt 0 view .LVU134
 507 0062 0320     		movs	r0, #3
 508              	.LVL15:
 984:Library/src/lcm32f06x_flash.c ****       }
 509              		.loc 1 984 21 view .LVU135
 510              	.LBE102:
 511              	.LBE104:
 512              	.LBE107:
 513              	.LBE114:
 948:Library/src/lcm32f06x_flash.c ****   }
 514              		.loc 1 948 12 view .LVU136
 515 0064 013B     		subs	r3, r3, #1
 516              	.LVL16:
 945:Library/src/lcm32f06x_flash.c ****   {
 517              		.loc 1 945 33 is_stmt 1 view .LVU137
 518              	.L38:
 951:Library/src/lcm32f06x_flash.c ****   {
 519              		.loc 1 951 3 view .LVU138
 951:Library/src/lcm32f06x_flash.c ****   {
 520              		.loc 1 951 6 is_stmt 0 view .LVU139
 521 0066 002B     		cmp	r3, #0
 522 0068 0CD1     		bne	.L56
 523              	.LBE122:
 524              	.LBE129:
 178:Library/src/lcm32f06x_flash.c **** 
 525              		.loc 1 178 12 view .LVU140
 526 006a 0520     		movs	r0, #5
 527              	.LVL17:
 197:Library/src/lcm32f06x_flash.c **** }
 528              		.loc 1 197 3 is_stmt 1 view .LVU141
 197:Library/src/lcm32f06x_flash.c **** }
 529              		.loc 1 197 10 is_stmt 0 view .LVU142
 530 006c 0AE0     		b	.L56
 531              	.LVL18:
 532              	.L35:
 533              	.LBB130:
 534              	.LBB123:
 535              	.LBB115:
 536              	.LBB108:
 537              		.loc 1 993 3 is_stmt 1 view .LVU143
 538              		.loc 1 993 3 is_stmt 0 view .LVU144
 539              	.LBE108:
 540              	.LBE115:
 948:Library/src/lcm32f06x_flash.c ****   }
 541              		.loc 1 948 5 is_stmt 1 view .LVU145
 948:Library/src/lcm32f06x_flash.c ****   }
 542              		.loc 1 948 12 is_stmt 0 view .LVU146
 543 006e 013B     		subs	r3, r3, #1
ARM GAS  /tmp/cc9cn0cw.s 			page 29


 544              	.LVL19:
 945:Library/src/lcm32f06x_flash.c ****   {
 545              		.loc 1 945 33 is_stmt 1 view .LVU147
 945:Library/src/lcm32f06x_flash.c ****   {
 546              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU148
 547 0070 002B     		cmp	r3, #0
 548 0072 EDD1     		bne	.L31
 549              	.LBE123:
 550              	.LBE130:
 178:Library/src/lcm32f06x_flash.c **** 
 551              		.loc 1 178 12 view .LVU149
 552 0074 0520     		movs	r0, #5
 553              	.LVL20:
 197:Library/src/lcm32f06x_flash.c **** }
 554              		.loc 1 197 3 is_stmt 1 view .LVU150
 555 0076 05E0     		b	.L56
 556              	.LVL21:
 557              	.L36:
 558              	.LBB131:
 559              	.LBB124:
 560              	.LBB116:
 561              	.LBB109:
 562              		.loc 1 993 3 view .LVU151
 563              		.loc 1 993 3 is_stmt 0 view .LVU152
 564              	.LBE109:
 565              	.LBE116:
 948:Library/src/lcm32f06x_flash.c ****   }
 566              		.loc 1 948 5 is_stmt 1 view .LVU153
 567              	.LBB117:
 568              	.LBB110:
 978:Library/src/lcm32f06x_flash.c ****     }
 569              		.loc 1 978 19 is_stmt 0 view .LVU154
 570 0078 0220     		movs	r0, #2
 571              	.LVL22:
 978:Library/src/lcm32f06x_flash.c ****     }
 572              		.loc 1 978 19 view .LVU155
 573              	.LBE110:
 574              	.LBE117:
 948:Library/src/lcm32f06x_flash.c ****   }
 575              		.loc 1 948 12 view .LVU156
 576 007a 013B     		subs	r3, r3, #1
 577              	.LVL23:
 945:Library/src/lcm32f06x_flash.c ****   {
 578              		.loc 1 945 33 is_stmt 1 view .LVU157
 579 007c F3E7     		b	.L38
 580              	.LVL24:
 581              	.L37:
 582              	.LBB118:
 583              	.LBB111:
 584              	.LBB105:
 585              	.LBB103:
 988:Library/src/lcm32f06x_flash.c ****       }
 586              		.loc 1 988 9 view .LVU158
 988:Library/src/lcm32f06x_flash.c ****       }
 587              		.loc 1 988 9 is_stmt 0 view .LVU159
 588              	.LBE103:
 589              	.LBE105:
ARM GAS  /tmp/cc9cn0cw.s 			page 30


 590              		.loc 1 993 3 is_stmt 1 view .LVU160
 591              		.loc 1 993 3 is_stmt 0 view .LVU161
 592              	.LBE111:
 593              	.LBE118:
 948:Library/src/lcm32f06x_flash.c ****   }
 594              		.loc 1 948 5 is_stmt 1 view .LVU162
 945:Library/src/lcm32f06x_flash.c ****   {
 595              		.loc 1 945 33 view .LVU163
 951:Library/src/lcm32f06x_flash.c ****   {
 596              		.loc 1 951 3 view .LVU164
 597              	.LBE124:
 598              	.LBE131:
 178:Library/src/lcm32f06x_flash.c **** 
 599              		.loc 1 178 12 is_stmt 0 view .LVU165
 600 007e 0520     		movs	r0, #5
 601              	.LVL25:
 602              	.LBB132:
 603              	.LBB125:
 951:Library/src/lcm32f06x_flash.c ****   {
 604              		.loc 1 951 6 view .LVU166
 605 0080 012B     		cmp	r3, #1
 606 0082 CAD1     		bne	.L34
 607              	.LVL26:
 608              	.L56:
 951:Library/src/lcm32f06x_flash.c ****   {
 609              		.loc 1 951 6 view .LVU167
 610              	.LBE125:
 611              	.LBE132:
 198:Library/src/lcm32f06x_flash.c **** 
 612              		.loc 1 198 1 view .LVU168
 613              		@ sp needed
 614              	.LVL27:
 198:Library/src/lcm32f06x_flash.c **** 
 615              		.loc 1 198 1 view .LVU169
 616 0084 30BD     		pop	{r4, r5, pc}
 617              	.LVL28:
 618              	.L45:
 619              	.LBB133:
 620              	.LBB126:
 621              	.LBB119:
 622              	.LBB94:
 978:Library/src/lcm32f06x_flash.c ****     }
 623              		.loc 1 978 19 view .LVU170
 624 0086 0220     		movs	r0, #2
 625              	.LVL29:
 978:Library/src/lcm32f06x_flash.c ****     }
 626              		.loc 1 978 19 view .LVU171
 627 0088 FCE7     		b	.L56
 628              	.LVL30:
 629              	.L63:
 978:Library/src/lcm32f06x_flash.c ****     }
 630              		.loc 1 978 19 view .LVU172
 631              	.LBE94:
 632              	.LBE119:
 633              	.LBE126:
 634              	.LBE133:
 188:Library/src/lcm32f06x_flash.c ****         break;
ARM GAS  /tmp/cc9cn0cw.s 			page 31


 635              		.loc 1 188 9 is_stmt 1 view .LVU173
 636              	.LBB134:
 637              	.LBI134:
 937:Library/src/lcm32f06x_flash.c **** {
 638              		.loc 1 937 14 view .LVU174
 639              	.LBB135:
 939:Library/src/lcm32f06x_flash.c **** 
 640              		.loc 1 939 3 view .LVU175
 942:Library/src/lcm32f06x_flash.c **** 
 641              		.loc 1 942 3 view .LVU176
 642              	.LBB136:
 643              	.LBI136:
 966:Library/src/lcm32f06x_flash.c **** {
 644              		.loc 1 966 14 view .LVU177
 645              	.LBB137:
 968:Library/src/lcm32f06x_flash.c **** 
 646              		.loc 1 968 3 view .LVU178
 970:Library/src/lcm32f06x_flash.c ****   {
 647              		.loc 1 970 3 view .LVU179
 970:Library/src/lcm32f06x_flash.c ****   {
 648              		.loc 1 970 13 is_stmt 0 view .LVU180
 649 008a CB68     		ldr	r3, [r1, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 650              		.loc 1 970 6 view .LVU181
 651 008c DB07     		lsls	r3, r3, #31
 652 008e 08D4     		bmi	.L50
 976:Library/src/lcm32f06x_flash.c ****     {
 653              		.loc 1 976 5 is_stmt 1 view .LVU182
 976:Library/src/lcm32f06x_flash.c ****     {
 654              		.loc 1 976 15 is_stmt 0 view .LVU183
 655 0090 CB68     		ldr	r3, [r1, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 656              		.loc 1 976 8 view .LVU184
 657 0092 DB06     		lsls	r3, r3, #27
 658 0094 1FD4     		bmi	.L51
 659              	.LBB138:
 660              	.LBI138:
 966:Library/src/lcm32f06x_flash.c **** {
 661              		.loc 1 966 14 is_stmt 1 view .LVU185
 662              	.LBB139:
 982:Library/src/lcm32f06x_flash.c ****       {
 663              		.loc 1 982 7 view .LVU186
 982:Library/src/lcm32f06x_flash.c ****       {
 664              		.loc 1 982 17 is_stmt 0 view .LVU187
 665 0096 CB68     		ldr	r3, [r1, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 666              		.loc 1 982 22 view .LVU188
 667 0098 0340     		ands	r3, r0
 988:Library/src/lcm32f06x_flash.c ****       }
 668              		.loc 1 988 21 view .LVU189
 669 009a 5A42     		rsbs	r2, r3, #0
 670 009c 5341     		adcs	r3, r3, r2
 671 009e D81C     		adds	r0, r3, #3
 672 00a0 C9E7     		b	.L39
 673              	.L50:
 674              	.LBE139:
 675              	.LBE138:
ARM GAS  /tmp/cc9cn0cw.s 			page 32


 676 00a2 B023     		movs	r3, #176
 677              	.LBE137:
 678              	.LBE136:
 679              	.LBB142:
 680              	.LBB143:
 970:Library/src/lcm32f06x_flash.c ****   {
 681              		.loc 1 970 18 view .LVU190
 682 00a4 0120     		movs	r0, #1
 683              	.LBE143:
 684              	.LBE142:
 685              	.LBB150:
 686              	.LBB140:
 687 00a6 1B03     		lsls	r3, r3, #12
 688              	.LVL31:
 689              	.L40:
 970:Library/src/lcm32f06x_flash.c ****   {
 690              		.loc 1 970 18 view .LVU191
 691              	.LBE140:
 692              	.LBE150:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 693              		.loc 1 947 5 is_stmt 1 view .LVU192
 694              	.LBB151:
 695              	.LBI142:
 966:Library/src/lcm32f06x_flash.c **** {
 696              		.loc 1 966 14 view .LVU193
 697              	.LBB146:
 968:Library/src/lcm32f06x_flash.c **** 
 698              		.loc 1 968 3 view .LVU194
 970:Library/src/lcm32f06x_flash.c ****   {
 699              		.loc 1 970 3 view .LVU195
 970:Library/src/lcm32f06x_flash.c ****   {
 700              		.loc 1 970 13 is_stmt 0 view .LVU196
 701 00a8 CA68     		ldr	r2, [r1, #12]
 702              	.LBE146:
 703              	.LBE151:
 948:Library/src/lcm32f06x_flash.c ****   }
 704              		.loc 1 948 12 view .LVU197
 705 00aa 013B     		subs	r3, r3, #1
 706              	.LVL32:
 707              	.LBB152:
 708              	.LBB147:
 970:Library/src/lcm32f06x_flash.c ****   {
 709              		.loc 1 970 6 view .LVU198
 710 00ac 1042     		tst	r0, r2
 711 00ae 0CD1     		bne	.L42
 976:Library/src/lcm32f06x_flash.c ****     {
 712              		.loc 1 976 5 is_stmt 1 view .LVU199
 976:Library/src/lcm32f06x_flash.c ****     {
 713              		.loc 1 976 15 is_stmt 0 view .LVU200
 714 00b0 CA68     		ldr	r2, [r1, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 715              		.loc 1 976 8 view .LVU201
 716 00b2 D206     		lsls	r2, r2, #27
 717 00b4 0DD4     		bmi	.L53
 718              	.LBB144:
 719              	.LBI144:
 966:Library/src/lcm32f06x_flash.c **** {
ARM GAS  /tmp/cc9cn0cw.s 			page 33


 720              		.loc 1 966 14 is_stmt 1 view .LVU202
 721              	.LBB145:
 982:Library/src/lcm32f06x_flash.c ****       {
 722              		.loc 1 982 7 view .LVU203
 982:Library/src/lcm32f06x_flash.c ****       {
 723              		.loc 1 982 22 is_stmt 0 view .LVU204
 724 00b6 0420     		movs	r0, #4
 982:Library/src/lcm32f06x_flash.c ****       {
 725              		.loc 1 982 17 view .LVU205
 726 00b8 CA68     		ldr	r2, [r1, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 727              		.loc 1 982 22 view .LVU206
 728 00ba 1040     		ands	r0, r2
 988:Library/src/lcm32f06x_flash.c ****       }
 729              		.loc 1 988 21 view .LVU207
 730 00bc 4242     		rsbs	r2, r0, #0
 731 00be 5041     		adcs	r0, r0, r2
 732 00c0 0330     		adds	r0, r0, #3
 733              	.L43:
 734              	.LVL33:
 988:Library/src/lcm32f06x_flash.c ****       }
 735              		.loc 1 988 21 view .LVU208
 736              	.LBE145:
 737              	.LBE144:
 738              	.LBE147:
 739              	.LBE152:
 951:Library/src/lcm32f06x_flash.c ****   {
 740              		.loc 1 951 3 is_stmt 1 view .LVU209
 951:Library/src/lcm32f06x_flash.c ****   {
 741              		.loc 1 951 6 is_stmt 0 view .LVU210
 742 00c2 002B     		cmp	r3, #0
 743 00c4 B7D1     		bne	.L39
 953:Library/src/lcm32f06x_flash.c ****   }
 744              		.loc 1 953 12 view .LVU211
 745 00c6 0520     		movs	r0, #5
 746 00c8 B5E7     		b	.L39
 747              	.LVL34:
 748              	.L42:
 749              	.LBB153:
 750              	.LBB148:
 751              		.loc 1 993 3 is_stmt 1 view .LVU212
 752              		.loc 1 993 3 is_stmt 0 view .LVU213
 753              	.LBE148:
 754              	.LBE153:
 948:Library/src/lcm32f06x_flash.c ****   }
 755              		.loc 1 948 5 is_stmt 1 view .LVU214
 945:Library/src/lcm32f06x_flash.c ****   {
 756              		.loc 1 945 33 view .LVU215
 945:Library/src/lcm32f06x_flash.c ****   {
 757              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU216
 758 00ca 002B     		cmp	r3, #0
 759 00cc ECD1     		bne	.L40
 953:Library/src/lcm32f06x_flash.c ****   }
 760              		.loc 1 953 12 view .LVU217
 761 00ce 0520     		movs	r0, #5
 762 00d0 B1E7     		b	.L39
 763              	.LVL35:
ARM GAS  /tmp/cc9cn0cw.s 			page 34


 764              	.L53:
 765              	.LBB154:
 766              	.LBB149:
 978:Library/src/lcm32f06x_flash.c ****     }
 767              		.loc 1 978 19 view .LVU218
 768 00d2 0220     		movs	r0, #2
 769 00d4 F5E7     		b	.L43
 770              	.LVL36:
 771              	.L51:
 978:Library/src/lcm32f06x_flash.c ****     }
 772              		.loc 1 978 19 view .LVU219
 773              	.LBE149:
 774              	.LBE154:
 775              	.LBB155:
 776              	.LBB141:
 777 00d6 0220     		movs	r0, #2
 778 00d8 ADE7     		b	.L39
 779              	.L65:
 780 00da C046     		.align	2
 781              	.L64:
 782 00dc 00D00140 		.word	1073860608
 783              	.LBE141:
 784              	.LBE155:
 785              	.LBE135:
 786              	.LBE134:
 787              		.cfi_endproc
 788              	.LFE52:
 790              		.section	.text.FLASH_EraseAllPages,"ax",%progbits
 791              		.align	1
 792              		.p2align 2,,3
 793              		.global	FLASH_EraseAllPages
 794              		.syntax unified
 795              		.code	16
 796              		.thumb_func
 798              	FLASH_EraseAllPages:
 799              	.LFB53:
 212:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 800              		.loc 1 212 1 is_stmt 1 view -0
 801              		.cfi_startproc
 802              		@ args = 0, pretend = 0, frame = 0
 803              		@ frame_needed = 0, uses_anonymous_args = 0
 804              		@ link register save eliminated.
 213:Library/src/lcm32f06x_flash.c **** 
 805              		.loc 1 213 3 view .LVU221
 806              	.LVL37:
 216:Library/src/lcm32f06x_flash.c **** 
 807              		.loc 1 216 3 view .LVU222
 808              	.LBB176:
 809              	.LBI176:
 937:Library/src/lcm32f06x_flash.c **** {
 810              		.loc 1 937 14 view .LVU223
 811              	.LBB177:
 939:Library/src/lcm32f06x_flash.c **** 
 812              		.loc 1 939 3 view .LVU224
 942:Library/src/lcm32f06x_flash.c **** 
 813              		.loc 1 942 3 view .LVU225
 814              	.LBB178:
ARM GAS  /tmp/cc9cn0cw.s 			page 35


 815              	.LBI178:
 966:Library/src/lcm32f06x_flash.c **** {
 816              		.loc 1 966 14 view .LVU226
 817              	.LBB179:
 968:Library/src/lcm32f06x_flash.c **** 
 818              		.loc 1 968 3 view .LVU227
 970:Library/src/lcm32f06x_flash.c ****   {
 819              		.loc 1 970 3 view .LVU228
 970:Library/src/lcm32f06x_flash.c ****   {
 820              		.loc 1 970 13 is_stmt 0 view .LVU229
 821 0000 344A     		ldr	r2, .L100
 822 0002 D368     		ldr	r3, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 823              		.loc 1 970 6 view .LVU230
 824 0004 DB07     		lsls	r3, r3, #31
 825 0006 1DD4     		bmi	.L80
 976:Library/src/lcm32f06x_flash.c ****     {
 826              		.loc 1 976 5 is_stmt 1 view .LVU231
 976:Library/src/lcm32f06x_flash.c ****     {
 827              		.loc 1 976 15 is_stmt 0 view .LVU232
 828 0008 D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 829              		.loc 1 976 8 view .LVU233
 830 000a DB06     		lsls	r3, r3, #27
 831 000c 38D4     		bmi	.L81
 832              	.LBB180:
 833              	.LBI180:
 966:Library/src/lcm32f06x_flash.c **** {
 834              		.loc 1 966 14 is_stmt 1 view .LVU234
 835              	.LBB181:
 982:Library/src/lcm32f06x_flash.c ****       {
 836              		.loc 1 982 7 view .LVU235
 982:Library/src/lcm32f06x_flash.c ****       {
 837              		.loc 1 982 17 is_stmt 0 view .LVU236
 838 000e D368     		ldr	r3, [r2, #12]
 984:Library/src/lcm32f06x_flash.c ****       }
 839              		.loc 1 984 21 view .LVU237
 840 0010 0320     		movs	r0, #3
 982:Library/src/lcm32f06x_flash.c ****       {
 841              		.loc 1 982 10 view .LVU238
 842 0012 5B07     		lsls	r3, r3, #29
 843 0014 33D4     		bmi	.L92
 844              	.LVL38:
 845              	.L70:
 982:Library/src/lcm32f06x_flash.c ****       {
 846              		.loc 1 982 10 view .LVU239
 847              	.LBE181:
 848              	.LBE180:
 849              	.LBE179:
 850              	.LBE178:
 851              	.LBE177:
 852              	.LBE176:
 221:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 853              		.loc 1 221 5 is_stmt 1 view .LVU240
 221:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 854              		.loc 1 221 15 is_stmt 0 view .LVU241
 855 0016 0421     		movs	r1, #4
ARM GAS  /tmp/cc9cn0cw.s 			page 36


 221:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 856              		.loc 1 221 10 view .LVU242
 857 0018 2E4B     		ldr	r3, .L100
 216:Library/src/lcm32f06x_flash.c **** 
 858              		.loc 1 216 12 view .LVU243
 859 001a 0420     		movs	r0, #4
 221:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 860              		.loc 1 221 10 view .LVU244
 861 001c 1A69     		ldr	r2, [r3, #16]
 221:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 862              		.loc 1 221 15 view .LVU245
 863 001e 0A43     		orrs	r2, r1
 864 0020 1A61     		str	r2, [r3, #16]
 222:Library/src/lcm32f06x_flash.c **** 
 865              		.loc 1 222 5 is_stmt 1 view .LVU246
 222:Library/src/lcm32f06x_flash.c **** 
 866              		.loc 1 222 10 is_stmt 0 view .LVU247
 867 0022 1A69     		ldr	r2, [r3, #16]
 222:Library/src/lcm32f06x_flash.c **** 
 868              		.loc 1 222 15 view .LVU248
 869 0024 3C31     		adds	r1, r1, #60
 870 0026 0A43     		orrs	r2, r1
 871 0028 1A61     		str	r2, [r3, #16]
 225:Library/src/lcm32f06x_flash.c ****     {
 872              		.loc 1 225 5 is_stmt 1 view .LVU249
 225:Library/src/lcm32f06x_flash.c ****     {
 873              		.loc 1 225 28 view .LVU250
 225:Library/src/lcm32f06x_flash.c ****     {
 874              		.loc 1 225 23 is_stmt 0 view .LVU251
 875 002a DA68     		ldr	r2, [r3, #12]
 225:Library/src/lcm32f06x_flash.c ****     {
 876              		.loc 1 225 28 view .LVU252
 877 002c 9206     		lsls	r2, r2, #26
 878 002e 29D5     		bpl	.L99
 879              	.L75:
 880              	.LVL39:
 230:Library/src/lcm32f06x_flash.c ****     /* Disable the MER Bit */
 881              		.loc 1 230 5 is_stmt 1 view .LVU253
 230:Library/src/lcm32f06x_flash.c ****     /* Disable the MER Bit */
 882              		.loc 1 230 21 is_stmt 0 view .LVU254
 883 0030 2021     		movs	r1, #32
 884 0032 284B     		ldr	r3, .L100
 885 0034 DA68     		ldr	r2, [r3, #12]
 886 0036 0A43     		orrs	r2, r1
 887 0038 DA60     		str	r2, [r3, #12]
 232:Library/src/lcm32f06x_flash.c ****   }
 888              		.loc 1 232 5 is_stmt 1 view .LVU255
 232:Library/src/lcm32f06x_flash.c ****   }
 889              		.loc 1 232 10 is_stmt 0 view .LVU256
 890 003a 1A69     		ldr	r2, [r3, #16]
 232:Library/src/lcm32f06x_flash.c ****   }
 891              		.loc 1 232 15 view .LVU257
 892 003c 1C39     		subs	r1, r1, #28
 893 003e 8A43     		bics	r2, r1
 894 0040 1A61     		str	r2, [r3, #16]
 895 0042 1CE0     		b	.L92
 896              	.LVL40:
ARM GAS  /tmp/cc9cn0cw.s 			page 37


 897              	.L80:
 898              	.LBB213:
 899              	.LBB208:
 900              	.LBB185:
 901              	.LBB182:
 232:Library/src/lcm32f06x_flash.c ****   }
 902              		.loc 1 232 15 view .LVU258
 903 0044 B023     		movs	r3, #176
 904              	.LBE182:
 905              	.LBE185:
 906              	.LBB186:
 907              	.LBB187:
 970:Library/src/lcm32f06x_flash.c ****   {
 908              		.loc 1 970 18 view .LVU259
 909 0046 0120     		movs	r0, #1
 910              	.LBE187:
 911              	.LBE186:
 912              	.LBB200:
 913              	.LBB183:
 914 0048 1B03     		lsls	r3, r3, #12
 915              	.LVL41:
 916              	.L67:
 970:Library/src/lcm32f06x_flash.c ****   {
 917              		.loc 1 970 18 view .LVU260
 918              	.LBE183:
 919              	.LBE200:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 920              		.loc 1 947 5 is_stmt 1 view .LVU261
 921              	.LBB201:
 922              	.LBI186:
 966:Library/src/lcm32f06x_flash.c **** {
 923              		.loc 1 966 14 view .LVU262
 924              	.LBB194:
 968:Library/src/lcm32f06x_flash.c **** 
 925              		.loc 1 968 3 view .LVU263
 970:Library/src/lcm32f06x_flash.c ****   {
 926              		.loc 1 970 3 view .LVU264
 970:Library/src/lcm32f06x_flash.c ****   {
 927              		.loc 1 970 13 is_stmt 0 view .LVU265
 928 004a D168     		ldr	r1, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 929              		.loc 1 970 6 view .LVU266
 930 004c 0842     		tst	r0, r1
 931 004e 0BD1     		bne	.L71
 976:Library/src/lcm32f06x_flash.c ****     {
 932              		.loc 1 976 5 is_stmt 1 view .LVU267
 976:Library/src/lcm32f06x_flash.c ****     {
 933              		.loc 1 976 15 is_stmt 0 view .LVU268
 934 0050 D168     		ldr	r1, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 935              		.loc 1 976 8 view .LVU269
 936 0052 C906     		lsls	r1, r1, #27
 937 0054 0DD4     		bmi	.L72
 938              	.LBB188:
 939              	.LBI188:
 966:Library/src/lcm32f06x_flash.c **** {
 940              		.loc 1 966 14 is_stmt 1 view .LVU270
ARM GAS  /tmp/cc9cn0cw.s 			page 38


 941              	.LBB189:
 982:Library/src/lcm32f06x_flash.c ****       {
 942              		.loc 1 982 7 view .LVU271
 982:Library/src/lcm32f06x_flash.c ****       {
 943              		.loc 1 982 17 is_stmt 0 view .LVU272
 944 0056 D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 945              		.loc 1 982 10 view .LVU273
 946 0058 5207     		lsls	r2, r2, #29
 947 005a 0DD5     		bpl	.L73
 948              	.LVL42:
 982:Library/src/lcm32f06x_flash.c ****       {
 949              		.loc 1 982 10 view .LVU274
 950              	.LBE189:
 951              	.LBE188:
 952              		.loc 1 993 3 is_stmt 1 view .LVU275
 953              		.loc 1 993 3 is_stmt 0 view .LVU276
 954              	.LBE194:
 955              	.LBE201:
 948:Library/src/lcm32f06x_flash.c ****   }
 956              		.loc 1 948 5 is_stmt 1 view .LVU277
 957              	.LBB202:
 958              	.LBB195:
 959              	.LBB192:
 960              	.LBB190:
 984:Library/src/lcm32f06x_flash.c ****       }
 961              		.loc 1 984 21 is_stmt 0 view .LVU278
 962 005c 0320     		movs	r0, #3
 963              	.LBE190:
 964              	.LBE192:
 965              	.LBE195:
 966              	.LBE202:
 948:Library/src/lcm32f06x_flash.c ****   }
 967              		.loc 1 948 12 view .LVU279
 968 005e 013B     		subs	r3, r3, #1
 969              	.LVL43:
 945:Library/src/lcm32f06x_flash.c ****   {
 970              		.loc 1 945 33 is_stmt 1 view .LVU280
 971              	.L74:
 951:Library/src/lcm32f06x_flash.c ****   {
 972              		.loc 1 951 3 view .LVU281
 951:Library/src/lcm32f06x_flash.c ****   {
 973              		.loc 1 951 6 is_stmt 0 view .LVU282
 974 0060 002B     		cmp	r3, #0
 975 0062 0CD1     		bne	.L92
 976              	.LBE208:
 977              	.LBE213:
 216:Library/src/lcm32f06x_flash.c **** 
 978              		.loc 1 216 12 view .LVU283
 979 0064 0520     		movs	r0, #5
 980              	.LVL44:
 236:Library/src/lcm32f06x_flash.c **** }
 981              		.loc 1 236 3 is_stmt 1 view .LVU284
 236:Library/src/lcm32f06x_flash.c **** }
 982              		.loc 1 236 10 is_stmt 0 view .LVU285
 983 0066 0AE0     		b	.L92
 984              	.LVL45:
ARM GAS  /tmp/cc9cn0cw.s 			page 39


 985              	.L71:
 986              	.LBB214:
 987              	.LBB209:
 988              	.LBB203:
 989              	.LBB196:
 990              		.loc 1 993 3 is_stmt 1 view .LVU286
 991              		.loc 1 993 3 is_stmt 0 view .LVU287
 992              	.LBE196:
 993              	.LBE203:
 948:Library/src/lcm32f06x_flash.c ****   }
 994              		.loc 1 948 5 is_stmt 1 view .LVU288
 948:Library/src/lcm32f06x_flash.c ****   }
 995              		.loc 1 948 12 is_stmt 0 view .LVU289
 996 0068 013B     		subs	r3, r3, #1
 997              	.LVL46:
 945:Library/src/lcm32f06x_flash.c ****   {
 998              		.loc 1 945 33 is_stmt 1 view .LVU290
 945:Library/src/lcm32f06x_flash.c ****   {
 999              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU291
 1000 006a 002B     		cmp	r3, #0
 1001 006c EDD1     		bne	.L67
 1002              	.LBE209:
 1003              	.LBE214:
 216:Library/src/lcm32f06x_flash.c **** 
 1004              		.loc 1 216 12 view .LVU292
 1005 006e 0520     		movs	r0, #5
 1006              	.LVL47:
 236:Library/src/lcm32f06x_flash.c **** }
 1007              		.loc 1 236 3 is_stmt 1 view .LVU293
 1008 0070 05E0     		b	.L92
 1009              	.LVL48:
 1010              	.L72:
 1011              	.LBB215:
 1012              	.LBB210:
 1013              	.LBB204:
 1014              	.LBB197:
 1015              		.loc 1 993 3 view .LVU294
 1016              		.loc 1 993 3 is_stmt 0 view .LVU295
 1017              	.LBE197:
 1018              	.LBE204:
 948:Library/src/lcm32f06x_flash.c ****   }
 1019              		.loc 1 948 5 is_stmt 1 view .LVU296
 1020              	.LBB205:
 1021              	.LBB198:
 978:Library/src/lcm32f06x_flash.c ****     }
 1022              		.loc 1 978 19 is_stmt 0 view .LVU297
 1023 0072 0220     		movs	r0, #2
 1024              	.LBE198:
 1025              	.LBE205:
 948:Library/src/lcm32f06x_flash.c ****   }
 1026              		.loc 1 948 12 view .LVU298
 1027 0074 013B     		subs	r3, r3, #1
 1028              	.LVL49:
 945:Library/src/lcm32f06x_flash.c ****   {
 1029              		.loc 1 945 33 is_stmt 1 view .LVU299
 1030 0076 F3E7     		b	.L74
 1031              	.LVL50:
ARM GAS  /tmp/cc9cn0cw.s 			page 40


 1032              	.L73:
 1033              	.LBB206:
 1034              	.LBB199:
 1035              	.LBB193:
 1036              	.LBB191:
 988:Library/src/lcm32f06x_flash.c ****       }
 1037              		.loc 1 988 9 view .LVU300
 988:Library/src/lcm32f06x_flash.c ****       }
 1038              		.loc 1 988 9 is_stmt 0 view .LVU301
 1039              	.LBE191:
 1040              	.LBE193:
 1041              		.loc 1 993 3 is_stmt 1 view .LVU302
 1042              		.loc 1 993 3 is_stmt 0 view .LVU303
 1043              	.LBE199:
 1044              	.LBE206:
 948:Library/src/lcm32f06x_flash.c ****   }
 1045              		.loc 1 948 5 is_stmt 1 view .LVU304
 945:Library/src/lcm32f06x_flash.c ****   {
 1046              		.loc 1 945 33 view .LVU305
 951:Library/src/lcm32f06x_flash.c ****   {
 1047              		.loc 1 951 3 view .LVU306
 1048              	.LBE210:
 1049              	.LBE215:
 216:Library/src/lcm32f06x_flash.c **** 
 1050              		.loc 1 216 12 is_stmt 0 view .LVU307
 1051 0078 0520     		movs	r0, #5
 1052              	.LBB216:
 1053              	.LBB211:
 951:Library/src/lcm32f06x_flash.c ****   {
 1054              		.loc 1 951 6 view .LVU308
 1055 007a 012B     		cmp	r3, #1
 1056 007c CBD1     		bne	.L70
 1057              	.LVL51:
 1058              	.L92:
 951:Library/src/lcm32f06x_flash.c ****   {
 1059              		.loc 1 951 6 view .LVU309
 1060              	.LBE211:
 1061              	.LBE216:
 237:Library/src/lcm32f06x_flash.c **** 
 1062              		.loc 1 237 1 view .LVU310
 1063              		@ sp needed
 1064 007e 7047     		bx	lr
 1065              	.LVL52:
 1066              	.L81:
 1067              	.LBB217:
 1068              	.LBB212:
 1069              	.LBB207:
 1070              	.LBB184:
 978:Library/src/lcm32f06x_flash.c ****     }
 1071              		.loc 1 978 19 view .LVU311
 1072 0080 0220     		movs	r0, #2
 1073 0082 FCE7     		b	.L92
 1074              	.LVL53:
 1075              	.L99:
 978:Library/src/lcm32f06x_flash.c ****     }
 1076              		.loc 1 978 19 view .LVU312
 1077              	.LBE184:
ARM GAS  /tmp/cc9cn0cw.s 			page 41


 1078              	.LBE207:
 1079              	.LBE212:
 1080              	.LBE217:
 227:Library/src/lcm32f06x_flash.c ****         break;
 1081              		.loc 1 227 9 is_stmt 1 view .LVU313
 1082              	.LBB218:
 1083              	.LBI218:
 937:Library/src/lcm32f06x_flash.c **** {
 1084              		.loc 1 937 14 view .LVU314
 1085              	.LBB219:
 939:Library/src/lcm32f06x_flash.c **** 
 1086              		.loc 1 939 3 view .LVU315
 942:Library/src/lcm32f06x_flash.c **** 
 1087              		.loc 1 942 3 view .LVU316
 1088              	.LBB220:
 1089              	.LBI220:
 966:Library/src/lcm32f06x_flash.c **** {
 1090              		.loc 1 966 14 view .LVU317
 1091              	.LBB221:
 968:Library/src/lcm32f06x_flash.c **** 
 1092              		.loc 1 968 3 view .LVU318
 970:Library/src/lcm32f06x_flash.c ****   {
 1093              		.loc 1 970 3 view .LVU319
 970:Library/src/lcm32f06x_flash.c ****   {
 1094              		.loc 1 970 13 is_stmt 0 view .LVU320
 1095 0084 DA68     		ldr	r2, [r3, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 1096              		.loc 1 970 6 view .LVU321
 1097 0086 D207     		lsls	r2, r2, #31
 1098 0088 08D4     		bmi	.L86
 976:Library/src/lcm32f06x_flash.c ****     {
 1099              		.loc 1 976 5 is_stmt 1 view .LVU322
 976:Library/src/lcm32f06x_flash.c ****     {
 1100              		.loc 1 976 15 is_stmt 0 view .LVU323
 1101 008a DA68     		ldr	r2, [r3, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 1102              		.loc 1 976 8 view .LVU324
 1103 008c D206     		lsls	r2, r2, #27
 1104 008e 1FD4     		bmi	.L87
 1105              	.LBB222:
 1106              	.LBI222:
 966:Library/src/lcm32f06x_flash.c **** {
 1107              		.loc 1 966 14 is_stmt 1 view .LVU325
 1108              	.LBB223:
 982:Library/src/lcm32f06x_flash.c ****       {
 1109              		.loc 1 982 7 view .LVU326
 982:Library/src/lcm32f06x_flash.c ****       {
 1110              		.loc 1 982 17 is_stmt 0 view .LVU327
 1111 0090 DB68     		ldr	r3, [r3, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 1112              		.loc 1 982 22 view .LVU328
 1113 0092 0340     		ands	r3, r0
 988:Library/src/lcm32f06x_flash.c ****       }
 1114              		.loc 1 988 21 view .LVU329
 1115 0094 5A42     		rsbs	r2, r3, #0
 1116 0096 5341     		adcs	r3, r3, r2
 1117 0098 D81C     		adds	r0, r3, #3
ARM GAS  /tmp/cc9cn0cw.s 			page 42


 1118 009a C9E7     		b	.L75
 1119              	.L86:
 1120              	.LBE223:
 1121              	.LBE222:
 1122 009c B022     		movs	r2, #176
 1123              	.LBE221:
 1124              	.LBE220:
 1125              	.LBB226:
 1126              	.LBB227:
 970:Library/src/lcm32f06x_flash.c ****   {
 1127              		.loc 1 970 18 view .LVU330
 1128 009e 0120     		movs	r0, #1
 1129              	.LBE227:
 1130              	.LBE226:
 1131              	.LBB234:
 1132              	.LBB224:
 1133 00a0 1203     		lsls	r2, r2, #12
 1134              	.LVL54:
 1135              	.L76:
 970:Library/src/lcm32f06x_flash.c ****   {
 1136              		.loc 1 970 18 view .LVU331
 1137              	.LBE224:
 1138              	.LBE234:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 1139              		.loc 1 947 5 is_stmt 1 view .LVU332
 1140              	.LBB235:
 1141              	.LBI226:
 966:Library/src/lcm32f06x_flash.c **** {
 1142              		.loc 1 966 14 view .LVU333
 1143              	.LBB230:
 968:Library/src/lcm32f06x_flash.c **** 
 1144              		.loc 1 968 3 view .LVU334
 970:Library/src/lcm32f06x_flash.c ****   {
 1145              		.loc 1 970 3 view .LVU335
 970:Library/src/lcm32f06x_flash.c ****   {
 1146              		.loc 1 970 13 is_stmt 0 view .LVU336
 1147 00a2 D968     		ldr	r1, [r3, #12]
 1148              	.LBE230:
 1149              	.LBE235:
 948:Library/src/lcm32f06x_flash.c ****   }
 1150              		.loc 1 948 12 view .LVU337
 1151 00a4 013A     		subs	r2, r2, #1
 1152              	.LVL55:
 1153              	.LBB236:
 1154              	.LBB231:
 970:Library/src/lcm32f06x_flash.c ****   {
 1155              		.loc 1 970 6 view .LVU338
 1156 00a6 0842     		tst	r0, r1
 1157 00a8 0CD1     		bne	.L78
 976:Library/src/lcm32f06x_flash.c ****     {
 1158              		.loc 1 976 5 is_stmt 1 view .LVU339
 976:Library/src/lcm32f06x_flash.c ****     {
 1159              		.loc 1 976 15 is_stmt 0 view .LVU340
 1160 00aa D968     		ldr	r1, [r3, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 1161              		.loc 1 976 8 view .LVU341
 1162 00ac C906     		lsls	r1, r1, #27
ARM GAS  /tmp/cc9cn0cw.s 			page 43


 1163 00ae 0DD4     		bmi	.L89
 1164              	.LBB228:
 1165              	.LBI228:
 966:Library/src/lcm32f06x_flash.c **** {
 1166              		.loc 1 966 14 is_stmt 1 view .LVU342
 1167              	.LBB229:
 982:Library/src/lcm32f06x_flash.c ****       {
 1168              		.loc 1 982 7 view .LVU343
 982:Library/src/lcm32f06x_flash.c ****       {
 1169              		.loc 1 982 22 is_stmt 0 view .LVU344
 1170 00b0 0420     		movs	r0, #4
 982:Library/src/lcm32f06x_flash.c ****       {
 1171              		.loc 1 982 17 view .LVU345
 1172 00b2 DB68     		ldr	r3, [r3, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 1173              		.loc 1 982 22 view .LVU346
 1174 00b4 1840     		ands	r0, r3
 988:Library/src/lcm32f06x_flash.c ****       }
 1175              		.loc 1 988 21 view .LVU347
 1176 00b6 4342     		rsbs	r3, r0, #0
 1177 00b8 5841     		adcs	r0, r0, r3
 1178 00ba 0330     		adds	r0, r0, #3
 1179              	.L79:
 1180              	.LVL56:
 988:Library/src/lcm32f06x_flash.c ****       }
 1181              		.loc 1 988 21 view .LVU348
 1182              	.LBE229:
 1183              	.LBE228:
 1184              	.LBE231:
 1185              	.LBE236:
 951:Library/src/lcm32f06x_flash.c ****   {
 1186              		.loc 1 951 3 is_stmt 1 view .LVU349
 951:Library/src/lcm32f06x_flash.c ****   {
 1187              		.loc 1 951 6 is_stmt 0 view .LVU350
 1188 00bc 002A     		cmp	r2, #0
 1189 00be B7D1     		bne	.L75
 953:Library/src/lcm32f06x_flash.c ****   }
 1190              		.loc 1 953 12 view .LVU351
 1191 00c0 0520     		movs	r0, #5
 1192 00c2 B5E7     		b	.L75
 1193              	.LVL57:
 1194              	.L78:
 1195              	.LBB237:
 1196              	.LBB232:
 1197              		.loc 1 993 3 is_stmt 1 view .LVU352
 1198              		.loc 1 993 3 is_stmt 0 view .LVU353
 1199              	.LBE232:
 1200              	.LBE237:
 948:Library/src/lcm32f06x_flash.c ****   }
 1201              		.loc 1 948 5 is_stmt 1 view .LVU354
 945:Library/src/lcm32f06x_flash.c ****   {
 1202              		.loc 1 945 33 view .LVU355
 945:Library/src/lcm32f06x_flash.c ****   {
 1203              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU356
 1204 00c4 002A     		cmp	r2, #0
 1205 00c6 ECD1     		bne	.L76
 953:Library/src/lcm32f06x_flash.c ****   }
ARM GAS  /tmp/cc9cn0cw.s 			page 44


 1206              		.loc 1 953 12 view .LVU357
 1207 00c8 0520     		movs	r0, #5
 1208 00ca B1E7     		b	.L75
 1209              	.LVL58:
 1210              	.L89:
 1211              	.LBB238:
 1212              	.LBB233:
 978:Library/src/lcm32f06x_flash.c ****     }
 1213              		.loc 1 978 19 view .LVU358
 1214 00cc 0220     		movs	r0, #2
 1215 00ce F5E7     		b	.L79
 1216              	.LVL59:
 1217              	.L87:
 978:Library/src/lcm32f06x_flash.c ****     }
 1218              		.loc 1 978 19 view .LVU359
 1219              	.LBE233:
 1220              	.LBE238:
 1221              	.LBB239:
 1222              	.LBB225:
 1223 00d0 0220     		movs	r0, #2
 1224 00d2 ADE7     		b	.L75
 1225              	.L101:
 1226              		.align	2
 1227              	.L100:
 1228 00d4 00D00140 		.word	1073860608
 1229              	.LBE225:
 1230              	.LBE239:
 1231              	.LBE219:
 1232              	.LBE218:
 1233              		.cfi_endproc
 1234              	.LFE53:
 1236              		.section	.text.FLASH_ProgramWord,"ax",%progbits
 1237              		.align	1
 1238              		.p2align 2,,3
 1239              		.global	FLASH_ProgramWord
 1240              		.syntax unified
 1241              		.code	16
 1242              		.thumb_func
 1244              	FLASH_ProgramWord:
 1245              	.LVL60:
 1246              	.LFB54:
 253:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 1247              		.loc 1 253 1 is_stmt 1 view -0
 1248              		.cfi_startproc
 1249              		@ args = 0, pretend = 0, frame = 8
 1250              		@ frame_needed = 0, uses_anonymous_args = 0
 254:Library/src/lcm32f06x_flash.c ****   __IO uint32_t tmp = 0;
 1251              		.loc 1 254 3 view .LVU361
 255:Library/src/lcm32f06x_flash.c **** 
 1252              		.loc 1 255 3 view .LVU362
 255:Library/src/lcm32f06x_flash.c **** 
 1253              		.loc 1 255 17 is_stmt 0 view .LVU363
 1254 0000 0023     		movs	r3, #0
 253:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 1255              		.loc 1 253 1 view .LVU364
 1256 0002 70B5     		push	{r4, r5, r6, lr}
 1257              	.LCFI1:
ARM GAS  /tmp/cc9cn0cw.s 			page 45


 1258              		.cfi_def_cfa_offset 16
 1259              		.cfi_offset 4, -16
 1260              		.cfi_offset 5, -12
 1261              		.cfi_offset 6, -8
 1262              		.cfi_offset 14, -4
 1263              	.LBB260:
 1264              	.LBB261:
 1265              	.LBB262:
 1266              	.LBB263:
 970:Library/src/lcm32f06x_flash.c ****   {
 1267              		.loc 1 970 13 view .LVU365
 1268 0004 354A     		ldr	r2, .L136
 1269              	.LBE263:
 1270              	.LBE262:
 1271              	.LBE261:
 1272              	.LBE260:
 253:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 1273              		.loc 1 253 1 view .LVU366
 1274 0006 82B0     		sub	sp, sp, #8
 1275              	.LCFI2:
 1276              		.cfi_def_cfa_offset 24
 255:Library/src/lcm32f06x_flash.c **** 
 1277              		.loc 1 255 17 view .LVU367
 1278 0008 0193     		str	r3, [sp, #4]
 258:Library/src/lcm32f06x_flash.c **** 
 1279              		.loc 1 258 3 is_stmt 1 view .LVU368
 261:Library/src/lcm32f06x_flash.c **** 
 1280              		.loc 1 261 3 view .LVU369
 1281              	.LBB303:
 1282              	.LBI260:
 937:Library/src/lcm32f06x_flash.c **** {
 1283              		.loc 1 937 14 view .LVU370
 1284              	.LVL61:
 1285              	.LBB296:
 939:Library/src/lcm32f06x_flash.c **** 
 1286              		.loc 1 939 3 view .LVU371
 942:Library/src/lcm32f06x_flash.c **** 
 1287              		.loc 1 942 3 view .LVU372
 1288              	.LBB271:
 1289              	.LBI262:
 966:Library/src/lcm32f06x_flash.c **** {
 1290              		.loc 1 966 14 view .LVU373
 1291              	.LBB266:
 968:Library/src/lcm32f06x_flash.c **** 
 1292              		.loc 1 968 3 view .LVU374
 970:Library/src/lcm32f06x_flash.c ****   {
 1293              		.loc 1 970 3 view .LVU375
 970:Library/src/lcm32f06x_flash.c ****   {
 1294              		.loc 1 970 13 is_stmt 0 view .LVU376
 1295 000a D368     		ldr	r3, [r2, #12]
 1296              	.LBE266:
 1297              	.LBE271:
 1298              	.LBE296:
 1299              	.LBE303:
 253:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 1300              		.loc 1 253 1 view .LVU377
 1301 000c 0600     		movs	r6, r0
ARM GAS  /tmp/cc9cn0cw.s 			page 46


 1302              	.LBB304:
 1303              	.LBB297:
 1304              	.LBB272:
 1305              	.LBB267:
 970:Library/src/lcm32f06x_flash.c ****   {
 1306              		.loc 1 970 6 view .LVU378
 1307 000e DB07     		lsls	r3, r3, #31
 1308 0010 1AD4     		bmi	.L116
 976:Library/src/lcm32f06x_flash.c ****     {
 1309              		.loc 1 976 5 is_stmt 1 view .LVU379
 976:Library/src/lcm32f06x_flash.c ****     {
 1310              		.loc 1 976 15 is_stmt 0 view .LVU380
 1311 0012 D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 1312              		.loc 1 976 8 view .LVU381
 1313 0014 DB06     		lsls	r3, r3, #27
 1314 0016 36D4     		bmi	.L117
 1315              	.LBB264:
 1316              	.LBI264:
 966:Library/src/lcm32f06x_flash.c **** {
 1317              		.loc 1 966 14 is_stmt 1 view .LVU382
 1318              	.LBB265:
 982:Library/src/lcm32f06x_flash.c ****       {
 1319              		.loc 1 982 7 view .LVU383
 982:Library/src/lcm32f06x_flash.c ****       {
 1320              		.loc 1 982 17 is_stmt 0 view .LVU384
 1321 0018 D368     		ldr	r3, [r2, #12]
 984:Library/src/lcm32f06x_flash.c ****       }
 1322              		.loc 1 984 21 view .LVU385
 1323 001a 0320     		movs	r0, #3
 1324              	.LVL62:
 982:Library/src/lcm32f06x_flash.c ****       {
 1325              		.loc 1 982 10 view .LVU386
 1326 001c 5B07     		lsls	r3, r3, #29
 1327 001e 30D4     		bmi	.L128
 1328              	.LVL63:
 1329              	.L106:
 982:Library/src/lcm32f06x_flash.c ****       {
 1330              		.loc 1 982 10 view .LVU387
 1331              	.LBE265:
 1332              	.LBE264:
 1333              	.LBE267:
 1334              	.LBE272:
 1335              	.LBE297:
 1336              	.LBE304:
 267:Library/src/lcm32f06x_flash.c **** 
 1337              		.loc 1 267 5 is_stmt 1 view .LVU388
 267:Library/src/lcm32f06x_flash.c **** 
 1338              		.loc 1 267 15 is_stmt 0 view .LVU389
 1339 0020 0124     		movs	r4, #1
 267:Library/src/lcm32f06x_flash.c **** 
 1340              		.loc 1 267 10 view .LVU390
 1341 0022 2E4B     		ldr	r3, .L136
 261:Library/src/lcm32f06x_flash.c **** 
 1342              		.loc 1 261 12 view .LVU391
 1343 0024 0420     		movs	r0, #4
 267:Library/src/lcm32f06x_flash.c **** 
ARM GAS  /tmp/cc9cn0cw.s 			page 47


 1344              		.loc 1 267 10 view .LVU392
 1345 0026 1A69     		ldr	r2, [r3, #16]
 267:Library/src/lcm32f06x_flash.c **** 
 1346              		.loc 1 267 15 view .LVU393
 1347 0028 2243     		orrs	r2, r4
 1348 002a 1A61     		str	r2, [r3, #16]
 269:Library/src/lcm32f06x_flash.c **** 
 1349              		.loc 1 269 5 is_stmt 1 view .LVU394
 269:Library/src/lcm32f06x_flash.c **** 
 1350              		.loc 1 269 31 is_stmt 0 view .LVU395
 1351 002c 3160     		str	r1, [r6]
 272:Library/src/lcm32f06x_flash.c ****     {
 1352              		.loc 1 272 5 is_stmt 1 view .LVU396
 272:Library/src/lcm32f06x_flash.c ****     {
 1353              		.loc 1 272 28 view .LVU397
 272:Library/src/lcm32f06x_flash.c ****     {
 1354              		.loc 1 272 23 is_stmt 0 view .LVU398
 1355 002e DA68     		ldr	r2, [r3, #12]
 272:Library/src/lcm32f06x_flash.c ****     {
 1356              		.loc 1 272 28 view .LVU399
 1357 0030 9206     		lsls	r2, r2, #26
 1358 0032 2AD5     		bpl	.L135
 1359              	.LVL64:
 1360              	.L111:
 277:Library/src/lcm32f06x_flash.c ****     /* Disable the PG Bit */
 1361              		.loc 1 277 5 is_stmt 1 view .LVU400
 277:Library/src/lcm32f06x_flash.c ****     /* Disable the PG Bit */
 1362              		.loc 1 277 21 is_stmt 0 view .LVU401
 1363 0034 2021     		movs	r1, #32
 1364 0036 294B     		ldr	r3, .L136
 1365 0038 DA68     		ldr	r2, [r3, #12]
 1366 003a 0A43     		orrs	r2, r1
 1367 003c DA60     		str	r2, [r3, #12]
 1368              	.LVL65:
 279:Library/src/lcm32f06x_flash.c ****   }
 1369              		.loc 1 279 5 is_stmt 1 view .LVU402
 279:Library/src/lcm32f06x_flash.c ****   }
 1370              		.loc 1 279 10 is_stmt 0 view .LVU403
 1371 003e 1A69     		ldr	r2, [r3, #16]
 279:Library/src/lcm32f06x_flash.c ****   }
 1372              		.loc 1 279 15 view .LVU404
 1373 0040 1F39     		subs	r1, r1, #31
 1374 0042 8A43     		bics	r2, r1
 1375 0044 1A61     		str	r2, [r3, #16]
 1376 0046 1CE0     		b	.L128
 1377              	.LVL66:
 1378              	.L116:
 1379              	.LBB305:
 1380              	.LBB298:
 1381              	.LBB273:
 1382              	.LBB268:
 279:Library/src/lcm32f06x_flash.c ****   }
 1383              		.loc 1 279 15 view .LVU405
 1384 0048 B023     		movs	r3, #176
 1385              	.LBE268:
 1386              	.LBE273:
 1387              	.LBB274:
ARM GAS  /tmp/cc9cn0cw.s 			page 48


 1388              	.LBB275:
 970:Library/src/lcm32f06x_flash.c ****   {
 1389              		.loc 1 970 18 view .LVU406
 1390 004a 0125     		movs	r5, #1
 1391              	.LBE275:
 1392              	.LBE274:
 1393              	.LBB288:
 1394              	.LBB269:
 1395 004c 1B03     		lsls	r3, r3, #12
 1396              	.LVL67:
 1397              	.L103:
 970:Library/src/lcm32f06x_flash.c ****   {
 1398              		.loc 1 970 18 view .LVU407
 1399              	.LBE269:
 1400              	.LBE288:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 1401              		.loc 1 947 5 is_stmt 1 view .LVU408
 1402              	.LBB289:
 1403              	.LBI274:
 966:Library/src/lcm32f06x_flash.c **** {
 1404              		.loc 1 966 14 view .LVU409
 1405              	.LBB282:
 968:Library/src/lcm32f06x_flash.c **** 
 1406              		.loc 1 968 3 view .LVU410
 970:Library/src/lcm32f06x_flash.c ****   {
 1407              		.loc 1 970 3 view .LVU411
 970:Library/src/lcm32f06x_flash.c ****   {
 1408              		.loc 1 970 13 is_stmt 0 view .LVU412
 1409 004e D468     		ldr	r4, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 1410              		.loc 1 970 6 view .LVU413
 1411 0050 2542     		tst	r5, r4
 1412 0052 0BD1     		bne	.L107
 976:Library/src/lcm32f06x_flash.c ****     {
 1413              		.loc 1 976 5 is_stmt 1 view .LVU414
 976:Library/src/lcm32f06x_flash.c ****     {
 1414              		.loc 1 976 15 is_stmt 0 view .LVU415
 1415 0054 D468     		ldr	r4, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 1416              		.loc 1 976 8 view .LVU416
 1417 0056 E406     		lsls	r4, r4, #27
 1418 0058 0DD4     		bmi	.L108
 1419              	.LBB276:
 1420              	.LBI276:
 966:Library/src/lcm32f06x_flash.c **** {
 1421              		.loc 1 966 14 is_stmt 1 view .LVU417
 1422              	.LBB277:
 982:Library/src/lcm32f06x_flash.c ****       {
 1423              		.loc 1 982 7 view .LVU418
 982:Library/src/lcm32f06x_flash.c ****       {
 1424              		.loc 1 982 17 is_stmt 0 view .LVU419
 1425 005a D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 1426              		.loc 1 982 10 view .LVU420
 1427 005c 5207     		lsls	r2, r2, #29
 1428 005e 0DD5     		bpl	.L109
 1429              	.LVL68:
ARM GAS  /tmp/cc9cn0cw.s 			page 49


 982:Library/src/lcm32f06x_flash.c ****       {
 1430              		.loc 1 982 10 view .LVU421
 1431              	.LBE277:
 1432              	.LBE276:
 1433              		.loc 1 993 3 is_stmt 1 view .LVU422
 1434              		.loc 1 993 3 is_stmt 0 view .LVU423
 1435              	.LBE282:
 1436              	.LBE289:
 948:Library/src/lcm32f06x_flash.c ****   }
 1437              		.loc 1 948 5 is_stmt 1 view .LVU424
 1438              	.LBB290:
 1439              	.LBB283:
 1440              	.LBB280:
 1441              	.LBB278:
 984:Library/src/lcm32f06x_flash.c ****       }
 1442              		.loc 1 984 21 is_stmt 0 view .LVU425
 1443 0060 0320     		movs	r0, #3
 1444              	.LVL69:
 984:Library/src/lcm32f06x_flash.c ****       }
 1445              		.loc 1 984 21 view .LVU426
 1446              	.LBE278:
 1447              	.LBE280:
 1448              	.LBE283:
 1449              	.LBE290:
 948:Library/src/lcm32f06x_flash.c ****   }
 1450              		.loc 1 948 12 view .LVU427
 1451 0062 013B     		subs	r3, r3, #1
 1452              	.LVL70:
 945:Library/src/lcm32f06x_flash.c ****   {
 1453              		.loc 1 945 33 is_stmt 1 view .LVU428
 1454              	.L110:
 951:Library/src/lcm32f06x_flash.c ****   {
 1455              		.loc 1 951 3 view .LVU429
 951:Library/src/lcm32f06x_flash.c ****   {
 1456              		.loc 1 951 6 is_stmt 0 view .LVU430
 1457 0064 002B     		cmp	r3, #0
 1458 0066 0CD1     		bne	.L128
 1459              	.LBE298:
 1460              	.LBE305:
 261:Library/src/lcm32f06x_flash.c **** 
 1461              		.loc 1 261 12 view .LVU431
 1462 0068 0520     		movs	r0, #5
 1463              	.LVL71:
 283:Library/src/lcm32f06x_flash.c **** }
 1464              		.loc 1 283 3 is_stmt 1 view .LVU432
 283:Library/src/lcm32f06x_flash.c **** }
 1465              		.loc 1 283 10 is_stmt 0 view .LVU433
 1466 006a 0AE0     		b	.L128
 1467              	.LVL72:
 1468              	.L107:
 1469              	.LBB306:
 1470              	.LBB299:
 1471              	.LBB291:
 1472              	.LBB284:
 1473              		.loc 1 993 3 is_stmt 1 view .LVU434
 1474              		.loc 1 993 3 is_stmt 0 view .LVU435
 1475              	.LBE284:
ARM GAS  /tmp/cc9cn0cw.s 			page 50


 1476              	.LBE291:
 948:Library/src/lcm32f06x_flash.c ****   }
 1477              		.loc 1 948 5 is_stmt 1 view .LVU436
 948:Library/src/lcm32f06x_flash.c ****   }
 1478              		.loc 1 948 12 is_stmt 0 view .LVU437
 1479 006c 013B     		subs	r3, r3, #1
 1480              	.LVL73:
 945:Library/src/lcm32f06x_flash.c ****   {
 1481              		.loc 1 945 33 is_stmt 1 view .LVU438
 945:Library/src/lcm32f06x_flash.c ****   {
 1482              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU439
 1483 006e 002B     		cmp	r3, #0
 1484 0070 EDD1     		bne	.L103
 1485              	.LBE299:
 1486              	.LBE306:
 261:Library/src/lcm32f06x_flash.c **** 
 1487              		.loc 1 261 12 view .LVU440
 1488 0072 0520     		movs	r0, #5
 1489              	.LVL74:
 283:Library/src/lcm32f06x_flash.c **** }
 1490              		.loc 1 283 3 is_stmt 1 view .LVU441
 1491 0074 05E0     		b	.L128
 1492              	.LVL75:
 1493              	.L108:
 1494              	.LBB307:
 1495              	.LBB300:
 1496              	.LBB292:
 1497              	.LBB285:
 1498              		.loc 1 993 3 view .LVU442
 1499              		.loc 1 993 3 is_stmt 0 view .LVU443
 1500              	.LBE285:
 1501              	.LBE292:
 948:Library/src/lcm32f06x_flash.c ****   }
 1502              		.loc 1 948 5 is_stmt 1 view .LVU444
 1503              	.LBB293:
 1504              	.LBB286:
 978:Library/src/lcm32f06x_flash.c ****     }
 1505              		.loc 1 978 19 is_stmt 0 view .LVU445
 1506 0076 0220     		movs	r0, #2
 1507              	.LVL76:
 978:Library/src/lcm32f06x_flash.c ****     }
 1508              		.loc 1 978 19 view .LVU446
 1509              	.LBE286:
 1510              	.LBE293:
 948:Library/src/lcm32f06x_flash.c ****   }
 1511              		.loc 1 948 12 view .LVU447
 1512 0078 013B     		subs	r3, r3, #1
 1513              	.LVL77:
 945:Library/src/lcm32f06x_flash.c ****   {
 1514              		.loc 1 945 33 is_stmt 1 view .LVU448
 1515 007a F3E7     		b	.L110
 1516              	.LVL78:
 1517              	.L109:
 1518              	.LBB294:
 1519              	.LBB287:
 1520              	.LBB281:
 1521              	.LBB279:
ARM GAS  /tmp/cc9cn0cw.s 			page 51


 988:Library/src/lcm32f06x_flash.c ****       }
 1522              		.loc 1 988 9 view .LVU449
 988:Library/src/lcm32f06x_flash.c ****       }
 1523              		.loc 1 988 9 is_stmt 0 view .LVU450
 1524              	.LBE279:
 1525              	.LBE281:
 1526              		.loc 1 993 3 is_stmt 1 view .LVU451
 1527              		.loc 1 993 3 is_stmt 0 view .LVU452
 1528              	.LBE287:
 1529              	.LBE294:
 948:Library/src/lcm32f06x_flash.c ****   }
 1530              		.loc 1 948 5 is_stmt 1 view .LVU453
 945:Library/src/lcm32f06x_flash.c ****   {
 1531              		.loc 1 945 33 view .LVU454
 951:Library/src/lcm32f06x_flash.c ****   {
 1532              		.loc 1 951 3 view .LVU455
 1533              	.LBE300:
 1534              	.LBE307:
 261:Library/src/lcm32f06x_flash.c **** 
 1535              		.loc 1 261 12 is_stmt 0 view .LVU456
 1536 007c 0520     		movs	r0, #5
 1537              	.LVL79:
 1538              	.LBB308:
 1539              	.LBB301:
 951:Library/src/lcm32f06x_flash.c ****   {
 1540              		.loc 1 951 6 view .LVU457
 1541 007e 012B     		cmp	r3, #1
 1542 0080 CED1     		bne	.L106
 1543              	.LVL80:
 1544              	.L128:
 951:Library/src/lcm32f06x_flash.c ****   {
 1545              		.loc 1 951 6 view .LVU458
 1546              	.LBE301:
 1547              	.LBE308:
 284:Library/src/lcm32f06x_flash.c **** 
 1548              		.loc 1 284 1 view .LVU459
 1549 0082 02B0     		add	sp, sp, #8
 1550              		@ sp needed
 1551              	.LVL81:
 284:Library/src/lcm32f06x_flash.c **** 
 1552              		.loc 1 284 1 view .LVU460
 1553 0084 70BD     		pop	{r4, r5, r6, pc}
 1554              	.LVL82:
 1555              	.L117:
 1556              	.LBB309:
 1557              	.LBB302:
 1558              	.LBB295:
 1559              	.LBB270:
 978:Library/src/lcm32f06x_flash.c ****     }
 1560              		.loc 1 978 19 view .LVU461
 1561 0086 0220     		movs	r0, #2
 1562              	.LVL83:
 978:Library/src/lcm32f06x_flash.c ****     }
 1563              		.loc 1 978 19 view .LVU462
 1564 0088 FBE7     		b	.L128
 1565              	.LVL84:
 1566              	.L135:
ARM GAS  /tmp/cc9cn0cw.s 			page 52


 978:Library/src/lcm32f06x_flash.c ****     }
 1567              		.loc 1 978 19 view .LVU463
 1568              	.LBE270:
 1569              	.LBE295:
 1570              	.LBE302:
 1571              	.LBE309:
 274:Library/src/lcm32f06x_flash.c ****         break;
 1572              		.loc 1 274 9 is_stmt 1 view .LVU464
 1573              	.LBB310:
 1574              	.LBI310:
 937:Library/src/lcm32f06x_flash.c **** {
 1575              		.loc 1 937 14 view .LVU465
 1576              	.LBB311:
 939:Library/src/lcm32f06x_flash.c **** 
 1577              		.loc 1 939 3 view .LVU466
 942:Library/src/lcm32f06x_flash.c **** 
 1578              		.loc 1 942 3 view .LVU467
 1579              	.LBB312:
 1580              	.LBI312:
 966:Library/src/lcm32f06x_flash.c **** {
 1581              		.loc 1 966 14 view .LVU468
 1582              	.LBB313:
 968:Library/src/lcm32f06x_flash.c **** 
 1583              		.loc 1 968 3 view .LVU469
 970:Library/src/lcm32f06x_flash.c ****   {
 1584              		.loc 1 970 3 view .LVU470
 970:Library/src/lcm32f06x_flash.c ****   {
 1585              		.loc 1 970 13 is_stmt 0 view .LVU471
 1586 008a DA68     		ldr	r2, [r3, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 1587              		.loc 1 970 6 view .LVU472
 1588 008c 1442     		tst	r4, r2
 1589 008e 08D1     		bne	.L122
 976:Library/src/lcm32f06x_flash.c ****     {
 1590              		.loc 1 976 5 is_stmt 1 view .LVU473
 976:Library/src/lcm32f06x_flash.c ****     {
 1591              		.loc 1 976 15 is_stmt 0 view .LVU474
 1592 0090 DA68     		ldr	r2, [r3, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 1593              		.loc 1 976 8 view .LVU475
 1594 0092 D206     		lsls	r2, r2, #27
 1595 0094 1FD4     		bmi	.L123
 1596              	.LBB314:
 1597              	.LBI314:
 966:Library/src/lcm32f06x_flash.c **** {
 1598              		.loc 1 966 14 is_stmt 1 view .LVU476
 1599              	.LBB315:
 982:Library/src/lcm32f06x_flash.c ****       {
 1600              		.loc 1 982 7 view .LVU477
 982:Library/src/lcm32f06x_flash.c ****       {
 1601              		.loc 1 982 17 is_stmt 0 view .LVU478
 1602 0096 DB68     		ldr	r3, [r3, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 1603              		.loc 1 982 22 view .LVU479
 1604 0098 0340     		ands	r3, r0
 988:Library/src/lcm32f06x_flash.c ****       }
 1605              		.loc 1 988 21 view .LVU480
ARM GAS  /tmp/cc9cn0cw.s 			page 53


 1606 009a 5A42     		rsbs	r2, r3, #0
 1607 009c 5341     		adcs	r3, r3, r2
 1608 009e D81C     		adds	r0, r3, #3
 1609 00a0 C8E7     		b	.L111
 1610              	.L122:
 1611              	.LBE315:
 1612              	.LBE314:
 1613 00a2 B022     		movs	r2, #176
 1614              	.LBE313:
 1615              	.LBE312:
 1616              	.LBB318:
 1617              	.LBB319:
 970:Library/src/lcm32f06x_flash.c ****   {
 1618              		.loc 1 970 18 view .LVU481
 1619 00a4 0120     		movs	r0, #1
 1620              	.LBE319:
 1621              	.LBE318:
 1622              	.LBB326:
 1623              	.LBB316:
 1624 00a6 1203     		lsls	r2, r2, #12
 1625              	.LVL85:
 1626              	.L112:
 970:Library/src/lcm32f06x_flash.c ****   {
 1627              		.loc 1 970 18 view .LVU482
 1628              	.LBE316:
 1629              	.LBE326:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 1630              		.loc 1 947 5 is_stmt 1 view .LVU483
 1631              	.LBB327:
 1632              	.LBI318:
 966:Library/src/lcm32f06x_flash.c **** {
 1633              		.loc 1 966 14 view .LVU484
 1634              	.LBB322:
 968:Library/src/lcm32f06x_flash.c **** 
 1635              		.loc 1 968 3 view .LVU485
 970:Library/src/lcm32f06x_flash.c ****   {
 1636              		.loc 1 970 3 view .LVU486
 970:Library/src/lcm32f06x_flash.c ****   {
 1637              		.loc 1 970 13 is_stmt 0 view .LVU487
 1638 00a8 D968     		ldr	r1, [r3, #12]
 1639              	.LBE322:
 1640              	.LBE327:
 948:Library/src/lcm32f06x_flash.c ****   }
 1641              		.loc 1 948 12 view .LVU488
 1642 00aa 013A     		subs	r2, r2, #1
 1643              	.LVL86:
 1644              	.LBB328:
 1645              	.LBB323:
 970:Library/src/lcm32f06x_flash.c ****   {
 1646              		.loc 1 970 6 view .LVU489
 1647 00ac 0842     		tst	r0, r1
 1648 00ae 0CD1     		bne	.L114
 976:Library/src/lcm32f06x_flash.c ****     {
 1649              		.loc 1 976 5 is_stmt 1 view .LVU490
 976:Library/src/lcm32f06x_flash.c ****     {
 1650              		.loc 1 976 15 is_stmt 0 view .LVU491
 1651 00b0 D968     		ldr	r1, [r3, #12]
ARM GAS  /tmp/cc9cn0cw.s 			page 54


 976:Library/src/lcm32f06x_flash.c ****     {
 1652              		.loc 1 976 8 view .LVU492
 1653 00b2 C906     		lsls	r1, r1, #27
 1654 00b4 0DD4     		bmi	.L125
 1655              	.LBB320:
 1656              	.LBI320:
 966:Library/src/lcm32f06x_flash.c **** {
 1657              		.loc 1 966 14 is_stmt 1 view .LVU493
 1658              	.LBB321:
 982:Library/src/lcm32f06x_flash.c ****       {
 1659              		.loc 1 982 7 view .LVU494
 982:Library/src/lcm32f06x_flash.c ****       {
 1660              		.loc 1 982 22 is_stmt 0 view .LVU495
 1661 00b6 0420     		movs	r0, #4
 982:Library/src/lcm32f06x_flash.c ****       {
 1662              		.loc 1 982 17 view .LVU496
 1663 00b8 DB68     		ldr	r3, [r3, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 1664              		.loc 1 982 22 view .LVU497
 1665 00ba 1840     		ands	r0, r3
 988:Library/src/lcm32f06x_flash.c ****       }
 1666              		.loc 1 988 21 view .LVU498
 1667 00bc 4342     		rsbs	r3, r0, #0
 1668 00be 5841     		adcs	r0, r0, r3
 1669 00c0 0330     		adds	r0, r0, #3
 1670              	.L115:
 1671              	.LVL87:
 988:Library/src/lcm32f06x_flash.c ****       }
 1672              		.loc 1 988 21 view .LVU499
 1673              	.LBE321:
 1674              	.LBE320:
 1675              	.LBE323:
 1676              	.LBE328:
 951:Library/src/lcm32f06x_flash.c ****   {
 1677              		.loc 1 951 3 is_stmt 1 view .LVU500
 951:Library/src/lcm32f06x_flash.c ****   {
 1678              		.loc 1 951 6 is_stmt 0 view .LVU501
 1679 00c2 002A     		cmp	r2, #0
 1680 00c4 B6D1     		bne	.L111
 953:Library/src/lcm32f06x_flash.c ****   }
 1681              		.loc 1 953 12 view .LVU502
 1682 00c6 0520     		movs	r0, #5
 1683 00c8 B4E7     		b	.L111
 1684              	.LVL88:
 1685              	.L114:
 1686              	.LBB329:
 1687              	.LBB324:
 1688              		.loc 1 993 3 is_stmt 1 view .LVU503
 1689              		.loc 1 993 3 is_stmt 0 view .LVU504
 1690              	.LBE324:
 1691              	.LBE329:
 948:Library/src/lcm32f06x_flash.c ****   }
 1692              		.loc 1 948 5 is_stmt 1 view .LVU505
 945:Library/src/lcm32f06x_flash.c ****   {
 1693              		.loc 1 945 33 view .LVU506
 945:Library/src/lcm32f06x_flash.c ****   {
 1694              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU507
ARM GAS  /tmp/cc9cn0cw.s 			page 55


 1695 00ca 002A     		cmp	r2, #0
 1696 00cc ECD1     		bne	.L112
 953:Library/src/lcm32f06x_flash.c ****   }
 1697              		.loc 1 953 12 view .LVU508
 1698 00ce 0520     		movs	r0, #5
 1699 00d0 B0E7     		b	.L111
 1700              	.LVL89:
 1701              	.L125:
 1702              	.LBB330:
 1703              	.LBB325:
 978:Library/src/lcm32f06x_flash.c ****     }
 1704              		.loc 1 978 19 view .LVU509
 1705 00d2 0220     		movs	r0, #2
 1706 00d4 F5E7     		b	.L115
 1707              	.LVL90:
 1708              	.L123:
 978:Library/src/lcm32f06x_flash.c ****     }
 1709              		.loc 1 978 19 view .LVU510
 1710              	.LBE325:
 1711              	.LBE330:
 1712              	.LBB331:
 1713              	.LBB317:
 1714 00d6 0220     		movs	r0, #2
 1715 00d8 ACE7     		b	.L111
 1716              	.L137:
 1717 00da C046     		.align	2
 1718              	.L136:
 1719 00dc 00D00140 		.word	1073860608
 1720              	.LBE317:
 1721              	.LBE331:
 1722              	.LBE311:
 1723              	.LBE310:
 1724              		.cfi_endproc
 1725              	.LFE54:
 1727              		.section	.text.FLASH_ProgramHalfWord,"ax",%progbits
 1728              		.align	1
 1729              		.p2align 2,,3
 1730              		.global	FLASH_ProgramHalfWord
 1731              		.syntax unified
 1732              		.code	16
 1733              		.thumb_func
 1735              	FLASH_ProgramHalfWord:
 1736              	.LVL91:
 1737              	.LFB55:
 300:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 1738              		.loc 1 300 1 is_stmt 1 view -0
 1739              		.cfi_startproc
 1740              		@ args = 0, pretend = 0, frame = 0
 1741              		@ frame_needed = 0, uses_anonymous_args = 0
 301:Library/src/lcm32f06x_flash.c **** 
 1742              		.loc 1 301 3 view .LVU512
 304:Library/src/lcm32f06x_flash.c **** 
 1743              		.loc 1 304 3 view .LVU513
 307:Library/src/lcm32f06x_flash.c **** 
 1744              		.loc 1 307 3 view .LVU514
 1745              	.LBB352:
 1746              	.LBI352:
ARM GAS  /tmp/cc9cn0cw.s 			page 56


 937:Library/src/lcm32f06x_flash.c **** {
 1747              		.loc 1 937 14 view .LVU515
 1748              	.LBB353:
 939:Library/src/lcm32f06x_flash.c **** 
 1749              		.loc 1 939 3 view .LVU516
 942:Library/src/lcm32f06x_flash.c **** 
 1750              		.loc 1 942 3 view .LVU517
 1751              	.LBB354:
 1752              	.LBI354:
 966:Library/src/lcm32f06x_flash.c **** {
 1753              		.loc 1 966 14 view .LVU518
 1754              	.LBB355:
 968:Library/src/lcm32f06x_flash.c **** 
 1755              		.loc 1 968 3 view .LVU519
 970:Library/src/lcm32f06x_flash.c ****   {
 1756              		.loc 1 970 3 view .LVU520
 970:Library/src/lcm32f06x_flash.c ****   {
 1757              		.loc 1 970 13 is_stmt 0 view .LVU521
 1758 0000 344A     		ldr	r2, .L172
 1759              	.LBE355:
 1760              	.LBE354:
 1761              	.LBE353:
 1762              	.LBE352:
 300:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 1763              		.loc 1 300 1 view .LVU522
 1764 0002 70B5     		push	{r4, r5, r6, lr}
 1765              	.LCFI3:
 1766              		.cfi_def_cfa_offset 16
 1767              		.cfi_offset 4, -16
 1768              		.cfi_offset 5, -12
 1769              		.cfi_offset 6, -8
 1770              		.cfi_offset 14, -4
 1771              	.LBB395:
 1772              	.LBB388:
 1773              	.LBB363:
 1774              	.LBB358:
 970:Library/src/lcm32f06x_flash.c ****   {
 1775              		.loc 1 970 13 view .LVU523
 1776 0004 D368     		ldr	r3, [r2, #12]
 1777              	.LBE358:
 1778              	.LBE363:
 1779              	.LBE388:
 1780              	.LBE395:
 300:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 1781              		.loc 1 300 1 view .LVU524
 1782 0006 0600     		movs	r6, r0
 1783              	.LBB396:
 1784              	.LBB389:
 1785              	.LBB364:
 1786              	.LBB359:
 970:Library/src/lcm32f06x_flash.c ****   {
 1787              		.loc 1 970 6 view .LVU525
 1788 0008 DB07     		lsls	r3, r3, #31
 1789 000a 1AD4     		bmi	.L152
 976:Library/src/lcm32f06x_flash.c ****     {
 1790              		.loc 1 976 5 is_stmt 1 view .LVU526
 976:Library/src/lcm32f06x_flash.c ****     {
ARM GAS  /tmp/cc9cn0cw.s 			page 57


 1791              		.loc 1 976 15 is_stmt 0 view .LVU527
 1792 000c D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 1793              		.loc 1 976 8 view .LVU528
 1794 000e DB06     		lsls	r3, r3, #27
 1795 0010 35D4     		bmi	.L153
 1796              	.LBB356:
 1797              	.LBI356:
 966:Library/src/lcm32f06x_flash.c **** {
 1798              		.loc 1 966 14 is_stmt 1 view .LVU529
 1799              	.LBB357:
 982:Library/src/lcm32f06x_flash.c ****       {
 1800              		.loc 1 982 7 view .LVU530
 982:Library/src/lcm32f06x_flash.c ****       {
 1801              		.loc 1 982 17 is_stmt 0 view .LVU531
 1802 0012 D368     		ldr	r3, [r2, #12]
 984:Library/src/lcm32f06x_flash.c ****       }
 1803              		.loc 1 984 21 view .LVU532
 1804 0014 0320     		movs	r0, #3
 1805              	.LVL92:
 982:Library/src/lcm32f06x_flash.c ****       {
 1806              		.loc 1 982 10 view .LVU533
 1807 0016 5B07     		lsls	r3, r3, #29
 1808 0018 30D4     		bmi	.L164
 1809              	.LVL93:
 1810              	.L142:
 982:Library/src/lcm32f06x_flash.c ****       {
 1811              		.loc 1 982 10 view .LVU534
 1812              	.LBE357:
 1813              	.LBE356:
 1814              	.LBE359:
 1815              	.LBE364:
 1816              	.LBE389:
 1817              	.LBE396:
 312:Library/src/lcm32f06x_flash.c **** 
 1818              		.loc 1 312 5 is_stmt 1 view .LVU535
 312:Library/src/lcm32f06x_flash.c **** 
 1819              		.loc 1 312 15 is_stmt 0 view .LVU536
 1820 001a 0124     		movs	r4, #1
 312:Library/src/lcm32f06x_flash.c **** 
 1821              		.loc 1 312 10 view .LVU537
 1822 001c 2D4B     		ldr	r3, .L172
 307:Library/src/lcm32f06x_flash.c **** 
 1823              		.loc 1 307 12 view .LVU538
 1824 001e 0420     		movs	r0, #4
 312:Library/src/lcm32f06x_flash.c **** 
 1825              		.loc 1 312 10 view .LVU539
 1826 0020 1A69     		ldr	r2, [r3, #16]
 312:Library/src/lcm32f06x_flash.c **** 
 1827              		.loc 1 312 15 view .LVU540
 1828 0022 2243     		orrs	r2, r4
 1829 0024 1A61     		str	r2, [r3, #16]
 314:Library/src/lcm32f06x_flash.c **** 
 1830              		.loc 1 314 5 is_stmt 1 view .LVU541
 314:Library/src/lcm32f06x_flash.c **** 
 1831              		.loc 1 314 31 is_stmt 0 view .LVU542
 1832 0026 3180     		strh	r1, [r6]
ARM GAS  /tmp/cc9cn0cw.s 			page 58


 317:Library/src/lcm32f06x_flash.c ****     {
 1833              		.loc 1 317 5 is_stmt 1 view .LVU543
 317:Library/src/lcm32f06x_flash.c ****     {
 1834              		.loc 1 317 28 view .LVU544
 317:Library/src/lcm32f06x_flash.c ****     {
 1835              		.loc 1 317 23 is_stmt 0 view .LVU545
 1836 0028 DA68     		ldr	r2, [r3, #12]
 317:Library/src/lcm32f06x_flash.c ****     {
 1837              		.loc 1 317 28 view .LVU546
 1838 002a 9206     		lsls	r2, r2, #26
 1839 002c 29D5     		bpl	.L171
 1840              	.LVL94:
 1841              	.L147:
 322:Library/src/lcm32f06x_flash.c ****     /* Disable the PG Bit */
 1842              		.loc 1 322 5 is_stmt 1 view .LVU547
 322:Library/src/lcm32f06x_flash.c ****     /* Disable the PG Bit */
 1843              		.loc 1 322 21 is_stmt 0 view .LVU548
 1844 002e 2021     		movs	r1, #32
 1845 0030 284B     		ldr	r3, .L172
 1846 0032 DA68     		ldr	r2, [r3, #12]
 1847 0034 0A43     		orrs	r2, r1
 1848 0036 DA60     		str	r2, [r3, #12]
 1849              	.LVL95:
 324:Library/src/lcm32f06x_flash.c ****   }
 1850              		.loc 1 324 5 is_stmt 1 view .LVU549
 324:Library/src/lcm32f06x_flash.c ****   }
 1851              		.loc 1 324 10 is_stmt 0 view .LVU550
 1852 0038 1A69     		ldr	r2, [r3, #16]
 324:Library/src/lcm32f06x_flash.c ****   }
 1853              		.loc 1 324 15 view .LVU551
 1854 003a 1F39     		subs	r1, r1, #31
 1855 003c 8A43     		bics	r2, r1
 1856 003e 1A61     		str	r2, [r3, #16]
 1857 0040 1CE0     		b	.L164
 1858              	.LVL96:
 1859              	.L152:
 1860              	.LBB397:
 1861              	.LBB390:
 1862              	.LBB365:
 1863              	.LBB360:
 324:Library/src/lcm32f06x_flash.c ****   }
 1864              		.loc 1 324 15 view .LVU552
 1865 0042 B023     		movs	r3, #176
 1866              	.LBE360:
 1867              	.LBE365:
 1868              	.LBB366:
 1869              	.LBB367:
 970:Library/src/lcm32f06x_flash.c ****   {
 1870              		.loc 1 970 18 view .LVU553
 1871 0044 0125     		movs	r5, #1
 1872              	.LBE367:
 1873              	.LBE366:
 1874              	.LBB380:
 1875              	.LBB361:
 1876 0046 1B03     		lsls	r3, r3, #12
 1877              	.LVL97:
 1878              	.L139:
ARM GAS  /tmp/cc9cn0cw.s 			page 59


 970:Library/src/lcm32f06x_flash.c ****   {
 1879              		.loc 1 970 18 view .LVU554
 1880              	.LBE361:
 1881              	.LBE380:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 1882              		.loc 1 947 5 is_stmt 1 view .LVU555
 1883              	.LBB381:
 1884              	.LBI366:
 966:Library/src/lcm32f06x_flash.c **** {
 1885              		.loc 1 966 14 view .LVU556
 1886              	.LBB374:
 968:Library/src/lcm32f06x_flash.c **** 
 1887              		.loc 1 968 3 view .LVU557
 970:Library/src/lcm32f06x_flash.c ****   {
 1888              		.loc 1 970 3 view .LVU558
 970:Library/src/lcm32f06x_flash.c ****   {
 1889              		.loc 1 970 13 is_stmt 0 view .LVU559
 1890 0048 D468     		ldr	r4, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 1891              		.loc 1 970 6 view .LVU560
 1892 004a 2542     		tst	r5, r4
 1893 004c 0BD1     		bne	.L143
 976:Library/src/lcm32f06x_flash.c ****     {
 1894              		.loc 1 976 5 is_stmt 1 view .LVU561
 976:Library/src/lcm32f06x_flash.c ****     {
 1895              		.loc 1 976 15 is_stmt 0 view .LVU562
 1896 004e D468     		ldr	r4, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 1897              		.loc 1 976 8 view .LVU563
 1898 0050 E406     		lsls	r4, r4, #27
 1899 0052 0DD4     		bmi	.L144
 1900              	.LBB368:
 1901              	.LBI368:
 966:Library/src/lcm32f06x_flash.c **** {
 1902              		.loc 1 966 14 is_stmt 1 view .LVU564
 1903              	.LBB369:
 982:Library/src/lcm32f06x_flash.c ****       {
 1904              		.loc 1 982 7 view .LVU565
 982:Library/src/lcm32f06x_flash.c ****       {
 1905              		.loc 1 982 17 is_stmt 0 view .LVU566
 1906 0054 D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 1907              		.loc 1 982 10 view .LVU567
 1908 0056 5207     		lsls	r2, r2, #29
 1909 0058 0DD5     		bpl	.L145
 1910              	.LVL98:
 982:Library/src/lcm32f06x_flash.c ****       {
 1911              		.loc 1 982 10 view .LVU568
 1912              	.LBE369:
 1913              	.LBE368:
 1914              		.loc 1 993 3 is_stmt 1 view .LVU569
 1915              		.loc 1 993 3 is_stmt 0 view .LVU570
 1916              	.LBE374:
 1917              	.LBE381:
 948:Library/src/lcm32f06x_flash.c ****   }
 1918              		.loc 1 948 5 is_stmt 1 view .LVU571
 1919              	.LBB382:
ARM GAS  /tmp/cc9cn0cw.s 			page 60


 1920              	.LBB375:
 1921              	.LBB372:
 1922              	.LBB370:
 984:Library/src/lcm32f06x_flash.c ****       }
 1923              		.loc 1 984 21 is_stmt 0 view .LVU572
 1924 005a 0320     		movs	r0, #3
 1925              	.LVL99:
 984:Library/src/lcm32f06x_flash.c ****       }
 1926              		.loc 1 984 21 view .LVU573
 1927              	.LBE370:
 1928              	.LBE372:
 1929              	.LBE375:
 1930              	.LBE382:
 948:Library/src/lcm32f06x_flash.c ****   }
 1931              		.loc 1 948 12 view .LVU574
 1932 005c 013B     		subs	r3, r3, #1
 1933              	.LVL100:
 945:Library/src/lcm32f06x_flash.c ****   {
 1934              		.loc 1 945 33 is_stmt 1 view .LVU575
 1935              	.L146:
 951:Library/src/lcm32f06x_flash.c ****   {
 1936              		.loc 1 951 3 view .LVU576
 951:Library/src/lcm32f06x_flash.c ****   {
 1937              		.loc 1 951 6 is_stmt 0 view .LVU577
 1938 005e 002B     		cmp	r3, #0
 1939 0060 0CD1     		bne	.L164
 1940              	.LBE390:
 1941              	.LBE397:
 307:Library/src/lcm32f06x_flash.c **** 
 1942              		.loc 1 307 12 view .LVU578
 1943 0062 0520     		movs	r0, #5
 1944              	.LVL101:
 328:Library/src/lcm32f06x_flash.c **** }
 1945              		.loc 1 328 3 is_stmt 1 view .LVU579
 328:Library/src/lcm32f06x_flash.c **** }
 1946              		.loc 1 328 10 is_stmt 0 view .LVU580
 1947 0064 0AE0     		b	.L164
 1948              	.LVL102:
 1949              	.L143:
 1950              	.LBB398:
 1951              	.LBB391:
 1952              	.LBB383:
 1953              	.LBB376:
 1954              		.loc 1 993 3 is_stmt 1 view .LVU581
 1955              		.loc 1 993 3 is_stmt 0 view .LVU582
 1956              	.LBE376:
 1957              	.LBE383:
 948:Library/src/lcm32f06x_flash.c ****   }
 1958              		.loc 1 948 5 is_stmt 1 view .LVU583
 948:Library/src/lcm32f06x_flash.c ****   }
 1959              		.loc 1 948 12 is_stmt 0 view .LVU584
 1960 0066 013B     		subs	r3, r3, #1
 1961              	.LVL103:
 945:Library/src/lcm32f06x_flash.c ****   {
 1962              		.loc 1 945 33 is_stmt 1 view .LVU585
 945:Library/src/lcm32f06x_flash.c ****   {
 1963              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU586
ARM GAS  /tmp/cc9cn0cw.s 			page 61


 1964 0068 002B     		cmp	r3, #0
 1965 006a EDD1     		bne	.L139
 1966              	.LBE391:
 1967              	.LBE398:
 307:Library/src/lcm32f06x_flash.c **** 
 1968              		.loc 1 307 12 view .LVU587
 1969 006c 0520     		movs	r0, #5
 1970              	.LVL104:
 328:Library/src/lcm32f06x_flash.c **** }
 1971              		.loc 1 328 3 is_stmt 1 view .LVU588
 1972 006e 05E0     		b	.L164
 1973              	.LVL105:
 1974              	.L144:
 1975              	.LBB399:
 1976              	.LBB392:
 1977              	.LBB384:
 1978              	.LBB377:
 1979              		.loc 1 993 3 view .LVU589
 1980              		.loc 1 993 3 is_stmt 0 view .LVU590
 1981              	.LBE377:
 1982              	.LBE384:
 948:Library/src/lcm32f06x_flash.c ****   }
 1983              		.loc 1 948 5 is_stmt 1 view .LVU591
 1984              	.LBB385:
 1985              	.LBB378:
 978:Library/src/lcm32f06x_flash.c ****     }
 1986              		.loc 1 978 19 is_stmt 0 view .LVU592
 1987 0070 0220     		movs	r0, #2
 1988              	.LVL106:
 978:Library/src/lcm32f06x_flash.c ****     }
 1989              		.loc 1 978 19 view .LVU593
 1990              	.LBE378:
 1991              	.LBE385:
 948:Library/src/lcm32f06x_flash.c ****   }
 1992              		.loc 1 948 12 view .LVU594
 1993 0072 013B     		subs	r3, r3, #1
 1994              	.LVL107:
 945:Library/src/lcm32f06x_flash.c ****   {
 1995              		.loc 1 945 33 is_stmt 1 view .LVU595
 1996 0074 F3E7     		b	.L146
 1997              	.LVL108:
 1998              	.L145:
 1999              	.LBB386:
 2000              	.LBB379:
 2001              	.LBB373:
 2002              	.LBB371:
 988:Library/src/lcm32f06x_flash.c ****       }
 2003              		.loc 1 988 9 view .LVU596
 988:Library/src/lcm32f06x_flash.c ****       }
 2004              		.loc 1 988 9 is_stmt 0 view .LVU597
 2005              	.LBE371:
 2006              	.LBE373:
 2007              		.loc 1 993 3 is_stmt 1 view .LVU598
 2008              		.loc 1 993 3 is_stmt 0 view .LVU599
 2009              	.LBE379:
 2010              	.LBE386:
 948:Library/src/lcm32f06x_flash.c ****   }
ARM GAS  /tmp/cc9cn0cw.s 			page 62


 2011              		.loc 1 948 5 is_stmt 1 view .LVU600
 945:Library/src/lcm32f06x_flash.c ****   {
 2012              		.loc 1 945 33 view .LVU601
 951:Library/src/lcm32f06x_flash.c ****   {
 2013              		.loc 1 951 3 view .LVU602
 2014              	.LBE392:
 2015              	.LBE399:
 307:Library/src/lcm32f06x_flash.c **** 
 2016              		.loc 1 307 12 is_stmt 0 view .LVU603
 2017 0076 0520     		movs	r0, #5
 2018              	.LVL109:
 2019              	.LBB400:
 2020              	.LBB393:
 951:Library/src/lcm32f06x_flash.c ****   {
 2021              		.loc 1 951 6 view .LVU604
 2022 0078 012B     		cmp	r3, #1
 2023 007a CED1     		bne	.L142
 2024              	.LVL110:
 2025              	.L164:
 951:Library/src/lcm32f06x_flash.c ****   {
 2026              		.loc 1 951 6 view .LVU605
 2027              	.LBE393:
 2028              	.LBE400:
 329:Library/src/lcm32f06x_flash.c **** 
 2029              		.loc 1 329 1 view .LVU606
 2030              		@ sp needed
 2031              	.LVL111:
 329:Library/src/lcm32f06x_flash.c **** 
 2032              		.loc 1 329 1 view .LVU607
 2033 007c 70BD     		pop	{r4, r5, r6, pc}
 2034              	.LVL112:
 2035              	.L153:
 2036              	.LBB401:
 2037              	.LBB394:
 2038              	.LBB387:
 2039              	.LBB362:
 978:Library/src/lcm32f06x_flash.c ****     }
 2040              		.loc 1 978 19 view .LVU608
 2041 007e 0220     		movs	r0, #2
 2042              	.LVL113:
 978:Library/src/lcm32f06x_flash.c ****     }
 2043              		.loc 1 978 19 view .LVU609
 2044 0080 FCE7     		b	.L164
 2045              	.LVL114:
 2046              	.L171:
 978:Library/src/lcm32f06x_flash.c ****     }
 2047              		.loc 1 978 19 view .LVU610
 2048              	.LBE362:
 2049              	.LBE387:
 2050              	.LBE394:
 2051              	.LBE401:
 319:Library/src/lcm32f06x_flash.c ****         break;
 2052              		.loc 1 319 9 is_stmt 1 view .LVU611
 2053              	.LBB402:
 2054              	.LBI402:
 937:Library/src/lcm32f06x_flash.c **** {
 2055              		.loc 1 937 14 view .LVU612
ARM GAS  /tmp/cc9cn0cw.s 			page 63


 2056              	.LBB403:
 939:Library/src/lcm32f06x_flash.c **** 
 2057              		.loc 1 939 3 view .LVU613
 942:Library/src/lcm32f06x_flash.c **** 
 2058              		.loc 1 942 3 view .LVU614
 2059              	.LBB404:
 2060              	.LBI404:
 966:Library/src/lcm32f06x_flash.c **** {
 2061              		.loc 1 966 14 view .LVU615
 2062              	.LBB405:
 968:Library/src/lcm32f06x_flash.c **** 
 2063              		.loc 1 968 3 view .LVU616
 970:Library/src/lcm32f06x_flash.c ****   {
 2064              		.loc 1 970 3 view .LVU617
 970:Library/src/lcm32f06x_flash.c ****   {
 2065              		.loc 1 970 13 is_stmt 0 view .LVU618
 2066 0082 DA68     		ldr	r2, [r3, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 2067              		.loc 1 970 6 view .LVU619
 2068 0084 1442     		tst	r4, r2
 2069 0086 08D1     		bne	.L158
 976:Library/src/lcm32f06x_flash.c ****     {
 2070              		.loc 1 976 5 is_stmt 1 view .LVU620
 976:Library/src/lcm32f06x_flash.c ****     {
 2071              		.loc 1 976 15 is_stmt 0 view .LVU621
 2072 0088 DA68     		ldr	r2, [r3, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 2073              		.loc 1 976 8 view .LVU622
 2074 008a D206     		lsls	r2, r2, #27
 2075 008c 1FD4     		bmi	.L159
 2076              	.LBB406:
 2077              	.LBI406:
 966:Library/src/lcm32f06x_flash.c **** {
 2078              		.loc 1 966 14 is_stmt 1 view .LVU623
 2079              	.LBB407:
 982:Library/src/lcm32f06x_flash.c ****       {
 2080              		.loc 1 982 7 view .LVU624
 982:Library/src/lcm32f06x_flash.c ****       {
 2081              		.loc 1 982 17 is_stmt 0 view .LVU625
 2082 008e DB68     		ldr	r3, [r3, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 2083              		.loc 1 982 22 view .LVU626
 2084 0090 0340     		ands	r3, r0
 988:Library/src/lcm32f06x_flash.c ****       }
 2085              		.loc 1 988 21 view .LVU627
 2086 0092 5A42     		rsbs	r2, r3, #0
 2087 0094 5341     		adcs	r3, r3, r2
 2088 0096 D81C     		adds	r0, r3, #3
 2089 0098 C9E7     		b	.L147
 2090              	.L158:
 2091              	.LBE407:
 2092              	.LBE406:
 2093 009a B022     		movs	r2, #176
 2094              	.LBE405:
 2095              	.LBE404:
 2096              	.LBB410:
 2097              	.LBB411:
ARM GAS  /tmp/cc9cn0cw.s 			page 64


 970:Library/src/lcm32f06x_flash.c ****   {
 2098              		.loc 1 970 18 view .LVU628
 2099 009c 0120     		movs	r0, #1
 2100              	.LBE411:
 2101              	.LBE410:
 2102              	.LBB418:
 2103              	.LBB408:
 2104 009e 1203     		lsls	r2, r2, #12
 2105              	.LVL115:
 2106              	.L148:
 970:Library/src/lcm32f06x_flash.c ****   {
 2107              		.loc 1 970 18 view .LVU629
 2108              	.LBE408:
 2109              	.LBE418:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 2110              		.loc 1 947 5 is_stmt 1 view .LVU630
 2111              	.LBB419:
 2112              	.LBI410:
 966:Library/src/lcm32f06x_flash.c **** {
 2113              		.loc 1 966 14 view .LVU631
 2114              	.LBB414:
 968:Library/src/lcm32f06x_flash.c **** 
 2115              		.loc 1 968 3 view .LVU632
 970:Library/src/lcm32f06x_flash.c ****   {
 2116              		.loc 1 970 3 view .LVU633
 970:Library/src/lcm32f06x_flash.c ****   {
 2117              		.loc 1 970 13 is_stmt 0 view .LVU634
 2118 00a0 D968     		ldr	r1, [r3, #12]
 2119              	.LBE414:
 2120              	.LBE419:
 948:Library/src/lcm32f06x_flash.c ****   }
 2121              		.loc 1 948 12 view .LVU635
 2122 00a2 013A     		subs	r2, r2, #1
 2123              	.LVL116:
 2124              	.LBB420:
 2125              	.LBB415:
 970:Library/src/lcm32f06x_flash.c ****   {
 2126              		.loc 1 970 6 view .LVU636
 2127 00a4 0842     		tst	r0, r1
 2128 00a6 0CD1     		bne	.L150
 976:Library/src/lcm32f06x_flash.c ****     {
 2129              		.loc 1 976 5 is_stmt 1 view .LVU637
 976:Library/src/lcm32f06x_flash.c ****     {
 2130              		.loc 1 976 15 is_stmt 0 view .LVU638
 2131 00a8 D968     		ldr	r1, [r3, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 2132              		.loc 1 976 8 view .LVU639
 2133 00aa C906     		lsls	r1, r1, #27
 2134 00ac 0DD4     		bmi	.L161
 2135              	.LBB412:
 2136              	.LBI412:
 966:Library/src/lcm32f06x_flash.c **** {
 2137              		.loc 1 966 14 is_stmt 1 view .LVU640
 2138              	.LBB413:
 982:Library/src/lcm32f06x_flash.c ****       {
 2139              		.loc 1 982 7 view .LVU641
 982:Library/src/lcm32f06x_flash.c ****       {
ARM GAS  /tmp/cc9cn0cw.s 			page 65


 2140              		.loc 1 982 22 is_stmt 0 view .LVU642
 2141 00ae 0420     		movs	r0, #4
 982:Library/src/lcm32f06x_flash.c ****       {
 2142              		.loc 1 982 17 view .LVU643
 2143 00b0 DB68     		ldr	r3, [r3, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 2144              		.loc 1 982 22 view .LVU644
 2145 00b2 1840     		ands	r0, r3
 988:Library/src/lcm32f06x_flash.c ****       }
 2146              		.loc 1 988 21 view .LVU645
 2147 00b4 4342     		rsbs	r3, r0, #0
 2148 00b6 5841     		adcs	r0, r0, r3
 2149 00b8 0330     		adds	r0, r0, #3
 2150              	.L151:
 2151              	.LVL117:
 988:Library/src/lcm32f06x_flash.c ****       }
 2152              		.loc 1 988 21 view .LVU646
 2153              	.LBE413:
 2154              	.LBE412:
 2155              	.LBE415:
 2156              	.LBE420:
 951:Library/src/lcm32f06x_flash.c ****   {
 2157              		.loc 1 951 3 is_stmt 1 view .LVU647
 951:Library/src/lcm32f06x_flash.c ****   {
 2158              		.loc 1 951 6 is_stmt 0 view .LVU648
 2159 00ba 002A     		cmp	r2, #0
 2160 00bc B7D1     		bne	.L147
 953:Library/src/lcm32f06x_flash.c ****   }
 2161              		.loc 1 953 12 view .LVU649
 2162 00be 0520     		movs	r0, #5
 2163 00c0 B5E7     		b	.L147
 2164              	.LVL118:
 2165              	.L150:
 2166              	.LBB421:
 2167              	.LBB416:
 2168              		.loc 1 993 3 is_stmt 1 view .LVU650
 2169              		.loc 1 993 3 is_stmt 0 view .LVU651
 2170              	.LBE416:
 2171              	.LBE421:
 948:Library/src/lcm32f06x_flash.c ****   }
 2172              		.loc 1 948 5 is_stmt 1 view .LVU652
 945:Library/src/lcm32f06x_flash.c ****   {
 2173              		.loc 1 945 33 view .LVU653
 945:Library/src/lcm32f06x_flash.c ****   {
 2174              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU654
 2175 00c2 002A     		cmp	r2, #0
 2176 00c4 ECD1     		bne	.L148
 953:Library/src/lcm32f06x_flash.c ****   }
 2177              		.loc 1 953 12 view .LVU655
 2178 00c6 0520     		movs	r0, #5
 2179 00c8 B1E7     		b	.L147
 2180              	.LVL119:
 2181              	.L161:
 2182              	.LBB422:
 2183              	.LBB417:
 978:Library/src/lcm32f06x_flash.c ****     }
 2184              		.loc 1 978 19 view .LVU656
ARM GAS  /tmp/cc9cn0cw.s 			page 66


 2185 00ca 0220     		movs	r0, #2
 2186 00cc F5E7     		b	.L151
 2187              	.LVL120:
 2188              	.L159:
 978:Library/src/lcm32f06x_flash.c ****     }
 2189              		.loc 1 978 19 view .LVU657
 2190              	.LBE417:
 2191              	.LBE422:
 2192              	.LBB423:
 2193              	.LBB409:
 2194 00ce 0220     		movs	r0, #2
 2195 00d0 ADE7     		b	.L147
 2196              	.L173:
 2197 00d2 C046     		.align	2
 2198              	.L172:
 2199 00d4 00D00140 		.word	1073860608
 2200              	.LBE409:
 2201              	.LBE423:
 2202              	.LBE403:
 2203              	.LBE402:
 2204              		.cfi_endproc
 2205              	.LFE55:
 2207              		.section	.text.FLASH_OB_Unlock,"ax",%progbits
 2208              		.align	1
 2209              		.p2align 2,,3
 2210              		.global	FLASH_OB_Unlock
 2211              		.syntax unified
 2212              		.code	16
 2213              		.thumb_func
 2215              	FLASH_OB_Unlock:
 2216              	.LFB56:
 339:Library/src/lcm32f06x_flash.c ****   if ((FLASH->CR & FLASH_CR_OPTWRE_Msk) == RESET)
 2217              		.loc 1 339 1 is_stmt 1 view -0
 2218              		.cfi_startproc
 2219              		@ args = 0, pretend = 0, frame = 0
 2220              		@ frame_needed = 0, uses_anonymous_args = 0
 2221              		@ link register save eliminated.
 340:Library/src/lcm32f06x_flash.c ****   {
 2222              		.loc 1 340 3 view .LVU659
 340:Library/src/lcm32f06x_flash.c ****   {
 2223              		.loc 1 340 13 is_stmt 0 view .LVU660
 2224 0000 064B     		ldr	r3, .L177
 2225 0002 1A69     		ldr	r2, [r3, #16]
 340:Library/src/lcm32f06x_flash.c ****   {
 2226              		.loc 1 340 6 view .LVU661
 2227 0004 9205     		lsls	r2, r2, #22
 2228 0006 07D4     		bmi	.L174
 343:Library/src/lcm32f06x_flash.c ****     FLASH->OPTKEYR = FLASH_OPTKEY2;
 2229              		.loc 1 343 5 is_stmt 1 view .LVU662
 343:Library/src/lcm32f06x_flash.c ****     FLASH->OPTKEYR = FLASH_OPTKEY2;
 2230              		.loc 1 343 20 is_stmt 0 view .LVU663
 2231 0008 054A     		ldr	r2, .L177+4
 345:Library/src/lcm32f06x_flash.c ****   }
 2232              		.loc 1 345 15 view .LVU664
 2233 000a 0649     		ldr	r1, .L177+8
 343:Library/src/lcm32f06x_flash.c ****     FLASH->OPTKEYR = FLASH_OPTKEY2;
 2234              		.loc 1 343 20 view .LVU665
ARM GAS  /tmp/cc9cn0cw.s 			page 67


 2235 000c 9A60     		str	r2, [r3, #8]
 344:Library/src/lcm32f06x_flash.c ****     FLASH->CR &= ~(FLASH_CR_RDONLY_Msk);
 2236              		.loc 1 344 5 is_stmt 1 view .LVU666
 344:Library/src/lcm32f06x_flash.c ****     FLASH->CR &= ~(FLASH_CR_RDONLY_Msk);
 2237              		.loc 1 344 20 is_stmt 0 view .LVU667
 2238 000e 064A     		ldr	r2, .L177+12
 2239 0010 9A60     		str	r2, [r3, #8]
 345:Library/src/lcm32f06x_flash.c ****   }
 2240              		.loc 1 345 5 is_stmt 1 view .LVU668
 345:Library/src/lcm32f06x_flash.c ****   }
 2241              		.loc 1 345 10 is_stmt 0 view .LVU669
 2242 0012 1A69     		ldr	r2, [r3, #16]
 345:Library/src/lcm32f06x_flash.c ****   }
 2243              		.loc 1 345 15 view .LVU670
 2244 0014 0A40     		ands	r2, r1
 2245 0016 1A61     		str	r2, [r3, #16]
 2246              	.L174:
 347:Library/src/lcm32f06x_flash.c **** 
 2247              		.loc 1 347 1 view .LVU671
 2248              		@ sp needed
 2249 0018 7047     		bx	lr
 2250              	.L178:
 2251 001a C046     		.align	2
 2252              	.L177:
 2253 001c 00D00140 		.word	1073860608
 2254 0020 23016745 		.word	1164378403
 2255 0024 FFFFFFEF 		.word	-268435457
 2256 0028 AB89EFCD 		.word	-839939669
 2257              		.cfi_endproc
 2258              	.LFE56:
 2260              		.section	.text.FLASH_OB_Lock,"ax",%progbits
 2261              		.align	1
 2262              		.p2align 2,,3
 2263              		.global	FLASH_OB_Lock
 2264              		.syntax unified
 2265              		.code	16
 2266              		.thumb_func
 2268              	FLASH_OB_Lock:
 2269              	.LFB57:
 357:Library/src/lcm32f06x_flash.c ****   /* Set the OPTWREN Bit to lock the option bytes block access */
 2270              		.loc 1 357 1 is_stmt 1 view -0
 2271              		.cfi_startproc
 2272              		@ args = 0, pretend = 0, frame = 0
 2273              		@ frame_needed = 0, uses_anonymous_args = 0
 2274              		@ link register save eliminated.
 359:Library/src/lcm32f06x_flash.c ****   FLASH->CR |= FLASH_CR_RDONLY_Msk;
 2275              		.loc 1 359 3 view .LVU673
 359:Library/src/lcm32f06x_flash.c ****   FLASH->CR |= FLASH_CR_RDONLY_Msk;
 2276              		.loc 1 359 8 is_stmt 0 view .LVU674
 2277 0000 054B     		ldr	r3, .L180
 359:Library/src/lcm32f06x_flash.c ****   FLASH->CR |= FLASH_CR_RDONLY_Msk;
 2278              		.loc 1 359 13 view .LVU675
 2279 0002 0649     		ldr	r1, .L180+4
 359:Library/src/lcm32f06x_flash.c ****   FLASH->CR |= FLASH_CR_RDONLY_Msk;
 2280              		.loc 1 359 8 view .LVU676
 2281 0004 1A69     		ldr	r2, [r3, #16]
 361:Library/src/lcm32f06x_flash.c **** 
ARM GAS  /tmp/cc9cn0cw.s 			page 68


 2282              		.loc 1 361 1 view .LVU677
 2283              		@ sp needed
 359:Library/src/lcm32f06x_flash.c ****   FLASH->CR |= FLASH_CR_RDONLY_Msk;
 2284              		.loc 1 359 13 view .LVU678
 2285 0006 0A40     		ands	r2, r1
 2286 0008 1A61     		str	r2, [r3, #16]
 360:Library/src/lcm32f06x_flash.c **** }
 2287              		.loc 1 360 3 is_stmt 1 view .LVU679
 360:Library/src/lcm32f06x_flash.c **** }
 2288              		.loc 1 360 13 is_stmt 0 view .LVU680
 2289 000a 8022     		movs	r2, #128
 360:Library/src/lcm32f06x_flash.c **** }
 2290              		.loc 1 360 8 view .LVU681
 2291 000c 1969     		ldr	r1, [r3, #16]
 360:Library/src/lcm32f06x_flash.c **** }
 2292              		.loc 1 360 13 view .LVU682
 2293 000e 5205     		lsls	r2, r2, #21
 2294 0010 0A43     		orrs	r2, r1
 2295 0012 1A61     		str	r2, [r3, #16]
 361:Library/src/lcm32f06x_flash.c **** 
 2296              		.loc 1 361 1 view .LVU683
 2297 0014 7047     		bx	lr
 2298              	.L181:
 2299 0016 C046     		.align	2
 2300              	.L180:
 2301 0018 00D00140 		.word	1073860608
 2302 001c FFFDFFFF 		.word	-513
 2303              		.cfi_endproc
 2304              	.LFE57:
 2306              		.section	.text.FLASH_DM_ErasePage,"ax",%progbits
 2307              		.align	1
 2308              		.p2align 2,,3
 2309              		.global	FLASH_DM_ErasePage
 2310              		.syntax unified
 2311              		.code	16
 2312              		.thumb_func
 2314              	FLASH_DM_ErasePage:
 2315              	.LVL121:
 2316              	.LFB58:
 375:Library/src/lcm32f06x_flash.c ****     FLASH_Status status = FLASH_COMPLETE;
 2317              		.loc 1 375 1 is_stmt 1 view -0
 2318              		.cfi_startproc
 2319              		@ args = 0, pretend = 0, frame = 0
 2320              		@ frame_needed = 0, uses_anonymous_args = 0
 376:Library/src/lcm32f06x_flash.c **** 
 2321              		.loc 1 376 5 view .LVU685
 379:Library/src/lcm32f06x_flash.c **** 
 2322              		.loc 1 379 5 view .LVU686
 2323              	.LBB444:
 2324              	.LBI444:
 937:Library/src/lcm32f06x_flash.c **** {
 2325              		.loc 1 937 14 view .LVU687
 2326              	.LBB445:
 939:Library/src/lcm32f06x_flash.c **** 
 2327              		.loc 1 939 3 view .LVU688
 942:Library/src/lcm32f06x_flash.c **** 
 2328              		.loc 1 942 3 view .LVU689
ARM GAS  /tmp/cc9cn0cw.s 			page 69


 2329              	.LBB446:
 2330              	.LBI446:
 966:Library/src/lcm32f06x_flash.c **** {
 2331              		.loc 1 966 14 view .LVU690
 2332              	.LBB447:
 968:Library/src/lcm32f06x_flash.c **** 
 2333              		.loc 1 968 3 view .LVU691
 970:Library/src/lcm32f06x_flash.c ****   {
 2334              		.loc 1 970 3 view .LVU692
 970:Library/src/lcm32f06x_flash.c ****   {
 2335              		.loc 1 970 13 is_stmt 0 view .LVU693
 2336 0000 354A     		ldr	r2, .L216
 2337              	.LBE447:
 2338              	.LBE446:
 2339              	.LBE445:
 2340              	.LBE444:
 375:Library/src/lcm32f06x_flash.c ****     FLASH_Status status = FLASH_COMPLETE;
 2341              		.loc 1 375 1 view .LVU694
 2342 0002 30B5     		push	{r4, r5, lr}
 2343              	.LCFI4:
 2344              		.cfi_def_cfa_offset 12
 2345              		.cfi_offset 4, -12
 2346              		.cfi_offset 5, -8
 2347              		.cfi_offset 14, -4
 2348              	.LBB487:
 2349              	.LBB480:
 2350              	.LBB455:
 2351              	.LBB450:
 970:Library/src/lcm32f06x_flash.c ****   {
 2352              		.loc 1 970 13 view .LVU695
 2353 0004 D368     		ldr	r3, [r2, #12]
 2354              	.LBE450:
 2355              	.LBE455:
 2356              	.LBE480:
 2357              	.LBE487:
 375:Library/src/lcm32f06x_flash.c ****     FLASH_Status status = FLASH_COMPLETE;
 2358              		.loc 1 375 1 view .LVU696
 2359 0006 0500     		movs	r5, r0
 2360              	.LBB488:
 2361              	.LBB481:
 2362              	.LBB456:
 2363              	.LBB451:
 970:Library/src/lcm32f06x_flash.c ****   {
 2364              		.loc 1 970 6 view .LVU697
 2365 0008 DB07     		lsls	r3, r3, #31
 2366 000a 1DD4     		bmi	.L196
 976:Library/src/lcm32f06x_flash.c ****     {
 2367              		.loc 1 976 5 is_stmt 1 view .LVU698
 976:Library/src/lcm32f06x_flash.c ****     {
 2368              		.loc 1 976 15 is_stmt 0 view .LVU699
 2369 000c D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 2370              		.loc 1 976 8 view .LVU700
 2371 000e DB06     		lsls	r3, r3, #27
 2372 0010 38D4     		bmi	.L197
 2373              	.LBB448:
 2374              	.LBI448:
ARM GAS  /tmp/cc9cn0cw.s 			page 70


 966:Library/src/lcm32f06x_flash.c **** {
 2375              		.loc 1 966 14 is_stmt 1 view .LVU701
 2376              	.LBB449:
 982:Library/src/lcm32f06x_flash.c ****       {
 2377              		.loc 1 982 7 view .LVU702
 982:Library/src/lcm32f06x_flash.c ****       {
 2378              		.loc 1 982 17 is_stmt 0 view .LVU703
 2379 0012 D368     		ldr	r3, [r2, #12]
 984:Library/src/lcm32f06x_flash.c ****       }
 2380              		.loc 1 984 21 view .LVU704
 2381 0014 0320     		movs	r0, #3
 2382              	.LVL122:
 982:Library/src/lcm32f06x_flash.c ****       {
 2383              		.loc 1 982 10 view .LVU705
 2384 0016 5B07     		lsls	r3, r3, #29
 2385 0018 33D4     		bmi	.L208
 2386              	.LVL123:
 2387              	.L186:
 982:Library/src/lcm32f06x_flash.c ****       {
 2388              		.loc 1 982 10 view .LVU706
 2389              	.LBE449:
 2390              	.LBE448:
 2391              	.LBE451:
 2392              	.LBE456:
 2393              	.LBE481:
 2394              	.LBE488:
 384:Library/src/lcm32f06x_flash.c ****       FLASH->AR = ((uint32_t)(Page_Address));
 2395              		.loc 1 384 7 is_stmt 1 view .LVU707
 384:Library/src/lcm32f06x_flash.c ****       FLASH->AR = ((uint32_t)(Page_Address));
 2396              		.loc 1 384 17 is_stmt 0 view .LVU708
 2397 001a 2021     		movs	r1, #32
 384:Library/src/lcm32f06x_flash.c ****       FLASH->AR = ((uint32_t)(Page_Address));
 2398              		.loc 1 384 12 view .LVU709
 2399 001c 2E4B     		ldr	r3, .L216
 379:Library/src/lcm32f06x_flash.c **** 
 2400              		.loc 1 379 14 view .LVU710
 2401 001e 0420     		movs	r0, #4
 384:Library/src/lcm32f06x_flash.c ****       FLASH->AR = ((uint32_t)(Page_Address));
 2402              		.loc 1 384 12 view .LVU711
 2403 0020 1A69     		ldr	r2, [r3, #16]
 384:Library/src/lcm32f06x_flash.c ****       FLASH->AR = ((uint32_t)(Page_Address));
 2404              		.loc 1 384 17 view .LVU712
 2405 0022 0A43     		orrs	r2, r1
 2406 0024 1A61     		str	r2, [r3, #16]
 385:Library/src/lcm32f06x_flash.c ****       FLASH->CR |= FLASH_CR_STRT_Msk;
 2407              		.loc 1 385 7 is_stmt 1 view .LVU713
 385:Library/src/lcm32f06x_flash.c ****       FLASH->CR |= FLASH_CR_STRT_Msk;
 2408              		.loc 1 385 17 is_stmt 0 view .LVU714
 2409 0026 5D61     		str	r5, [r3, #20]
 386:Library/src/lcm32f06x_flash.c **** 
 2410              		.loc 1 386 7 is_stmt 1 view .LVU715
 386:Library/src/lcm32f06x_flash.c **** 
 2411              		.loc 1 386 12 is_stmt 0 view .LVU716
 2412 0028 1A69     		ldr	r2, [r3, #16]
 386:Library/src/lcm32f06x_flash.c **** 
 2413              		.loc 1 386 17 view .LVU717
 2414 002a 2031     		adds	r1, r1, #32
ARM GAS  /tmp/cc9cn0cw.s 			page 71


 2415 002c 0A43     		orrs	r2, r1
 2416 002e 1A61     		str	r2, [r3, #16]
 389:Library/src/lcm32f06x_flash.c ****       {
 2417              		.loc 1 389 7 is_stmt 1 view .LVU718
 389:Library/src/lcm32f06x_flash.c ****       {
 2418              		.loc 1 389 30 view .LVU719
 389:Library/src/lcm32f06x_flash.c ****       {
 2419              		.loc 1 389 25 is_stmt 0 view .LVU720
 2420 0030 DA68     		ldr	r2, [r3, #12]
 389:Library/src/lcm32f06x_flash.c ****       {
 2421              		.loc 1 389 30 view .LVU721
 2422 0032 9206     		lsls	r2, r2, #26
 2423 0034 28D5     		bpl	.L215
 2424              	.L191:
 2425              	.LVL124:
 394:Library/src/lcm32f06x_flash.c ****       /* Disable the OPTER Bit */
 2426              		.loc 1 394 7 is_stmt 1 view .LVU722
 394:Library/src/lcm32f06x_flash.c ****       /* Disable the OPTER Bit */
 2427              		.loc 1 394 23 is_stmt 0 view .LVU723
 2428 0036 2021     		movs	r1, #32
 2429 0038 274B     		ldr	r3, .L216
 2430 003a DA68     		ldr	r2, [r3, #12]
 2431 003c 0A43     		orrs	r2, r1
 2432 003e DA60     		str	r2, [r3, #12]
 396:Library/src/lcm32f06x_flash.c ****     }
 2433              		.loc 1 396 7 is_stmt 1 view .LVU724
 396:Library/src/lcm32f06x_flash.c ****     }
 2434              		.loc 1 396 12 is_stmt 0 view .LVU725
 2435 0040 1A69     		ldr	r2, [r3, #16]
 396:Library/src/lcm32f06x_flash.c ****     }
 2436              		.loc 1 396 17 view .LVU726
 2437 0042 8A43     		bics	r2, r1
 2438 0044 1A61     		str	r2, [r3, #16]
 2439 0046 1CE0     		b	.L208
 2440              	.LVL125:
 2441              	.L196:
 2442              	.LBB489:
 2443              	.LBB482:
 2444              	.LBB457:
 2445              	.LBB452:
 396:Library/src/lcm32f06x_flash.c ****     }
 2446              		.loc 1 396 17 view .LVU727
 2447 0048 B023     		movs	r3, #176
 2448              	.LBE452:
 2449              	.LBE457:
 2450              	.LBB458:
 2451              	.LBB459:
 970:Library/src/lcm32f06x_flash.c ****   {
 2452              		.loc 1 970 18 view .LVU728
 2453 004a 0124     		movs	r4, #1
 2454              	.LBE459:
 2455              	.LBE458:
 2456              	.LBB472:
 2457              	.LBB453:
 2458 004c 1B03     		lsls	r3, r3, #12
 2459              	.LVL126:
 2460              	.L183:
ARM GAS  /tmp/cc9cn0cw.s 			page 72


 970:Library/src/lcm32f06x_flash.c ****   {
 2461              		.loc 1 970 18 view .LVU729
 2462              	.LBE453:
 2463              	.LBE472:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 2464              		.loc 1 947 5 is_stmt 1 view .LVU730
 2465              	.LBB473:
 2466              	.LBI458:
 966:Library/src/lcm32f06x_flash.c **** {
 2467              		.loc 1 966 14 view .LVU731
 2468              	.LBB466:
 968:Library/src/lcm32f06x_flash.c **** 
 2469              		.loc 1 968 3 view .LVU732
 970:Library/src/lcm32f06x_flash.c ****   {
 2470              		.loc 1 970 3 view .LVU733
 970:Library/src/lcm32f06x_flash.c ****   {
 2471              		.loc 1 970 13 is_stmt 0 view .LVU734
 2472 004e D168     		ldr	r1, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 2473              		.loc 1 970 6 view .LVU735
 2474 0050 0C42     		tst	r4, r1
 2475 0052 0BD1     		bne	.L187
 976:Library/src/lcm32f06x_flash.c ****     {
 2476              		.loc 1 976 5 is_stmt 1 view .LVU736
 976:Library/src/lcm32f06x_flash.c ****     {
 2477              		.loc 1 976 15 is_stmt 0 view .LVU737
 2478 0054 D168     		ldr	r1, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 2479              		.loc 1 976 8 view .LVU738
 2480 0056 C906     		lsls	r1, r1, #27
 2481 0058 0DD4     		bmi	.L188
 2482              	.LBB460:
 2483              	.LBI460:
 966:Library/src/lcm32f06x_flash.c **** {
 2484              		.loc 1 966 14 is_stmt 1 view .LVU739
 2485              	.LBB461:
 982:Library/src/lcm32f06x_flash.c ****       {
 2486              		.loc 1 982 7 view .LVU740
 982:Library/src/lcm32f06x_flash.c ****       {
 2487              		.loc 1 982 17 is_stmt 0 view .LVU741
 2488 005a D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 2489              		.loc 1 982 10 view .LVU742
 2490 005c 5207     		lsls	r2, r2, #29
 2491 005e 0DD5     		bpl	.L189
 2492              	.LVL127:
 982:Library/src/lcm32f06x_flash.c ****       {
 2493              		.loc 1 982 10 view .LVU743
 2494              	.LBE461:
 2495              	.LBE460:
 2496              		.loc 1 993 3 is_stmt 1 view .LVU744
 2497              		.loc 1 993 3 is_stmt 0 view .LVU745
 2498              	.LBE466:
 2499              	.LBE473:
 948:Library/src/lcm32f06x_flash.c ****   }
 2500              		.loc 1 948 5 is_stmt 1 view .LVU746
 2501              	.LBB474:
ARM GAS  /tmp/cc9cn0cw.s 			page 73


 2502              	.LBB467:
 2503              	.LBB464:
 2504              	.LBB462:
 984:Library/src/lcm32f06x_flash.c ****       }
 2505              		.loc 1 984 21 is_stmt 0 view .LVU747
 2506 0060 0320     		movs	r0, #3
 2507              	.LVL128:
 984:Library/src/lcm32f06x_flash.c ****       }
 2508              		.loc 1 984 21 view .LVU748
 2509              	.LBE462:
 2510              	.LBE464:
 2511              	.LBE467:
 2512              	.LBE474:
 948:Library/src/lcm32f06x_flash.c ****   }
 2513              		.loc 1 948 12 view .LVU749
 2514 0062 013B     		subs	r3, r3, #1
 2515              	.LVL129:
 945:Library/src/lcm32f06x_flash.c ****   {
 2516              		.loc 1 945 33 is_stmt 1 view .LVU750
 2517              	.L190:
 951:Library/src/lcm32f06x_flash.c ****   {
 2518              		.loc 1 951 3 view .LVU751
 951:Library/src/lcm32f06x_flash.c ****   {
 2519              		.loc 1 951 6 is_stmt 0 view .LVU752
 2520 0064 002B     		cmp	r3, #0
 2521 0066 0CD1     		bne	.L208
 2522              	.LBE482:
 2523              	.LBE489:
 379:Library/src/lcm32f06x_flash.c **** 
 2524              		.loc 1 379 14 view .LVU753
 2525 0068 0520     		movs	r0, #5
 2526              	.LVL130:
 398:Library/src/lcm32f06x_flash.c ****     
 2527              		.loc 1 398 5 is_stmt 1 view .LVU754
 398:Library/src/lcm32f06x_flash.c ****     
 2528              		.loc 1 398 12 is_stmt 0 view .LVU755
 2529 006a 0AE0     		b	.L208
 2530              	.LVL131:
 2531              	.L187:
 2532              	.LBB490:
 2533              	.LBB483:
 2534              	.LBB475:
 2535              	.LBB468:
 2536              		.loc 1 993 3 is_stmt 1 view .LVU756
 2537              		.loc 1 993 3 is_stmt 0 view .LVU757
 2538              	.LBE468:
 2539              	.LBE475:
 948:Library/src/lcm32f06x_flash.c ****   }
 2540              		.loc 1 948 5 is_stmt 1 view .LVU758
 948:Library/src/lcm32f06x_flash.c ****   }
 2541              		.loc 1 948 12 is_stmt 0 view .LVU759
 2542 006c 013B     		subs	r3, r3, #1
 2543              	.LVL132:
 945:Library/src/lcm32f06x_flash.c ****   {
 2544              		.loc 1 945 33 is_stmt 1 view .LVU760
 945:Library/src/lcm32f06x_flash.c ****   {
 2545              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU761
ARM GAS  /tmp/cc9cn0cw.s 			page 74


 2546 006e 002B     		cmp	r3, #0
 2547 0070 EDD1     		bne	.L183
 2548              	.LBE483:
 2549              	.LBE490:
 379:Library/src/lcm32f06x_flash.c **** 
 2550              		.loc 1 379 14 view .LVU762
 2551 0072 0520     		movs	r0, #5
 2552              	.LVL133:
 398:Library/src/lcm32f06x_flash.c ****     
 2553              		.loc 1 398 5 is_stmt 1 view .LVU763
 2554 0074 05E0     		b	.L208
 2555              	.LVL134:
 2556              	.L188:
 2557              	.LBB491:
 2558              	.LBB484:
 2559              	.LBB476:
 2560              	.LBB469:
 2561              		.loc 1 993 3 view .LVU764
 2562              		.loc 1 993 3 is_stmt 0 view .LVU765
 2563              	.LBE469:
 2564              	.LBE476:
 948:Library/src/lcm32f06x_flash.c ****   }
 2565              		.loc 1 948 5 is_stmt 1 view .LVU766
 2566              	.LBB477:
 2567              	.LBB470:
 978:Library/src/lcm32f06x_flash.c ****     }
 2568              		.loc 1 978 19 is_stmt 0 view .LVU767
 2569 0076 0220     		movs	r0, #2
 2570              	.LVL135:
 978:Library/src/lcm32f06x_flash.c ****     }
 2571              		.loc 1 978 19 view .LVU768
 2572              	.LBE470:
 2573              	.LBE477:
 948:Library/src/lcm32f06x_flash.c ****   }
 2574              		.loc 1 948 12 view .LVU769
 2575 0078 013B     		subs	r3, r3, #1
 2576              	.LVL136:
 945:Library/src/lcm32f06x_flash.c ****   {
 2577              		.loc 1 945 33 is_stmt 1 view .LVU770
 2578 007a F3E7     		b	.L190
 2579              	.LVL137:
 2580              	.L189:
 2581              	.LBB478:
 2582              	.LBB471:
 2583              	.LBB465:
 2584              	.LBB463:
 988:Library/src/lcm32f06x_flash.c ****       }
 2585              		.loc 1 988 9 view .LVU771
 988:Library/src/lcm32f06x_flash.c ****       }
 2586              		.loc 1 988 9 is_stmt 0 view .LVU772
 2587              	.LBE463:
 2588              	.LBE465:
 2589              		.loc 1 993 3 is_stmt 1 view .LVU773
 2590              		.loc 1 993 3 is_stmt 0 view .LVU774
 2591              	.LBE471:
 2592              	.LBE478:
 948:Library/src/lcm32f06x_flash.c ****   }
ARM GAS  /tmp/cc9cn0cw.s 			page 75


 2593              		.loc 1 948 5 is_stmt 1 view .LVU775
 945:Library/src/lcm32f06x_flash.c ****   {
 2594              		.loc 1 945 33 view .LVU776
 951:Library/src/lcm32f06x_flash.c ****   {
 2595              		.loc 1 951 3 view .LVU777
 2596              	.LBE484:
 2597              	.LBE491:
 379:Library/src/lcm32f06x_flash.c **** 
 2598              		.loc 1 379 14 is_stmt 0 view .LVU778
 2599 007c 0520     		movs	r0, #5
 2600              	.LVL138:
 2601              	.LBB492:
 2602              	.LBB485:
 951:Library/src/lcm32f06x_flash.c ****   {
 2603              		.loc 1 951 6 view .LVU779
 2604 007e 012B     		cmp	r3, #1
 2605 0080 CBD1     		bne	.L186
 2606              	.LVL139:
 2607              	.L208:
 951:Library/src/lcm32f06x_flash.c ****   {
 2608              		.loc 1 951 6 view .LVU780
 2609              	.LBE485:
 2610              	.LBE492:
 400:Library/src/lcm32f06x_flash.c **** 
 2611              		.loc 1 400 1 view .LVU781
 2612              		@ sp needed
 2613              	.LVL140:
 400:Library/src/lcm32f06x_flash.c **** 
 2614              		.loc 1 400 1 view .LVU782
 2615 0082 30BD     		pop	{r4, r5, pc}
 2616              	.LVL141:
 2617              	.L197:
 2618              	.LBB493:
 2619              	.LBB486:
 2620              	.LBB479:
 2621              	.LBB454:
 978:Library/src/lcm32f06x_flash.c ****     }
 2622              		.loc 1 978 19 view .LVU783
 2623 0084 0220     		movs	r0, #2
 2624              	.LVL142:
 978:Library/src/lcm32f06x_flash.c ****     }
 2625              		.loc 1 978 19 view .LVU784
 2626 0086 FCE7     		b	.L208
 2627              	.LVL143:
 2628              	.L215:
 978:Library/src/lcm32f06x_flash.c ****     }
 2629              		.loc 1 978 19 view .LVU785
 2630              	.LBE454:
 2631              	.LBE479:
 2632              	.LBE486:
 2633              	.LBE493:
 391:Library/src/lcm32f06x_flash.c ****           break;
 2634              		.loc 1 391 11 is_stmt 1 view .LVU786
 2635              	.LBB494:
 2636              	.LBI494:
 937:Library/src/lcm32f06x_flash.c **** {
 2637              		.loc 1 937 14 view .LVU787
ARM GAS  /tmp/cc9cn0cw.s 			page 76


 2638              	.LBB495:
 939:Library/src/lcm32f06x_flash.c **** 
 2639              		.loc 1 939 3 view .LVU788
 942:Library/src/lcm32f06x_flash.c **** 
 2640              		.loc 1 942 3 view .LVU789
 2641              	.LBB496:
 2642              	.LBI496:
 966:Library/src/lcm32f06x_flash.c **** {
 2643              		.loc 1 966 14 view .LVU790
 2644              	.LBB497:
 968:Library/src/lcm32f06x_flash.c **** 
 2645              		.loc 1 968 3 view .LVU791
 970:Library/src/lcm32f06x_flash.c ****   {
 2646              		.loc 1 970 3 view .LVU792
 970:Library/src/lcm32f06x_flash.c ****   {
 2647              		.loc 1 970 13 is_stmt 0 view .LVU793
 2648 0088 DA68     		ldr	r2, [r3, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 2649              		.loc 1 970 6 view .LVU794
 2650 008a D207     		lsls	r2, r2, #31
 2651 008c 08D4     		bmi	.L202
 976:Library/src/lcm32f06x_flash.c ****     {
 2652              		.loc 1 976 5 is_stmt 1 view .LVU795
 976:Library/src/lcm32f06x_flash.c ****     {
 2653              		.loc 1 976 15 is_stmt 0 view .LVU796
 2654 008e DA68     		ldr	r2, [r3, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 2655              		.loc 1 976 8 view .LVU797
 2656 0090 D206     		lsls	r2, r2, #27
 2657 0092 1FD4     		bmi	.L203
 2658              	.LBB498:
 2659              	.LBI498:
 966:Library/src/lcm32f06x_flash.c **** {
 2660              		.loc 1 966 14 is_stmt 1 view .LVU798
 2661              	.LBB499:
 982:Library/src/lcm32f06x_flash.c ****       {
 2662              		.loc 1 982 7 view .LVU799
 982:Library/src/lcm32f06x_flash.c ****       {
 2663              		.loc 1 982 17 is_stmt 0 view .LVU800
 2664 0094 DB68     		ldr	r3, [r3, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 2665              		.loc 1 982 22 view .LVU801
 2666 0096 0340     		ands	r3, r0
 988:Library/src/lcm32f06x_flash.c ****       }
 2667              		.loc 1 988 21 view .LVU802
 2668 0098 5A42     		rsbs	r2, r3, #0
 2669 009a 5341     		adcs	r3, r3, r2
 2670 009c D81C     		adds	r0, r3, #3
 2671 009e CAE7     		b	.L191
 2672              	.L202:
 2673              	.LBE499:
 2674              	.LBE498:
 2675 00a0 B022     		movs	r2, #176
 2676              	.LBE497:
 2677              	.LBE496:
 2678              	.LBB502:
 2679              	.LBB503:
ARM GAS  /tmp/cc9cn0cw.s 			page 77


 970:Library/src/lcm32f06x_flash.c ****   {
 2680              		.loc 1 970 18 view .LVU803
 2681 00a2 0120     		movs	r0, #1
 2682              	.LBE503:
 2683              	.LBE502:
 2684              	.LBB510:
 2685              	.LBB500:
 2686 00a4 1203     		lsls	r2, r2, #12
 2687              	.LVL144:
 2688              	.L192:
 970:Library/src/lcm32f06x_flash.c ****   {
 2689              		.loc 1 970 18 view .LVU804
 2690              	.LBE500:
 2691              	.LBE510:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 2692              		.loc 1 947 5 is_stmt 1 view .LVU805
 2693              	.LBB511:
 2694              	.LBI502:
 966:Library/src/lcm32f06x_flash.c **** {
 2695              		.loc 1 966 14 view .LVU806
 2696              	.LBB506:
 968:Library/src/lcm32f06x_flash.c **** 
 2697              		.loc 1 968 3 view .LVU807
 970:Library/src/lcm32f06x_flash.c ****   {
 2698              		.loc 1 970 3 view .LVU808
 970:Library/src/lcm32f06x_flash.c ****   {
 2699              		.loc 1 970 13 is_stmt 0 view .LVU809
 2700 00a6 D968     		ldr	r1, [r3, #12]
 2701              	.LBE506:
 2702              	.LBE511:
 948:Library/src/lcm32f06x_flash.c ****   }
 2703              		.loc 1 948 12 view .LVU810
 2704 00a8 013A     		subs	r2, r2, #1
 2705              	.LVL145:
 2706              	.LBB512:
 2707              	.LBB507:
 970:Library/src/lcm32f06x_flash.c ****   {
 2708              		.loc 1 970 6 view .LVU811
 2709 00aa 0842     		tst	r0, r1
 2710 00ac 0CD1     		bne	.L194
 976:Library/src/lcm32f06x_flash.c ****     {
 2711              		.loc 1 976 5 is_stmt 1 view .LVU812
 976:Library/src/lcm32f06x_flash.c ****     {
 2712              		.loc 1 976 15 is_stmt 0 view .LVU813
 2713 00ae D968     		ldr	r1, [r3, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 2714              		.loc 1 976 8 view .LVU814
 2715 00b0 C906     		lsls	r1, r1, #27
 2716 00b2 0DD4     		bmi	.L205
 2717              	.LBB504:
 2718              	.LBI504:
 966:Library/src/lcm32f06x_flash.c **** {
 2719              		.loc 1 966 14 is_stmt 1 view .LVU815
 2720              	.LBB505:
 982:Library/src/lcm32f06x_flash.c ****       {
 2721              		.loc 1 982 7 view .LVU816
 982:Library/src/lcm32f06x_flash.c ****       {
ARM GAS  /tmp/cc9cn0cw.s 			page 78


 2722              		.loc 1 982 22 is_stmt 0 view .LVU817
 2723 00b4 0420     		movs	r0, #4
 982:Library/src/lcm32f06x_flash.c ****       {
 2724              		.loc 1 982 17 view .LVU818
 2725 00b6 DB68     		ldr	r3, [r3, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 2726              		.loc 1 982 22 view .LVU819
 2727 00b8 1840     		ands	r0, r3
 988:Library/src/lcm32f06x_flash.c ****       }
 2728              		.loc 1 988 21 view .LVU820
 2729 00ba 4342     		rsbs	r3, r0, #0
 2730 00bc 5841     		adcs	r0, r0, r3
 2731 00be 0330     		adds	r0, r0, #3
 2732              	.L195:
 2733              	.LVL146:
 988:Library/src/lcm32f06x_flash.c ****       }
 2734              		.loc 1 988 21 view .LVU821
 2735              	.LBE505:
 2736              	.LBE504:
 2737              	.LBE507:
 2738              	.LBE512:
 951:Library/src/lcm32f06x_flash.c ****   {
 2739              		.loc 1 951 3 is_stmt 1 view .LVU822
 951:Library/src/lcm32f06x_flash.c ****   {
 2740              		.loc 1 951 6 is_stmt 0 view .LVU823
 2741 00c0 002A     		cmp	r2, #0
 2742 00c2 B8D1     		bne	.L191
 953:Library/src/lcm32f06x_flash.c ****   }
 2743              		.loc 1 953 12 view .LVU824
 2744 00c4 0520     		movs	r0, #5
 2745 00c6 B6E7     		b	.L191
 2746              	.LVL147:
 2747              	.L194:
 2748              	.LBB513:
 2749              	.LBB508:
 2750              		.loc 1 993 3 is_stmt 1 view .LVU825
 2751              		.loc 1 993 3 is_stmt 0 view .LVU826
 2752              	.LBE508:
 2753              	.LBE513:
 948:Library/src/lcm32f06x_flash.c ****   }
 2754              		.loc 1 948 5 is_stmt 1 view .LVU827
 945:Library/src/lcm32f06x_flash.c ****   {
 2755              		.loc 1 945 33 view .LVU828
 945:Library/src/lcm32f06x_flash.c ****   {
 2756              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU829
 2757 00c8 002A     		cmp	r2, #0
 2758 00ca ECD1     		bne	.L192
 953:Library/src/lcm32f06x_flash.c ****   }
 2759              		.loc 1 953 12 view .LVU830
 2760 00cc 0520     		movs	r0, #5
 2761 00ce B2E7     		b	.L191
 2762              	.LVL148:
 2763              	.L205:
 2764              	.LBB514:
 2765              	.LBB509:
 978:Library/src/lcm32f06x_flash.c ****     }
 2766              		.loc 1 978 19 view .LVU831
ARM GAS  /tmp/cc9cn0cw.s 			page 79


 2767 00d0 0220     		movs	r0, #2
 2768 00d2 F5E7     		b	.L195
 2769              	.LVL149:
 2770              	.L203:
 978:Library/src/lcm32f06x_flash.c ****     }
 2771              		.loc 1 978 19 view .LVU832
 2772              	.LBE509:
 2773              	.LBE514:
 2774              	.LBB515:
 2775              	.LBB501:
 2776 00d4 0220     		movs	r0, #2
 2777 00d6 AEE7     		b	.L191
 2778              	.L217:
 2779              		.align	2
 2780              	.L216:
 2781 00d8 00D00140 		.word	1073860608
 2782              	.LBE501:
 2783              	.LBE515:
 2784              	.LBE495:
 2785              	.LBE494:
 2786              		.cfi_endproc
 2787              	.LFE58:
 2789              		.section	.text.FLASH_DM_ProgramWord,"ax",%progbits
 2790              		.align	1
 2791              		.p2align 2,,3
 2792              		.global	FLASH_DM_ProgramWord
 2793              		.syntax unified
 2794              		.code	16
 2795              		.thumb_func
 2797              	FLASH_DM_ProgramWord:
 2798              	.LVL150:
 2799              	.LFB59:
 417:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 2800              		.loc 1 417 1 is_stmt 1 view -0
 2801              		.cfi_startproc
 2802              		@ args = 0, pretend = 0, frame = 0
 2803              		@ frame_needed = 0, uses_anonymous_args = 0
 418:Library/src/lcm32f06x_flash.c **** 
 2804              		.loc 1 418 3 view .LVU834
 421:Library/src/lcm32f06x_flash.c **** 
 2805              		.loc 1 421 3 view .LVU835
 2806              	.LBB536:
 2807              	.LBI536:
 937:Library/src/lcm32f06x_flash.c **** {
 2808              		.loc 1 937 14 view .LVU836
 2809              	.LBB537:
 939:Library/src/lcm32f06x_flash.c **** 
 2810              		.loc 1 939 3 view .LVU837
 942:Library/src/lcm32f06x_flash.c **** 
 2811              		.loc 1 942 3 view .LVU838
 2812              	.LBB538:
 2813              	.LBI538:
 966:Library/src/lcm32f06x_flash.c **** {
 2814              		.loc 1 966 14 view .LVU839
 2815              	.LBB539:
 968:Library/src/lcm32f06x_flash.c **** 
 2816              		.loc 1 968 3 view .LVU840
ARM GAS  /tmp/cc9cn0cw.s 			page 80


 970:Library/src/lcm32f06x_flash.c ****   {
 2817              		.loc 1 970 3 view .LVU841
 970:Library/src/lcm32f06x_flash.c ****   {
 2818              		.loc 1 970 13 is_stmt 0 view .LVU842
 2819 0000 344A     		ldr	r2, .L252
 2820              	.LBE539:
 2821              	.LBE538:
 2822              	.LBE537:
 2823              	.LBE536:
 417:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 2824              		.loc 1 417 1 view .LVU843
 2825 0002 70B5     		push	{r4, r5, r6, lr}
 2826              	.LCFI5:
 2827              		.cfi_def_cfa_offset 16
 2828              		.cfi_offset 4, -16
 2829              		.cfi_offset 5, -12
 2830              		.cfi_offset 6, -8
 2831              		.cfi_offset 14, -4
 2832              	.LBB579:
 2833              	.LBB572:
 2834              	.LBB547:
 2835              	.LBB542:
 970:Library/src/lcm32f06x_flash.c ****   {
 2836              		.loc 1 970 13 view .LVU844
 2837 0004 D368     		ldr	r3, [r2, #12]
 2838              	.LBE542:
 2839              	.LBE547:
 2840              	.LBE572:
 2841              	.LBE579:
 417:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 2842              		.loc 1 417 1 view .LVU845
 2843 0006 0600     		movs	r6, r0
 2844              	.LBB580:
 2845              	.LBB573:
 2846              	.LBB548:
 2847              	.LBB543:
 970:Library/src/lcm32f06x_flash.c ****   {
 2848              		.loc 1 970 6 view .LVU846
 2849 0008 DB07     		lsls	r3, r3, #31
 2850 000a 1AD4     		bmi	.L232
 976:Library/src/lcm32f06x_flash.c ****     {
 2851              		.loc 1 976 5 is_stmt 1 view .LVU847
 976:Library/src/lcm32f06x_flash.c ****     {
 2852              		.loc 1 976 15 is_stmt 0 view .LVU848
 2853 000c D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 2854              		.loc 1 976 8 view .LVU849
 2855 000e DB06     		lsls	r3, r3, #27
 2856 0010 35D4     		bmi	.L233
 2857              	.LBB540:
 2858              	.LBI540:
 966:Library/src/lcm32f06x_flash.c **** {
 2859              		.loc 1 966 14 is_stmt 1 view .LVU850
 2860              	.LBB541:
 982:Library/src/lcm32f06x_flash.c ****       {
 2861              		.loc 1 982 7 view .LVU851
 982:Library/src/lcm32f06x_flash.c ****       {
ARM GAS  /tmp/cc9cn0cw.s 			page 81


 2862              		.loc 1 982 17 is_stmt 0 view .LVU852
 2863 0012 D368     		ldr	r3, [r2, #12]
 984:Library/src/lcm32f06x_flash.c ****       }
 2864              		.loc 1 984 21 view .LVU853
 2865 0014 0320     		movs	r0, #3
 2866              	.LVL151:
 982:Library/src/lcm32f06x_flash.c ****       {
 2867              		.loc 1 982 10 view .LVU854
 2868 0016 5B07     		lsls	r3, r3, #29
 2869 0018 30D4     		bmi	.L244
 2870              	.LVL152:
 2871              	.L222:
 982:Library/src/lcm32f06x_flash.c ****       {
 2872              		.loc 1 982 10 view .LVU855
 2873              	.LBE541:
 2874              	.LBE540:
 2875              	.LBE543:
 2876              	.LBE548:
 2877              	.LBE573:
 2878              	.LBE580:
 426:Library/src/lcm32f06x_flash.c **** 
 2879              		.loc 1 426 5 is_stmt 1 view .LVU856
 426:Library/src/lcm32f06x_flash.c **** 
 2880              		.loc 1 426 15 is_stmt 0 view .LVU857
 2881 001a 1024     		movs	r4, #16
 426:Library/src/lcm32f06x_flash.c **** 
 2882              		.loc 1 426 10 view .LVU858
 2883 001c 2D4B     		ldr	r3, .L252
 421:Library/src/lcm32f06x_flash.c **** 
 2884              		.loc 1 421 12 view .LVU859
 2885 001e 0420     		movs	r0, #4
 426:Library/src/lcm32f06x_flash.c **** 
 2886              		.loc 1 426 10 view .LVU860
 2887 0020 1A69     		ldr	r2, [r3, #16]
 426:Library/src/lcm32f06x_flash.c **** 
 2888              		.loc 1 426 15 view .LVU861
 2889 0022 2243     		orrs	r2, r4
 2890 0024 1A61     		str	r2, [r3, #16]
 428:Library/src/lcm32f06x_flash.c **** 
 2891              		.loc 1 428 5 is_stmt 1 view .LVU862
 428:Library/src/lcm32f06x_flash.c **** 
 2892              		.loc 1 428 31 is_stmt 0 view .LVU863
 2893 0026 3160     		str	r1, [r6]
 431:Library/src/lcm32f06x_flash.c ****     {
 2894              		.loc 1 431 5 is_stmt 1 view .LVU864
 431:Library/src/lcm32f06x_flash.c ****     {
 2895              		.loc 1 431 28 view .LVU865
 431:Library/src/lcm32f06x_flash.c ****     {
 2896              		.loc 1 431 23 is_stmt 0 view .LVU866
 2897 0028 DA68     		ldr	r2, [r3, #12]
 431:Library/src/lcm32f06x_flash.c ****     {
 2898              		.loc 1 431 28 view .LVU867
 2899 002a 9206     		lsls	r2, r2, #26
 2900 002c 29D5     		bpl	.L251
 2901              	.LVL153:
 2902              	.L227:
 436:Library/src/lcm32f06x_flash.c ****     /* Disable the PG Bit */
ARM GAS  /tmp/cc9cn0cw.s 			page 82


 2903              		.loc 1 436 5 is_stmt 1 view .LVU868
 436:Library/src/lcm32f06x_flash.c ****     /* Disable the PG Bit */
 2904              		.loc 1 436 21 is_stmt 0 view .LVU869
 2905 002e 2021     		movs	r1, #32
 2906 0030 284B     		ldr	r3, .L252
 2907 0032 DA68     		ldr	r2, [r3, #12]
 2908 0034 0A43     		orrs	r2, r1
 2909 0036 DA60     		str	r2, [r3, #12]
 2910              	.LVL154:
 438:Library/src/lcm32f06x_flash.c ****   }
 2911              		.loc 1 438 5 is_stmt 1 view .LVU870
 438:Library/src/lcm32f06x_flash.c ****   }
 2912              		.loc 1 438 10 is_stmt 0 view .LVU871
 2913 0038 1A69     		ldr	r2, [r3, #16]
 438:Library/src/lcm32f06x_flash.c ****   }
 2914              		.loc 1 438 15 view .LVU872
 2915 003a 1039     		subs	r1, r1, #16
 2916 003c 8A43     		bics	r2, r1
 2917 003e 1A61     		str	r2, [r3, #16]
 2918 0040 1CE0     		b	.L244
 2919              	.LVL155:
 2920              	.L232:
 2921              	.LBB581:
 2922              	.LBB574:
 2923              	.LBB549:
 2924              	.LBB544:
 438:Library/src/lcm32f06x_flash.c ****   }
 2925              		.loc 1 438 15 view .LVU873
 2926 0042 B023     		movs	r3, #176
 2927              	.LBE544:
 2928              	.LBE549:
 2929              	.LBB550:
 2930              	.LBB551:
 970:Library/src/lcm32f06x_flash.c ****   {
 2931              		.loc 1 970 18 view .LVU874
 2932 0044 0125     		movs	r5, #1
 2933              	.LBE551:
 2934              	.LBE550:
 2935              	.LBB564:
 2936              	.LBB545:
 2937 0046 1B03     		lsls	r3, r3, #12
 2938              	.LVL156:
 2939              	.L219:
 970:Library/src/lcm32f06x_flash.c ****   {
 2940              		.loc 1 970 18 view .LVU875
 2941              	.LBE545:
 2942              	.LBE564:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 2943              		.loc 1 947 5 is_stmt 1 view .LVU876
 2944              	.LBB565:
 2945              	.LBI550:
 966:Library/src/lcm32f06x_flash.c **** {
 2946              		.loc 1 966 14 view .LVU877
 2947              	.LBB558:
 968:Library/src/lcm32f06x_flash.c **** 
 2948              		.loc 1 968 3 view .LVU878
 970:Library/src/lcm32f06x_flash.c ****   {
ARM GAS  /tmp/cc9cn0cw.s 			page 83


 2949              		.loc 1 970 3 view .LVU879
 970:Library/src/lcm32f06x_flash.c ****   {
 2950              		.loc 1 970 13 is_stmt 0 view .LVU880
 2951 0048 D468     		ldr	r4, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 2952              		.loc 1 970 6 view .LVU881
 2953 004a 2542     		tst	r5, r4
 2954 004c 0BD1     		bne	.L223
 976:Library/src/lcm32f06x_flash.c ****     {
 2955              		.loc 1 976 5 is_stmt 1 view .LVU882
 976:Library/src/lcm32f06x_flash.c ****     {
 2956              		.loc 1 976 15 is_stmt 0 view .LVU883
 2957 004e D468     		ldr	r4, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 2958              		.loc 1 976 8 view .LVU884
 2959 0050 E406     		lsls	r4, r4, #27
 2960 0052 0DD4     		bmi	.L224
 2961              	.LBB552:
 2962              	.LBI552:
 966:Library/src/lcm32f06x_flash.c **** {
 2963              		.loc 1 966 14 is_stmt 1 view .LVU885
 2964              	.LBB553:
 982:Library/src/lcm32f06x_flash.c ****       {
 2965              		.loc 1 982 7 view .LVU886
 982:Library/src/lcm32f06x_flash.c ****       {
 2966              		.loc 1 982 17 is_stmt 0 view .LVU887
 2967 0054 D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 2968              		.loc 1 982 10 view .LVU888
 2969 0056 5207     		lsls	r2, r2, #29
 2970 0058 0DD5     		bpl	.L225
 2971              	.LVL157:
 982:Library/src/lcm32f06x_flash.c ****       {
 2972              		.loc 1 982 10 view .LVU889
 2973              	.LBE553:
 2974              	.LBE552:
 2975              		.loc 1 993 3 is_stmt 1 view .LVU890
 2976              		.loc 1 993 3 is_stmt 0 view .LVU891
 2977              	.LBE558:
 2978              	.LBE565:
 948:Library/src/lcm32f06x_flash.c ****   }
 2979              		.loc 1 948 5 is_stmt 1 view .LVU892
 2980              	.LBB566:
 2981              	.LBB559:
 2982              	.LBB556:
 2983              	.LBB554:
 984:Library/src/lcm32f06x_flash.c ****       }
 2984              		.loc 1 984 21 is_stmt 0 view .LVU893
 2985 005a 0320     		movs	r0, #3
 2986              	.LVL158:
 984:Library/src/lcm32f06x_flash.c ****       }
 2987              		.loc 1 984 21 view .LVU894
 2988              	.LBE554:
 2989              	.LBE556:
 2990              	.LBE559:
 2991              	.LBE566:
 948:Library/src/lcm32f06x_flash.c ****   }
ARM GAS  /tmp/cc9cn0cw.s 			page 84


 2992              		.loc 1 948 12 view .LVU895
 2993 005c 013B     		subs	r3, r3, #1
 2994              	.LVL159:
 945:Library/src/lcm32f06x_flash.c ****   {
 2995              		.loc 1 945 33 is_stmt 1 view .LVU896
 2996              	.L226:
 951:Library/src/lcm32f06x_flash.c ****   {
 2997              		.loc 1 951 3 view .LVU897
 951:Library/src/lcm32f06x_flash.c ****   {
 2998              		.loc 1 951 6 is_stmt 0 view .LVU898
 2999 005e 002B     		cmp	r3, #0
 3000 0060 0CD1     		bne	.L244
 3001              	.LBE574:
 3002              	.LBE581:
 421:Library/src/lcm32f06x_flash.c **** 
 3003              		.loc 1 421 12 view .LVU899
 3004 0062 0520     		movs	r0, #5
 3005              	.LVL160:
 442:Library/src/lcm32f06x_flash.c **** }
 3006              		.loc 1 442 3 is_stmt 1 view .LVU900
 442:Library/src/lcm32f06x_flash.c **** }
 3007              		.loc 1 442 10 is_stmt 0 view .LVU901
 3008 0064 0AE0     		b	.L244
 3009              	.LVL161:
 3010              	.L223:
 3011              	.LBB582:
 3012              	.LBB575:
 3013              	.LBB567:
 3014              	.LBB560:
 3015              		.loc 1 993 3 is_stmt 1 view .LVU902
 3016              		.loc 1 993 3 is_stmt 0 view .LVU903
 3017              	.LBE560:
 3018              	.LBE567:
 948:Library/src/lcm32f06x_flash.c ****   }
 3019              		.loc 1 948 5 is_stmt 1 view .LVU904
 948:Library/src/lcm32f06x_flash.c ****   }
 3020              		.loc 1 948 12 is_stmt 0 view .LVU905
 3021 0066 013B     		subs	r3, r3, #1
 3022              	.LVL162:
 945:Library/src/lcm32f06x_flash.c ****   {
 3023              		.loc 1 945 33 is_stmt 1 view .LVU906
 945:Library/src/lcm32f06x_flash.c ****   {
 3024              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU907
 3025 0068 002B     		cmp	r3, #0
 3026 006a EDD1     		bne	.L219
 3027              	.LBE575:
 3028              	.LBE582:
 421:Library/src/lcm32f06x_flash.c **** 
 3029              		.loc 1 421 12 view .LVU908
 3030 006c 0520     		movs	r0, #5
 3031              	.LVL163:
 442:Library/src/lcm32f06x_flash.c **** }
 3032              		.loc 1 442 3 is_stmt 1 view .LVU909
 3033 006e 05E0     		b	.L244
 3034              	.LVL164:
 3035              	.L224:
 3036              	.LBB583:
ARM GAS  /tmp/cc9cn0cw.s 			page 85


 3037              	.LBB576:
 3038              	.LBB568:
 3039              	.LBB561:
 3040              		.loc 1 993 3 view .LVU910
 3041              		.loc 1 993 3 is_stmt 0 view .LVU911
 3042              	.LBE561:
 3043              	.LBE568:
 948:Library/src/lcm32f06x_flash.c ****   }
 3044              		.loc 1 948 5 is_stmt 1 view .LVU912
 3045              	.LBB569:
 3046              	.LBB562:
 978:Library/src/lcm32f06x_flash.c ****     }
 3047              		.loc 1 978 19 is_stmt 0 view .LVU913
 3048 0070 0220     		movs	r0, #2
 3049              	.LVL165:
 978:Library/src/lcm32f06x_flash.c ****     }
 3050              		.loc 1 978 19 view .LVU914
 3051              	.LBE562:
 3052              	.LBE569:
 948:Library/src/lcm32f06x_flash.c ****   }
 3053              		.loc 1 948 12 view .LVU915
 3054 0072 013B     		subs	r3, r3, #1
 3055              	.LVL166:
 945:Library/src/lcm32f06x_flash.c ****   {
 3056              		.loc 1 945 33 is_stmt 1 view .LVU916
 3057 0074 F3E7     		b	.L226
 3058              	.LVL167:
 3059              	.L225:
 3060              	.LBB570:
 3061              	.LBB563:
 3062              	.LBB557:
 3063              	.LBB555:
 988:Library/src/lcm32f06x_flash.c ****       }
 3064              		.loc 1 988 9 view .LVU917
 988:Library/src/lcm32f06x_flash.c ****       }
 3065              		.loc 1 988 9 is_stmt 0 view .LVU918
 3066              	.LBE555:
 3067              	.LBE557:
 3068              		.loc 1 993 3 is_stmt 1 view .LVU919
 3069              		.loc 1 993 3 is_stmt 0 view .LVU920
 3070              	.LBE563:
 3071              	.LBE570:
 948:Library/src/lcm32f06x_flash.c ****   }
 3072              		.loc 1 948 5 is_stmt 1 view .LVU921
 945:Library/src/lcm32f06x_flash.c ****   {
 3073              		.loc 1 945 33 view .LVU922
 951:Library/src/lcm32f06x_flash.c ****   {
 3074              		.loc 1 951 3 view .LVU923
 3075              	.LBE576:
 3076              	.LBE583:
 421:Library/src/lcm32f06x_flash.c **** 
 3077              		.loc 1 421 12 is_stmt 0 view .LVU924
 3078 0076 0520     		movs	r0, #5
 3079              	.LVL168:
 3080              	.LBB584:
 3081              	.LBB577:
 951:Library/src/lcm32f06x_flash.c ****   {
ARM GAS  /tmp/cc9cn0cw.s 			page 86


 3082              		.loc 1 951 6 view .LVU925
 3083 0078 012B     		cmp	r3, #1
 3084 007a CED1     		bne	.L222
 3085              	.LVL169:
 3086              	.L244:
 951:Library/src/lcm32f06x_flash.c ****   {
 3087              		.loc 1 951 6 view .LVU926
 3088              	.LBE577:
 3089              	.LBE584:
 443:Library/src/lcm32f06x_flash.c **** 
 3090              		.loc 1 443 1 view .LVU927
 3091              		@ sp needed
 3092              	.LVL170:
 443:Library/src/lcm32f06x_flash.c **** 
 3093              		.loc 1 443 1 view .LVU928
 3094 007c 70BD     		pop	{r4, r5, r6, pc}
 3095              	.LVL171:
 3096              	.L233:
 3097              	.LBB585:
 3098              	.LBB578:
 3099              	.LBB571:
 3100              	.LBB546:
 978:Library/src/lcm32f06x_flash.c ****     }
 3101              		.loc 1 978 19 view .LVU929
 3102 007e 0220     		movs	r0, #2
 3103              	.LVL172:
 978:Library/src/lcm32f06x_flash.c ****     }
 3104              		.loc 1 978 19 view .LVU930
 3105 0080 FCE7     		b	.L244
 3106              	.LVL173:
 3107              	.L251:
 978:Library/src/lcm32f06x_flash.c ****     }
 3108              		.loc 1 978 19 view .LVU931
 3109              	.LBE546:
 3110              	.LBE571:
 3111              	.LBE578:
 3112              	.LBE585:
 433:Library/src/lcm32f06x_flash.c ****         break;
 3113              		.loc 1 433 9 is_stmt 1 view .LVU932
 3114              	.LBB586:
 3115              	.LBI586:
 937:Library/src/lcm32f06x_flash.c **** {
 3116              		.loc 1 937 14 view .LVU933
 3117              	.LBB587:
 939:Library/src/lcm32f06x_flash.c **** 
 3118              		.loc 1 939 3 view .LVU934
 942:Library/src/lcm32f06x_flash.c **** 
 3119              		.loc 1 942 3 view .LVU935
 3120              	.LBB588:
 3121              	.LBI588:
 966:Library/src/lcm32f06x_flash.c **** {
 3122              		.loc 1 966 14 view .LVU936
 3123              	.LBB589:
 968:Library/src/lcm32f06x_flash.c **** 
 3124              		.loc 1 968 3 view .LVU937
 970:Library/src/lcm32f06x_flash.c ****   {
 3125              		.loc 1 970 3 view .LVU938
ARM GAS  /tmp/cc9cn0cw.s 			page 87


 970:Library/src/lcm32f06x_flash.c ****   {
 3126              		.loc 1 970 13 is_stmt 0 view .LVU939
 3127 0082 DA68     		ldr	r2, [r3, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 3128              		.loc 1 970 6 view .LVU940
 3129 0084 D207     		lsls	r2, r2, #31
 3130 0086 08D4     		bmi	.L238
 976:Library/src/lcm32f06x_flash.c ****     {
 3131              		.loc 1 976 5 is_stmt 1 view .LVU941
 976:Library/src/lcm32f06x_flash.c ****     {
 3132              		.loc 1 976 15 is_stmt 0 view .LVU942
 3133 0088 DA68     		ldr	r2, [r3, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 3134              		.loc 1 976 8 view .LVU943
 3135 008a 1442     		tst	r4, r2
 3136 008c 1FD1     		bne	.L239
 3137              	.LBB590:
 3138              	.LBI590:
 966:Library/src/lcm32f06x_flash.c **** {
 3139              		.loc 1 966 14 is_stmt 1 view .LVU944
 3140              	.LBB591:
 982:Library/src/lcm32f06x_flash.c ****       {
 3141              		.loc 1 982 7 view .LVU945
 982:Library/src/lcm32f06x_flash.c ****       {
 3142              		.loc 1 982 17 is_stmt 0 view .LVU946
 3143 008e DB68     		ldr	r3, [r3, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 3144              		.loc 1 982 22 view .LVU947
 3145 0090 0340     		ands	r3, r0
 988:Library/src/lcm32f06x_flash.c ****       }
 3146              		.loc 1 988 21 view .LVU948
 3147 0092 5A42     		rsbs	r2, r3, #0
 3148 0094 5341     		adcs	r3, r3, r2
 3149 0096 D81C     		adds	r0, r3, #3
 3150 0098 C9E7     		b	.L227
 3151              	.L238:
 3152              	.LBE591:
 3153              	.LBE590:
 3154 009a B022     		movs	r2, #176
 3155              	.LBE589:
 3156              	.LBE588:
 3157              	.LBB594:
 3158              	.LBB595:
 970:Library/src/lcm32f06x_flash.c ****   {
 3159              		.loc 1 970 18 view .LVU949
 3160 009c 0120     		movs	r0, #1
 3161              	.LBE595:
 3162              	.LBE594:
 3163              	.LBB602:
 3164              	.LBB592:
 3165 009e 1203     		lsls	r2, r2, #12
 3166              	.LVL174:
 3167              	.L228:
 970:Library/src/lcm32f06x_flash.c ****   {
 3168              		.loc 1 970 18 view .LVU950
 3169              	.LBE592:
 3170              	.LBE602:
ARM GAS  /tmp/cc9cn0cw.s 			page 88


 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 3171              		.loc 1 947 5 is_stmt 1 view .LVU951
 3172              	.LBB603:
 3173              	.LBI594:
 966:Library/src/lcm32f06x_flash.c **** {
 3174              		.loc 1 966 14 view .LVU952
 3175              	.LBB598:
 968:Library/src/lcm32f06x_flash.c **** 
 3176              		.loc 1 968 3 view .LVU953
 970:Library/src/lcm32f06x_flash.c ****   {
 3177              		.loc 1 970 3 view .LVU954
 970:Library/src/lcm32f06x_flash.c ****   {
 3178              		.loc 1 970 13 is_stmt 0 view .LVU955
 3179 00a0 D968     		ldr	r1, [r3, #12]
 3180              	.LBE598:
 3181              	.LBE603:
 948:Library/src/lcm32f06x_flash.c ****   }
 3182              		.loc 1 948 12 view .LVU956
 3183 00a2 013A     		subs	r2, r2, #1
 3184              	.LVL175:
 3185              	.LBB604:
 3186              	.LBB599:
 970:Library/src/lcm32f06x_flash.c ****   {
 3187              		.loc 1 970 6 view .LVU957
 3188 00a4 0842     		tst	r0, r1
 3189 00a6 0CD1     		bne	.L230
 976:Library/src/lcm32f06x_flash.c ****     {
 3190              		.loc 1 976 5 is_stmt 1 view .LVU958
 976:Library/src/lcm32f06x_flash.c ****     {
 3191              		.loc 1 976 15 is_stmt 0 view .LVU959
 3192 00a8 D968     		ldr	r1, [r3, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 3193              		.loc 1 976 8 view .LVU960
 3194 00aa C906     		lsls	r1, r1, #27
 3195 00ac 0DD4     		bmi	.L241
 3196              	.LBB596:
 3197              	.LBI596:
 966:Library/src/lcm32f06x_flash.c **** {
 3198              		.loc 1 966 14 is_stmt 1 view .LVU961
 3199              	.LBB597:
 982:Library/src/lcm32f06x_flash.c ****       {
 3200              		.loc 1 982 7 view .LVU962
 982:Library/src/lcm32f06x_flash.c ****       {
 3201              		.loc 1 982 22 is_stmt 0 view .LVU963
 3202 00ae 0420     		movs	r0, #4
 982:Library/src/lcm32f06x_flash.c ****       {
 3203              		.loc 1 982 17 view .LVU964
 3204 00b0 DB68     		ldr	r3, [r3, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 3205              		.loc 1 982 22 view .LVU965
 3206 00b2 1840     		ands	r0, r3
 988:Library/src/lcm32f06x_flash.c ****       }
 3207              		.loc 1 988 21 view .LVU966
 3208 00b4 4342     		rsbs	r3, r0, #0
 3209 00b6 5841     		adcs	r0, r0, r3
 3210 00b8 0330     		adds	r0, r0, #3
 3211              	.L231:
ARM GAS  /tmp/cc9cn0cw.s 			page 89


 3212              	.LVL176:
 988:Library/src/lcm32f06x_flash.c ****       }
 3213              		.loc 1 988 21 view .LVU967
 3214              	.LBE597:
 3215              	.LBE596:
 3216              	.LBE599:
 3217              	.LBE604:
 951:Library/src/lcm32f06x_flash.c ****   {
 3218              		.loc 1 951 3 is_stmt 1 view .LVU968
 951:Library/src/lcm32f06x_flash.c ****   {
 3219              		.loc 1 951 6 is_stmt 0 view .LVU969
 3220 00ba 002A     		cmp	r2, #0
 3221 00bc B7D1     		bne	.L227
 953:Library/src/lcm32f06x_flash.c ****   }
 3222              		.loc 1 953 12 view .LVU970
 3223 00be 0520     		movs	r0, #5
 3224 00c0 B5E7     		b	.L227
 3225              	.LVL177:
 3226              	.L230:
 3227              	.LBB605:
 3228              	.LBB600:
 3229              		.loc 1 993 3 is_stmt 1 view .LVU971
 3230              		.loc 1 993 3 is_stmt 0 view .LVU972
 3231              	.LBE600:
 3232              	.LBE605:
 948:Library/src/lcm32f06x_flash.c ****   }
 3233              		.loc 1 948 5 is_stmt 1 view .LVU973
 945:Library/src/lcm32f06x_flash.c ****   {
 3234              		.loc 1 945 33 view .LVU974
 945:Library/src/lcm32f06x_flash.c ****   {
 3235              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU975
 3236 00c2 002A     		cmp	r2, #0
 3237 00c4 ECD1     		bne	.L228
 953:Library/src/lcm32f06x_flash.c ****   }
 3238              		.loc 1 953 12 view .LVU976
 3239 00c6 0520     		movs	r0, #5
 3240 00c8 B1E7     		b	.L227
 3241              	.LVL178:
 3242              	.L241:
 3243              	.LBB606:
 3244              	.LBB601:
 978:Library/src/lcm32f06x_flash.c ****     }
 3245              		.loc 1 978 19 view .LVU977
 3246 00ca 0220     		movs	r0, #2
 3247 00cc F5E7     		b	.L231
 3248              	.LVL179:
 3249              	.L239:
 978:Library/src/lcm32f06x_flash.c ****     }
 3250              		.loc 1 978 19 view .LVU978
 3251              	.LBE601:
 3252              	.LBE606:
 3253              	.LBB607:
 3254              	.LBB593:
 3255 00ce 0220     		movs	r0, #2
 3256 00d0 ADE7     		b	.L227
 3257              	.L253:
 3258 00d2 C046     		.align	2
ARM GAS  /tmp/cc9cn0cw.s 			page 90


 3259              	.L252:
 3260 00d4 00D00140 		.word	1073860608
 3261              	.LBE593:
 3262              	.LBE607:
 3263              	.LBE587:
 3264              	.LBE586:
 3265              		.cfi_endproc
 3266              	.LFE59:
 3268              		.section	.text.FLASH_DM_ProgramHalfWord,"ax",%progbits
 3269              		.align	1
 3270              		.p2align 2,,3
 3271              		.global	FLASH_DM_ProgramHalfWord
 3272              		.syntax unified
 3273              		.code	16
 3274              		.thumb_func
 3276              	FLASH_DM_ProgramHalfWord:
 3277              	.LVL180:
 3278              	.LFB60:
 460:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 3279              		.loc 1 460 1 is_stmt 1 view -0
 3280              		.cfi_startproc
 3281              		@ args = 0, pretend = 0, frame = 0
 3282              		@ frame_needed = 0, uses_anonymous_args = 0
 461:Library/src/lcm32f06x_flash.c **** 
 3283              		.loc 1 461 3 view .LVU980
 464:Library/src/lcm32f06x_flash.c **** 
 3284              		.loc 1 464 3 view .LVU981
 3285              	.LBB628:
 3286              	.LBI628:
 937:Library/src/lcm32f06x_flash.c **** {
 3287              		.loc 1 937 14 view .LVU982
 3288              	.LBB629:
 939:Library/src/lcm32f06x_flash.c **** 
 3289              		.loc 1 939 3 view .LVU983
 942:Library/src/lcm32f06x_flash.c **** 
 3290              		.loc 1 942 3 view .LVU984
 3291              	.LBB630:
 3292              	.LBI630:
 966:Library/src/lcm32f06x_flash.c **** {
 3293              		.loc 1 966 14 view .LVU985
 3294              	.LBB631:
 968:Library/src/lcm32f06x_flash.c **** 
 3295              		.loc 1 968 3 view .LVU986
 970:Library/src/lcm32f06x_flash.c ****   {
 3296              		.loc 1 970 3 view .LVU987
 970:Library/src/lcm32f06x_flash.c ****   {
 3297              		.loc 1 970 13 is_stmt 0 view .LVU988
 3298 0000 344A     		ldr	r2, .L288
 3299              	.LBE631:
 3300              	.LBE630:
 3301              	.LBE629:
 3302              	.LBE628:
 460:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 3303              		.loc 1 460 1 view .LVU989
 3304 0002 70B5     		push	{r4, r5, r6, lr}
 3305              	.LCFI6:
 3306              		.cfi_def_cfa_offset 16
ARM GAS  /tmp/cc9cn0cw.s 			page 91


 3307              		.cfi_offset 4, -16
 3308              		.cfi_offset 5, -12
 3309              		.cfi_offset 6, -8
 3310              		.cfi_offset 14, -4
 3311              	.LBB671:
 3312              	.LBB664:
 3313              	.LBB639:
 3314              	.LBB634:
 970:Library/src/lcm32f06x_flash.c ****   {
 3315              		.loc 1 970 13 view .LVU990
 3316 0004 D368     		ldr	r3, [r2, #12]
 3317              	.LBE634:
 3318              	.LBE639:
 3319              	.LBE664:
 3320              	.LBE671:
 460:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 3321              		.loc 1 460 1 view .LVU991
 3322 0006 0600     		movs	r6, r0
 3323              	.LBB672:
 3324              	.LBB665:
 3325              	.LBB640:
 3326              	.LBB635:
 970:Library/src/lcm32f06x_flash.c ****   {
 3327              		.loc 1 970 6 view .LVU992
 3328 0008 DB07     		lsls	r3, r3, #31
 3329 000a 1AD4     		bmi	.L268
 976:Library/src/lcm32f06x_flash.c ****     {
 3330              		.loc 1 976 5 is_stmt 1 view .LVU993
 976:Library/src/lcm32f06x_flash.c ****     {
 3331              		.loc 1 976 15 is_stmt 0 view .LVU994
 3332 000c D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 3333              		.loc 1 976 8 view .LVU995
 3334 000e DB06     		lsls	r3, r3, #27
 3335 0010 35D4     		bmi	.L269
 3336              	.LBB632:
 3337              	.LBI632:
 966:Library/src/lcm32f06x_flash.c **** {
 3338              		.loc 1 966 14 is_stmt 1 view .LVU996
 3339              	.LBB633:
 982:Library/src/lcm32f06x_flash.c ****       {
 3340              		.loc 1 982 7 view .LVU997
 982:Library/src/lcm32f06x_flash.c ****       {
 3341              		.loc 1 982 17 is_stmt 0 view .LVU998
 3342 0012 D368     		ldr	r3, [r2, #12]
 984:Library/src/lcm32f06x_flash.c ****       }
 3343              		.loc 1 984 21 view .LVU999
 3344 0014 0320     		movs	r0, #3
 3345              	.LVL181:
 982:Library/src/lcm32f06x_flash.c ****       {
 3346              		.loc 1 982 10 view .LVU1000
 3347 0016 5B07     		lsls	r3, r3, #29
 3348 0018 30D4     		bmi	.L280
 3349              	.LVL182:
 3350              	.L258:
 982:Library/src/lcm32f06x_flash.c ****       {
 3351              		.loc 1 982 10 view .LVU1001
ARM GAS  /tmp/cc9cn0cw.s 			page 92


 3352              	.LBE633:
 3353              	.LBE632:
 3354              	.LBE635:
 3355              	.LBE640:
 3356              	.LBE665:
 3357              	.LBE672:
 469:Library/src/lcm32f06x_flash.c **** 
 3358              		.loc 1 469 5 is_stmt 1 view .LVU1002
 469:Library/src/lcm32f06x_flash.c **** 
 3359              		.loc 1 469 15 is_stmt 0 view .LVU1003
 3360 001a 1024     		movs	r4, #16
 469:Library/src/lcm32f06x_flash.c **** 
 3361              		.loc 1 469 10 view .LVU1004
 3362 001c 2D4B     		ldr	r3, .L288
 464:Library/src/lcm32f06x_flash.c **** 
 3363              		.loc 1 464 12 view .LVU1005
 3364 001e 0420     		movs	r0, #4
 469:Library/src/lcm32f06x_flash.c **** 
 3365              		.loc 1 469 10 view .LVU1006
 3366 0020 1A69     		ldr	r2, [r3, #16]
 469:Library/src/lcm32f06x_flash.c **** 
 3367              		.loc 1 469 15 view .LVU1007
 3368 0022 2243     		orrs	r2, r4
 3369 0024 1A61     		str	r2, [r3, #16]
 471:Library/src/lcm32f06x_flash.c **** 
 3370              		.loc 1 471 5 is_stmt 1 view .LVU1008
 471:Library/src/lcm32f06x_flash.c **** 
 3371              		.loc 1 471 31 is_stmt 0 view .LVU1009
 3372 0026 3180     		strh	r1, [r6]
 474:Library/src/lcm32f06x_flash.c ****     {
 3373              		.loc 1 474 5 is_stmt 1 view .LVU1010
 474:Library/src/lcm32f06x_flash.c ****     {
 3374              		.loc 1 474 28 view .LVU1011
 474:Library/src/lcm32f06x_flash.c ****     {
 3375              		.loc 1 474 23 is_stmt 0 view .LVU1012
 3376 0028 DA68     		ldr	r2, [r3, #12]
 474:Library/src/lcm32f06x_flash.c ****     {
 3377              		.loc 1 474 28 view .LVU1013
 3378 002a 9206     		lsls	r2, r2, #26
 3379 002c 29D5     		bpl	.L287
 3380              	.LVL183:
 3381              	.L263:
 479:Library/src/lcm32f06x_flash.c ****     /* Disable the PG Bit */
 3382              		.loc 1 479 5 is_stmt 1 view .LVU1014
 479:Library/src/lcm32f06x_flash.c ****     /* Disable the PG Bit */
 3383              		.loc 1 479 21 is_stmt 0 view .LVU1015
 3384 002e 2021     		movs	r1, #32
 3385 0030 284B     		ldr	r3, .L288
 3386 0032 DA68     		ldr	r2, [r3, #12]
 3387 0034 0A43     		orrs	r2, r1
 3388 0036 DA60     		str	r2, [r3, #12]
 3389              	.LVL184:
 481:Library/src/lcm32f06x_flash.c ****   }
 3390              		.loc 1 481 5 is_stmt 1 view .LVU1016
 481:Library/src/lcm32f06x_flash.c ****   }
 3391              		.loc 1 481 10 is_stmt 0 view .LVU1017
 3392 0038 1A69     		ldr	r2, [r3, #16]
ARM GAS  /tmp/cc9cn0cw.s 			page 93


 481:Library/src/lcm32f06x_flash.c ****   }
 3393              		.loc 1 481 15 view .LVU1018
 3394 003a 1039     		subs	r1, r1, #16
 3395 003c 8A43     		bics	r2, r1
 3396 003e 1A61     		str	r2, [r3, #16]
 3397 0040 1CE0     		b	.L280
 3398              	.LVL185:
 3399              	.L268:
 3400              	.LBB673:
 3401              	.LBB666:
 3402              	.LBB641:
 3403              	.LBB636:
 481:Library/src/lcm32f06x_flash.c ****   }
 3404              		.loc 1 481 15 view .LVU1019
 3405 0042 B023     		movs	r3, #176
 3406              	.LBE636:
 3407              	.LBE641:
 3408              	.LBB642:
 3409              	.LBB643:
 970:Library/src/lcm32f06x_flash.c ****   {
 3410              		.loc 1 970 18 view .LVU1020
 3411 0044 0125     		movs	r5, #1
 3412              	.LBE643:
 3413              	.LBE642:
 3414              	.LBB656:
 3415              	.LBB637:
 3416 0046 1B03     		lsls	r3, r3, #12
 3417              	.LVL186:
 3418              	.L255:
 970:Library/src/lcm32f06x_flash.c ****   {
 3419              		.loc 1 970 18 view .LVU1021
 3420              	.LBE637:
 3421              	.LBE656:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 3422              		.loc 1 947 5 is_stmt 1 view .LVU1022
 3423              	.LBB657:
 3424              	.LBI642:
 966:Library/src/lcm32f06x_flash.c **** {
 3425              		.loc 1 966 14 view .LVU1023
 3426              	.LBB650:
 968:Library/src/lcm32f06x_flash.c **** 
 3427              		.loc 1 968 3 view .LVU1024
 970:Library/src/lcm32f06x_flash.c ****   {
 3428              		.loc 1 970 3 view .LVU1025
 970:Library/src/lcm32f06x_flash.c ****   {
 3429              		.loc 1 970 13 is_stmt 0 view .LVU1026
 3430 0048 D468     		ldr	r4, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 3431              		.loc 1 970 6 view .LVU1027
 3432 004a 2542     		tst	r5, r4
 3433 004c 0BD1     		bne	.L259
 976:Library/src/lcm32f06x_flash.c ****     {
 3434              		.loc 1 976 5 is_stmt 1 view .LVU1028
 976:Library/src/lcm32f06x_flash.c ****     {
 3435              		.loc 1 976 15 is_stmt 0 view .LVU1029
 3436 004e D468     		ldr	r4, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
ARM GAS  /tmp/cc9cn0cw.s 			page 94


 3437              		.loc 1 976 8 view .LVU1030
 3438 0050 E406     		lsls	r4, r4, #27
 3439 0052 0DD4     		bmi	.L260
 3440              	.LBB644:
 3441              	.LBI644:
 966:Library/src/lcm32f06x_flash.c **** {
 3442              		.loc 1 966 14 is_stmt 1 view .LVU1031
 3443              	.LBB645:
 982:Library/src/lcm32f06x_flash.c ****       {
 3444              		.loc 1 982 7 view .LVU1032
 982:Library/src/lcm32f06x_flash.c ****       {
 3445              		.loc 1 982 17 is_stmt 0 view .LVU1033
 3446 0054 D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 3447              		.loc 1 982 10 view .LVU1034
 3448 0056 5207     		lsls	r2, r2, #29
 3449 0058 0DD5     		bpl	.L261
 3450              	.LVL187:
 982:Library/src/lcm32f06x_flash.c ****       {
 3451              		.loc 1 982 10 view .LVU1035
 3452              	.LBE645:
 3453              	.LBE644:
 3454              		.loc 1 993 3 is_stmt 1 view .LVU1036
 3455              		.loc 1 993 3 is_stmt 0 view .LVU1037
 3456              	.LBE650:
 3457              	.LBE657:
 948:Library/src/lcm32f06x_flash.c ****   }
 3458              		.loc 1 948 5 is_stmt 1 view .LVU1038
 3459              	.LBB658:
 3460              	.LBB651:
 3461              	.LBB648:
 3462              	.LBB646:
 984:Library/src/lcm32f06x_flash.c ****       }
 3463              		.loc 1 984 21 is_stmt 0 view .LVU1039
 3464 005a 0320     		movs	r0, #3
 3465              	.LVL188:
 984:Library/src/lcm32f06x_flash.c ****       }
 3466              		.loc 1 984 21 view .LVU1040
 3467              	.LBE646:
 3468              	.LBE648:
 3469              	.LBE651:
 3470              	.LBE658:
 948:Library/src/lcm32f06x_flash.c ****   }
 3471              		.loc 1 948 12 view .LVU1041
 3472 005c 013B     		subs	r3, r3, #1
 3473              	.LVL189:
 945:Library/src/lcm32f06x_flash.c ****   {
 3474              		.loc 1 945 33 is_stmt 1 view .LVU1042
 3475              	.L262:
 951:Library/src/lcm32f06x_flash.c ****   {
 3476              		.loc 1 951 3 view .LVU1043
 951:Library/src/lcm32f06x_flash.c ****   {
 3477              		.loc 1 951 6 is_stmt 0 view .LVU1044
 3478 005e 002B     		cmp	r3, #0
 3479 0060 0CD1     		bne	.L280
 3480              	.LBE666:
 3481              	.LBE673:
ARM GAS  /tmp/cc9cn0cw.s 			page 95


 464:Library/src/lcm32f06x_flash.c **** 
 3482              		.loc 1 464 12 view .LVU1045
 3483 0062 0520     		movs	r0, #5
 3484              	.LVL190:
 485:Library/src/lcm32f06x_flash.c **** }
 3485              		.loc 1 485 3 is_stmt 1 view .LVU1046
 485:Library/src/lcm32f06x_flash.c **** }
 3486              		.loc 1 485 10 is_stmt 0 view .LVU1047
 3487 0064 0AE0     		b	.L280
 3488              	.LVL191:
 3489              	.L259:
 3490              	.LBB674:
 3491              	.LBB667:
 3492              	.LBB659:
 3493              	.LBB652:
 3494              		.loc 1 993 3 is_stmt 1 view .LVU1048
 3495              		.loc 1 993 3 is_stmt 0 view .LVU1049
 3496              	.LBE652:
 3497              	.LBE659:
 948:Library/src/lcm32f06x_flash.c ****   }
 3498              		.loc 1 948 5 is_stmt 1 view .LVU1050
 948:Library/src/lcm32f06x_flash.c ****   }
 3499              		.loc 1 948 12 is_stmt 0 view .LVU1051
 3500 0066 013B     		subs	r3, r3, #1
 3501              	.LVL192:
 945:Library/src/lcm32f06x_flash.c ****   {
 3502              		.loc 1 945 33 is_stmt 1 view .LVU1052
 945:Library/src/lcm32f06x_flash.c ****   {
 3503              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU1053
 3504 0068 002B     		cmp	r3, #0
 3505 006a EDD1     		bne	.L255
 3506              	.LBE667:
 3507              	.LBE674:
 464:Library/src/lcm32f06x_flash.c **** 
 3508              		.loc 1 464 12 view .LVU1054
 3509 006c 0520     		movs	r0, #5
 3510              	.LVL193:
 485:Library/src/lcm32f06x_flash.c **** }
 3511              		.loc 1 485 3 is_stmt 1 view .LVU1055
 3512 006e 05E0     		b	.L280
 3513              	.LVL194:
 3514              	.L260:
 3515              	.LBB675:
 3516              	.LBB668:
 3517              	.LBB660:
 3518              	.LBB653:
 3519              		.loc 1 993 3 view .LVU1056
 3520              		.loc 1 993 3 is_stmt 0 view .LVU1057
 3521              	.LBE653:
 3522              	.LBE660:
 948:Library/src/lcm32f06x_flash.c ****   }
 3523              		.loc 1 948 5 is_stmt 1 view .LVU1058
 3524              	.LBB661:
 3525              	.LBB654:
 978:Library/src/lcm32f06x_flash.c ****     }
 3526              		.loc 1 978 19 is_stmt 0 view .LVU1059
 3527 0070 0220     		movs	r0, #2
ARM GAS  /tmp/cc9cn0cw.s 			page 96


 3528              	.LVL195:
 978:Library/src/lcm32f06x_flash.c ****     }
 3529              		.loc 1 978 19 view .LVU1060
 3530              	.LBE654:
 3531              	.LBE661:
 948:Library/src/lcm32f06x_flash.c ****   }
 3532              		.loc 1 948 12 view .LVU1061
 3533 0072 013B     		subs	r3, r3, #1
 3534              	.LVL196:
 945:Library/src/lcm32f06x_flash.c ****   {
 3535              		.loc 1 945 33 is_stmt 1 view .LVU1062
 3536 0074 F3E7     		b	.L262
 3537              	.LVL197:
 3538              	.L261:
 3539              	.LBB662:
 3540              	.LBB655:
 3541              	.LBB649:
 3542              	.LBB647:
 988:Library/src/lcm32f06x_flash.c ****       }
 3543              		.loc 1 988 9 view .LVU1063
 988:Library/src/lcm32f06x_flash.c ****       }
 3544              		.loc 1 988 9 is_stmt 0 view .LVU1064
 3545              	.LBE647:
 3546              	.LBE649:
 3547              		.loc 1 993 3 is_stmt 1 view .LVU1065
 3548              		.loc 1 993 3 is_stmt 0 view .LVU1066
 3549              	.LBE655:
 3550              	.LBE662:
 948:Library/src/lcm32f06x_flash.c ****   }
 3551              		.loc 1 948 5 is_stmt 1 view .LVU1067
 945:Library/src/lcm32f06x_flash.c ****   {
 3552              		.loc 1 945 33 view .LVU1068
 951:Library/src/lcm32f06x_flash.c ****   {
 3553              		.loc 1 951 3 view .LVU1069
 3554              	.LBE668:
 3555              	.LBE675:
 464:Library/src/lcm32f06x_flash.c **** 
 3556              		.loc 1 464 12 is_stmt 0 view .LVU1070
 3557 0076 0520     		movs	r0, #5
 3558              	.LVL198:
 3559              	.LBB676:
 3560              	.LBB669:
 951:Library/src/lcm32f06x_flash.c ****   {
 3561              		.loc 1 951 6 view .LVU1071
 3562 0078 012B     		cmp	r3, #1
 3563 007a CED1     		bne	.L258
 3564              	.LVL199:
 3565              	.L280:
 951:Library/src/lcm32f06x_flash.c ****   {
 3566              		.loc 1 951 6 view .LVU1072
 3567              	.LBE669:
 3568              	.LBE676:
 486:Library/src/lcm32f06x_flash.c **** 
 3569              		.loc 1 486 1 view .LVU1073
 3570              		@ sp needed
 3571              	.LVL200:
 486:Library/src/lcm32f06x_flash.c **** 
ARM GAS  /tmp/cc9cn0cw.s 			page 97


 3572              		.loc 1 486 1 view .LVU1074
 3573 007c 70BD     		pop	{r4, r5, r6, pc}
 3574              	.LVL201:
 3575              	.L269:
 3576              	.LBB677:
 3577              	.LBB670:
 3578              	.LBB663:
 3579              	.LBB638:
 978:Library/src/lcm32f06x_flash.c ****     }
 3580              		.loc 1 978 19 view .LVU1075
 3581 007e 0220     		movs	r0, #2
 3582              	.LVL202:
 978:Library/src/lcm32f06x_flash.c ****     }
 3583              		.loc 1 978 19 view .LVU1076
 3584 0080 FCE7     		b	.L280
 3585              	.LVL203:
 3586              	.L287:
 978:Library/src/lcm32f06x_flash.c ****     }
 3587              		.loc 1 978 19 view .LVU1077
 3588              	.LBE638:
 3589              	.LBE663:
 3590              	.LBE670:
 3591              	.LBE677:
 476:Library/src/lcm32f06x_flash.c ****         break;
 3592              		.loc 1 476 9 is_stmt 1 view .LVU1078
 3593              	.LBB678:
 3594              	.LBI678:
 937:Library/src/lcm32f06x_flash.c **** {
 3595              		.loc 1 937 14 view .LVU1079
 3596              	.LBB679:
 939:Library/src/lcm32f06x_flash.c **** 
 3597              		.loc 1 939 3 view .LVU1080
 942:Library/src/lcm32f06x_flash.c **** 
 3598              		.loc 1 942 3 view .LVU1081
 3599              	.LBB680:
 3600              	.LBI680:
 966:Library/src/lcm32f06x_flash.c **** {
 3601              		.loc 1 966 14 view .LVU1082
 3602              	.LBB681:
 968:Library/src/lcm32f06x_flash.c **** 
 3603              		.loc 1 968 3 view .LVU1083
 970:Library/src/lcm32f06x_flash.c ****   {
 3604              		.loc 1 970 3 view .LVU1084
 970:Library/src/lcm32f06x_flash.c ****   {
 3605              		.loc 1 970 13 is_stmt 0 view .LVU1085
 3606 0082 DA68     		ldr	r2, [r3, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 3607              		.loc 1 970 6 view .LVU1086
 3608 0084 D207     		lsls	r2, r2, #31
 3609 0086 08D4     		bmi	.L274
 976:Library/src/lcm32f06x_flash.c ****     {
 3610              		.loc 1 976 5 is_stmt 1 view .LVU1087
 976:Library/src/lcm32f06x_flash.c ****     {
 3611              		.loc 1 976 15 is_stmt 0 view .LVU1088
 3612 0088 DA68     		ldr	r2, [r3, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 3613              		.loc 1 976 8 view .LVU1089
ARM GAS  /tmp/cc9cn0cw.s 			page 98


 3614 008a 1442     		tst	r4, r2
 3615 008c 1FD1     		bne	.L275
 3616              	.LBB682:
 3617              	.LBI682:
 966:Library/src/lcm32f06x_flash.c **** {
 3618              		.loc 1 966 14 is_stmt 1 view .LVU1090
 3619              	.LBB683:
 982:Library/src/lcm32f06x_flash.c ****       {
 3620              		.loc 1 982 7 view .LVU1091
 982:Library/src/lcm32f06x_flash.c ****       {
 3621              		.loc 1 982 17 is_stmt 0 view .LVU1092
 3622 008e DB68     		ldr	r3, [r3, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 3623              		.loc 1 982 22 view .LVU1093
 3624 0090 0340     		ands	r3, r0
 988:Library/src/lcm32f06x_flash.c ****       }
 3625              		.loc 1 988 21 view .LVU1094
 3626 0092 5A42     		rsbs	r2, r3, #0
 3627 0094 5341     		adcs	r3, r3, r2
 3628 0096 D81C     		adds	r0, r3, #3
 3629 0098 C9E7     		b	.L263
 3630              	.L274:
 3631              	.LBE683:
 3632              	.LBE682:
 3633 009a B022     		movs	r2, #176
 3634              	.LBE681:
 3635              	.LBE680:
 3636              	.LBB686:
 3637              	.LBB687:
 970:Library/src/lcm32f06x_flash.c ****   {
 3638              		.loc 1 970 18 view .LVU1095
 3639 009c 0120     		movs	r0, #1
 3640              	.LBE687:
 3641              	.LBE686:
 3642              	.LBB694:
 3643              	.LBB684:
 3644 009e 1203     		lsls	r2, r2, #12
 3645              	.LVL204:
 3646              	.L264:
 970:Library/src/lcm32f06x_flash.c ****   {
 3647              		.loc 1 970 18 view .LVU1096
 3648              	.LBE684:
 3649              	.LBE694:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 3650              		.loc 1 947 5 is_stmt 1 view .LVU1097
 3651              	.LBB695:
 3652              	.LBI686:
 966:Library/src/lcm32f06x_flash.c **** {
 3653              		.loc 1 966 14 view .LVU1098
 3654              	.LBB690:
 968:Library/src/lcm32f06x_flash.c **** 
 3655              		.loc 1 968 3 view .LVU1099
 970:Library/src/lcm32f06x_flash.c ****   {
 3656              		.loc 1 970 3 view .LVU1100
 970:Library/src/lcm32f06x_flash.c ****   {
 3657              		.loc 1 970 13 is_stmt 0 view .LVU1101
 3658 00a0 D968     		ldr	r1, [r3, #12]
ARM GAS  /tmp/cc9cn0cw.s 			page 99


 3659              	.LBE690:
 3660              	.LBE695:
 948:Library/src/lcm32f06x_flash.c ****   }
 3661              		.loc 1 948 12 view .LVU1102
 3662 00a2 013A     		subs	r2, r2, #1
 3663              	.LVL205:
 3664              	.LBB696:
 3665              	.LBB691:
 970:Library/src/lcm32f06x_flash.c ****   {
 3666              		.loc 1 970 6 view .LVU1103
 3667 00a4 0842     		tst	r0, r1
 3668 00a6 0CD1     		bne	.L266
 976:Library/src/lcm32f06x_flash.c ****     {
 3669              		.loc 1 976 5 is_stmt 1 view .LVU1104
 976:Library/src/lcm32f06x_flash.c ****     {
 3670              		.loc 1 976 15 is_stmt 0 view .LVU1105
 3671 00a8 D968     		ldr	r1, [r3, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 3672              		.loc 1 976 8 view .LVU1106
 3673 00aa C906     		lsls	r1, r1, #27
 3674 00ac 0DD4     		bmi	.L277
 3675              	.LBB688:
 3676              	.LBI688:
 966:Library/src/lcm32f06x_flash.c **** {
 3677              		.loc 1 966 14 is_stmt 1 view .LVU1107
 3678              	.LBB689:
 982:Library/src/lcm32f06x_flash.c ****       {
 3679              		.loc 1 982 7 view .LVU1108
 982:Library/src/lcm32f06x_flash.c ****       {
 3680              		.loc 1 982 22 is_stmt 0 view .LVU1109
 3681 00ae 0420     		movs	r0, #4
 982:Library/src/lcm32f06x_flash.c ****       {
 3682              		.loc 1 982 17 view .LVU1110
 3683 00b0 DB68     		ldr	r3, [r3, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 3684              		.loc 1 982 22 view .LVU1111
 3685 00b2 1840     		ands	r0, r3
 988:Library/src/lcm32f06x_flash.c ****       }
 3686              		.loc 1 988 21 view .LVU1112
 3687 00b4 4342     		rsbs	r3, r0, #0
 3688 00b6 5841     		adcs	r0, r0, r3
 3689 00b8 0330     		adds	r0, r0, #3
 3690              	.L267:
 3691              	.LVL206:
 988:Library/src/lcm32f06x_flash.c ****       }
 3692              		.loc 1 988 21 view .LVU1113
 3693              	.LBE689:
 3694              	.LBE688:
 3695              	.LBE691:
 3696              	.LBE696:
 951:Library/src/lcm32f06x_flash.c ****   {
 3697              		.loc 1 951 3 is_stmt 1 view .LVU1114
 951:Library/src/lcm32f06x_flash.c ****   {
 3698              		.loc 1 951 6 is_stmt 0 view .LVU1115
 3699 00ba 002A     		cmp	r2, #0
 3700 00bc B7D1     		bne	.L263
 953:Library/src/lcm32f06x_flash.c ****   }
ARM GAS  /tmp/cc9cn0cw.s 			page 100


 3701              		.loc 1 953 12 view .LVU1116
 3702 00be 0520     		movs	r0, #5
 3703 00c0 B5E7     		b	.L263
 3704              	.LVL207:
 3705              	.L266:
 3706              	.LBB697:
 3707              	.LBB692:
 3708              		.loc 1 993 3 is_stmt 1 view .LVU1117
 3709              		.loc 1 993 3 is_stmt 0 view .LVU1118
 3710              	.LBE692:
 3711              	.LBE697:
 948:Library/src/lcm32f06x_flash.c ****   }
 3712              		.loc 1 948 5 is_stmt 1 view .LVU1119
 945:Library/src/lcm32f06x_flash.c ****   {
 3713              		.loc 1 945 33 view .LVU1120
 945:Library/src/lcm32f06x_flash.c ****   {
 3714              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU1121
 3715 00c2 002A     		cmp	r2, #0
 3716 00c4 ECD1     		bne	.L264
 953:Library/src/lcm32f06x_flash.c ****   }
 3717              		.loc 1 953 12 view .LVU1122
 3718 00c6 0520     		movs	r0, #5
 3719 00c8 B1E7     		b	.L263
 3720              	.LVL208:
 3721              	.L277:
 3722              	.LBB698:
 3723              	.LBB693:
 978:Library/src/lcm32f06x_flash.c ****     }
 3724              		.loc 1 978 19 view .LVU1123
 3725 00ca 0220     		movs	r0, #2
 3726 00cc F5E7     		b	.L267
 3727              	.LVL209:
 3728              	.L275:
 978:Library/src/lcm32f06x_flash.c ****     }
 3729              		.loc 1 978 19 view .LVU1124
 3730              	.LBE693:
 3731              	.LBE698:
 3732              	.LBB699:
 3733              	.LBB685:
 3734 00ce 0220     		movs	r0, #2
 3735 00d0 ADE7     		b	.L263
 3736              	.L289:
 3737 00d2 C046     		.align	2
 3738              	.L288:
 3739 00d4 00D00140 		.word	1073860608
 3740              	.LBE685:
 3741              	.LBE699:
 3742              	.LBE679:
 3743              	.LBE678:
 3744              		.cfi_endproc
 3745              	.LFE60:
 3747              		.section	.text.FLASH_OB_Erase,"ax",%progbits
 3748              		.align	1
 3749              		.p2align 2,,3
 3750              		.global	FLASH_OB_Erase
 3751              		.syntax unified
 3752              		.code	16
ARM GAS  /tmp/cc9cn0cw.s 			page 101


 3753              		.thumb_func
 3755              	FLASH_OB_Erase:
 3756              	.LFB61:
 500:Library/src/lcm32f06x_flash.c ****   uint16_t rdptmp = 0;
 3757              		.loc 1 500 1 is_stmt 1 view -0
 3758              		.cfi_startproc
 3759              		@ args = 0, pretend = 0, frame = 0
 3760              		@ frame_needed = 0, uses_anonymous_args = 0
 501:Library/src/lcm32f06x_flash.c ****   uint16_t rdptmp2 = 0;
 3761              		.loc 1 501 3 view .LVU1126
 3762              	.LVL210:
 502:Library/src/lcm32f06x_flash.c ****   uint16_t counter = 0;
 3763              		.loc 1 502 3 view .LVU1127
 503:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 3764              		.loc 1 503 3 view .LVU1128
 504:Library/src/lcm32f06x_flash.c ****   FLASH->AR = ((uint32_t)(OB_BASE));
 3765              		.loc 1 504 3 view .LVU1129
 505:Library/src/lcm32f06x_flash.c ****   /* Get the actual read protection Option Byte value */
 3766              		.loc 1 505 3 view .LVU1130
 500:Library/src/lcm32f06x_flash.c ****   uint16_t rdptmp = 0;
 3767              		.loc 1 500 1 is_stmt 0 view .LVU1131
 3768 0000 30B5     		push	{r4, r5, lr}
 3769              	.LCFI7:
 3770              		.cfi_def_cfa_offset 12
 3771              		.cfi_offset 4, -12
 3772              		.cfi_offset 5, -8
 3773              		.cfi_offset 14, -4
 505:Library/src/lcm32f06x_flash.c ****   /* Get the actual read protection Option Byte value */
 3774              		.loc 1 505 13 view .LVU1132
 3775 0002 8E4B     		ldr	r3, .L375
 3776 0004 8E4A     		ldr	r2, .L375+4
 512:Library/src/lcm32f06x_flash.c ****     {
 3777              		.loc 1 512 8 view .LVU1133
 3778 0006 8F49     		ldr	r1, .L375+8
 505:Library/src/lcm32f06x_flash.c ****   /* Get the actual read protection Option Byte value */
 3779              		.loc 1 505 13 view .LVU1134
 3780 0008 5361     		str	r3, [r2, #20]
 509:Library/src/lcm32f06x_flash.c ****   for (counter = 0; counter < 4; counter++)
 3781              		.loc 1 509 3 is_stmt 1 view .LVU1135
 510:Library/src/lcm32f06x_flash.c ****   {
 3782              		.loc 1 510 3 view .LVU1136
 510:Library/src/lcm32f06x_flash.c ****   {
 3783              		.loc 1 510 29 discriminator 1 view .LVU1137
 512:Library/src/lcm32f06x_flash.c ****     {
 3784              		.loc 1 512 5 view .LVU1138
 512:Library/src/lcm32f06x_flash.c ****     {
 3785              		.loc 1 512 17 is_stmt 0 view .LVU1139
 3786 000a 1A8C     		ldrh	r2, [r3, #32]
 3787 000c 90B2     		uxth	r0, r2
 512:Library/src/lcm32f06x_flash.c ****     {
 3788              		.loc 1 512 8 view .LVU1140
 3789 000e 8A42     		cmp	r2, r1
 3790 0010 3ED1     		bne	.L291
 510:Library/src/lcm32f06x_flash.c ****   {
 3791              		.loc 1 510 41 is_stmt 1 discriminator 2 view .LVU1141
 3792              	.LVL211:
 510:Library/src/lcm32f06x_flash.c ****   {
ARM GAS  /tmp/cc9cn0cw.s 			page 102


 3793              		.loc 1 510 29 discriminator 1 view .LVU1142
 512:Library/src/lcm32f06x_flash.c ****     {
 3794              		.loc 1 512 5 view .LVU1143
 512:Library/src/lcm32f06x_flash.c ****     {
 3795              		.loc 1 512 17 is_stmt 0 view .LVU1144
 3796 0012 5A8C     		ldrh	r2, [r3, #34]
 3797 0014 91B2     		uxth	r1, r2
 512:Library/src/lcm32f06x_flash.c ****     {
 3798              		.loc 1 512 8 view .LVU1145
 3799 0016 8242     		cmp	r2, r0
 3800 0018 3AD1     		bne	.L291
 510:Library/src/lcm32f06x_flash.c ****   {
 3801              		.loc 1 510 41 is_stmt 1 discriminator 2 view .LVU1146
 3802              	.LVL212:
 510:Library/src/lcm32f06x_flash.c ****   {
 3803              		.loc 1 510 29 discriminator 1 view .LVU1147
 512:Library/src/lcm32f06x_flash.c ****     {
 3804              		.loc 1 512 5 view .LVU1148
 512:Library/src/lcm32f06x_flash.c ****     {
 3805              		.loc 1 512 17 is_stmt 0 view .LVU1149
 3806 001a 9A8C     		ldrh	r2, [r3, #36]
 3807 001c 90B2     		uxth	r0, r2
 512:Library/src/lcm32f06x_flash.c ****     {
 3808              		.loc 1 512 8 view .LVU1150
 3809 001e 8A42     		cmp	r2, r1
 3810 0020 36D1     		bne	.L291
 510:Library/src/lcm32f06x_flash.c ****   {
 3811              		.loc 1 510 41 is_stmt 1 discriminator 2 view .LVU1151
 3812              	.LVL213:
 510:Library/src/lcm32f06x_flash.c ****   {
 3813              		.loc 1 510 29 discriminator 1 view .LVU1152
 512:Library/src/lcm32f06x_flash.c ****     {
 3814              		.loc 1 512 5 view .LVU1153
 512:Library/src/lcm32f06x_flash.c ****     {
 3815              		.loc 1 512 17 is_stmt 0 view .LVU1154
 3816 0022 DB8C     		ldrh	r3, [r3, #38]
 502:Library/src/lcm32f06x_flash.c ****   uint16_t counter = 0;
 3817              		.loc 1 502 12 view .LVU1155
 3818 0024 0025     		movs	r5, #0
 509:Library/src/lcm32f06x_flash.c ****   for (counter = 0; counter < 4; counter++)
 3819              		.loc 1 509 10 view .LVU1156
 3820 0026 0024     		movs	r4, #0
 512:Library/src/lcm32f06x_flash.c ****     {
 3821              		.loc 1 512 8 view .LVU1157
 3822 0028 8342     		cmp	r3, r0
 3823 002a 31D1     		bne	.L291
 3824              	.LVL214:
 529:Library/src/lcm32f06x_flash.c **** 
 3825              		.loc 1 529 3 is_stmt 1 view .LVU1158
 3826              	.LBB730:
 3827              	.LBI730:
 937:Library/src/lcm32f06x_flash.c **** {
 3828              		.loc 1 937 14 view .LVU1159
 3829              	.LBB731:
 939:Library/src/lcm32f06x_flash.c **** 
 3830              		.loc 1 939 3 view .LVU1160
 942:Library/src/lcm32f06x_flash.c **** 
ARM GAS  /tmp/cc9cn0cw.s 			page 103


 3831              		.loc 1 942 3 view .LVU1161
 3832              	.LBB732:
 3833              	.LBI732:
 966:Library/src/lcm32f06x_flash.c **** {
 3834              		.loc 1 966 14 view .LVU1162
 3835              	.LBB733:
 968:Library/src/lcm32f06x_flash.c **** 
 3836              		.loc 1 968 3 view .LVU1163
 970:Library/src/lcm32f06x_flash.c ****   {
 3837              		.loc 1 970 3 view .LVU1164
 970:Library/src/lcm32f06x_flash.c ****   {
 3838              		.loc 1 970 13 is_stmt 0 view .LVU1165
 3839 002c 844A     		ldr	r2, .L375+4
 3840 002e D368     		ldr	r3, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 3841              		.loc 1 970 6 view .LVU1166
 3842 0030 DB07     		lsls	r3, r3, #31
 3843 0032 6AD4     		bmi	.L339
 3844              	.L373:
 976:Library/src/lcm32f06x_flash.c ****     {
 3845              		.loc 1 976 5 is_stmt 1 view .LVU1167
 976:Library/src/lcm32f06x_flash.c ****     {
 3846              		.loc 1 976 15 is_stmt 0 view .LVU1168
 3847 0034 D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 3848              		.loc 1 976 8 view .LVU1169
 3849 0036 DB06     		lsls	r3, r3, #27
 3850 0038 00D5     		bpl	.LCB3908
 3851 003a 82E0     		b	.L340	@long jump
 3852              	.LCB3908:
 3853              	.LBB734:
 3854              	.LBI734:
 966:Library/src/lcm32f06x_flash.c **** {
 3855              		.loc 1 966 14 is_stmt 1 view .LVU1170
 3856              	.LBB735:
 982:Library/src/lcm32f06x_flash.c ****       {
 3857              		.loc 1 982 7 view .LVU1171
 982:Library/src/lcm32f06x_flash.c ****       {
 3858              		.loc 1 982 17 is_stmt 0 view .LVU1172
 3859 003c D368     		ldr	r3, [r2, #12]
 984:Library/src/lcm32f06x_flash.c ****       }
 3860              		.loc 1 984 21 view .LVU1173
 3861 003e 0320     		movs	r0, #3
 982:Library/src/lcm32f06x_flash.c ****       {
 3862              		.loc 1 982 10 view .LVU1174
 3863 0040 5B07     		lsls	r3, r3, #29
 3864 0042 73D4     		bmi	.L360
 3865              	.LVL215:
 3866              	.L303:
 982:Library/src/lcm32f06x_flash.c ****       {
 3867              		.loc 1 982 10 view .LVU1175
 3868              	.LBE735:
 3869              	.LBE734:
 3870              	.LBE733:
 3871              	.LBE732:
 3872              	.LBE731:
 3873              	.LBE730:
ARM GAS  /tmp/cc9cn0cw.s 			page 104


 534:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 3874              		.loc 1 534 5 is_stmt 1 view .LVU1176
 534:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 3875              		.loc 1 534 15 is_stmt 0 view .LVU1177
 3876 0044 2022     		movs	r2, #32
 534:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 3877              		.loc 1 534 10 view .LVU1178
 3878 0046 7E48     		ldr	r0, .L375+4
 3879 0048 0369     		ldr	r3, [r0, #16]
 534:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 3880              		.loc 1 534 15 view .LVU1179
 3881 004a 1343     		orrs	r3, r2
 3882 004c 0361     		str	r3, [r0, #16]
 535:Library/src/lcm32f06x_flash.c **** 
 3883              		.loc 1 535 5 is_stmt 1 view .LVU1180
 535:Library/src/lcm32f06x_flash.c **** 
 3884              		.loc 1 535 10 is_stmt 0 view .LVU1181
 3885 004e 0369     		ldr	r3, [r0, #16]
 535:Library/src/lcm32f06x_flash.c **** 
 3886              		.loc 1 535 15 view .LVU1182
 3887 0050 2032     		adds	r2, r2, #32
 3888 0052 1343     		orrs	r3, r2
 3889 0054 0361     		str	r3, [r0, #16]
 538:Library/src/lcm32f06x_flash.c **** 
 3890              		.loc 1 538 5 is_stmt 1 view .LVU1183
 3891              	.LBB767:
 3892              	.LBI767:
 937:Library/src/lcm32f06x_flash.c **** {
 3893              		.loc 1 937 14 view .LVU1184
 3894              	.LVL216:
 3895              	.LBB768:
 939:Library/src/lcm32f06x_flash.c **** 
 3896              		.loc 1 939 3 view .LVU1185
 942:Library/src/lcm32f06x_flash.c **** 
 3897              		.loc 1 942 3 view .LVU1186
 3898              	.LBB769:
 3899              	.LBI769:
 966:Library/src/lcm32f06x_flash.c **** {
 3900              		.loc 1 966 14 view .LVU1187
 3901              	.LBB770:
 968:Library/src/lcm32f06x_flash.c **** 
 3902              		.loc 1 968 3 view .LVU1188
 970:Library/src/lcm32f06x_flash.c ****   {
 3903              		.loc 1 970 3 view .LVU1189
 970:Library/src/lcm32f06x_flash.c ****   {
 3904              		.loc 1 970 13 is_stmt 0 view .LVU1190
 3905 0056 C368     		ldr	r3, [r0, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 3906              		.loc 1 970 6 view .LVU1191
 3907 0058 DB07     		lsls	r3, r3, #31
 3908 005a 00D4     		bmi	.LCB3960
 3909 005c 73E0     		b	.L372	@long jump
 3910              	.LCB3960:
 3911 005e B023     		movs	r3, #176
 3912              	.LBE770:
 3913              	.LBE769:
 3914              	.LBB775:
ARM GAS  /tmp/cc9cn0cw.s 			page 105


 3915              	.LBB776:
 970:Library/src/lcm32f06x_flash.c ****   {
 3916              		.loc 1 970 18 view .LVU1192
 3917 0060 0121     		movs	r1, #1
 3918              	.LBE776:
 3919              	.LBE775:
 3920              	.LBB789:
 3921              	.LBB773:
 3922 0062 1B03     		lsls	r3, r3, #12
 3923              	.LVL217:
 3924              	.L309:
 970:Library/src/lcm32f06x_flash.c ****   {
 3925              		.loc 1 970 18 view .LVU1193
 3926              	.LBE773:
 3927              	.LBE789:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 3928              		.loc 1 947 5 is_stmt 1 view .LVU1194
 3929              	.LBB790:
 3930              	.LBI775:
 966:Library/src/lcm32f06x_flash.c **** {
 3931              		.loc 1 966 14 view .LVU1195
 3932              	.LBB783:
 968:Library/src/lcm32f06x_flash.c **** 
 3933              		.loc 1 968 3 view .LVU1196
 970:Library/src/lcm32f06x_flash.c ****   {
 3934              		.loc 1 970 3 view .LVU1197
 970:Library/src/lcm32f06x_flash.c ****   {
 3935              		.loc 1 970 13 is_stmt 0 view .LVU1198
 3936 0064 C268     		ldr	r2, [r0, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 3937              		.loc 1 970 6 view .LVU1199
 3938 0066 1142     		tst	r1, r2
 3939 0068 00D0     		beq	.LCB3990
 3940 006a 9CE0     		b	.L312	@long jump
 3941              	.LCB3990:
 976:Library/src/lcm32f06x_flash.c ****     {
 3942              		.loc 1 976 5 is_stmt 1 view .LVU1200
 976:Library/src/lcm32f06x_flash.c ****     {
 3943              		.loc 1 976 15 is_stmt 0 view .LVU1201
 3944 006c C268     		ldr	r2, [r0, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 3945              		.loc 1 976 8 view .LVU1202
 3946 006e D206     		lsls	r2, r2, #27
 3947 0070 00D5     		bpl	.LCB3996
 3948 0072 9DE0     		b	.L313	@long jump
 3949              	.LCB3996:
 3950              	.LBB777:
 3951              	.LBI777:
 966:Library/src/lcm32f06x_flash.c **** {
 3952              		.loc 1 966 14 is_stmt 1 view .LVU1203
 3953              	.LBB778:
 982:Library/src/lcm32f06x_flash.c ****       {
 3954              		.loc 1 982 7 view .LVU1204
 982:Library/src/lcm32f06x_flash.c ****       {
 3955              		.loc 1 982 17 is_stmt 0 view .LVU1205
 3956 0074 C268     		ldr	r2, [r0, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
ARM GAS  /tmp/cc9cn0cw.s 			page 106


 3957              		.loc 1 982 10 view .LVU1206
 3958 0076 5207     		lsls	r2, r2, #29
 3959 0078 00D4     		bmi	.LCB4005
 3960 007a 6CE0     		b	.L314	@long jump
 3961              	.LCB4005:
 3962              	.LVL218:
 982:Library/src/lcm32f06x_flash.c ****       {
 3963              		.loc 1 982 10 view .LVU1207
 3964              	.LBE778:
 3965              	.LBE777:
 3966              		.loc 1 993 3 is_stmt 1 view .LVU1208
 3967              		.loc 1 993 3 is_stmt 0 view .LVU1209
 3968              	.LBE783:
 3969              	.LBE790:
 948:Library/src/lcm32f06x_flash.c ****   }
 3970              		.loc 1 948 5 is_stmt 1 view .LVU1210
 3971              	.LBB791:
 3972              	.LBB784:
 3973              	.LBB781:
 3974              	.LBB779:
 984:Library/src/lcm32f06x_flash.c ****       }
 3975              		.loc 1 984 21 is_stmt 0 view .LVU1211
 3976 007c 0320     		movs	r0, #3
 3977              	.LBE779:
 3978              	.LBE781:
 3979              	.LBE784:
 3980              	.LBE791:
 948:Library/src/lcm32f06x_flash.c ****   }
 3981              		.loc 1 948 12 view .LVU1212
 3982 007e 013B     		subs	r3, r3, #1
 3983              	.LVL219:
 945:Library/src/lcm32f06x_flash.c ****   {
 3984              		.loc 1 945 33 is_stmt 1 view .LVU1213
 3985              	.L315:
 951:Library/src/lcm32f06x_flash.c ****   {
 3986              		.loc 1 951 3 view .LVU1214
 951:Library/src/lcm32f06x_flash.c ****   {
 3987              		.loc 1 951 6 is_stmt 0 view .LVU1215
 3988 0080 002B     		cmp	r3, #0
 3989 0082 52D0     		beq	.L308
 3990              	.L310:
 3991              	.LBE768:
 3992              	.LBE767:
 582:Library/src/lcm32f06x_flash.c ****       {
 3993              		.loc 1 582 7 is_stmt 1 view .LVU1216
 585:Library/src/lcm32f06x_flash.c ****       }
 3994              		.loc 1 585 9 view .LVU1217
 585:Library/src/lcm32f06x_flash.c ****       }
 3995              		.loc 1 585 19 is_stmt 0 view .LVU1218
 3996 0084 1021     		movs	r1, #16
 585:Library/src/lcm32f06x_flash.c ****       }
 3997              		.loc 1 585 14 view .LVU1219
 3998 0086 6E4A     		ldr	r2, .L375+4
 3999 0088 1369     		ldr	r3, [r2, #16]
 585:Library/src/lcm32f06x_flash.c ****       }
 4000              		.loc 1 585 19 view .LVU1220
 4001 008a 8B43     		bics	r3, r1
ARM GAS  /tmp/cc9cn0cw.s 			page 107


 4002 008c 1361     		str	r3, [r2, #16]
 4003 008e 4DE0     		b	.L360
 4004              	.LVL220:
 4005              	.L291:
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4006              		.loc 1 522 7 is_stmt 1 view .LVU1221
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4007              		.loc 1 522 10 is_stmt 0 view .LVU1222
 4008 0090 6D4A     		ldr	r2, .L375+12
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4009              		.loc 1 522 18 view .LVU1223
 4010 0092 6A4B     		ldr	r3, .L375
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4011              		.loc 1 522 10 view .LVU1224
 4012 0094 9446     		mov	ip, r2
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4013              		.loc 1 522 18 view .LVU1225
 4014 0096 1C8A     		ldrh	r4, [r3, #16]
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4015              		.loc 1 522 10 view .LVU1226
 4016 0098 6444     		add	r4, r4, ip
 4017 009a 621E     		subs	r2, r4, #1
 4018 009c 9441     		sbcs	r4, r4, r2
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4019              		.loc 1 522 18 view .LVU1227
 4020 009e 5A8A     		ldrh	r2, [r3, #18]
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4021              		.loc 1 522 10 view .LVU1228
 4022 00a0 6A4B     		ldr	r3, .L375+16
 4023 00a2 A4B2     		uxth	r4, r4
 4024              	.LVL221:
 520:Library/src/lcm32f06x_flash.c ****     {
 4025              		.loc 1 520 43 is_stmt 1 discriminator 2 view .LVU1229
 520:Library/src/lcm32f06x_flash.c ****     {
 4026              		.loc 1 520 31 discriminator 1 view .LVU1230
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4027              		.loc 1 522 7 view .LVU1231
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4028              		.loc 1 522 10 is_stmt 0 view .LVU1232
 4029 00a4 9A42     		cmp	r2, r3
 4030 00a6 01D0     		beq	.L293
 523:Library/src/lcm32f06x_flash.c ****     }
 4031              		.loc 1 523 9 is_stmt 1 view .LVU1233
 523:Library/src/lcm32f06x_flash.c ****     }
 4032              		.loc 1 523 16 is_stmt 0 view .LVU1234
 4033 00a8 0223     		movs	r3, #2
 4034 00aa 1C43     		orrs	r4, r3
 4035              	.LVL222:
 4036              	.L293:
 520:Library/src/lcm32f06x_flash.c ****     {
 4037              		.loc 1 520 43 is_stmt 1 discriminator 2 view .LVU1235
 520:Library/src/lcm32f06x_flash.c ****     {
 4038              		.loc 1 520 31 discriminator 1 view .LVU1236
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4039              		.loc 1 522 7 view .LVU1237
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4040              		.loc 1 522 18 is_stmt 0 view .LVU1238
ARM GAS  /tmp/cc9cn0cw.s 			page 108


 4041 00ac 634B     		ldr	r3, .L375
 4042 00ae 9A8A     		ldrh	r2, [r3, #20]
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4043              		.loc 1 522 10 view .LVU1239
 4044 00b0 664B     		ldr	r3, .L375+16
 4045 00b2 9A42     		cmp	r2, r3
 4046 00b4 01D0     		beq	.L294
 523:Library/src/lcm32f06x_flash.c ****     }
 4047              		.loc 1 523 9 is_stmt 1 view .LVU1240
 523:Library/src/lcm32f06x_flash.c ****     }
 4048              		.loc 1 523 16 is_stmt 0 view .LVU1241
 4049 00b6 0423     		movs	r3, #4
 4050 00b8 1C43     		orrs	r4, r3
 4051              	.LVL223:
 4052              	.L294:
 520:Library/src/lcm32f06x_flash.c ****     {
 4053              		.loc 1 520 43 is_stmt 1 discriminator 2 view .LVU1242
 520:Library/src/lcm32f06x_flash.c ****     {
 4054              		.loc 1 520 31 discriminator 1 view .LVU1243
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4055              		.loc 1 522 7 view .LVU1244
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4056              		.loc 1 522 18 is_stmt 0 view .LVU1245
 4057 00ba 604B     		ldr	r3, .L375
 4058 00bc DA8A     		ldrh	r2, [r3, #22]
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4059              		.loc 1 522 10 view .LVU1246
 4060 00be 634B     		ldr	r3, .L375+16
 4061 00c0 9A42     		cmp	r2, r3
 4062 00c2 01D0     		beq	.L295
 523:Library/src/lcm32f06x_flash.c ****     }
 4063              		.loc 1 523 9 is_stmt 1 view .LVU1247
 523:Library/src/lcm32f06x_flash.c ****     }
 4064              		.loc 1 523 16 is_stmt 0 view .LVU1248
 4065 00c4 0823     		movs	r3, #8
 4066 00c6 1C43     		orrs	r4, r3
 4067              	.LVL224:
 4068              	.L295:
 520:Library/src/lcm32f06x_flash.c ****     {
 4069              		.loc 1 520 43 is_stmt 1 discriminator 2 view .LVU1249
 520:Library/src/lcm32f06x_flash.c ****     {
 4070              		.loc 1 520 31 discriminator 1 view .LVU1250
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4071              		.loc 1 522 7 view .LVU1251
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4072              		.loc 1 522 18 is_stmt 0 view .LVU1252
 4073 00c8 5C4B     		ldr	r3, .L375
 4074 00ca 1A8B     		ldrh	r2, [r3, #24]
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4075              		.loc 1 522 10 view .LVU1253
 4076 00cc 5F4B     		ldr	r3, .L375+16
 4077 00ce 9A42     		cmp	r2, r3
 4078 00d0 01D0     		beq	.L296
 523:Library/src/lcm32f06x_flash.c ****     }
 4079              		.loc 1 523 9 is_stmt 1 view .LVU1254
 523:Library/src/lcm32f06x_flash.c ****     }
 4080              		.loc 1 523 16 is_stmt 0 view .LVU1255
ARM GAS  /tmp/cc9cn0cw.s 			page 109


 4081 00d2 1023     		movs	r3, #16
 4082 00d4 1C43     		orrs	r4, r3
 4083              	.LVL225:
 4084              	.L296:
 520:Library/src/lcm32f06x_flash.c ****     {
 4085              		.loc 1 520 43 is_stmt 1 discriminator 2 view .LVU1256
 520:Library/src/lcm32f06x_flash.c ****     {
 4086              		.loc 1 520 31 discriminator 1 view .LVU1257
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4087              		.loc 1 522 7 view .LVU1258
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4088              		.loc 1 522 18 is_stmt 0 view .LVU1259
 4089 00d6 594B     		ldr	r3, .L375
 4090 00d8 5A8B     		ldrh	r2, [r3, #26]
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4091              		.loc 1 522 10 view .LVU1260
 4092 00da 5C4B     		ldr	r3, .L375+16
 4093 00dc 9A42     		cmp	r2, r3
 4094 00de 01D0     		beq	.L297
 523:Library/src/lcm32f06x_flash.c ****     }
 4095              		.loc 1 523 9 is_stmt 1 view .LVU1261
 523:Library/src/lcm32f06x_flash.c ****     }
 4096              		.loc 1 523 16 is_stmt 0 view .LVU1262
 4097 00e0 2023     		movs	r3, #32
 4098 00e2 1C43     		orrs	r4, r3
 4099              	.LVL226:
 4100              	.L297:
 520:Library/src/lcm32f06x_flash.c ****     {
 4101              		.loc 1 520 43 is_stmt 1 discriminator 2 view .LVU1263
 520:Library/src/lcm32f06x_flash.c ****     {
 4102              		.loc 1 520 31 discriminator 1 view .LVU1264
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4103              		.loc 1 522 7 view .LVU1265
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4104              		.loc 1 522 18 is_stmt 0 view .LVU1266
 4105 00e4 554B     		ldr	r3, .L375
 4106 00e6 9A8B     		ldrh	r2, [r3, #28]
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4107              		.loc 1 522 10 view .LVU1267
 4108 00e8 584B     		ldr	r3, .L375+16
 4109 00ea 9A42     		cmp	r2, r3
 4110 00ec 01D0     		beq	.L298
 523:Library/src/lcm32f06x_flash.c ****     }
 4111              		.loc 1 523 9 is_stmt 1 view .LVU1268
 523:Library/src/lcm32f06x_flash.c ****     }
 4112              		.loc 1 523 16 is_stmt 0 view .LVU1269
 4113 00ee 4023     		movs	r3, #64
 4114 00f0 1C43     		orrs	r4, r3
 4115              	.LVL227:
 4116              	.L298:
 520:Library/src/lcm32f06x_flash.c ****     {
 4117              		.loc 1 520 43 is_stmt 1 discriminator 2 view .LVU1270
 520:Library/src/lcm32f06x_flash.c ****     {
 4118              		.loc 1 520 31 discriminator 1 view .LVU1271
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4119              		.loc 1 522 7 view .LVU1272
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
ARM GAS  /tmp/cc9cn0cw.s 			page 110


 4120              		.loc 1 522 18 is_stmt 0 view .LVU1273
 4121 00f2 524B     		ldr	r3, .L375
 4122 00f4 DA8B     		ldrh	r2, [r3, #30]
 522:Library/src/lcm32f06x_flash.c ****         rdptmp |= (1 << counter);
 4123              		.loc 1 522 10 view .LVU1274
 4124 00f6 554B     		ldr	r3, .L375+16
 4125 00f8 9A42     		cmp	r2, r3
 4126 00fa 01D0     		beq	.L299
 523:Library/src/lcm32f06x_flash.c ****     }
 4127              		.loc 1 523 9 is_stmt 1 view .LVU1275
 523:Library/src/lcm32f06x_flash.c ****     }
 4128              		.loc 1 523 16 is_stmt 0 view .LVU1276
 4129 00fc 8023     		movs	r3, #128
 4130 00fe 1C43     		orrs	r4, r3
 4131              	.LVL228:
 4132              	.L299:
 520:Library/src/lcm32f06x_flash.c ****     {
 4133              		.loc 1 520 43 is_stmt 1 discriminator 2 view .LVU1277
 520:Library/src/lcm32f06x_flash.c ****     {
 4134              		.loc 1 520 31 discriminator 1 view .LVU1278
 4135              	.LBB799:
 4136              	.LBB764:
 4137              	.LBB740:
 4138              	.LBB736:
 970:Library/src/lcm32f06x_flash.c ****   {
 4139              		.loc 1 970 13 is_stmt 0 view .LVU1279
 4140 0100 4F4A     		ldr	r2, .L375+4
 4141              	.LBE736:
 4142              	.LBE740:
 4143              	.LBE764:
 4144              	.LBE799:
 509:Library/src/lcm32f06x_flash.c ****   for (counter = 0; counter < 4; counter++)
 4145              		.loc 1 509 10 view .LVU1280
 4146 0102 0125     		movs	r5, #1
 4147              	.LVL229:
 529:Library/src/lcm32f06x_flash.c **** 
 4148              		.loc 1 529 3 is_stmt 1 view .LVU1281
 4149              	.LBB800:
 937:Library/src/lcm32f06x_flash.c **** {
 4150              		.loc 1 937 14 view .LVU1282
 4151              	.LBB765:
 939:Library/src/lcm32f06x_flash.c **** 
 4152              		.loc 1 939 3 view .LVU1283
 942:Library/src/lcm32f06x_flash.c **** 
 4153              		.loc 1 942 3 view .LVU1284
 4154              	.LBB741:
 966:Library/src/lcm32f06x_flash.c **** {
 4155              		.loc 1 966 14 view .LVU1285
 4156              	.LBB737:
 968:Library/src/lcm32f06x_flash.c **** 
 4157              		.loc 1 968 3 view .LVU1286
 970:Library/src/lcm32f06x_flash.c ****   {
 4158              		.loc 1 970 3 view .LVU1287
 970:Library/src/lcm32f06x_flash.c ****   {
 4159              		.loc 1 970 13 is_stmt 0 view .LVU1288
 4160 0104 D368     		ldr	r3, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
ARM GAS  /tmp/cc9cn0cw.s 			page 111


 4161              		.loc 1 970 6 view .LVU1289
 4162 0106 DB07     		lsls	r3, r3, #31
 4163 0108 94D5     		bpl	.L373
 4164              	.L339:
 970:Library/src/lcm32f06x_flash.c ****   {
 4165              		.loc 1 970 6 view .LVU1290
 4166 010a B023     		movs	r3, #176
 4167              	.LBE737:
 4168              	.LBE741:
 4169              	.LBB742:
 4170              	.LBB743:
 970:Library/src/lcm32f06x_flash.c ****   {
 4171              		.loc 1 970 18 view .LVU1291
 4172 010c 0120     		movs	r0, #1
 4173              	.LBE743:
 4174              	.LBE742:
 4175              	.LBB756:
 4176              	.LBB738:
 4177 010e 1B03     		lsls	r3, r3, #12
 4178              	.LVL230:
 4179              	.L300:
 970:Library/src/lcm32f06x_flash.c ****   {
 4180              		.loc 1 970 18 view .LVU1292
 4181              	.LBE738:
 4182              	.LBE756:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 4183              		.loc 1 947 5 is_stmt 1 view .LVU1293
 4184              	.LBB757:
 4185              	.LBI742:
 966:Library/src/lcm32f06x_flash.c **** {
 4186              		.loc 1 966 14 view .LVU1294
 4187              	.LBB750:
 968:Library/src/lcm32f06x_flash.c **** 
 4188              		.loc 1 968 3 view .LVU1295
 970:Library/src/lcm32f06x_flash.c ****   {
 4189              		.loc 1 970 3 view .LVU1296
 970:Library/src/lcm32f06x_flash.c ****   {
 4190              		.loc 1 970 13 is_stmt 0 view .LVU1297
 4191 0110 D168     		ldr	r1, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 4192              		.loc 1 970 6 view .LVU1298
 4193 0112 0842     		tst	r0, r1
 4194 0114 0BD1     		bne	.L304
 976:Library/src/lcm32f06x_flash.c ****     {
 4195              		.loc 1 976 5 is_stmt 1 view .LVU1299
 976:Library/src/lcm32f06x_flash.c ****     {
 4196              		.loc 1 976 15 is_stmt 0 view .LVU1300
 4197 0116 D168     		ldr	r1, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 4198              		.loc 1 976 8 view .LVU1301
 4199 0118 C906     		lsls	r1, r1, #27
 4200 011a 0CD4     		bmi	.L305
 4201              	.LBB744:
 4202              	.LBI744:
 966:Library/src/lcm32f06x_flash.c **** {
 4203              		.loc 1 966 14 is_stmt 1 view .LVU1302
 4204              	.LBB745:
ARM GAS  /tmp/cc9cn0cw.s 			page 112


 982:Library/src/lcm32f06x_flash.c ****       {
 4205              		.loc 1 982 7 view .LVU1303
 982:Library/src/lcm32f06x_flash.c ****       {
 4206              		.loc 1 982 17 is_stmt 0 view .LVU1304
 4207 011c D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 4208              		.loc 1 982 10 view .LVU1305
 4209 011e 5207     		lsls	r2, r2, #29
 4210 0120 0CD5     		bpl	.L306
 4211              	.LVL231:
 982:Library/src/lcm32f06x_flash.c ****       {
 4212              		.loc 1 982 10 view .LVU1306
 4213              	.LBE745:
 4214              	.LBE744:
 4215              		.loc 1 993 3 is_stmt 1 view .LVU1307
 4216              		.loc 1 993 3 is_stmt 0 view .LVU1308
 4217              	.LBE750:
 4218              	.LBE757:
 948:Library/src/lcm32f06x_flash.c ****   }
 4219              		.loc 1 948 5 is_stmt 1 view .LVU1309
 4220              	.LBB758:
 4221              	.LBB751:
 4222              	.LBB748:
 4223              	.LBB746:
 984:Library/src/lcm32f06x_flash.c ****       }
 4224              		.loc 1 984 21 is_stmt 0 view .LVU1310
 4225 0122 0320     		movs	r0, #3
 4226              	.LBE746:
 4227              	.LBE748:
 4228              	.LBE751:
 4229              	.LBE758:
 948:Library/src/lcm32f06x_flash.c ****   }
 4230              		.loc 1 948 12 view .LVU1311
 4231 0124 013B     		subs	r3, r3, #1
 4232              	.LVL232:
 945:Library/src/lcm32f06x_flash.c ****   {
 4233              		.loc 1 945 33 is_stmt 1 view .LVU1312
 4234              	.L307:
 951:Library/src/lcm32f06x_flash.c ****   {
 4235              		.loc 1 951 3 view .LVU1313
 951:Library/src/lcm32f06x_flash.c ****   {
 4236              		.loc 1 951 6 is_stmt 0 view .LVU1314
 4237 0126 002B     		cmp	r3, #0
 4238 0128 00D1     		bne	.L360
 4239              	.LVL233:
 4240              	.L308:
 951:Library/src/lcm32f06x_flash.c ****   {
 4241              		.loc 1 951 6 view .LVU1315
 4242              	.LBE765:
 4243              	.LBE800:
 529:Library/src/lcm32f06x_flash.c **** 
 4244              		.loc 1 529 12 view .LVU1316
 4245 012a 0520     		movs	r0, #5
 4246              	.L360:
 591:Library/src/lcm32f06x_flash.c **** 
 4247              		.loc 1 591 1 view .LVU1317
 4248              		@ sp needed
ARM GAS  /tmp/cc9cn0cw.s 			page 113


 4249 012c 30BD     		pop	{r4, r5, pc}
 4250              	.LVL234:
 4251              	.L304:
 4252              	.LBB801:
 4253              	.LBB766:
 4254              	.LBB759:
 4255              	.LBB752:
 4256              		.loc 1 993 3 is_stmt 1 view .LVU1318
 4257              		.loc 1 993 3 is_stmt 0 view .LVU1319
 4258              	.LBE752:
 4259              	.LBE759:
 948:Library/src/lcm32f06x_flash.c ****   }
 4260              		.loc 1 948 5 is_stmt 1 view .LVU1320
 948:Library/src/lcm32f06x_flash.c ****   }
 4261              		.loc 1 948 12 is_stmt 0 view .LVU1321
 4262 012e 013B     		subs	r3, r3, #1
 4263              	.LVL235:
 945:Library/src/lcm32f06x_flash.c ****   {
 4264              		.loc 1 945 33 is_stmt 1 view .LVU1322
 945:Library/src/lcm32f06x_flash.c ****   {
 4265              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU1323
 4266 0130 002B     		cmp	r3, #0
 4267 0132 EDD1     		bne	.L300
 4268 0134 F9E7     		b	.L308
 4269              	.LVL236:
 4270              	.L305:
 4271              	.LBB760:
 4272              	.LBB753:
 4273              		.loc 1 993 3 is_stmt 1 view .LVU1324
 4274              		.loc 1 993 3 is_stmt 0 view .LVU1325
 4275              	.LBE753:
 4276              	.LBE760:
 948:Library/src/lcm32f06x_flash.c ****   }
 4277              		.loc 1 948 5 is_stmt 1 view .LVU1326
 4278              	.LBB761:
 4279              	.LBB754:
 978:Library/src/lcm32f06x_flash.c ****     }
 4280              		.loc 1 978 19 is_stmt 0 view .LVU1327
 4281 0136 0220     		movs	r0, #2
 4282              	.LBE754:
 4283              	.LBE761:
 948:Library/src/lcm32f06x_flash.c ****   }
 4284              		.loc 1 948 12 view .LVU1328
 4285 0138 013B     		subs	r3, r3, #1
 4286              	.LVL237:
 945:Library/src/lcm32f06x_flash.c ****   {
 4287              		.loc 1 945 33 is_stmt 1 view .LVU1329
 4288 013a F4E7     		b	.L307
 4289              	.LVL238:
 4290              	.L306:
 4291              	.LBB762:
 4292              	.LBB755:
 4293              	.LBB749:
 4294              	.LBB747:
 988:Library/src/lcm32f06x_flash.c ****       }
 4295              		.loc 1 988 9 view .LVU1330
 988:Library/src/lcm32f06x_flash.c ****       }
ARM GAS  /tmp/cc9cn0cw.s 			page 114


 4296              		.loc 1 988 9 is_stmt 0 view .LVU1331
 4297              	.LBE747:
 4298              	.LBE749:
 4299              		.loc 1 993 3 is_stmt 1 view .LVU1332
 4300              		.loc 1 993 3 is_stmt 0 view .LVU1333
 4301              	.LBE755:
 4302              	.LBE762:
 948:Library/src/lcm32f06x_flash.c ****   }
 4303              		.loc 1 948 5 is_stmt 1 view .LVU1334
 945:Library/src/lcm32f06x_flash.c ****   {
 4304              		.loc 1 945 33 view .LVU1335
 951:Library/src/lcm32f06x_flash.c ****   {
 4305              		.loc 1 951 3 view .LVU1336
 951:Library/src/lcm32f06x_flash.c ****   {
 4306              		.loc 1 951 6 is_stmt 0 view .LVU1337
 4307 013c 012B     		cmp	r3, #1
 4308 013e F4D0     		beq	.L308
 4309 0140 80E7     		b	.L303
 4310              	.LVL239:
 4311              	.L340:
 4312              	.LBB763:
 4313              	.LBB739:
 978:Library/src/lcm32f06x_flash.c ****     }
 4314              		.loc 1 978 19 view .LVU1338
 4315 0142 0220     		movs	r0, #2
 4316              	.LVL240:
 978:Library/src/lcm32f06x_flash.c ****     }
 4317              		.loc 1 978 19 view .LVU1339
 4318              	.LBE739:
 4319              	.LBE763:
 4320              	.LBE766:
 4321              	.LBE801:
 590:Library/src/lcm32f06x_flash.c **** }
 4322              		.loc 1 590 3 is_stmt 1 view .LVU1340
 590:Library/src/lcm32f06x_flash.c **** }
 4323              		.loc 1 590 10 is_stmt 0 view .LVU1341
 4324 0144 F2E7     		b	.L360
 4325              	.LVL241:
 4326              	.L372:
 4327              	.LBB802:
 4328              	.LBB797:
 4329              	.LBB792:
 4330              	.LBB774:
 976:Library/src/lcm32f06x_flash.c ****     {
 4331              		.loc 1 976 5 is_stmt 1 view .LVU1342
 976:Library/src/lcm32f06x_flash.c ****     {
 4332              		.loc 1 976 15 is_stmt 0 view .LVU1343
 4333 0146 C368     		ldr	r3, [r0, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 4334              		.loc 1 976 8 view .LVU1344
 4335 0148 DB06     		lsls	r3, r3, #27
 4336 014a 47D4     		bmi	.L346
 4337              	.LBB771:
 4338              	.LBI771:
 966:Library/src/lcm32f06x_flash.c **** {
 4339              		.loc 1 966 14 is_stmt 1 view .LVU1345
 4340              	.LBB772:
ARM GAS  /tmp/cc9cn0cw.s 			page 115


 982:Library/src/lcm32f06x_flash.c ****       {
 4341              		.loc 1 982 7 view .LVU1346
 982:Library/src/lcm32f06x_flash.c ****       {
 4342              		.loc 1 982 17 is_stmt 0 view .LVU1347
 4343 014c C368     		ldr	r3, [r0, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 4344              		.loc 1 982 10 view .LVU1348
 4345 014e 5B07     		lsls	r3, r3, #29
 4346 0150 03D5     		bpl	.L311
 984:Library/src/lcm32f06x_flash.c ****       }
 4347              		.loc 1 984 21 view .LVU1349
 4348 0152 0320     		movs	r0, #3
 4349 0154 96E7     		b	.L310
 4350              	.LVL242:
 4351              	.L314:
 984:Library/src/lcm32f06x_flash.c ****       }
 4352              		.loc 1 984 21 view .LVU1350
 4353              	.LBE772:
 4354              	.LBE771:
 4355              	.LBE774:
 4356              	.LBE792:
 4357              	.LBB793:
 4358              	.LBB785:
 4359              	.LBB782:
 4360              	.LBB780:
 988:Library/src/lcm32f06x_flash.c ****       }
 4361              		.loc 1 988 9 is_stmt 1 view .LVU1351
 988:Library/src/lcm32f06x_flash.c ****       }
 4362              		.loc 1 988 9 is_stmt 0 view .LVU1352
 4363              	.LBE780:
 4364              	.LBE782:
 4365              		.loc 1 993 3 is_stmt 1 view .LVU1353
 4366              		.loc 1 993 3 is_stmt 0 view .LVU1354
 4367              	.LBE785:
 4368              	.LBE793:
 948:Library/src/lcm32f06x_flash.c ****   }
 4369              		.loc 1 948 5 is_stmt 1 view .LVU1355
 945:Library/src/lcm32f06x_flash.c ****   {
 4370              		.loc 1 945 33 view .LVU1356
 951:Library/src/lcm32f06x_flash.c ****   {
 4371              		.loc 1 951 3 view .LVU1357
 951:Library/src/lcm32f06x_flash.c ****   {
 4372              		.loc 1 951 6 is_stmt 0 view .LVU1358
 4373 0156 012B     		cmp	r3, #1
 4374 0158 E7D0     		beq	.L308
 4375              	.LVL243:
 4376              	.L311:
 951:Library/src/lcm32f06x_flash.c ****   {
 4377              		.loc 1 951 6 view .LVU1359
 4378              	.LBE797:
 4379              	.LBE802:
 543:Library/src/lcm32f06x_flash.c **** 
 4380              		.loc 1 543 7 is_stmt 1 view .LVU1360
 543:Library/src/lcm32f06x_flash.c **** 
 4381              		.loc 1 543 17 is_stmt 0 view .LVU1361
 4382 015a 2021     		movs	r1, #32
 543:Library/src/lcm32f06x_flash.c **** 
ARM GAS  /tmp/cc9cn0cw.s 			page 116


 4383              		.loc 1 543 12 view .LVU1362
 4384 015c 384B     		ldr	r3, .L375+4
 4385 015e 1A69     		ldr	r2, [r3, #16]
 543:Library/src/lcm32f06x_flash.c **** 
 4386              		.loc 1 543 17 view .LVU1363
 4387 0160 8A43     		bics	r2, r1
 4388 0162 1A61     		str	r2, [r3, #16]
 546:Library/src/lcm32f06x_flash.c **** 
 4389              		.loc 1 546 7 is_stmt 1 view .LVU1364
 546:Library/src/lcm32f06x_flash.c **** 
 4390              		.loc 1 546 12 is_stmt 0 view .LVU1365
 4391 0164 1A69     		ldr	r2, [r3, #16]
 546:Library/src/lcm32f06x_flash.c **** 
 4392              		.loc 1 546 17 view .LVU1366
 4393 0166 1039     		subs	r1, r1, #16
 4394 0168 0A43     		orrs	r2, r1
 4395 016a 1A61     		str	r2, [r3, #16]
 549:Library/src/lcm32f06x_flash.c ****       {
 4396              		.loc 1 549 7 is_stmt 1 view .LVU1367
 551:Library/src/lcm32f06x_flash.c ****         OB->RDP2[1] = 0xcc;
 4397              		.loc 1 551 21 is_stmt 0 view .LVU1368
 4398 016c 334B     		ldr	r3, .L375
 549:Library/src/lcm32f06x_flash.c ****       {
 4399              		.loc 1 549 10 view .LVU1369
 4400 016e 002D     		cmp	r5, #0
 4401 0170 21D0     		beq	.L374
 4402              	.LVL244:
 560:Library/src/lcm32f06x_flash.c ****           {
 4403              		.loc 1 560 11 is_stmt 1 view .LVU1370
 560:Library/src/lcm32f06x_flash.c ****           {
 4404              		.loc 1 560 14 is_stmt 0 view .LVU1371
 4405 0172 002C     		cmp	r4, #0
 4406 0174 4AD1     		bne	.L318
 566:Library/src/lcm32f06x_flash.c ****           }
 4407              		.loc 1 566 13 is_stmt 1 view .LVU1372
 566:Library/src/lcm32f06x_flash.c ****           }
 4408              		.loc 1 566 30 is_stmt 0 view .LVU1373
 4409 0176 AA22     		movs	r2, #170
 4410 0178 1A82     		strh	r2, [r3, #16]
 558:Library/src/lcm32f06x_flash.c ****         {
 4411              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1374
 4412              	.LVL245:
 558:Library/src/lcm32f06x_flash.c ****         {
 4413              		.loc 1 558 35 discriminator 1 view .LVU1375
 560:Library/src/lcm32f06x_flash.c ****           {
 4414              		.loc 1 560 11 view .LVU1376
 4415              	.L319:
 566:Library/src/lcm32f06x_flash.c ****           }
 4416              		.loc 1 566 13 view .LVU1377
 566:Library/src/lcm32f06x_flash.c ****           }
 4417              		.loc 1 566 30 is_stmt 0 view .LVU1378
 4418 017a AA22     		movs	r2, #170
 4419 017c 2F4B     		ldr	r3, .L375
 4420 017e 5A82     		strh	r2, [r3, #18]
 558:Library/src/lcm32f06x_flash.c ****         {
 4421              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1379
 4422              	.LVL246:
ARM GAS  /tmp/cc9cn0cw.s 			page 117


 558:Library/src/lcm32f06x_flash.c ****         {
 4423              		.loc 1 558 35 discriminator 1 view .LVU1380
 560:Library/src/lcm32f06x_flash.c ****           {
 4424              		.loc 1 560 11 view .LVU1381
 4425              	.L321:
 566:Library/src/lcm32f06x_flash.c ****           }
 4426              		.loc 1 566 13 view .LVU1382
 566:Library/src/lcm32f06x_flash.c ****           }
 4427              		.loc 1 566 30 is_stmt 0 view .LVU1383
 4428 0180 AA22     		movs	r2, #170
 4429 0182 2E4B     		ldr	r3, .L375
 4430 0184 9A82     		strh	r2, [r3, #20]
 558:Library/src/lcm32f06x_flash.c ****         {
 4431              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1384
 4432              	.LVL247:
 558:Library/src/lcm32f06x_flash.c ****         {
 4433              		.loc 1 558 35 discriminator 1 view .LVU1385
 560:Library/src/lcm32f06x_flash.c ****           {
 4434              		.loc 1 560 11 view .LVU1386
 4435              	.L323:
 566:Library/src/lcm32f06x_flash.c ****           }
 4436              		.loc 1 566 13 view .LVU1387
 566:Library/src/lcm32f06x_flash.c ****           }
 4437              		.loc 1 566 30 is_stmt 0 view .LVU1388
 4438 0186 AA22     		movs	r2, #170
 4439 0188 2C4B     		ldr	r3, .L375
 4440 018a DA82     		strh	r2, [r3, #22]
 558:Library/src/lcm32f06x_flash.c ****         {
 4441              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1389
 4442              	.LVL248:
 558:Library/src/lcm32f06x_flash.c ****         {
 4443              		.loc 1 558 35 discriminator 1 view .LVU1390
 560:Library/src/lcm32f06x_flash.c ****           {
 4444              		.loc 1 560 11 view .LVU1391
 4445              	.L325:
 566:Library/src/lcm32f06x_flash.c ****           }
 4446              		.loc 1 566 13 view .LVU1392
 566:Library/src/lcm32f06x_flash.c ****           }
 4447              		.loc 1 566 30 is_stmt 0 view .LVU1393
 4448 018c AA22     		movs	r2, #170
 4449 018e 2B4B     		ldr	r3, .L375
 4450 0190 1A83     		strh	r2, [r3, #24]
 558:Library/src/lcm32f06x_flash.c ****         {
 4451              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1394
 4452              	.LVL249:
 558:Library/src/lcm32f06x_flash.c ****         {
 4453              		.loc 1 558 35 discriminator 1 view .LVU1395
 560:Library/src/lcm32f06x_flash.c ****           {
 4454              		.loc 1 560 11 view .LVU1396
 4455              	.L327:
 566:Library/src/lcm32f06x_flash.c ****           }
 4456              		.loc 1 566 13 view .LVU1397
 566:Library/src/lcm32f06x_flash.c ****           }
 4457              		.loc 1 566 30 is_stmt 0 view .LVU1398
 4458 0192 AA22     		movs	r2, #170
 4459 0194 294B     		ldr	r3, .L375
 4460 0196 5A83     		strh	r2, [r3, #26]
ARM GAS  /tmp/cc9cn0cw.s 			page 118


 558:Library/src/lcm32f06x_flash.c ****         {
 4461              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1399
 4462              	.LVL250:
 558:Library/src/lcm32f06x_flash.c ****         {
 4463              		.loc 1 558 35 discriminator 1 view .LVU1400
 560:Library/src/lcm32f06x_flash.c ****           {
 4464              		.loc 1 560 11 view .LVU1401
 4465              	.L329:
 566:Library/src/lcm32f06x_flash.c ****           }
 4466              		.loc 1 566 13 view .LVU1402
 566:Library/src/lcm32f06x_flash.c ****           }
 4467              		.loc 1 566 30 is_stmt 0 view .LVU1403
 4468 0198 AA22     		movs	r2, #170
 4469 019a 284B     		ldr	r3, .L375
 4470 019c 9A83     		strh	r2, [r3, #28]
 558:Library/src/lcm32f06x_flash.c ****         {
 4471              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1404
 4472              	.LVL251:
 558:Library/src/lcm32f06x_flash.c ****         {
 4473              		.loc 1 558 35 discriminator 1 view .LVU1405
 560:Library/src/lcm32f06x_flash.c ****           {
 4474              		.loc 1 560 11 view .LVU1406
 4475              	.L331:
 566:Library/src/lcm32f06x_flash.c ****           }
 4476              		.loc 1 566 13 view .LVU1407
 566:Library/src/lcm32f06x_flash.c ****           }
 4477              		.loc 1 566 30 is_stmt 0 view .LVU1408
 4478 019e AA22     		movs	r2, #170
 4479 01a0 264B     		ldr	r3, .L375
 4480 01a2 DA83     		strh	r2, [r3, #30]
 558:Library/src/lcm32f06x_flash.c ****         {
 4481              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1409
 4482              	.LVL252:
 558:Library/src/lcm32f06x_flash.c ****         {
 4483              		.loc 1 558 35 discriminator 1 view .LVU1410
 4484 01a4 0CE0     		b	.L317
 4485              	.LVL253:
 4486              	.L312:
 4487              	.LBB803:
 4488              	.LBB798:
 4489              	.LBB794:
 4490              	.LBB786:
 4491              		.loc 1 993 3 view .LVU1411
 4492              		.loc 1 993 3 is_stmt 0 view .LVU1412
 4493              	.LBE786:
 4494              	.LBE794:
 948:Library/src/lcm32f06x_flash.c ****   }
 4495              		.loc 1 948 5 is_stmt 1 view .LVU1413
 948:Library/src/lcm32f06x_flash.c ****   }
 4496              		.loc 1 948 12 is_stmt 0 view .LVU1414
 4497 01a6 013B     		subs	r3, r3, #1
 4498              	.LVL254:
 945:Library/src/lcm32f06x_flash.c ****   {
 4499              		.loc 1 945 33 is_stmt 1 view .LVU1415
 945:Library/src/lcm32f06x_flash.c ****   {
 4500              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU1416
 4501 01a8 002B     		cmp	r3, #0
ARM GAS  /tmp/cc9cn0cw.s 			page 119


 4502 01aa 00D0     		beq	.LCB4630
 4503 01ac 5AE7     		b	.L309	@long jump
 4504              	.LCB4630:
 4505 01ae BCE7     		b	.L308
 4506              	.LVL255:
 4507              	.L313:
 4508              	.LBB795:
 4509              	.LBB787:
 4510              		.loc 1 993 3 is_stmt 1 view .LVU1417
 4511              		.loc 1 993 3 is_stmt 0 view .LVU1418
 4512              	.LBE787:
 4513              	.LBE795:
 948:Library/src/lcm32f06x_flash.c ****   }
 4514              		.loc 1 948 5 is_stmt 1 view .LVU1419
 4515              	.LBB796:
 4516              	.LBB788:
 978:Library/src/lcm32f06x_flash.c ****     }
 4517              		.loc 1 978 19 is_stmt 0 view .LVU1420
 4518 01b0 0220     		movs	r0, #2
 4519              	.LBE788:
 4520              	.LBE796:
 948:Library/src/lcm32f06x_flash.c ****   }
 4521              		.loc 1 948 12 view .LVU1421
 4522 01b2 013B     		subs	r3, r3, #1
 4523              	.LVL256:
 945:Library/src/lcm32f06x_flash.c ****   {
 4524              		.loc 1 945 33 is_stmt 1 view .LVU1422
 4525 01b4 64E7     		b	.L315
 4526              	.LVL257:
 4527              	.L374:
 945:Library/src/lcm32f06x_flash.c ****   {
 4528              		.loc 1 945 33 is_stmt 0 view .LVU1423
 4529              	.LBE798:
 4530              	.LBE803:
 551:Library/src/lcm32f06x_flash.c ****         OB->RDP2[1] = 0xcc;
 4531              		.loc 1 551 9 is_stmt 1 view .LVU1424
 551:Library/src/lcm32f06x_flash.c ****         OB->RDP2[1] = 0xcc;
 4532              		.loc 1 551 21 is_stmt 0 view .LVU1425
 4533 01b6 CC22     		movs	r2, #204
 4534 01b8 1A84     		strh	r2, [r3, #32]
 552:Library/src/lcm32f06x_flash.c ****         OB->RDP2[2] = 0xcc;
 4535              		.loc 1 552 9 is_stmt 1 view .LVU1426
 552:Library/src/lcm32f06x_flash.c ****         OB->RDP2[2] = 0xcc;
 4536              		.loc 1 552 21 is_stmt 0 view .LVU1427
 4537 01ba 5A84     		strh	r2, [r3, #34]
 553:Library/src/lcm32f06x_flash.c ****         OB->RDP2[3] = 0xcc;
 4538              		.loc 1 553 9 is_stmt 1 view .LVU1428
 553:Library/src/lcm32f06x_flash.c ****         OB->RDP2[3] = 0xcc;
 4539              		.loc 1 553 21 is_stmt 0 view .LVU1429
 4540 01bc 9A84     		strh	r2, [r3, #36]
 554:Library/src/lcm32f06x_flash.c ****       }
 4541              		.loc 1 554 9 is_stmt 1 view .LVU1430
 554:Library/src/lcm32f06x_flash.c ****       }
 4542              		.loc 1 554 21 is_stmt 0 view .LVU1431
 4543 01be DA84     		strh	r2, [r3, #38]
 4544              	.LVL258:
 4545              	.L317:
ARM GAS  /tmp/cc9cn0cw.s 			page 120


 572:Library/src/lcm32f06x_flash.c **** 
 4546              		.loc 1 572 7 is_stmt 1 view .LVU1432
 4547              	.LBB804:
 4548              	.LBI804:
 937:Library/src/lcm32f06x_flash.c **** {
 4549              		.loc 1 937 14 view .LVU1433
 4550              	.LBB805:
 939:Library/src/lcm32f06x_flash.c **** 
 4551              		.loc 1 939 3 view .LVU1434
 942:Library/src/lcm32f06x_flash.c **** 
 4552              		.loc 1 942 3 view .LVU1435
 4553              	.LBB806:
 4554              	.LBI806:
 966:Library/src/lcm32f06x_flash.c **** {
 4555              		.loc 1 966 14 view .LVU1436
 4556              	.LBB807:
 968:Library/src/lcm32f06x_flash.c **** 
 4557              		.loc 1 968 3 view .LVU1437
 970:Library/src/lcm32f06x_flash.c ****   {
 4558              		.loc 1 970 3 view .LVU1438
 970:Library/src/lcm32f06x_flash.c ****   {
 4559              		.loc 1 970 13 is_stmt 0 view .LVU1439
 4560 01c0 1F4A     		ldr	r2, .L375+4
 4561 01c2 D368     		ldr	r3, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 4562              		.loc 1 970 6 view .LVU1440
 4563 01c4 DB07     		lsls	r3, r3, #31
 4564 01c6 0BD4     		bmi	.L345
 976:Library/src/lcm32f06x_flash.c ****     {
 4565              		.loc 1 976 5 is_stmt 1 view .LVU1441
 976:Library/src/lcm32f06x_flash.c ****     {
 4566              		.loc 1 976 15 is_stmt 0 view .LVU1442
 4567 01c8 D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 4568              		.loc 1 976 8 view .LVU1443
 4569 01ca DB06     		lsls	r3, r3, #27
 4570 01cc 06D4     		bmi	.L346
 4571              	.LBB808:
 4572              	.LBI808:
 966:Library/src/lcm32f06x_flash.c **** {
 4573              		.loc 1 966 14 is_stmt 1 view .LVU1444
 4574              	.LBB809:
 982:Library/src/lcm32f06x_flash.c ****       {
 4575              		.loc 1 982 7 view .LVU1445
 982:Library/src/lcm32f06x_flash.c ****       {
 4576              		.loc 1 982 22 is_stmt 0 view .LVU1446
 4577 01ce 0420     		movs	r0, #4
 982:Library/src/lcm32f06x_flash.c ****       {
 4578              		.loc 1 982 17 view .LVU1447
 4579 01d0 D368     		ldr	r3, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 4580              		.loc 1 982 22 view .LVU1448
 4581 01d2 1840     		ands	r0, r3
 988:Library/src/lcm32f06x_flash.c ****       }
 4582              		.loc 1 988 21 view .LVU1449
 4583 01d4 4342     		rsbs	r3, r0, #0
 4584 01d6 5841     		adcs	r0, r0, r3
ARM GAS  /tmp/cc9cn0cw.s 			page 121


 4585 01d8 0330     		adds	r0, r0, #3
 4586 01da 53E7     		b	.L310
 4587              	.LVL259:
 4588              	.L346:
 988:Library/src/lcm32f06x_flash.c ****       }
 4589              		.loc 1 988 21 view .LVU1450
 4590              	.LBE809:
 4591              	.LBE808:
 978:Library/src/lcm32f06x_flash.c ****     }
 4592              		.loc 1 978 19 view .LVU1451
 4593 01dc 0220     		movs	r0, #2
 4594 01de 51E7     		b	.L310
 4595              	.LVL260:
 4596              	.L345:
 978:Library/src/lcm32f06x_flash.c ****     }
 4597              		.loc 1 978 19 view .LVU1452
 4598 01e0 B023     		movs	r3, #176
 4599              	.LBE807:
 4600              	.LBE806:
 4601              	.LBB811:
 4602              	.LBB812:
 970:Library/src/lcm32f06x_flash.c ****   {
 4603              		.loc 1 970 18 view .LVU1453
 4604 01e2 0120     		movs	r0, #1
 4605              	.LBE812:
 4606              	.LBE811:
 4607              	.LBB818:
 4608              	.LBB810:
 4609 01e4 1B03     		lsls	r3, r3, #12
 4610              	.LVL261:
 4611              	.L333:
 970:Library/src/lcm32f06x_flash.c ****   {
 4612              		.loc 1 970 18 view .LVU1454
 4613              	.LBE810:
 4614              	.LBE818:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 4615              		.loc 1 947 5 is_stmt 1 view .LVU1455
 4616              	.LBB819:
 4617              	.LBI811:
 966:Library/src/lcm32f06x_flash.c **** {
 4618              		.loc 1 966 14 view .LVU1456
 4619              	.LBB815:
 968:Library/src/lcm32f06x_flash.c **** 
 4620              		.loc 1 968 3 view .LVU1457
 970:Library/src/lcm32f06x_flash.c ****   {
 4621              		.loc 1 970 3 view .LVU1458
 970:Library/src/lcm32f06x_flash.c ****   {
 4622              		.loc 1 970 13 is_stmt 0 view .LVU1459
 4623 01e6 D168     		ldr	r1, [r2, #12]
 4624              	.LBE815:
 4625              	.LBE819:
 948:Library/src/lcm32f06x_flash.c ****   }
 4626              		.loc 1 948 12 view .LVU1460
 4627 01e8 013B     		subs	r3, r3, #1
 4628              	.LVL262:
 4629              	.LBB820:
 4630              	.LBB816:
ARM GAS  /tmp/cc9cn0cw.s 			page 122


 970:Library/src/lcm32f06x_flash.c ****   {
 4631              		.loc 1 970 6 view .LVU1461
 4632 01ea 0842     		tst	r0, r1
 4633 01ec 09D1     		bne	.L335
 976:Library/src/lcm32f06x_flash.c ****     {
 4634              		.loc 1 976 5 is_stmt 1 view .LVU1462
 976:Library/src/lcm32f06x_flash.c ****     {
 4635              		.loc 1 976 15 is_stmt 0 view .LVU1463
 4636 01ee D168     		ldr	r1, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 4637              		.loc 1 976 8 view .LVU1464
 4638 01f0 C906     		lsls	r1, r1, #27
 4639 01f2 09D4     		bmi	.L348
 4640              	.LBB813:
 4641              	.LBI813:
 966:Library/src/lcm32f06x_flash.c **** {
 4642              		.loc 1 966 14 is_stmt 1 view .LVU1465
 4643              	.LBB814:
 982:Library/src/lcm32f06x_flash.c ****       {
 4644              		.loc 1 982 7 view .LVU1466
 982:Library/src/lcm32f06x_flash.c ****       {
 4645              		.loc 1 982 22 is_stmt 0 view .LVU1467
 4646 01f4 0420     		movs	r0, #4
 982:Library/src/lcm32f06x_flash.c ****       {
 4647              		.loc 1 982 17 view .LVU1468
 4648 01f6 D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 4649              		.loc 1 982 22 view .LVU1469
 4650 01f8 1040     		ands	r0, r2
 988:Library/src/lcm32f06x_flash.c ****       }
 4651              		.loc 1 988 21 view .LVU1470
 4652 01fa 4242     		rsbs	r2, r0, #0
 4653 01fc 5041     		adcs	r0, r0, r2
 4654 01fe 0330     		adds	r0, r0, #3
 4655 0200 3EE7     		b	.L315
 4656              	.L335:
 4657              	.LVL263:
 988:Library/src/lcm32f06x_flash.c ****       }
 4658              		.loc 1 988 21 view .LVU1471
 4659              	.LBE814:
 4660              	.LBE813:
 4661              		.loc 1 993 3 is_stmt 1 view .LVU1472
 4662              		.loc 1 993 3 is_stmt 0 view .LVU1473
 4663              	.LBE816:
 4664              	.LBE820:
 948:Library/src/lcm32f06x_flash.c ****   }
 4665              		.loc 1 948 5 is_stmt 1 view .LVU1474
 945:Library/src/lcm32f06x_flash.c ****   {
 4666              		.loc 1 945 33 view .LVU1475
 945:Library/src/lcm32f06x_flash.c ****   {
 4667              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU1476
 4668 0202 002B     		cmp	r3, #0
 4669 0204 EFD1     		bne	.L333
 4670 0206 90E7     		b	.L308
 4671              	.LVL264:
 4672              	.L348:
 4673              	.LBB821:
ARM GAS  /tmp/cc9cn0cw.s 			page 123


 4674              	.LBB817:
 978:Library/src/lcm32f06x_flash.c ****     }
 4675              		.loc 1 978 19 view .LVU1477
 4676 0208 0220     		movs	r0, #2
 4677              	.LVL265:
 978:Library/src/lcm32f06x_flash.c ****     }
 4678              		.loc 1 978 19 view .LVU1478
 4679              	.LBE817:
 4680              	.LBE821:
 951:Library/src/lcm32f06x_flash.c ****   {
 4681              		.loc 1 951 3 is_stmt 1 view .LVU1479
 4682 020a 39E7     		b	.L315
 4683              	.LVL266:
 4684              	.L318:
 951:Library/src/lcm32f06x_flash.c ****   {
 4685              		.loc 1 951 3 is_stmt 0 view .LVU1480
 4686              	.LBE805:
 4687              	.LBE804:
 562:Library/src/lcm32f06x_flash.c ****           }
 4688              		.loc 1 562 13 is_stmt 1 view .LVU1481
 562:Library/src/lcm32f06x_flash.c ****           }
 4689              		.loc 1 562 30 is_stmt 0 view .LVU1482
 4690 020c BB22     		movs	r2, #187
 560:Library/src/lcm32f06x_flash.c ****           {
 4691              		.loc 1 560 22 view .LVU1483
 4692 020e 6110     		asrs	r1, r4, #1
 562:Library/src/lcm32f06x_flash.c ****           }
 4693              		.loc 1 562 30 view .LVU1484
 4694 0210 1A82     		strh	r2, [r3, #16]
 558:Library/src/lcm32f06x_flash.c ****         {
 4695              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1485
 4696              	.LVL267:
 558:Library/src/lcm32f06x_flash.c ****         {
 4697              		.loc 1 558 35 discriminator 1 view .LVU1486
 560:Library/src/lcm32f06x_flash.c ****           {
 4698              		.loc 1 560 11 view .LVU1487
 560:Library/src/lcm32f06x_flash.c ****           {
 4699              		.loc 1 560 14 is_stmt 0 view .LVU1488
 4700 0212 B2D0     		beq	.L319
 562:Library/src/lcm32f06x_flash.c ****           }
 4701              		.loc 1 562 13 is_stmt 1 view .LVU1489
 562:Library/src/lcm32f06x_flash.c ****           }
 4702              		.loc 1 562 30 is_stmt 0 view .LVU1490
 4703 0214 5A82     		strh	r2, [r3, #18]
 558:Library/src/lcm32f06x_flash.c ****         {
 4704              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1491
 4705              	.LVL268:
 558:Library/src/lcm32f06x_flash.c ****         {
 4706              		.loc 1 558 35 discriminator 1 view .LVU1492
 560:Library/src/lcm32f06x_flash.c ****           {
 4707              		.loc 1 560 11 view .LVU1493
 560:Library/src/lcm32f06x_flash.c ****           {
 4708              		.loc 1 560 22 is_stmt 0 view .LVU1494
 4709 0216 A110     		asrs	r1, r4, #2
 560:Library/src/lcm32f06x_flash.c ****           {
 4710              		.loc 1 560 14 view .LVU1495
 4711 0218 B2D0     		beq	.L321
ARM GAS  /tmp/cc9cn0cw.s 			page 124


 562:Library/src/lcm32f06x_flash.c ****           }
 4712              		.loc 1 562 13 is_stmt 1 view .LVU1496
 562:Library/src/lcm32f06x_flash.c ****           }
 4713              		.loc 1 562 30 is_stmt 0 view .LVU1497
 4714 021a 9A82     		strh	r2, [r3, #20]
 558:Library/src/lcm32f06x_flash.c ****         {
 4715              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1498
 4716              	.LVL269:
 558:Library/src/lcm32f06x_flash.c ****         {
 4717              		.loc 1 558 35 discriminator 1 view .LVU1499
 560:Library/src/lcm32f06x_flash.c ****           {
 4718              		.loc 1 560 11 view .LVU1500
 560:Library/src/lcm32f06x_flash.c ****           {
 4719              		.loc 1 560 22 is_stmt 0 view .LVU1501
 4720 021c E110     		asrs	r1, r4, #3
 560:Library/src/lcm32f06x_flash.c ****           {
 4721              		.loc 1 560 14 view .LVU1502
 4722 021e B2D0     		beq	.L323
 562:Library/src/lcm32f06x_flash.c ****           }
 4723              		.loc 1 562 13 is_stmt 1 view .LVU1503
 562:Library/src/lcm32f06x_flash.c ****           }
 4724              		.loc 1 562 30 is_stmt 0 view .LVU1504
 4725 0220 DA82     		strh	r2, [r3, #22]
 558:Library/src/lcm32f06x_flash.c ****         {
 4726              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1505
 4727              	.LVL270:
 558:Library/src/lcm32f06x_flash.c ****         {
 4728              		.loc 1 558 35 discriminator 1 view .LVU1506
 560:Library/src/lcm32f06x_flash.c ****           {
 4729              		.loc 1 560 11 view .LVU1507
 560:Library/src/lcm32f06x_flash.c ****           {
 4730              		.loc 1 560 22 is_stmt 0 view .LVU1508
 4731 0222 2111     		asrs	r1, r4, #4
 560:Library/src/lcm32f06x_flash.c ****           {
 4732              		.loc 1 560 14 view .LVU1509
 4733 0224 B2D0     		beq	.L325
 562:Library/src/lcm32f06x_flash.c ****           }
 4734              		.loc 1 562 13 is_stmt 1 view .LVU1510
 562:Library/src/lcm32f06x_flash.c ****           }
 4735              		.loc 1 562 30 is_stmt 0 view .LVU1511
 4736 0226 1A83     		strh	r2, [r3, #24]
 558:Library/src/lcm32f06x_flash.c ****         {
 4737              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1512
 4738              	.LVL271:
 558:Library/src/lcm32f06x_flash.c ****         {
 4739              		.loc 1 558 35 discriminator 1 view .LVU1513
 560:Library/src/lcm32f06x_flash.c ****           {
 4740              		.loc 1 560 11 view .LVU1514
 560:Library/src/lcm32f06x_flash.c ****           {
 4741              		.loc 1 560 22 is_stmt 0 view .LVU1515
 4742 0228 6111     		asrs	r1, r4, #5
 560:Library/src/lcm32f06x_flash.c ****           {
 4743              		.loc 1 560 14 view .LVU1516
 4744 022a B2D0     		beq	.L327
 562:Library/src/lcm32f06x_flash.c ****           }
 4745              		.loc 1 562 13 is_stmt 1 view .LVU1517
 562:Library/src/lcm32f06x_flash.c ****           }
ARM GAS  /tmp/cc9cn0cw.s 			page 125


 4746              		.loc 1 562 30 is_stmt 0 view .LVU1518
 4747 022c 5A83     		strh	r2, [r3, #26]
 558:Library/src/lcm32f06x_flash.c ****         {
 4748              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1519
 4749              	.LVL272:
 558:Library/src/lcm32f06x_flash.c ****         {
 4750              		.loc 1 558 35 discriminator 1 view .LVU1520
 560:Library/src/lcm32f06x_flash.c ****           {
 4751              		.loc 1 560 11 view .LVU1521
 560:Library/src/lcm32f06x_flash.c ****           {
 4752              		.loc 1 560 22 is_stmt 0 view .LVU1522
 4753 022e A111     		asrs	r1, r4, #6
 560:Library/src/lcm32f06x_flash.c ****           {
 4754              		.loc 1 560 14 view .LVU1523
 4755 0230 B2D0     		beq	.L329
 562:Library/src/lcm32f06x_flash.c ****           }
 4756              		.loc 1 562 13 is_stmt 1 view .LVU1524
 562:Library/src/lcm32f06x_flash.c ****           }
 4757              		.loc 1 562 30 is_stmt 0 view .LVU1525
 4758 0232 9A83     		strh	r2, [r3, #28]
 558:Library/src/lcm32f06x_flash.c ****         {
 4759              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1526
 4760              	.LVL273:
 558:Library/src/lcm32f06x_flash.c ****         {
 4761              		.loc 1 558 35 discriminator 1 view .LVU1527
 560:Library/src/lcm32f06x_flash.c ****           {
 4762              		.loc 1 560 11 view .LVU1528
 560:Library/src/lcm32f06x_flash.c ****           {
 4763              		.loc 1 560 22 is_stmt 0 view .LVU1529
 4764 0234 E411     		asrs	r4, r4, #7
 4765              	.LVL274:
 560:Library/src/lcm32f06x_flash.c ****           {
 4766              		.loc 1 560 14 view .LVU1530
 4767 0236 B2D0     		beq	.L331
 566:Library/src/lcm32f06x_flash.c ****           }
 4768              		.loc 1 566 30 view .LVU1531
 4769 0238 DA83     		strh	r2, [r3, #30]
 558:Library/src/lcm32f06x_flash.c ****         {
 4770              		.loc 1 558 47 is_stmt 1 discriminator 2 view .LVU1532
 4771              	.LVL275:
 558:Library/src/lcm32f06x_flash.c ****         {
 4772              		.loc 1 558 35 discriminator 1 view .LVU1533
 4773 023a C1E7     		b	.L317
 4774              	.L376:
 4775              		.align	2
 4776              	.L375:
 4777 023c 00F6FF1F 		.word	536868352
 4778 0240 00D00140 		.word	1073860608
 4779 0244 CC330000 		.word	13260
 4780 0248 56AAFFFF 		.word	-21930
 4781 024c AA550000 		.word	21930
 4782              		.cfi_endproc
 4783              	.LFE61:
 4785              		.section	.text.FLASH_OB_EnableWRP,"ax",%progbits
 4786              		.align	1
 4787              		.p2align 2,,3
 4788              		.global	FLASH_OB_EnableWRP
ARM GAS  /tmp/cc9cn0cw.s 			page 126


 4789              		.syntax unified
 4790              		.code	16
 4791              		.thumb_func
 4793              	FLASH_OB_EnableWRP:
 4794              	.LVL276:
 4795              	.LFB62:
 595:Library/src/lcm32f06x_flash.c ****   uint16_t WRP0_Data = 0xFFFF, WRP1_Data = 0xFFFF;
 4796              		.loc 1 595 1 view -0
 4797              		.cfi_startproc
 4798              		@ args = 0, pretend = 0, frame = 0
 4799              		@ frame_needed = 0, uses_anonymous_args = 0
 596:Library/src/lcm32f06x_flash.c ****   uint16_t WRP2_Data = 0xFFFF, WRP3_Data = 0xFFFF;
 4800              		.loc 1 596 3 view .LVU1535
 597:Library/src/lcm32f06x_flash.c **** 
 4801              		.loc 1 597 3 view .LVU1536
 599:Library/src/lcm32f06x_flash.c **** 
 4802              		.loc 1 599 3 view .LVU1537
 602:Library/src/lcm32f06x_flash.c **** 
 4803              		.loc 1 602 3 view .LVU1538
 604:Library/src/lcm32f06x_flash.c ****   WRP0_Data = (uint16_t)(OB_WRP & OB_WRP0_WRP0);
 4804              		.loc 1 604 3 view .LVU1539
 4805              	.LBB872:
 4806              	.LBB873:
 4807              	.LBB874:
 4808              	.LBB875:
 970:Library/src/lcm32f06x_flash.c ****   {
 4809              		.loc 1 970 13 is_stmt 0 view .LVU1540
 4810 0000 734A     		ldr	r2, .L479
 4811              	.LBE875:
 4812              	.LBE874:
 4813              	.LBE873:
 4814              	.LBE872:
 595:Library/src/lcm32f06x_flash.c ****   uint16_t WRP0_Data = 0xFFFF, WRP1_Data = 0xFFFF;
 4815              		.loc 1 595 1 view .LVU1541
 4816 0002 70B5     		push	{r4, r5, r6, lr}
 4817              	.LCFI8:
 4818              		.cfi_def_cfa_offset 16
 4819              		.cfi_offset 4, -16
 4820              		.cfi_offset 5, -12
 4821              		.cfi_offset 6, -8
 4822              		.cfi_offset 14, -4
 4823              	.LBB910:
 4824              	.LBB906:
 4825              	.LBB882:
 4826              	.LBB878:
 970:Library/src/lcm32f06x_flash.c ****   {
 4827              		.loc 1 970 13 view .LVU1542
 4828 0004 D368     		ldr	r3, [r2, #12]
 4829              	.LBE878:
 4830              	.LBE882:
 4831              	.LBE906:
 4832              	.LBE910:
 595:Library/src/lcm32f06x_flash.c ****   uint16_t WRP0_Data = 0xFFFF, WRP1_Data = 0xFFFF;
 4833              		.loc 1 595 1 view .LVU1543
 4834 0006 0500     		movs	r5, r0
 4835              	.LVL277:
 605:Library/src/lcm32f06x_flash.c ****   WRP1_Data = (uint16_t)((OB_WRP & OB_WRP0_nWRP0) >> 8);
ARM GAS  /tmp/cc9cn0cw.s 			page 127


 4836              		.loc 1 605 3 is_stmt 1 view .LVU1544
 606:Library/src/lcm32f06x_flash.c ****   OB_WRP = OB_WRP >> 16;
 4837              		.loc 1 606 3 view .LVU1545
 607:Library/src/lcm32f06x_flash.c ****   WRP2_Data = (uint16_t)(OB_WRP & OB_WRP0_WRP0);
 4838              		.loc 1 607 3 view .LVU1546
 608:Library/src/lcm32f06x_flash.c ****   WRP3_Data = (uint16_t)((OB_WRP & OB_WRP0_nWRP0) >> 8);
 4839              		.loc 1 608 3 view .LVU1547
 609:Library/src/lcm32f06x_flash.c ****   /* Wait for last operation to be completed */
 4840              		.loc 1 609 3 view .LVU1548
 611:Library/src/lcm32f06x_flash.c **** 
 4841              		.loc 1 611 3 view .LVU1549
 4842              	.LBB911:
 4843              	.LBI872:
 937:Library/src/lcm32f06x_flash.c **** {
 4844              		.loc 1 937 14 view .LVU1550
 4845              	.LBB907:
 939:Library/src/lcm32f06x_flash.c **** 
 4846              		.loc 1 939 3 view .LVU1551
 942:Library/src/lcm32f06x_flash.c **** 
 4847              		.loc 1 942 3 view .LVU1552
 4848              	.LBB883:
 4849              	.LBI874:
 966:Library/src/lcm32f06x_flash.c **** {
 4850              		.loc 1 966 14 view .LVU1553
 4851              	.LBB879:
 968:Library/src/lcm32f06x_flash.c **** 
 4852              		.loc 1 968 3 view .LVU1554
 970:Library/src/lcm32f06x_flash.c ****   {
 4853              		.loc 1 970 3 view .LVU1555
 970:Library/src/lcm32f06x_flash.c ****   {
 4854              		.loc 1 970 6 is_stmt 0 view .LVU1556
 4855 0008 DB07     		lsls	r3, r3, #31
 4856 000a 07D4     		bmi	.L418
 976:Library/src/lcm32f06x_flash.c ****     {
 4857              		.loc 1 976 5 is_stmt 1 view .LVU1557
 976:Library/src/lcm32f06x_flash.c ****     {
 4858              		.loc 1 976 15 is_stmt 0 view .LVU1558
 4859 000c D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 4860              		.loc 1 976 8 view .LVU1559
 4861 000e DB06     		lsls	r3, r3, #27
 4862 0010 39D4     		bmi	.L419
 4863              	.LBB876:
 4864              	.LBI876:
 966:Library/src/lcm32f06x_flash.c **** {
 4865              		.loc 1 966 14 is_stmt 1 view .LVU1560
 4866              	.LBB877:
 982:Library/src/lcm32f06x_flash.c ****       {
 4867              		.loc 1 982 7 view .LVU1561
 982:Library/src/lcm32f06x_flash.c ****       {
 4868              		.loc 1 982 17 is_stmt 0 view .LVU1562
 4869 0012 D368     		ldr	r3, [r2, #12]
 984:Library/src/lcm32f06x_flash.c ****       }
 4870              		.loc 1 984 21 view .LVU1563
 4871 0014 0320     		movs	r0, #3
 4872              	.LVL278:
 982:Library/src/lcm32f06x_flash.c ****       {
ARM GAS  /tmp/cc9cn0cw.s 			page 128


 4873              		.loc 1 982 10 view .LVU1564
 4874 0016 5B07     		lsls	r3, r3, #29
 4875 0018 11D4     		bmi	.L451
 4876 001a 1AE0     		b	.L381
 4877              	.LVL279:
 4878              	.L418:
 982:Library/src/lcm32f06x_flash.c ****       {
 4879              		.loc 1 982 10 view .LVU1565
 4880              	.LBE877:
 4881              	.LBE876:
 4882 001c B023     		movs	r3, #176
 4883              	.LBE879:
 4884              	.LBE883:
 4885              	.LBB884:
 4886              	.LBB885:
 970:Library/src/lcm32f06x_flash.c ****   {
 4887              		.loc 1 970 18 view .LVU1566
 4888 001e 0124     		movs	r4, #1
 4889              	.LBE885:
 4890              	.LBE884:
 4891              	.LBB898:
 4892              	.LBB880:
 4893 0020 1B03     		lsls	r3, r3, #12
 4894              	.LVL280:
 4895              	.L378:
 970:Library/src/lcm32f06x_flash.c ****   {
 4896              		.loc 1 970 18 view .LVU1567
 4897              	.LBE880:
 4898              	.LBE898:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 4899              		.loc 1 947 5 is_stmt 1 view .LVU1568
 4900              	.LBB899:
 4901              	.LBI884:
 966:Library/src/lcm32f06x_flash.c **** {
 4902              		.loc 1 966 14 view .LVU1569
 4903              	.LBB892:
 968:Library/src/lcm32f06x_flash.c **** 
 4904              		.loc 1 968 3 view .LVU1570
 970:Library/src/lcm32f06x_flash.c ****   {
 4905              		.loc 1 970 3 view .LVU1571
 970:Library/src/lcm32f06x_flash.c ****   {
 4906              		.loc 1 970 13 is_stmt 0 view .LVU1572
 4907 0022 D168     		ldr	r1, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 4908              		.loc 1 970 6 view .LVU1573
 4909 0024 0C42     		tst	r4, r1
 4910 0026 0BD1     		bne	.L382
 976:Library/src/lcm32f06x_flash.c ****     {
 4911              		.loc 1 976 5 is_stmt 1 view .LVU1574
 976:Library/src/lcm32f06x_flash.c ****     {
 4912              		.loc 1 976 15 is_stmt 0 view .LVU1575
 4913 0028 D168     		ldr	r1, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 4914              		.loc 1 976 8 view .LVU1576
 4915 002a C906     		lsls	r1, r1, #27
 4916 002c 0CD4     		bmi	.L383
 4917              	.LBB886:
ARM GAS  /tmp/cc9cn0cw.s 			page 129


 4918              	.LBI886:
 966:Library/src/lcm32f06x_flash.c **** {
 4919              		.loc 1 966 14 is_stmt 1 view .LVU1577
 4920              	.LBB887:
 982:Library/src/lcm32f06x_flash.c ****       {
 4921              		.loc 1 982 7 view .LVU1578
 982:Library/src/lcm32f06x_flash.c ****       {
 4922              		.loc 1 982 17 is_stmt 0 view .LVU1579
 4923 002e D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 4924              		.loc 1 982 10 view .LVU1580
 4925 0030 5207     		lsls	r2, r2, #29
 4926 0032 0CD5     		bpl	.L384
 4927              	.LVL281:
 982:Library/src/lcm32f06x_flash.c ****       {
 4928              		.loc 1 982 10 view .LVU1581
 4929              	.LBE887:
 4930              	.LBE886:
 4931              		.loc 1 993 3 is_stmt 1 view .LVU1582
 4932              		.loc 1 993 3 is_stmt 0 view .LVU1583
 4933              	.LBE892:
 4934              	.LBE899:
 948:Library/src/lcm32f06x_flash.c ****   }
 4935              		.loc 1 948 5 is_stmt 1 view .LVU1584
 4936              	.LBB900:
 4937              	.LBB893:
 4938              	.LBB890:
 4939              	.LBB888:
 984:Library/src/lcm32f06x_flash.c ****       }
 4940              		.loc 1 984 21 is_stmt 0 view .LVU1585
 4941 0034 0320     		movs	r0, #3
 4942              	.LVL282:
 984:Library/src/lcm32f06x_flash.c ****       }
 4943              		.loc 1 984 21 view .LVU1586
 4944              	.LBE888:
 4945              	.LBE890:
 4946              	.LBE893:
 4947              	.LBE900:
 948:Library/src/lcm32f06x_flash.c ****   }
 4948              		.loc 1 948 12 view .LVU1587
 4949 0036 013B     		subs	r3, r3, #1
 4950              	.LVL283:
 945:Library/src/lcm32f06x_flash.c ****   {
 4951              		.loc 1 945 33 is_stmt 1 view .LVU1588
 4952              	.L385:
 951:Library/src/lcm32f06x_flash.c ****   {
 4953              		.loc 1 951 3 view .LVU1589
 951:Library/src/lcm32f06x_flash.c ****   {
 4954              		.loc 1 951 6 is_stmt 0 view .LVU1590
 4955 0038 002B     		cmp	r3, #0
 4956 003a 00D1     		bne	.L451
 4957              	.LVL284:
 4958              	.L386:
 951:Library/src/lcm32f06x_flash.c ****   {
 4959              		.loc 1 951 6 view .LVU1591
 4960              	.LBE907:
 4961              	.LBE911:
ARM GAS  /tmp/cc9cn0cw.s 			page 130


 611:Library/src/lcm32f06x_flash.c **** 
 4962              		.loc 1 611 12 view .LVU1592
 4963 003c 0520     		movs	r0, #5
 4964              	.L451:
 656:Library/src/lcm32f06x_flash.c **** 
 4965              		.loc 1 656 1 view .LVU1593
 4966              		@ sp needed
 4967 003e 70BD     		pop	{r4, r5, r6, pc}
 4968              	.LVL285:
 4969              	.L382:
 4970              	.LBB912:
 4971              	.LBB908:
 4972              	.LBB901:
 4973              	.LBB894:
 4974              		.loc 1 993 3 is_stmt 1 view .LVU1594
 4975              		.loc 1 993 3 is_stmt 0 view .LVU1595
 4976              	.LBE894:
 4977              	.LBE901:
 948:Library/src/lcm32f06x_flash.c ****   }
 4978              		.loc 1 948 5 is_stmt 1 view .LVU1596
 948:Library/src/lcm32f06x_flash.c ****   }
 4979              		.loc 1 948 12 is_stmt 0 view .LVU1597
 4980 0040 013B     		subs	r3, r3, #1
 4981              	.LVL286:
 945:Library/src/lcm32f06x_flash.c ****   {
 4982              		.loc 1 945 33 is_stmt 1 view .LVU1598
 945:Library/src/lcm32f06x_flash.c ****   {
 4983              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU1599
 4984 0042 002B     		cmp	r3, #0
 4985 0044 EDD1     		bne	.L378
 4986 0046 F9E7     		b	.L386
 4987              	.LVL287:
 4988              	.L383:
 4989              	.LBB902:
 4990              	.LBB895:
 4991              		.loc 1 993 3 is_stmt 1 view .LVU1600
 4992              		.loc 1 993 3 is_stmt 0 view .LVU1601
 4993              	.LBE895:
 4994              	.LBE902:
 948:Library/src/lcm32f06x_flash.c ****   }
 4995              		.loc 1 948 5 is_stmt 1 view .LVU1602
 4996              	.LBB903:
 4997              	.LBB896:
 978:Library/src/lcm32f06x_flash.c ****     }
 4998              		.loc 1 978 19 is_stmt 0 view .LVU1603
 4999 0048 0220     		movs	r0, #2
 5000              	.LVL288:
 978:Library/src/lcm32f06x_flash.c ****     }
 5001              		.loc 1 978 19 view .LVU1604
 5002              	.LBE896:
 5003              	.LBE903:
 948:Library/src/lcm32f06x_flash.c ****   }
 5004              		.loc 1 948 12 view .LVU1605
 5005 004a 013B     		subs	r3, r3, #1
 5006              	.LVL289:
 945:Library/src/lcm32f06x_flash.c ****   {
 5007              		.loc 1 945 33 is_stmt 1 view .LVU1606
ARM GAS  /tmp/cc9cn0cw.s 			page 131


 5008 004c F4E7     		b	.L385
 5009              	.LVL290:
 5010              	.L384:
 5011              	.LBB904:
 5012              	.LBB897:
 5013              	.LBB891:
 5014              	.LBB889:
 988:Library/src/lcm32f06x_flash.c ****       }
 5015              		.loc 1 988 9 view .LVU1607
 988:Library/src/lcm32f06x_flash.c ****       }
 5016              		.loc 1 988 9 is_stmt 0 view .LVU1608
 5017              	.LBE889:
 5018              	.LBE891:
 5019              		.loc 1 993 3 is_stmt 1 view .LVU1609
 5020              		.loc 1 993 3 is_stmt 0 view .LVU1610
 5021              	.LBE897:
 5022              	.LBE904:
 948:Library/src/lcm32f06x_flash.c ****   }
 5023              		.loc 1 948 5 is_stmt 1 view .LVU1611
 945:Library/src/lcm32f06x_flash.c ****   {
 5024              		.loc 1 945 33 view .LVU1612
 951:Library/src/lcm32f06x_flash.c ****   {
 5025              		.loc 1 951 3 view .LVU1613
 951:Library/src/lcm32f06x_flash.c ****   {
 5026              		.loc 1 951 6 is_stmt 0 view .LVU1614
 5027 004e 012B     		cmp	r3, #1
 5028 0050 F4D0     		beq	.L386
 5029              	.LVL291:
 5030              	.L381:
 951:Library/src/lcm32f06x_flash.c ****   {
 5031              		.loc 1 951 6 view .LVU1615
 5032              	.LBE908:
 5033              	.LBE912:
 615:Library/src/lcm32f06x_flash.c **** 
 5034              		.loc 1 615 15 view .LVU1616
 5035 0052 1020     		movs	r0, #16
 605:Library/src/lcm32f06x_flash.c ****   WRP1_Data = (uint16_t)((OB_WRP & OB_WRP0_nWRP0) >> 8);
 5036              		.loc 1 605 13 view .LVU1617
 5037 0054 FF23     		movs	r3, #255
 615:Library/src/lcm32f06x_flash.c **** 
 5038              		.loc 1 615 10 view .LVU1618
 5039 0056 5E4A     		ldr	r2, .L479
 604:Library/src/lcm32f06x_flash.c ****   WRP0_Data = (uint16_t)(OB_WRP & OB_WRP0_WRP0);
 5040              		.loc 1 604 10 view .LVU1619
 5041 0058 EC43     		mvns	r4, r5
 615:Library/src/lcm32f06x_flash.c **** 
 5042              		.loc 1 615 10 view .LVU1620
 5043 005a 1169     		ldr	r1, [r2, #16]
 605:Library/src/lcm32f06x_flash.c ****   WRP1_Data = (uint16_t)((OB_WRP & OB_WRP0_nWRP0) >> 8);
 5044              		.loc 1 605 13 view .LVU1621
 5045 005c AB43     		bics	r3, r5
 5046              	.LVL292:
 615:Library/src/lcm32f06x_flash.c **** 
 5047              		.loc 1 615 5 is_stmt 1 view .LVU1622
 615:Library/src/lcm32f06x_flash.c **** 
 5048              		.loc 1 615 15 is_stmt 0 view .LVU1623
 5049 005e 0143     		orrs	r1, r0
ARM GAS  /tmp/cc9cn0cw.s 			page 132


 5050 0060 1161     		str	r1, [r2, #16]
 617:Library/src/lcm32f06x_flash.c ****     {
 5051              		.loc 1 617 5 is_stmt 1 view .LVU1624
 617:Library/src/lcm32f06x_flash.c ****     {
 5052              		.loc 1 617 8 is_stmt 0 view .LVU1625
 5053 0062 FF2B     		cmp	r3, #255
 5054 0064 11D1     		bne	.L476
 5055              	.L387:
 606:Library/src/lcm32f06x_flash.c ****   OB_WRP = OB_WRP >> 16;
 5056              		.loc 1 606 13 view .LVU1626
 5057 0066 FF22     		movs	r2, #255
 606:Library/src/lcm32f06x_flash.c ****   OB_WRP = OB_WRP >> 16;
 5058              		.loc 1 606 51 view .LVU1627
 5059 0068 230A     		lsrs	r3, r4, #8
 607:Library/src/lcm32f06x_flash.c ****   WRP2_Data = (uint16_t)(OB_WRP & OB_WRP0_WRP0);
 5060              		.loc 1 607 10 view .LVU1628
 5061 006a 250C     		lsrs	r5, r4, #16
 5062              	.LVL293:
 606:Library/src/lcm32f06x_flash.c ****   OB_WRP = OB_WRP >> 16;
 5063              		.loc 1 606 13 view .LVU1629
 5064 006c 1340     		ands	r3, r2
 608:Library/src/lcm32f06x_flash.c ****   WRP3_Data = (uint16_t)((OB_WRP & OB_WRP0_nWRP0) >> 8);
 5065              		.loc 1 608 13 view .LVU1630
 5066 006e 1540     		ands	r5, r2
 624:Library/src/lcm32f06x_flash.c ****     {
 5067              		.loc 1 624 36 discriminator 1 view .LVU1631
 5068 0070 FF2B     		cmp	r3, #255
 5069 0072 17D1     		bne	.L477
 5070              	.LVL294:
 632:Library/src/lcm32f06x_flash.c ****     {
 5071              		.loc 1 632 5 is_stmt 1 view .LVU1632
 632:Library/src/lcm32f06x_flash.c ****     {
 5072              		.loc 1 632 36 is_stmt 0 discriminator 1 view .LVU1633
 5073 0074 FF2D     		cmp	r5, #255
 5074 0076 59D1     		bne	.L403
 5075              	.LVL295:
 5076              	.L414:
 5077              	.LBB913:
 5078              	.LBB914:
 5079              	.LBB915:
 5080              	.LBB916:
 978:Library/src/lcm32f06x_flash.c ****     }
 5081              		.loc 1 978 19 view .LVU1634
 5082 0078 0420     		movs	r0, #4
 5083              	.LVL296:
 5084              	.L390:
 978:Library/src/lcm32f06x_flash.c ****     }
 5085              		.loc 1 978 19 view .LVU1635
 5086              	.LBE916:
 5087              	.LBE915:
 5088              	.LBE914:
 5089              	.LBE913:
 651:Library/src/lcm32f06x_flash.c ****     }
 5090              		.loc 1 651 7 is_stmt 1 view .LVU1636
 651:Library/src/lcm32f06x_flash.c ****     }
 5091              		.loc 1 651 17 is_stmt 0 view .LVU1637
 5092 007a 1021     		movs	r1, #16
ARM GAS  /tmp/cc9cn0cw.s 			page 133


 651:Library/src/lcm32f06x_flash.c ****     }
 5093              		.loc 1 651 12 view .LVU1638
 5094 007c 544A     		ldr	r2, .L479
 5095 007e 1369     		ldr	r3, [r2, #16]
 651:Library/src/lcm32f06x_flash.c ****     }
 5096              		.loc 1 651 17 view .LVU1639
 5097 0080 8B43     		bics	r3, r1
 5098 0082 1361     		str	r3, [r2, #16]
 5099 0084 DBE7     		b	.L451
 5100              	.LVL297:
 5101              	.L419:
 5102              	.LBB947:
 5103              	.LBB909:
 5104              	.LBB905:
 5105              	.LBB881:
 978:Library/src/lcm32f06x_flash.c ****     }
 5106              		.loc 1 978 19 view .LVU1640
 5107 0086 0220     		movs	r0, #2
 5108              	.LVL298:
 978:Library/src/lcm32f06x_flash.c ****     }
 5109              		.loc 1 978 19 view .LVU1641
 5110              	.LBE881:
 5111              	.LBE905:
 5112              	.LBE909:
 5113              	.LBE947:
 655:Library/src/lcm32f06x_flash.c **** }
 5114              		.loc 1 655 3 is_stmt 1 view .LVU1642
 655:Library/src/lcm32f06x_flash.c **** }
 5115              		.loc 1 655 10 is_stmt 0 view .LVU1643
 5116 0088 D9E7     		b	.L451
 5117              	.LVL299:
 5118              	.L476:
 619:Library/src/lcm32f06x_flash.c **** 
 5119              		.loc 1 619 7 is_stmt 1 view .LVU1644
 619:Library/src/lcm32f06x_flash.c **** 
 5120              		.loc 1 619 18 is_stmt 0 view .LVU1645
 5121 008a 5249     		ldr	r1, .L479+4
 5122 008c 0B81     		strh	r3, [r1, #8]
 622:Library/src/lcm32f06x_flash.c ****     }
 5123              		.loc 1 622 7 is_stmt 1 view .LVU1646
 5124              	.LBB948:
 5125              	.LBI913:
 937:Library/src/lcm32f06x_flash.c **** {
 5126              		.loc 1 937 14 view .LVU1647
 5127              	.LVL300:
 5128              	.LBB945:
 939:Library/src/lcm32f06x_flash.c **** 
 5129              		.loc 1 939 3 view .LVU1648
 942:Library/src/lcm32f06x_flash.c **** 
 5130              		.loc 1 942 3 view .LVU1649
 5131              	.LBB922:
 5132              	.LBI915:
 966:Library/src/lcm32f06x_flash.c **** {
 5133              		.loc 1 966 14 view .LVU1650
 5134              	.LBB919:
 968:Library/src/lcm32f06x_flash.c **** 
 5135              		.loc 1 968 3 view .LVU1651
ARM GAS  /tmp/cc9cn0cw.s 			page 134


 970:Library/src/lcm32f06x_flash.c ****   {
 5136              		.loc 1 970 3 view .LVU1652
 970:Library/src/lcm32f06x_flash.c ****   {
 5137              		.loc 1 970 13 is_stmt 0 view .LVU1653
 5138 008e D368     		ldr	r3, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 5139              		.loc 1 970 6 view .LVU1654
 5140 0090 DB07     		lsls	r3, r3, #31
 5141 0092 2DD4     		bmi	.L421
 976:Library/src/lcm32f06x_flash.c ****     {
 5142              		.loc 1 976 5 is_stmt 1 view .LVU1655
 976:Library/src/lcm32f06x_flash.c ****     {
 5143              		.loc 1 976 15 is_stmt 0 view .LVU1656
 5144 0094 D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 5145              		.loc 1 976 8 view .LVU1657
 5146 0096 1842     		tst	r0, r3
 5147 0098 46D1     		bne	.L427
 5148              	.LBB917:
 5149              	.LBI917:
 966:Library/src/lcm32f06x_flash.c **** {
 5150              		.loc 1 966 14 is_stmt 1 view .LVU1658
 5151              	.LBB918:
 982:Library/src/lcm32f06x_flash.c ****       {
 5152              		.loc 1 982 7 view .LVU1659
 982:Library/src/lcm32f06x_flash.c ****       {
 5153              		.loc 1 982 17 is_stmt 0 view .LVU1660
 5154 009a D368     		ldr	r3, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 5155              		.loc 1 982 10 view .LVU1661
 5156 009c 5B07     		lsls	r3, r3, #29
 5157 009e E2D5     		bpl	.L387
 5158              	.LVL301:
 5159              	.L398:
 984:Library/src/lcm32f06x_flash.c ****       }
 5160              		.loc 1 984 21 view .LVU1662
 5161 00a0 0320     		movs	r0, #3
 5162 00a2 EAE7     		b	.L390
 5163              	.L477:
 984:Library/src/lcm32f06x_flash.c ****       }
 5164              		.loc 1 984 21 view .LVU1663
 5165              	.LBE918:
 5166              	.LBE917:
 5167              	.LBE919:
 5168              	.LBE922:
 5169              	.LBE945:
 5170              	.LBE948:
 626:Library/src/lcm32f06x_flash.c **** 
 5171              		.loc 1 626 7 is_stmt 1 view .LVU1664
 626:Library/src/lcm32f06x_flash.c **** 
 5172              		.loc 1 626 18 is_stmt 0 view .LVU1665
 5173 00a4 4B4A     		ldr	r2, .L479+4
 5174              	.LBB949:
 5175              	.LBB950:
 5176              	.LBB951:
 5177              	.LBB952:
 970:Library/src/lcm32f06x_flash.c ****   {
ARM GAS  /tmp/cc9cn0cw.s 			page 135


 5178              		.loc 1 970 13 view .LVU1666
 5179 00a6 4A49     		ldr	r1, .L479
 5180              	.LBE952:
 5181              	.LBE951:
 5182              	.LBE950:
 5183              	.LBE949:
 626:Library/src/lcm32f06x_flash.c **** 
 5184              		.loc 1 626 18 view .LVU1667
 5185 00a8 5381     		strh	r3, [r2, #10]
 629:Library/src/lcm32f06x_flash.c ****     }
 5186              		.loc 1 629 7 is_stmt 1 view .LVU1668
 5187              	.LBB980:
 5188              	.LBI949:
 937:Library/src/lcm32f06x_flash.c **** {
 5189              		.loc 1 937 14 view .LVU1669
 5190              	.LVL302:
 5191              	.LBB977:
 939:Library/src/lcm32f06x_flash.c **** 
 5192              		.loc 1 939 3 view .LVU1670
 942:Library/src/lcm32f06x_flash.c **** 
 5193              		.loc 1 942 3 view .LVU1671
 5194              	.LBB958:
 5195              	.LBI951:
 966:Library/src/lcm32f06x_flash.c **** {
 5196              		.loc 1 966 14 view .LVU1672
 5197              	.LBB955:
 968:Library/src/lcm32f06x_flash.c **** 
 5198              		.loc 1 968 3 view .LVU1673
 970:Library/src/lcm32f06x_flash.c ****   {
 5199              		.loc 1 970 3 view .LVU1674
 970:Library/src/lcm32f06x_flash.c ****   {
 5200              		.loc 1 970 13 is_stmt 0 view .LVU1675
 5201 00aa CA68     		ldr	r2, [r1, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 5202              		.loc 1 970 6 view .LVU1676
 5203 00ac D207     		lsls	r2, r2, #31
 5204 00ae 4CD4     		bmi	.L422
 976:Library/src/lcm32f06x_flash.c ****     {
 5205              		.loc 1 976 5 is_stmt 1 view .LVU1677
 976:Library/src/lcm32f06x_flash.c ****     {
 5206              		.loc 1 976 15 is_stmt 0 view .LVU1678
 5207 00b0 CA68     		ldr	r2, [r1, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 5208              		.loc 1 976 8 view .LVU1679
 5209 00b2 D206     		lsls	r2, r2, #27
 5210 00b4 38D4     		bmi	.L427
 5211              	.LBB953:
 5212              	.LBI953:
 966:Library/src/lcm32f06x_flash.c **** {
 5213              		.loc 1 966 14 is_stmt 1 view .LVU1680
 5214              	.LBB954:
 982:Library/src/lcm32f06x_flash.c ****       {
 5215              		.loc 1 982 7 view .LVU1681
 982:Library/src/lcm32f06x_flash.c ****       {
 5216              		.loc 1 982 17 is_stmt 0 view .LVU1682
 5217 00b6 CA68     		ldr	r2, [r1, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
ARM GAS  /tmp/cc9cn0cw.s 			page 136


 5218              		.loc 1 982 10 view .LVU1683
 5219 00b8 5207     		lsls	r2, r2, #29
 5220 00ba F1D4     		bmi	.L398
 5221              	.LVL303:
 5222              	.L399:
 982:Library/src/lcm32f06x_flash.c ****       {
 5223              		.loc 1 982 10 view .LVU1684
 5224              	.LBE954:
 5225              	.LBE953:
 5226              	.LBE955:
 5227              	.LBE958:
 5228              	.LBE977:
 5229              	.LBE980:
 632:Library/src/lcm32f06x_flash.c ****     {
 5230              		.loc 1 632 36 discriminator 1 view .LVU1685
 5231 00bc FF2D     		cmp	r5, #255
 5232 00be 35D1     		bne	.L403
 5233              	.L413:
 642:Library/src/lcm32f06x_flash.c **** 
 5234              		.loc 1 642 7 is_stmt 1 view .LVU1686
 642:Library/src/lcm32f06x_flash.c **** 
 5235              		.loc 1 642 18 is_stmt 0 view .LVU1687
 5236 00c0 444B     		ldr	r3, .L479+4
 5237              	.LBB981:
 5238              	.LBB982:
 5239              	.LBB983:
 5240              	.LBB984:
 970:Library/src/lcm32f06x_flash.c ****   {
 5241              		.loc 1 970 13 view .LVU1688
 5242 00c2 434A     		ldr	r2, .L479
 5243              	.LBE984:
 5244              	.LBE983:
 5245              	.LBE982:
 5246              	.LBE981:
 609:Library/src/lcm32f06x_flash.c ****   /* Wait for last operation to be completed */
 5247              		.loc 1 609 15 view .LVU1689
 5248 00c4 240E     		lsrs	r4, r4, #24
 5249              	.LVL304:
 642:Library/src/lcm32f06x_flash.c **** 
 5250              		.loc 1 642 18 view .LVU1690
 5251 00c6 DC81     		strh	r4, [r3, #14]
 645:Library/src/lcm32f06x_flash.c ****     }
 5252              		.loc 1 645 7 is_stmt 1 view .LVU1691
 5253              	.LBB1011:
 5254              	.LBI981:
 937:Library/src/lcm32f06x_flash.c **** {
 5255              		.loc 1 937 14 view .LVU1692
 5256              	.LVL305:
 5257              	.LBB1007:
 939:Library/src/lcm32f06x_flash.c **** 
 5258              		.loc 1 939 3 view .LVU1693
 942:Library/src/lcm32f06x_flash.c **** 
 5259              		.loc 1 942 3 view .LVU1694
 5260              	.LBB991:
 5261              	.LBI983:
 966:Library/src/lcm32f06x_flash.c **** {
 5262              		.loc 1 966 14 view .LVU1695
ARM GAS  /tmp/cc9cn0cw.s 			page 137


 5263              	.LBB987:
 968:Library/src/lcm32f06x_flash.c **** 
 5264              		.loc 1 968 3 view .LVU1696
 970:Library/src/lcm32f06x_flash.c ****   {
 5265              		.loc 1 970 3 view .LVU1697
 970:Library/src/lcm32f06x_flash.c ****   {
 5266              		.loc 1 970 13 is_stmt 0 view .LVU1698
 5267 00c8 D368     		ldr	r3, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 5268              		.loc 1 970 6 view .LVU1699
 5269 00ca DB07     		lsls	r3, r3, #31
 5270 00cc 5CD5     		bpl	.L478
 5271 00ce B023     		movs	r3, #176
 5272              	.LBE987:
 5273              	.LBE991:
 5274              	.LBB992:
 5275              	.LBB993:
 970:Library/src/lcm32f06x_flash.c ****   {
 5276              		.loc 1 970 18 view .LVU1700
 5277 00d0 0120     		movs	r0, #1
 5278              	.LBE993:
 5279              	.LBE992:
 5280              	.LBB1000:
 5281              	.LBB988:
 5282 00d2 1B03     		lsls	r3, r3, #12
 5283              	.LVL306:
 5284              	.L406:
 970:Library/src/lcm32f06x_flash.c ****   {
 5285              		.loc 1 970 18 view .LVU1701
 5286              	.LBE988:
 5287              	.LBE1000:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 5288              		.loc 1 947 5 is_stmt 1 view .LVU1702
 5289              	.LBB1001:
 5290              	.LBI992:
 966:Library/src/lcm32f06x_flash.c **** {
 5291              		.loc 1 966 14 view .LVU1703
 5292              	.LBB996:
 968:Library/src/lcm32f06x_flash.c **** 
 5293              		.loc 1 968 3 view .LVU1704
 970:Library/src/lcm32f06x_flash.c ****   {
 5294              		.loc 1 970 3 view .LVU1705
 970:Library/src/lcm32f06x_flash.c ****   {
 5295              		.loc 1 970 13 is_stmt 0 view .LVU1706
 5296 00d4 D168     		ldr	r1, [r2, #12]
 5297              	.LBE996:
 5298              	.LBE1001:
 948:Library/src/lcm32f06x_flash.c ****   }
 5299              		.loc 1 948 12 view .LVU1707
 5300 00d6 013B     		subs	r3, r3, #1
 5301              	.LVL307:
 5302              	.LBB1002:
 5303              	.LBB997:
 970:Library/src/lcm32f06x_flash.c ****   {
 5304              		.loc 1 970 6 view .LVU1708
 5305 00d8 0842     		tst	r0, r1
 5306 00da 49D1     		bne	.L416
ARM GAS  /tmp/cc9cn0cw.s 			page 138


 976:Library/src/lcm32f06x_flash.c ****     {
 5307              		.loc 1 976 5 is_stmt 1 view .LVU1709
 976:Library/src/lcm32f06x_flash.c ****     {
 5308              		.loc 1 976 15 is_stmt 0 view .LVU1710
 5309 00dc D168     		ldr	r1, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 5310              		.loc 1 976 8 view .LVU1711
 5311 00de C906     		lsls	r1, r1, #27
 5312 00e0 50D4     		bmi	.L429
 5313              	.LBB994:
 5314              	.LBI994:
 966:Library/src/lcm32f06x_flash.c **** {
 5315              		.loc 1 966 14 is_stmt 1 view .LVU1712
 5316              	.LBB995:
 982:Library/src/lcm32f06x_flash.c ****       {
 5317              		.loc 1 982 7 view .LVU1713
 982:Library/src/lcm32f06x_flash.c ****       {
 5318              		.loc 1 982 22 is_stmt 0 view .LVU1714
 5319 00e2 0420     		movs	r0, #4
 982:Library/src/lcm32f06x_flash.c ****       {
 5320              		.loc 1 982 17 view .LVU1715
 5321 00e4 D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 5322              		.loc 1 982 22 view .LVU1716
 5323 00e6 1040     		ands	r0, r2
 988:Library/src/lcm32f06x_flash.c ****       }
 5324              		.loc 1 988 21 view .LVU1717
 5325 00e8 4242     		rsbs	r2, r0, #0
 5326 00ea 5041     		adcs	r0, r0, r2
 5327 00ec 0330     		adds	r0, r0, #3
 5328 00ee 0DE0     		b	.L394
 5329              	.LVL308:
 5330              	.L421:
 988:Library/src/lcm32f06x_flash.c ****       }
 5331              		.loc 1 988 21 view .LVU1718
 5332              	.LBE995:
 5333              	.LBE994:
 5334              	.LBE997:
 5335              	.LBE1002:
 5336              	.LBE1007:
 5337              	.LBE1011:
 5338              	.LBB1012:
 5339              	.LBB946:
 5340              	.LBB923:
 5341              	.LBB920:
 5342 00f0 B023     		movs	r3, #176
 5343              	.LBE920:
 5344              	.LBE923:
 5345              	.LBB924:
 5346              	.LBB925:
 970:Library/src/lcm32f06x_flash.c ****   {
 5347              		.loc 1 970 18 view .LVU1719
 5348 00f2 0120     		movs	r0, #1
 5349              	.LBE925:
 5350              	.LBE924:
 5351              	.LBB938:
 5352              	.LBB921:
ARM GAS  /tmp/cc9cn0cw.s 			page 139


 5353 00f4 1B03     		lsls	r3, r3, #12
 5354              	.LVL309:
 5355              	.L388:
 970:Library/src/lcm32f06x_flash.c ****   {
 5356              		.loc 1 970 18 view .LVU1720
 5357              	.LBE921:
 5358              	.LBE938:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 5359              		.loc 1 947 5 is_stmt 1 view .LVU1721
 5360              	.LBB939:
 5361              	.LBI924:
 966:Library/src/lcm32f06x_flash.c **** {
 5362              		.loc 1 966 14 view .LVU1722
 5363              	.LBB932:
 968:Library/src/lcm32f06x_flash.c **** 
 5364              		.loc 1 968 3 view .LVU1723
 970:Library/src/lcm32f06x_flash.c ****   {
 5365              		.loc 1 970 3 view .LVU1724
 970:Library/src/lcm32f06x_flash.c ****   {
 5366              		.loc 1 970 13 is_stmt 0 view .LVU1725
 5367 00f6 D168     		ldr	r1, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 5368              		.loc 1 970 6 view .LVU1726
 5369 00f8 0842     		tst	r0, r1
 5370 00fa 0AD1     		bne	.L391
 976:Library/src/lcm32f06x_flash.c ****     {
 5371              		.loc 1 976 5 is_stmt 1 view .LVU1727
 976:Library/src/lcm32f06x_flash.c ****     {
 5372              		.loc 1 976 15 is_stmt 0 view .LVU1728
 5373 00fc D168     		ldr	r1, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 5374              		.loc 1 976 8 view .LVU1729
 5375 00fe C906     		lsls	r1, r1, #27
 5376 0100 0BD4     		bmi	.L392
 5377              	.LBB926:
 5378              	.LBI926:
 966:Library/src/lcm32f06x_flash.c **** {
 5379              		.loc 1 966 14 is_stmt 1 view .LVU1730
 5380              	.LBB927:
 982:Library/src/lcm32f06x_flash.c ****       {
 5381              		.loc 1 982 7 view .LVU1731
 982:Library/src/lcm32f06x_flash.c ****       {
 5382              		.loc 1 982 17 is_stmt 0 view .LVU1732
 5383 0102 D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 5384              		.loc 1 982 10 view .LVU1733
 5385 0104 5207     		lsls	r2, r2, #29
 5386 0106 0BD5     		bpl	.L393
 5387              	.LVL310:
 982:Library/src/lcm32f06x_flash.c ****       {
 5388              		.loc 1 982 10 view .LVU1734
 5389              	.LBE927:
 5390              	.LBE926:
 5391              		.loc 1 993 3 is_stmt 1 view .LVU1735
 5392              		.loc 1 993 3 is_stmt 0 view .LVU1736
 5393              	.LBE932:
 5394              	.LBE939:
ARM GAS  /tmp/cc9cn0cw.s 			page 140


 948:Library/src/lcm32f06x_flash.c ****   }
 5395              		.loc 1 948 5 is_stmt 1 view .LVU1737
 5396              	.LBB940:
 5397              	.LBB933:
 5398              	.LBB930:
 5399              	.LBB928:
 984:Library/src/lcm32f06x_flash.c ****       }
 5400              		.loc 1 984 21 is_stmt 0 view .LVU1738
 5401 0108 0320     		movs	r0, #3
 5402              	.LBE928:
 5403              	.LBE930:
 5404              	.LBE933:
 5405              	.LBE940:
 948:Library/src/lcm32f06x_flash.c ****   }
 5406              		.loc 1 948 12 view .LVU1739
 5407 010a 013B     		subs	r3, r3, #1
 5408              	.LVL311:
 945:Library/src/lcm32f06x_flash.c ****   {
 5409              		.loc 1 945 33 is_stmt 1 view .LVU1740
 5410              	.L394:
 951:Library/src/lcm32f06x_flash.c ****   {
 5411              		.loc 1 951 3 view .LVU1741
 951:Library/src/lcm32f06x_flash.c ****   {
 5412              		.loc 1 951 6 is_stmt 0 view .LVU1742
 5413 010c 002B     		cmp	r3, #0
 5414 010e B4D1     		bne	.L390
 5415 0110 94E7     		b	.L386
 5416              	.LVL312:
 5417              	.L391:
 5418              	.LBB941:
 5419              	.LBB934:
 5420              		.loc 1 993 3 is_stmt 1 view .LVU1743
 5421              		.loc 1 993 3 is_stmt 0 view .LVU1744
 5422              	.LBE934:
 5423              	.LBE941:
 948:Library/src/lcm32f06x_flash.c ****   }
 5424              		.loc 1 948 5 is_stmt 1 view .LVU1745
 948:Library/src/lcm32f06x_flash.c ****   }
 5425              		.loc 1 948 12 is_stmt 0 view .LVU1746
 5426 0112 013B     		subs	r3, r3, #1
 5427              	.LVL313:
 945:Library/src/lcm32f06x_flash.c ****   {
 5428              		.loc 1 945 33 is_stmt 1 view .LVU1747
 945:Library/src/lcm32f06x_flash.c ****   {
 5429              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU1748
 5430 0114 002B     		cmp	r3, #0
 5431 0116 EED1     		bne	.L388
 5432 0118 90E7     		b	.L386
 5433              	.LVL314:
 5434              	.L392:
 5435              	.LBB942:
 5436              	.LBB935:
 5437              		.loc 1 993 3 is_stmt 1 view .LVU1749
 5438              		.loc 1 993 3 is_stmt 0 view .LVU1750
 5439              	.LBE935:
 5440              	.LBE942:
 948:Library/src/lcm32f06x_flash.c ****   }
ARM GAS  /tmp/cc9cn0cw.s 			page 141


 5441              		.loc 1 948 5 is_stmt 1 view .LVU1751
 5442              	.LBB943:
 5443              	.LBB936:
 978:Library/src/lcm32f06x_flash.c ****     }
 5444              		.loc 1 978 19 is_stmt 0 view .LVU1752
 5445 011a 0220     		movs	r0, #2
 5446              	.LBE936:
 5447              	.LBE943:
 948:Library/src/lcm32f06x_flash.c ****   }
 5448              		.loc 1 948 12 view .LVU1753
 5449 011c 013B     		subs	r3, r3, #1
 5450              	.LVL315:
 945:Library/src/lcm32f06x_flash.c ****   {
 5451              		.loc 1 945 33 is_stmt 1 view .LVU1754
 5452 011e F5E7     		b	.L394
 5453              	.LVL316:
 5454              	.L393:
 5455              	.LBB944:
 5456              	.LBB937:
 5457              	.LBB931:
 5458              	.LBB929:
 988:Library/src/lcm32f06x_flash.c ****       }
 5459              		.loc 1 988 9 view .LVU1755
 988:Library/src/lcm32f06x_flash.c ****       }
 5460              		.loc 1 988 9 is_stmt 0 view .LVU1756
 5461              	.LBE929:
 5462              	.LBE931:
 5463              		.loc 1 993 3 is_stmt 1 view .LVU1757
 5464              		.loc 1 993 3 is_stmt 0 view .LVU1758
 5465              	.LBE937:
 5466              	.LBE944:
 948:Library/src/lcm32f06x_flash.c ****   }
 5467              		.loc 1 948 5 is_stmt 1 view .LVU1759
 945:Library/src/lcm32f06x_flash.c ****   {
 5468              		.loc 1 945 33 view .LVU1760
 951:Library/src/lcm32f06x_flash.c ****   {
 5469              		.loc 1 951 3 view .LVU1761
 951:Library/src/lcm32f06x_flash.c ****   {
 5470              		.loc 1 951 6 is_stmt 0 view .LVU1762
 5471 0120 012B     		cmp	r3, #1
 5472 0122 00D1     		bne	.LCB5708
 5473 0124 8AE7     		b	.L386	@long jump
 5474              	.LCB5708:
 5475 0126 9EE7     		b	.L387
 5476              	.LVL317:
 5477              	.L427:
 951:Library/src/lcm32f06x_flash.c ****   {
 5478              		.loc 1 951 6 view .LVU1763
 5479              	.LBE946:
 5480              	.LBE1012:
 5481              	.LBB1013:
 5482              	.LBB1008:
 5483              	.LBB1003:
 5484              	.LBB989:
 978:Library/src/lcm32f06x_flash.c ****     }
 5485              		.loc 1 978 19 view .LVU1764
 5486 0128 0220     		movs	r0, #2
ARM GAS  /tmp/cc9cn0cw.s 			page 142


 5487 012a A6E7     		b	.L390
 5488              	.L403:
 5489              	.LBE989:
 5490              	.LBE1003:
 5491              	.LBE1008:
 5492              	.LBE1013:
 634:Library/src/lcm32f06x_flash.c **** 
 5493              		.loc 1 634 7 is_stmt 1 view .LVU1765
 634:Library/src/lcm32f06x_flash.c **** 
 5494              		.loc 1 634 18 is_stmt 0 view .LVU1766
 5495 012c 294A     		ldr	r2, .L479+4
 5496              	.LBB1014:
 5497              	.LBB1015:
 5498              	.LBB1016:
 5499              	.LBB1017:
 970:Library/src/lcm32f06x_flash.c ****   {
 5500              		.loc 1 970 13 view .LVU1767
 5501 012e 2849     		ldr	r1, .L479
 5502              	.LBE1017:
 5503              	.LBE1016:
 5504              	.LBE1015:
 5505              	.LBE1014:
 634:Library/src/lcm32f06x_flash.c **** 
 5506              		.loc 1 634 18 view .LVU1768
 5507 0130 9581     		strh	r5, [r2, #12]
 637:Library/src/lcm32f06x_flash.c ****     }
 5508              		.loc 1 637 7 is_stmt 1 view .LVU1769
 5509              	.LBB1048:
 5510              	.LBI1014:
 937:Library/src/lcm32f06x_flash.c **** {
 5511              		.loc 1 937 14 view .LVU1770
 5512              	.LVL318:
 5513              	.LBB1046:
 939:Library/src/lcm32f06x_flash.c **** 
 5514              		.loc 1 939 3 view .LVU1771
 942:Library/src/lcm32f06x_flash.c **** 
 5515              		.loc 1 942 3 view .LVU1772
 5516              	.LBB1023:
 5517              	.LBI1016:
 966:Library/src/lcm32f06x_flash.c **** {
 5518              		.loc 1 966 14 view .LVU1773
 5519              	.LBB1020:
 968:Library/src/lcm32f06x_flash.c **** 
 5520              		.loc 1 968 3 view .LVU1774
 970:Library/src/lcm32f06x_flash.c ****   {
 5521              		.loc 1 970 3 view .LVU1775
 970:Library/src/lcm32f06x_flash.c ****   {
 5522              		.loc 1 970 13 is_stmt 0 view .LVU1776
 5523 0132 CA68     		ldr	r2, [r1, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 5524              		.loc 1 970 6 view .LVU1777
 5525 0134 D207     		lsls	r2, r2, #31
 5526 0136 31D4     		bmi	.L425
 976:Library/src/lcm32f06x_flash.c ****     {
 5527              		.loc 1 976 5 is_stmt 1 view .LVU1778
 976:Library/src/lcm32f06x_flash.c ****     {
 5528              		.loc 1 976 15 is_stmt 0 view .LVU1779
ARM GAS  /tmp/cc9cn0cw.s 			page 143


 5529 0138 CA68     		ldr	r2, [r1, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 5530              		.loc 1 976 8 view .LVU1780
 5531 013a D206     		lsls	r2, r2, #27
 5532 013c F4D4     		bmi	.L427
 5533              	.LBB1018:
 5534              	.LBI1018:
 966:Library/src/lcm32f06x_flash.c **** {
 5535              		.loc 1 966 14 is_stmt 1 view .LVU1781
 5536              	.LBB1019:
 982:Library/src/lcm32f06x_flash.c ****       {
 5537              		.loc 1 982 7 view .LVU1782
 982:Library/src/lcm32f06x_flash.c ****       {
 5538              		.loc 1 982 17 is_stmt 0 view .LVU1783
 5539 013e CA68     		ldr	r2, [r1, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 5540              		.loc 1 982 10 view .LVU1784
 5541 0140 5207     		lsls	r2, r2, #29
 5542 0142 ADD4     		bmi	.L398
 5543              	.LVL319:
 5544              	.L408:
 982:Library/src/lcm32f06x_flash.c ****       {
 5545              		.loc 1 982 10 view .LVU1785
 5546              	.LBE1019:
 5547              	.LBE1018:
 5548              	.LBE1020:
 5549              	.LBE1023:
 5550              	.LBE1046:
 5551              	.LBE1048:
 640:Library/src/lcm32f06x_flash.c ****     {
 5552              		.loc 1 640 36 discriminator 1 view .LVU1786
 5553 0144 FF2B     		cmp	r3, #255
 5554 0146 97D0     		beq	.L414
 5555 0148 BAE7     		b	.L413
 5556              	.LVL320:
 5557              	.L422:
 5558              	.LBB1049:
 5559              	.LBB978:
 5560              	.LBB959:
 5561              	.LBB956:
 640:Library/src/lcm32f06x_flash.c ****     {
 5562              		.loc 1 640 36 discriminator 1 view .LVU1787
 5563 014a B022     		movs	r2, #176
 5564              	.LBE956:
 5565              	.LBE959:
 5566              	.LBB960:
 5567              	.LBB961:
 970:Library/src/lcm32f06x_flash.c ****   {
 5568              		.loc 1 970 18 view .LVU1788
 5569 014c 0126     		movs	r6, #1
 5570              	.LBE961:
 5571              	.LBE960:
 5572              	.LBB971:
 5573              	.LBB957:
 5574 014e 1203     		lsls	r2, r2, #12
 5575              	.LVL321:
 5576              	.L396:
ARM GAS  /tmp/cc9cn0cw.s 			page 144


 970:Library/src/lcm32f06x_flash.c ****   {
 5577              		.loc 1 970 18 view .LVU1789
 5578              	.LBE957:
 5579              	.LBE971:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 5580              		.loc 1 947 5 is_stmt 1 view .LVU1790
 5581              	.LBB972:
 5582              	.LBI960:
 966:Library/src/lcm32f06x_flash.c **** {
 5583              		.loc 1 966 14 view .LVU1791
 5584              	.LBB966:
 968:Library/src/lcm32f06x_flash.c **** 
 5585              		.loc 1 968 3 view .LVU1792
 970:Library/src/lcm32f06x_flash.c ****   {
 5586              		.loc 1 970 3 view .LVU1793
 970:Library/src/lcm32f06x_flash.c ****   {
 5587              		.loc 1 970 13 is_stmt 0 view .LVU1794
 5588 0150 C868     		ldr	r0, [r1, #12]
 5589              	.LBE966:
 5590              	.LBE972:
 948:Library/src/lcm32f06x_flash.c ****   }
 5591              		.loc 1 948 12 view .LVU1795
 5592 0152 013A     		subs	r2, r2, #1
 5593              	.LVL322:
 5594              	.LBB973:
 5595              	.LBB967:
 970:Library/src/lcm32f06x_flash.c ****   {
 5596              		.loc 1 970 6 view .LVU1796
 5597 0154 0642     		tst	r6, r0
 5598 0156 08D1     		bne	.L400
 976:Library/src/lcm32f06x_flash.c ****     {
 5599              		.loc 1 976 5 is_stmt 1 view .LVU1797
 976:Library/src/lcm32f06x_flash.c ****     {
 5600              		.loc 1 976 15 is_stmt 0 view .LVU1798
 5601 0158 C868     		ldr	r0, [r1, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 5602              		.loc 1 976 8 view .LVU1799
 5603 015a C006     		lsls	r0, r0, #27
 5604 015c 0BD4     		bmi	.L423
 5605              	.LBB962:
 5606              	.LBI962:
 966:Library/src/lcm32f06x_flash.c **** {
 5607              		.loc 1 966 14 is_stmt 1 view .LVU1800
 5608              	.LBB963:
 982:Library/src/lcm32f06x_flash.c ****       {
 5609              		.loc 1 982 7 view .LVU1801
 982:Library/src/lcm32f06x_flash.c ****       {
 5610              		.loc 1 982 17 is_stmt 0 view .LVU1802
 5611 015e C968     		ldr	r1, [r1, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 5612              		.loc 1 982 10 view .LVU1803
 5613 0160 4907     		lsls	r1, r1, #29
 5614 0162 0DD4     		bmi	.L424
 5615              	.LVL323:
 982:Library/src/lcm32f06x_flash.c ****       {
 5616              		.loc 1 982 10 view .LVU1804
 5617              	.LBE963:
ARM GAS  /tmp/cc9cn0cw.s 			page 145


 5618              	.LBE962:
 5619              	.LBE967:
 5620              	.LBE973:
 951:Library/src/lcm32f06x_flash.c ****   {
 5621              		.loc 1 951 3 is_stmt 1 view .LVU1805
 951:Library/src/lcm32f06x_flash.c ****   {
 5622              		.loc 1 951 6 is_stmt 0 view .LVU1806
 5623 0164 002A     		cmp	r2, #0
 5624 0166 A9D1     		bne	.L399
 5625 0168 68E7     		b	.L386
 5626              	.LVL324:
 5627              	.L400:
 5628              	.LBB974:
 5629              	.LBB968:
 5630              		.loc 1 993 3 is_stmt 1 view .LVU1807
 5631              		.loc 1 993 3 is_stmt 0 view .LVU1808
 5632              	.LBE968:
 5633              	.LBE974:
 948:Library/src/lcm32f06x_flash.c ****   }
 5634              		.loc 1 948 5 is_stmt 1 view .LVU1809
 945:Library/src/lcm32f06x_flash.c ****   {
 5635              		.loc 1 945 33 view .LVU1810
 945:Library/src/lcm32f06x_flash.c ****   {
 5636              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU1811
 5637 016a 002A     		cmp	r2, #0
 5638 016c F0D1     		bne	.L396
 5639 016e 65E7     		b	.L386
 5640              	.LVL325:
 5641              	.L416:
 945:Library/src/lcm32f06x_flash.c ****   {
 5642              		.loc 1 945 33 discriminator 1 view .LVU1812
 5643              	.LBE978:
 5644              	.LBE1049:
 5645              	.LBB1050:
 5646              	.LBB1009:
 5647              	.LBB1004:
 5648              	.LBB998:
 5649              		.loc 1 993 3 is_stmt 1 view .LVU1813
 5650              		.loc 1 993 3 is_stmt 0 view .LVU1814
 5651              	.LBE998:
 5652              	.LBE1004:
 948:Library/src/lcm32f06x_flash.c ****   }
 5653              		.loc 1 948 5 is_stmt 1 view .LVU1815
 945:Library/src/lcm32f06x_flash.c ****   {
 5654              		.loc 1 945 33 view .LVU1816
 945:Library/src/lcm32f06x_flash.c ****   {
 5655              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU1817
 5656 0170 002B     		cmp	r3, #0
 5657 0172 AFD1     		bne	.L406
 5658 0174 62E7     		b	.L386
 5659              	.LVL326:
 5660              	.L423:
 945:Library/src/lcm32f06x_flash.c ****   {
 5661              		.loc 1 945 33 discriminator 1 view .LVU1818
 5662              	.LBE1009:
 5663              	.LBE1050:
 5664              	.LBB1051:
ARM GAS  /tmp/cc9cn0cw.s 			page 146


 5665              	.LBB979:
 5666              	.LBB975:
 5667              	.LBB969:
 978:Library/src/lcm32f06x_flash.c ****     }
 5668              		.loc 1 978 19 view .LVU1819
 5669 0176 0220     		movs	r0, #2
 5670              	.LVL327:
 5671              	.L401:
 978:Library/src/lcm32f06x_flash.c ****     }
 5672              		.loc 1 978 19 view .LVU1820
 5673              	.LBE969:
 5674              	.LBE975:
 951:Library/src/lcm32f06x_flash.c ****   {
 5675              		.loc 1 951 3 is_stmt 1 view .LVU1821
 951:Library/src/lcm32f06x_flash.c ****   {
 5676              		.loc 1 951 6 is_stmt 0 view .LVU1822
 5677 0178 002A     		cmp	r2, #0
 5678 017a 00D1     		bne	.LCB5934
 5679 017c 5EE7     		b	.L386	@long jump
 5680              	.LCB5934:
 5681 017e 7CE7     		b	.L390
 5682              	.LVL328:
 5683              	.L424:
 5684              	.LBB976:
 5685              	.LBB970:
 5686              	.LBB965:
 5687              	.LBB964:
 984:Library/src/lcm32f06x_flash.c ****       }
 5688              		.loc 1 984 21 view .LVU1823
 5689 0180 0320     		movs	r0, #3
 5690 0182 F9E7     		b	.L401
 5691              	.LVL329:
 5692              	.L429:
 984:Library/src/lcm32f06x_flash.c ****       }
 5693              		.loc 1 984 21 view .LVU1824
 5694              	.LBE964:
 5695              	.LBE965:
 5696              	.LBE970:
 5697              	.LBE976:
 5698              	.LBE979:
 5699              	.LBE1051:
 5700              	.LBB1052:
 5701              	.LBB1010:
 5702              	.LBB1005:
 5703              	.LBB999:
 978:Library/src/lcm32f06x_flash.c ****     }
 5704              		.loc 1 978 19 view .LVU1825
 5705 0184 0220     		movs	r0, #2
 5706              	.LVL330:
 978:Library/src/lcm32f06x_flash.c ****     }
 5707              		.loc 1 978 19 view .LVU1826
 5708              	.LBE999:
 5709              	.LBE1005:
 951:Library/src/lcm32f06x_flash.c ****   {
 5710              		.loc 1 951 3 is_stmt 1 view .LVU1827
 5711 0186 C1E7     		b	.L394
 5712              	.LVL331:
ARM GAS  /tmp/cc9cn0cw.s 			page 147


 5713              	.L478:
 5714              	.LBB1006:
 5715              	.LBB990:
 976:Library/src/lcm32f06x_flash.c ****     {
 5716              		.loc 1 976 5 view .LVU1828
 976:Library/src/lcm32f06x_flash.c ****     {
 5717              		.loc 1 976 15 is_stmt 0 view .LVU1829
 5718 0188 D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 5719              		.loc 1 976 8 view .LVU1830
 5720 018a DB06     		lsls	r3, r3, #27
 5721 018c CCD4     		bmi	.L427
 5722              	.LBB985:
 5723              	.LBI985:
 966:Library/src/lcm32f06x_flash.c **** {
 5724              		.loc 1 966 14 is_stmt 1 view .LVU1831
 5725              	.LBB986:
 982:Library/src/lcm32f06x_flash.c ****       {
 5726              		.loc 1 982 7 view .LVU1832
 982:Library/src/lcm32f06x_flash.c ****       {
 5727              		.loc 1 982 22 is_stmt 0 view .LVU1833
 5728 018e 0420     		movs	r0, #4
 982:Library/src/lcm32f06x_flash.c ****       {
 5729              		.loc 1 982 17 view .LVU1834
 5730 0190 D368     		ldr	r3, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 5731              		.loc 1 982 22 view .LVU1835
 5732 0192 1840     		ands	r0, r3
 988:Library/src/lcm32f06x_flash.c ****       }
 5733              		.loc 1 988 21 view .LVU1836
 5734 0194 4342     		rsbs	r3, r0, #0
 5735 0196 5841     		adcs	r0, r0, r3
 5736 0198 0330     		adds	r0, r0, #3
 5737 019a 6EE7     		b	.L390
 5738              	.LVL332:
 5739              	.L425:
 988:Library/src/lcm32f06x_flash.c ****       }
 5740              		.loc 1 988 21 view .LVU1837
 5741              	.LBE986:
 5742              	.LBE985:
 5743              	.LBE990:
 5744              	.LBE1006:
 5745              	.LBE1010:
 5746              	.LBE1052:
 5747              	.LBB1053:
 5748              	.LBB1047:
 5749              	.LBB1024:
 5750              	.LBB1021:
 5751 019c B022     		movs	r2, #176
 5752              	.LBE1021:
 5753              	.LBE1024:
 5754              	.LBB1025:
 5755              	.LBB1026:
 970:Library/src/lcm32f06x_flash.c ****   {
 5756              		.loc 1 970 18 view .LVU1838
 5757 019e 0125     		movs	r5, #1
 5758              	.LBE1026:
ARM GAS  /tmp/cc9cn0cw.s 			page 148


 5759              	.LBE1025:
 5760              	.LBB1039:
 5761              	.LBB1022:
 5762 01a0 1203     		lsls	r2, r2, #12
 5763              	.LVL333:
 5764              	.L404:
 970:Library/src/lcm32f06x_flash.c ****   {
 5765              		.loc 1 970 18 view .LVU1839
 5766              	.LBE1022:
 5767              	.LBE1039:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 5768              		.loc 1 947 5 is_stmt 1 view .LVU1840
 5769              	.LBB1040:
 5770              	.LBI1025:
 966:Library/src/lcm32f06x_flash.c **** {
 5771              		.loc 1 966 14 view .LVU1841
 5772              	.LBB1033:
 968:Library/src/lcm32f06x_flash.c **** 
 5773              		.loc 1 968 3 view .LVU1842
 970:Library/src/lcm32f06x_flash.c ****   {
 5774              		.loc 1 970 3 view .LVU1843
 970:Library/src/lcm32f06x_flash.c ****   {
 5775              		.loc 1 970 13 is_stmt 0 view .LVU1844
 5776 01a2 C868     		ldr	r0, [r1, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 5777              		.loc 1 970 6 view .LVU1845
 5778 01a4 0542     		tst	r5, r0
 5779 01a6 08D1     		bne	.L409
 976:Library/src/lcm32f06x_flash.c ****     {
 5780              		.loc 1 976 5 is_stmt 1 view .LVU1846
 976:Library/src/lcm32f06x_flash.c ****     {
 5781              		.loc 1 976 15 is_stmt 0 view .LVU1847
 5782 01a8 C868     		ldr	r0, [r1, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 5783              		.loc 1 976 8 view .LVU1848
 5784 01aa C006     		lsls	r0, r0, #27
 5785 01ac 09D4     		bmi	.L410
 5786              	.LBB1027:
 5787              	.LBI1027:
 966:Library/src/lcm32f06x_flash.c **** {
 5788              		.loc 1 966 14 is_stmt 1 view .LVU1849
 5789              	.LBB1028:
 982:Library/src/lcm32f06x_flash.c ****       {
 5790              		.loc 1 982 7 view .LVU1850
 982:Library/src/lcm32f06x_flash.c ****       {
 5791              		.loc 1 982 17 is_stmt 0 view .LVU1851
 5792 01ae C968     		ldr	r1, [r1, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 5793              		.loc 1 982 10 view .LVU1852
 5794 01b0 4907     		lsls	r1, r1, #29
 5795 01b2 09D5     		bpl	.L411
 5796              	.LVL334:
 982:Library/src/lcm32f06x_flash.c ****       {
 5797              		.loc 1 982 10 view .LVU1853
 5798              	.LBE1028:
 5799              	.LBE1027:
 5800              		.loc 1 993 3 is_stmt 1 view .LVU1854
ARM GAS  /tmp/cc9cn0cw.s 			page 149


 5801              		.loc 1 993 3 is_stmt 0 view .LVU1855
 5802              	.LBE1033:
 5803              	.LBE1040:
 948:Library/src/lcm32f06x_flash.c ****   }
 5804              		.loc 1 948 5 is_stmt 1 view .LVU1856
 5805              	.LBB1041:
 5806              	.LBB1034:
 5807              	.LBB1031:
 5808              	.LBB1029:
 984:Library/src/lcm32f06x_flash.c ****       }
 5809              		.loc 1 984 21 is_stmt 0 view .LVU1857
 5810 01b4 0320     		movs	r0, #3
 5811              	.LBE1029:
 5812              	.LBE1031:
 5813              	.LBE1034:
 5814              	.LBE1041:
 948:Library/src/lcm32f06x_flash.c ****   }
 5815              		.loc 1 948 12 view .LVU1858
 5816 01b6 013A     		subs	r2, r2, #1
 5817              	.LVL335:
 945:Library/src/lcm32f06x_flash.c ****   {
 5818              		.loc 1 945 33 is_stmt 1 view .LVU1859
 5819 01b8 DEE7     		b	.L401
 5820              	.LVL336:
 5821              	.L409:
 5822              	.LBB1042:
 5823              	.LBB1035:
 5824              		.loc 1 993 3 view .LVU1860
 5825              		.loc 1 993 3 is_stmt 0 view .LVU1861
 5826              	.LBE1035:
 5827              	.LBE1042:
 948:Library/src/lcm32f06x_flash.c ****   }
 5828              		.loc 1 948 5 is_stmt 1 view .LVU1862
 948:Library/src/lcm32f06x_flash.c ****   }
 5829              		.loc 1 948 12 is_stmt 0 view .LVU1863
 5830 01ba 013A     		subs	r2, r2, #1
 5831              	.LVL337:
 945:Library/src/lcm32f06x_flash.c ****   {
 5832              		.loc 1 945 33 is_stmt 1 view .LVU1864
 945:Library/src/lcm32f06x_flash.c ****   {
 5833              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU1865
 5834 01bc 002A     		cmp	r2, #0
 5835 01be F0D1     		bne	.L404
 5836 01c0 3CE7     		b	.L386
 5837              	.LVL338:
 5838              	.L410:
 5839              	.LBB1043:
 5840              	.LBB1036:
 5841              		.loc 1 993 3 is_stmt 1 view .LVU1866
 5842              		.loc 1 993 3 is_stmt 0 view .LVU1867
 5843              	.LBE1036:
 5844              	.LBE1043:
 948:Library/src/lcm32f06x_flash.c ****   }
 5845              		.loc 1 948 5 is_stmt 1 view .LVU1868
 5846              	.LBB1044:
 5847              	.LBB1037:
 978:Library/src/lcm32f06x_flash.c ****     }
ARM GAS  /tmp/cc9cn0cw.s 			page 150


 5848              		.loc 1 978 19 is_stmt 0 view .LVU1869
 5849 01c2 0220     		movs	r0, #2
 5850              	.LBE1037:
 5851              	.LBE1044:
 948:Library/src/lcm32f06x_flash.c ****   }
 5852              		.loc 1 948 12 view .LVU1870
 5853 01c4 013A     		subs	r2, r2, #1
 5854              	.LVL339:
 945:Library/src/lcm32f06x_flash.c ****   {
 5855              		.loc 1 945 33 is_stmt 1 view .LVU1871
 5856 01c6 D7E7     		b	.L401
 5857              	.LVL340:
 5858              	.L411:
 5859              	.LBB1045:
 5860              	.LBB1038:
 5861              	.LBB1032:
 5862              	.LBB1030:
 988:Library/src/lcm32f06x_flash.c ****       }
 5863              		.loc 1 988 9 view .LVU1872
 988:Library/src/lcm32f06x_flash.c ****       }
 5864              		.loc 1 988 9 is_stmt 0 view .LVU1873
 5865              	.LBE1030:
 5866              	.LBE1032:
 5867              		.loc 1 993 3 is_stmt 1 view .LVU1874
 5868              		.loc 1 993 3 is_stmt 0 view .LVU1875
 5869              	.LBE1038:
 5870              	.LBE1045:
 948:Library/src/lcm32f06x_flash.c ****   }
 5871              		.loc 1 948 5 is_stmt 1 view .LVU1876
 945:Library/src/lcm32f06x_flash.c ****   {
 5872              		.loc 1 945 33 view .LVU1877
 951:Library/src/lcm32f06x_flash.c ****   {
 5873              		.loc 1 951 3 view .LVU1878
 951:Library/src/lcm32f06x_flash.c ****   {
 5874              		.loc 1 951 6 is_stmt 0 view .LVU1879
 5875 01c8 012A     		cmp	r2, #1
 5876 01ca BBD1     		bne	.L408
 5877 01cc 36E7     		b	.L386
 5878              	.L480:
 5879 01ce C046     		.align	2
 5880              	.L479:
 5881 01d0 00D00140 		.word	1073860608
 5882 01d4 00F6FF1F 		.word	536868352
 5883              	.LBE1047:
 5884              	.LBE1053:
 5885              		.cfi_endproc
 5886              	.LFE62:
 5888              		.section	.text.FLASH_OB_RDPConfig,"ax",%progbits
 5889              		.align	1
 5890              		.p2align 2,,3
 5891              		.global	FLASH_OB_RDPConfig
 5892              		.syntax unified
 5893              		.code	16
 5894              		.thumb_func
 5896              	FLASH_OB_RDPConfig:
 5897              	.LVL341:
 5898              	.LFB63:
ARM GAS  /tmp/cc9cn0cw.s 			page 151


 674:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 5899              		.loc 1 674 1 is_stmt 1 view -0
 5900              		.cfi_startproc
 5901              		@ args = 0, pretend = 0, frame = 0
 5902              		@ frame_needed = 0, uses_anonymous_args = 0
 675:Library/src/lcm32f06x_flash.c ****   uint16_t Rsb_counter;
 5903              		.loc 1 675 3 view .LVU1881
 676:Library/src/lcm32f06x_flash.c ****   /* Check the parameters */
 5904              		.loc 1 676 3 view .LVU1882
 678:Library/src/lcm32f06x_flash.c ****   FLASH->AR = ((uint32_t)(OB_BASE));
 5905              		.loc 1 678 3 view .LVU1883
 5906              	.LBB1094:
 5907              	.LBI1094:
 937:Library/src/lcm32f06x_flash.c **** {
 5908              		.loc 1 937 14 view .LVU1884
 5909              	.LBB1095:
 939:Library/src/lcm32f06x_flash.c **** 
 5910              		.loc 1 939 3 view .LVU1885
 942:Library/src/lcm32f06x_flash.c **** 
 5911              		.loc 1 942 3 view .LVU1886
 5912              	.LBB1096:
 5913              	.LBI1096:
 966:Library/src/lcm32f06x_flash.c **** {
 5914              		.loc 1 966 14 view .LVU1887
 5915              	.LBB1097:
 968:Library/src/lcm32f06x_flash.c **** 
 5916              		.loc 1 968 3 view .LVU1888
 970:Library/src/lcm32f06x_flash.c ****   {
 5917              		.loc 1 970 3 view .LVU1889
 970:Library/src/lcm32f06x_flash.c ****   {
 5918              		.loc 1 970 13 is_stmt 0 view .LVU1890
 5919 0000 684A     		ldr	r2, .L572
 5920              	.LBE1097:
 5921              	.LBE1096:
 5922              	.LBE1095:
 5923              	.LBE1094:
 674:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 5924              		.loc 1 674 1 view .LVU1891
 5925 0002 F0B5     		push	{r4, r5, r6, r7, lr}
 5926              	.LCFI9:
 5927              		.cfi_def_cfa_offset 20
 5928              		.cfi_offset 4, -20
 5929              		.cfi_offset 5, -16
 5930              		.cfi_offset 6, -12
 5931              		.cfi_offset 7, -8
 5932              		.cfi_offset 14, -4
 5933              	.LBB1134:
 5934              	.LBB1128:
 5935              	.LBB1104:
 5936              	.LBB1100:
 970:Library/src/lcm32f06x_flash.c ****   {
 5937              		.loc 1 970 13 view .LVU1892
 5938 0004 D368     		ldr	r3, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 5939              		.loc 1 970 6 view .LVU1893
 5940 0006 DB07     		lsls	r3, r3, #31
 5941 0008 09D4     		bmi	.L526
ARM GAS  /tmp/cc9cn0cw.s 			page 152


 976:Library/src/lcm32f06x_flash.c ****     {
 5942              		.loc 1 976 5 is_stmt 1 view .LVU1894
 976:Library/src/lcm32f06x_flash.c ****     {
 5943              		.loc 1 976 15 is_stmt 0 view .LVU1895
 5944 000a D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 5945              		.loc 1 976 8 view .LVU1896
 5946 000c DB06     		lsls	r3, r3, #27
 5947 000e 4DD4     		bmi	.L483
 5948              	.LBB1098:
 5949              	.LBI1098:
 966:Library/src/lcm32f06x_flash.c **** {
 5950              		.loc 1 966 14 is_stmt 1 view .LVU1897
 5951              	.LBB1099:
 982:Library/src/lcm32f06x_flash.c ****       {
 5952              		.loc 1 982 7 view .LVU1898
 982:Library/src/lcm32f06x_flash.c ****       {
 5953              		.loc 1 982 17 is_stmt 0 view .LVU1899
 5954 0010 D368     		ldr	r3, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 5955              		.loc 1 982 10 view .LVU1900
 5956 0012 5B07     		lsls	r3, r3, #29
 5957 0014 26D5     		bpl	.L563
 5958              	.LVL342:
 982:Library/src/lcm32f06x_flash.c ****       {
 5959              		.loc 1 982 10 view .LVU1901
 5960              	.LBE1099:
 5961              	.LBE1098:
 5962              	.LBE1100:
 5963              	.LBE1104:
 945:Library/src/lcm32f06x_flash.c ****   {
 5964              		.loc 1 945 33 is_stmt 1 view .LVU1902
 951:Library/src/lcm32f06x_flash.c ****   {
 5965              		.loc 1 951 3 view .LVU1903
 956:Library/src/lcm32f06x_flash.c **** }
 5966              		.loc 1 956 3 view .LVU1904
 956:Library/src/lcm32f06x_flash.c **** }
 5967              		.loc 1 956 3 is_stmt 0 view .LVU1905
 5968              	.LBE1128:
 5969              	.LBE1134:
 679:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 5970              		.loc 1 679 3 is_stmt 1 view .LVU1906
 679:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 5971              		.loc 1 679 13 is_stmt 0 view .LVU1907
 5972 0016 644B     		ldr	r3, .L572+4
 678:Library/src/lcm32f06x_flash.c ****   FLASH->AR = ((uint32_t)(OB_BASE));
 5973              		.loc 1 678 12 view .LVU1908
 5974 0018 0320     		movs	r0, #3
 5975              	.LVL343:
 679:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 5976              		.loc 1 679 13 view .LVU1909
 5977 001a 5361     		str	r3, [r2, #20]
 680:Library/src/lcm32f06x_flash.c ****   {
 5978              		.loc 1 680 3 is_stmt 1 view .LVU1910
 5979 001c 13E0     		b	.L562
 5980              	.LVL344:
 5981              	.L526:
ARM GAS  /tmp/cc9cn0cw.s 			page 153


 5982              	.LBB1135:
 5983              	.LBB1129:
 5984              	.LBB1105:
 5985              	.LBB1101:
 680:Library/src/lcm32f06x_flash.c ****   {
 5986              		.loc 1 680 3 is_stmt 0 view .LVU1911
 5987 001e B023     		movs	r3, #176
 5988              	.LBE1101:
 5989              	.LBE1105:
 5990              	.LBB1106:
 5991              	.LBB1107:
 970:Library/src/lcm32f06x_flash.c ****   {
 5992              		.loc 1 970 18 view .LVU1912
 5993 0020 0124     		movs	r4, #1
 5994              	.LBE1107:
 5995              	.LBE1106:
 5996              	.LBB1120:
 5997              	.LBB1102:
 5998 0022 1B03     		lsls	r3, r3, #12
 5999              	.LVL345:
 6000              	.L482:
 970:Library/src/lcm32f06x_flash.c ****   {
 6001              		.loc 1 970 18 view .LVU1913
 6002              	.LBE1102:
 6003              	.LBE1120:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 6004              		.loc 1 947 5 is_stmt 1 view .LVU1914
 6005              	.LBB1121:
 6006              	.LBI1106:
 966:Library/src/lcm32f06x_flash.c **** {
 6007              		.loc 1 966 14 view .LVU1915
 6008              	.LBB1114:
 968:Library/src/lcm32f06x_flash.c **** 
 6009              		.loc 1 968 3 view .LVU1916
 970:Library/src/lcm32f06x_flash.c ****   {
 6010              		.loc 1 970 3 view .LVU1917
 970:Library/src/lcm32f06x_flash.c ****   {
 6011              		.loc 1 970 13 is_stmt 0 view .LVU1918
 6012 0024 D168     		ldr	r1, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 6013              		.loc 1 970 6 view .LVU1919
 6014 0026 0C42     		tst	r4, r1
 6015 0028 0ED1     		bne	.L487
 976:Library/src/lcm32f06x_flash.c ****     {
 6016              		.loc 1 976 5 is_stmt 1 view .LVU1920
 976:Library/src/lcm32f06x_flash.c ****     {
 6017              		.loc 1 976 15 is_stmt 0 view .LVU1921
 6018 002a D168     		ldr	r1, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 6019              		.loc 1 976 8 view .LVU1922
 6020 002c C906     		lsls	r1, r1, #27
 6021 002e 0FD4     		bmi	.L488
 6022              	.LBB1108:
 6023              	.LBI1108:
 966:Library/src/lcm32f06x_flash.c **** {
 6024              		.loc 1 966 14 is_stmt 1 view .LVU1923
 6025              	.LBB1109:
ARM GAS  /tmp/cc9cn0cw.s 			page 154


 982:Library/src/lcm32f06x_flash.c ****       {
 6026              		.loc 1 982 7 view .LVU1924
 982:Library/src/lcm32f06x_flash.c ****       {
 6027              		.loc 1 982 17 is_stmt 0 view .LVU1925
 6028 0030 D168     		ldr	r1, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 6029              		.loc 1 982 10 view .LVU1926
 6030 0032 4907     		lsls	r1, r1, #29
 6031 0034 14D5     		bpl	.L489
 6032              	.LVL346:
 982:Library/src/lcm32f06x_flash.c ****       {
 6033              		.loc 1 982 10 view .LVU1927
 6034              	.LBE1109:
 6035              	.LBE1108:
 6036              		.loc 1 993 3 is_stmt 1 view .LVU1928
 6037              		.loc 1 993 3 is_stmt 0 view .LVU1929
 6038              	.LBE1114:
 6039              	.LBE1121:
 948:Library/src/lcm32f06x_flash.c ****   }
 6040              		.loc 1 948 5 is_stmt 1 view .LVU1930
 948:Library/src/lcm32f06x_flash.c ****   }
 6041              		.loc 1 948 12 is_stmt 0 view .LVU1931
 6042 0036 013B     		subs	r3, r3, #1
 6043              	.LVL347:
 945:Library/src/lcm32f06x_flash.c ****   {
 6044              		.loc 1 945 33 is_stmt 1 view .LVU1932
 6045              	.LBB1122:
 6046              	.LBB1115:
 6047              	.LBB1112:
 6048              	.LBB1110:
 984:Library/src/lcm32f06x_flash.c ****       }
 6049              		.loc 1 984 21 is_stmt 0 view .LVU1933
 6050 0038 0320     		movs	r0, #3
 6051              	.LVL348:
 984:Library/src/lcm32f06x_flash.c ****       }
 6052              		.loc 1 984 21 view .LVU1934
 6053              	.LBE1110:
 6054              	.LBE1112:
 6055              	.LBE1115:
 6056              	.LBE1122:
 951:Library/src/lcm32f06x_flash.c ****   {
 6057              		.loc 1 951 3 is_stmt 1 view .LVU1935
 951:Library/src/lcm32f06x_flash.c ****   {
 6058              		.loc 1 951 6 is_stmt 0 view .LVU1936
 6059 003a 002B     		cmp	r3, #0
 6060 003c 0CD1     		bne	.L569
 6061              	.LVL349:
 6062              	.L491:
 953:Library/src/lcm32f06x_flash.c ****   }
 6063              		.loc 1 953 5 is_stmt 1 view .LVU1937
 956:Library/src/lcm32f06x_flash.c **** }
 6064              		.loc 1 956 3 view .LVU1938
 956:Library/src/lcm32f06x_flash.c **** }
 6065              		.loc 1 956 3 is_stmt 0 view .LVU1939
 6066              	.LBE1129:
 6067              	.LBE1135:
 679:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
ARM GAS  /tmp/cc9cn0cw.s 			page 155


 6068              		.loc 1 679 3 is_stmt 1 view .LVU1940
 679:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 6069              		.loc 1 679 13 is_stmt 0 view .LVU1941
 6070 003e 594B     		ldr	r3, .L572
 6071 0040 594A     		ldr	r2, .L572+4
 6072 0042 5A61     		str	r2, [r3, #20]
 680:Library/src/lcm32f06x_flash.c ****   {
 6073              		.loc 1 680 3 is_stmt 1 view .LVU1942
 6074              	.LVL350:
 6075              	.L493:
 686:Library/src/lcm32f06x_flash.c **** 
 6076              		.loc 1 686 14 is_stmt 0 view .LVU1943
 6077 0044 0520     		movs	r0, #5
 6078              	.L562:
 730:Library/src/lcm32f06x_flash.c **** 
 6079              		.loc 1 730 1 view .LVU1944
 6080              		@ sp needed
 6081 0046 F0BD     		pop	{r4, r5, r6, r7, pc}
 6082              	.LVL351:
 6083              	.L487:
 6084              	.LBB1136:
 6085              	.LBB1130:
 6086              	.LBB1123:
 6087              	.LBB1116:
 6088              		.loc 1 993 3 is_stmt 1 view .LVU1945
 6089              		.loc 1 993 3 is_stmt 0 view .LVU1946
 6090              	.LBE1116:
 6091              	.LBE1123:
 948:Library/src/lcm32f06x_flash.c ****   }
 6092              		.loc 1 948 5 is_stmt 1 view .LVU1947
 948:Library/src/lcm32f06x_flash.c ****   }
 6093              		.loc 1 948 12 is_stmt 0 view .LVU1948
 6094 0048 013B     		subs	r3, r3, #1
 6095              	.LVL352:
 945:Library/src/lcm32f06x_flash.c ****   {
 6096              		.loc 1 945 33 is_stmt 1 view .LVU1949
 945:Library/src/lcm32f06x_flash.c ****   {
 6097              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU1950
 6098 004a 002B     		cmp	r3, #0
 6099 004c EAD1     		bne	.L482
 6100 004e F6E7     		b	.L491
 6101              	.LVL353:
 6102              	.L488:
 6103              	.LBB1124:
 6104              	.LBB1117:
 6105              		.loc 1 993 3 is_stmt 1 view .LVU1951
 6106              		.loc 1 993 3 is_stmt 0 view .LVU1952
 6107              	.LBE1117:
 6108              	.LBE1124:
 948:Library/src/lcm32f06x_flash.c ****   }
 6109              		.loc 1 948 5 is_stmt 1 view .LVU1953
 948:Library/src/lcm32f06x_flash.c ****   }
 6110              		.loc 1 948 12 is_stmt 0 view .LVU1954
 6111 0050 013B     		subs	r3, r3, #1
 6112              	.LVL354:
 945:Library/src/lcm32f06x_flash.c ****   {
 6113              		.loc 1 945 33 is_stmt 1 view .LVU1955
ARM GAS  /tmp/cc9cn0cw.s 			page 156


 6114              	.LBB1125:
 6115              	.LBB1118:
 978:Library/src/lcm32f06x_flash.c ****     }
 6116              		.loc 1 978 19 is_stmt 0 view .LVU1956
 6117 0052 0220     		movs	r0, #2
 6118              	.LVL355:
 978:Library/src/lcm32f06x_flash.c ****     }
 6119              		.loc 1 978 19 view .LVU1957
 6120              	.LBE1118:
 6121              	.LBE1125:
 951:Library/src/lcm32f06x_flash.c ****   {
 6122              		.loc 1 951 3 is_stmt 1 view .LVU1958
 951:Library/src/lcm32f06x_flash.c ****   {
 6123              		.loc 1 951 6 is_stmt 0 view .LVU1959
 6124 0054 002B     		cmp	r3, #0
 6125 0056 F2D0     		beq	.L491
 6126              	.LVL356:
 6127              	.L569:
 956:Library/src/lcm32f06x_flash.c **** }
 6128              		.loc 1 956 3 is_stmt 1 view .LVU1960
 956:Library/src/lcm32f06x_flash.c **** }
 6129              		.loc 1 956 3 is_stmt 0 view .LVU1961
 6130              	.LBE1130:
 6131              	.LBE1136:
 679:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 6132              		.loc 1 679 3 is_stmt 1 view .LVU1962
 679:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 6133              		.loc 1 679 13 is_stmt 0 view .LVU1963
 6134 0058 524B     		ldr	r3, .L572
 6135 005a 534A     		ldr	r2, .L572+4
 6136 005c 5A61     		str	r2, [r3, #20]
 680:Library/src/lcm32f06x_flash.c ****   {
 6137              		.loc 1 680 3 is_stmt 1 view .LVU1964
 729:Library/src/lcm32f06x_flash.c **** }
 6138              		.loc 1 729 3 view .LVU1965
 729:Library/src/lcm32f06x_flash.c **** }
 6139              		.loc 1 729 10 is_stmt 0 view .LVU1966
 6140 005e F2E7     		b	.L562
 6141              	.LVL357:
 6142              	.L489:
 6143              	.LBB1137:
 6144              	.LBB1131:
 6145              	.LBB1126:
 6146              	.LBB1119:
 6147              	.LBB1113:
 6148              	.LBB1111:
 988:Library/src/lcm32f06x_flash.c ****       }
 6149              		.loc 1 988 9 is_stmt 1 view .LVU1967
 988:Library/src/lcm32f06x_flash.c ****       }
 6150              		.loc 1 988 9 is_stmt 0 view .LVU1968
 6151              	.LBE1111:
 6152              	.LBE1113:
 6153              		.loc 1 993 3 is_stmt 1 view .LVU1969
 6154              		.loc 1 993 3 is_stmt 0 view .LVU1970
 6155              	.LBE1119:
 6156              	.LBE1126:
 948:Library/src/lcm32f06x_flash.c ****   }
ARM GAS  /tmp/cc9cn0cw.s 			page 157


 6157              		.loc 1 948 5 is_stmt 1 view .LVU1971
 945:Library/src/lcm32f06x_flash.c ****   {
 6158              		.loc 1 945 33 view .LVU1972
 951:Library/src/lcm32f06x_flash.c ****   {
 6159              		.loc 1 951 3 view .LVU1973
 951:Library/src/lcm32f06x_flash.c ****   {
 6160              		.loc 1 951 6 is_stmt 0 view .LVU1974
 6161 0060 012B     		cmp	r3, #1
 6162 0062 ECD0     		beq	.L491
 6163              	.LVL358:
 6164              	.L563:
 956:Library/src/lcm32f06x_flash.c **** }
 6165              		.loc 1 956 3 is_stmt 1 view .LVU1975
 956:Library/src/lcm32f06x_flash.c **** }
 6166              		.loc 1 956 3 is_stmt 0 view .LVU1976
 6167              	.LBE1131:
 6168              	.LBE1137:
 679:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 6169              		.loc 1 679 3 is_stmt 1 view .LVU1977
 679:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 6170              		.loc 1 679 13 is_stmt 0 view .LVU1978
 6171 0064 504B     		ldr	r3, .L572+4
 682:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 6172              		.loc 1 682 10 view .LVU1979
 6173 0066 4F4C     		ldr	r4, .L572
 679:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 6174              		.loc 1 679 13 view .LVU1980
 6175 0068 5361     		str	r3, [r2, #20]
 680:Library/src/lcm32f06x_flash.c ****   {
 6176              		.loc 1 680 3 is_stmt 1 view .LVU1981
 682:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 6177              		.loc 1 682 5 view .LVU1982
 682:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 6178              		.loc 1 682 15 is_stmt 0 view .LVU1983
 6179 006a 2022     		movs	r2, #32
 682:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 6180              		.loc 1 682 10 view .LVU1984
 6181 006c 2369     		ldr	r3, [r4, #16]
 682:Library/src/lcm32f06x_flash.c ****     FLASH->CR |= FLASH_CR_STRT_Msk;
 6182              		.loc 1 682 15 view .LVU1985
 6183 006e 1343     		orrs	r3, r2
 6184 0070 2361     		str	r3, [r4, #16]
 683:Library/src/lcm32f06x_flash.c **** 
 6185              		.loc 1 683 5 is_stmt 1 view .LVU1986
 683:Library/src/lcm32f06x_flash.c **** 
 6186              		.loc 1 683 10 is_stmt 0 view .LVU1987
 6187 0072 2369     		ldr	r3, [r4, #16]
 683:Library/src/lcm32f06x_flash.c **** 
 6188              		.loc 1 683 15 view .LVU1988
 6189 0074 2032     		adds	r2, r2, #32
 6190 0076 1343     		orrs	r3, r2
 6191 0078 2361     		str	r3, [r4, #16]
 686:Library/src/lcm32f06x_flash.c **** 
 6192              		.loc 1 686 5 is_stmt 1 view .LVU1989
 6193              	.LBB1138:
 6194              	.LBI1138:
 937:Library/src/lcm32f06x_flash.c **** {
ARM GAS  /tmp/cc9cn0cw.s 			page 158


 6195              		.loc 1 937 14 view .LVU1990
 6196              	.LVL359:
 6197              	.LBB1139:
 939:Library/src/lcm32f06x_flash.c **** 
 6198              		.loc 1 939 3 view .LVU1991
 942:Library/src/lcm32f06x_flash.c **** 
 6199              		.loc 1 942 3 view .LVU1992
 6200              	.LBB1140:
 6201              	.LBI1140:
 966:Library/src/lcm32f06x_flash.c **** {
 6202              		.loc 1 966 14 view .LVU1993
 6203              	.LBB1141:
 968:Library/src/lcm32f06x_flash.c **** 
 6204              		.loc 1 968 3 view .LVU1994
 970:Library/src/lcm32f06x_flash.c ****   {
 6205              		.loc 1 970 3 view .LVU1995
 970:Library/src/lcm32f06x_flash.c ****   {
 6206              		.loc 1 970 13 is_stmt 0 view .LVU1996
 6207 007a E368     		ldr	r3, [r4, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 6208              		.loc 1 970 6 view .LVU1997
 6209 007c DB07     		lsls	r3, r3, #31
 6210 007e 19D5     		bpl	.L570
 6211 0080 B023     		movs	r3, #176
 6212              	.LBE1141:
 6213              	.LBE1140:
 6214              	.LBB1149:
 6215              	.LBB1150:
 970:Library/src/lcm32f06x_flash.c ****   {
 6216              		.loc 1 970 18 view .LVU1998
 6217 0082 0121     		movs	r1, #1
 6218              	.LBE1150:
 6219              	.LBE1149:
 6220              	.LBB1163:
 6221              	.LBB1146:
 6222 0084 1B03     		lsls	r3, r3, #12
 6223              	.LVL360:
 6224              	.L494:
 970:Library/src/lcm32f06x_flash.c ****   {
 6225              		.loc 1 970 18 view .LVU1999
 6226              	.LBE1146:
 6227              	.LBE1163:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 6228              		.loc 1 947 5 is_stmt 1 view .LVU2000
 6229              	.LBB1164:
 6230              	.LBI1149:
 966:Library/src/lcm32f06x_flash.c **** {
 6231              		.loc 1 966 14 view .LVU2001
 6232              	.LBB1157:
 968:Library/src/lcm32f06x_flash.c **** 
 6233              		.loc 1 968 3 view .LVU2002
 970:Library/src/lcm32f06x_flash.c ****   {
 6234              		.loc 1 970 3 view .LVU2003
 970:Library/src/lcm32f06x_flash.c ****   {
 6235              		.loc 1 970 13 is_stmt 0 view .LVU2004
 6236 0086 E268     		ldr	r2, [r4, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
ARM GAS  /tmp/cc9cn0cw.s 			page 159


 6237              		.loc 1 970 6 view .LVU2005
 6238 0088 1142     		tst	r1, r2
 6239 008a 3DD1     		bne	.L497
 976:Library/src/lcm32f06x_flash.c ****     {
 6240              		.loc 1 976 5 is_stmt 1 view .LVU2006
 976:Library/src/lcm32f06x_flash.c ****     {
 6241              		.loc 1 976 15 is_stmt 0 view .LVU2007
 6242 008c E268     		ldr	r2, [r4, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 6243              		.loc 1 976 8 view .LVU2008
 6244 008e D206     		lsls	r2, r2, #27
 6245 0090 58D4     		bmi	.L498
 6246              	.LBB1151:
 6247              	.LBI1151:
 966:Library/src/lcm32f06x_flash.c **** {
 6248              		.loc 1 966 14 is_stmt 1 view .LVU2009
 6249              	.LBB1152:
 982:Library/src/lcm32f06x_flash.c ****       {
 6250              		.loc 1 982 7 view .LVU2010
 982:Library/src/lcm32f06x_flash.c ****       {
 6251              		.loc 1 982 17 is_stmt 0 view .LVU2011
 6252 0092 E268     		ldr	r2, [r4, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 6253              		.loc 1 982 10 view .LVU2012
 6254 0094 5207     		lsls	r2, r2, #29
 6255 0096 67D5     		bpl	.L499
 6256              	.LVL361:
 982:Library/src/lcm32f06x_flash.c ****       {
 6257              		.loc 1 982 10 view .LVU2013
 6258              	.LBE1152:
 6259              	.LBE1151:
 6260              		.loc 1 993 3 is_stmt 1 view .LVU2014
 6261              		.loc 1 993 3 is_stmt 0 view .LVU2015
 6262              	.LBE1157:
 6263              	.LBE1164:
 948:Library/src/lcm32f06x_flash.c ****   }
 6264              		.loc 1 948 5 is_stmt 1 view .LVU2016
 6265              	.LBB1165:
 6266              	.LBB1158:
 6267              	.LBB1155:
 6268              	.LBB1153:
 984:Library/src/lcm32f06x_flash.c ****       }
 6269              		.loc 1 984 21 is_stmt 0 view .LVU2017
 6270 0098 0320     		movs	r0, #3
 6271              	.LVL362:
 984:Library/src/lcm32f06x_flash.c ****       }
 6272              		.loc 1 984 21 view .LVU2018
 6273              	.LBE1153:
 6274              	.LBE1155:
 6275              	.LBE1158:
 6276              	.LBE1165:
 948:Library/src/lcm32f06x_flash.c ****   }
 6277              		.loc 1 948 12 view .LVU2019
 6278 009a 013B     		subs	r3, r3, #1
 6279              	.LVL363:
 945:Library/src/lcm32f06x_flash.c ****   {
 6280              		.loc 1 945 33 is_stmt 1 view .LVU2020
ARM GAS  /tmp/cc9cn0cw.s 			page 160


 6281              	.L500:
 951:Library/src/lcm32f06x_flash.c ****   {
 6282              		.loc 1 951 3 view .LVU2021
 951:Library/src/lcm32f06x_flash.c ****   {
 6283              		.loc 1 951 6 is_stmt 0 view .LVU2022
 6284 009c 002B     		cmp	r3, #0
 6285 009e D1D0     		beq	.L493
 6286              	.L495:
 6287              	.LBE1139:
 6288              	.LBE1138:
 721:Library/src/lcm32f06x_flash.c ****       {
 6289              		.loc 1 721 7 is_stmt 1 view .LVU2023
 724:Library/src/lcm32f06x_flash.c ****       }
 6290              		.loc 1 724 9 view .LVU2024
 724:Library/src/lcm32f06x_flash.c ****       }
 6291              		.loc 1 724 19 is_stmt 0 view .LVU2025
 6292 00a0 1021     		movs	r1, #16
 724:Library/src/lcm32f06x_flash.c ****       }
 6293              		.loc 1 724 14 view .LVU2026
 6294 00a2 404A     		ldr	r2, .L572
 6295 00a4 1369     		ldr	r3, [r2, #16]
 724:Library/src/lcm32f06x_flash.c ****       }
 6296              		.loc 1 724 19 view .LVU2027
 6297 00a6 8B43     		bics	r3, r1
 6298 00a8 1361     		str	r3, [r2, #16]
 6299 00aa CCE7     		b	.L562
 6300              	.LVL364:
 6301              	.L483:
 6302              	.LBB1177:
 6303              	.LBB1132:
 945:Library/src/lcm32f06x_flash.c ****   {
 6304              		.loc 1 945 33 is_stmt 1 view .LVU2028
 951:Library/src/lcm32f06x_flash.c ****   {
 6305              		.loc 1 951 3 view .LVU2029
 956:Library/src/lcm32f06x_flash.c **** }
 6306              		.loc 1 956 3 view .LVU2030
 956:Library/src/lcm32f06x_flash.c **** }
 6307              		.loc 1 956 3 is_stmt 0 view .LVU2031
 6308              	.LBE1132:
 6309              	.LBE1177:
 679:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 6310              		.loc 1 679 3 is_stmt 1 view .LVU2032
 679:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 6311              		.loc 1 679 13 is_stmt 0 view .LVU2033
 6312 00ac 3E4B     		ldr	r3, .L572+4
 6313              	.LBB1178:
 6314              	.LBB1133:
 6315              	.LBB1127:
 6316              	.LBB1103:
 978:Library/src/lcm32f06x_flash.c ****     }
 6317              		.loc 1 978 19 view .LVU2034
 6318 00ae 0220     		movs	r0, #2
 6319              	.LVL365:
 978:Library/src/lcm32f06x_flash.c ****     }
 6320              		.loc 1 978 19 view .LVU2035
 6321              	.LBE1103:
 6322              	.LBE1127:
ARM GAS  /tmp/cc9cn0cw.s 			page 161


 6323              	.LBE1133:
 6324              	.LBE1178:
 679:Library/src/lcm32f06x_flash.c ****   if (status == FLASH_COMPLETE)
 6325              		.loc 1 679 13 view .LVU2036
 6326 00b0 5361     		str	r3, [r2, #20]
 680:Library/src/lcm32f06x_flash.c ****   {
 6327              		.loc 1 680 3 is_stmt 1 view .LVU2037
 6328 00b2 C8E7     		b	.L562
 6329              	.LVL366:
 6330              	.L570:
 6331              	.LBB1179:
 6332              	.LBB1172:
 6333              	.LBB1166:
 6334              	.LBB1147:
 976:Library/src/lcm32f06x_flash.c ****     {
 6335              		.loc 1 976 5 view .LVU2038
 976:Library/src/lcm32f06x_flash.c ****     {
 6336              		.loc 1 976 15 is_stmt 0 view .LVU2039
 6337 00b4 E368     		ldr	r3, [r4, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 6338              		.loc 1 976 8 view .LVU2040
 6339 00b6 DB06     		lsls	r3, r3, #27
 6340 00b8 71D4     		bmi	.L532
 6341              	.LBB1142:
 6342              	.LBI1142:
 966:Library/src/lcm32f06x_flash.c **** {
 6343              		.loc 1 966 14 is_stmt 1 view .LVU2041
 6344              	.LBB1143:
 982:Library/src/lcm32f06x_flash.c ****       {
 6345              		.loc 1 982 7 view .LVU2042
 982:Library/src/lcm32f06x_flash.c ****       {
 6346              		.loc 1 982 17 is_stmt 0 view .LVU2043
 6347 00ba E368     		ldr	r3, [r4, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 6348              		.loc 1 982 10 view .LVU2044
 6349 00bc 5B07     		lsls	r3, r3, #29
 6350 00be 67D4     		bmi	.L529
 6351              	.LVL367:
 6352              	.L496:
 982:Library/src/lcm32f06x_flash.c ****       {
 6353              		.loc 1 982 10 view .LVU2045
 6354              	.LBE1143:
 6355              	.LBE1142:
 6356              	.LBE1147:
 6357              	.LBE1166:
 6358              	.LBE1172:
 6359              	.LBE1179:
 691:Library/src/lcm32f06x_flash.c **** 
 6360              		.loc 1 691 7 is_stmt 1 view .LVU2046
 691:Library/src/lcm32f06x_flash.c **** 
 6361              		.loc 1 691 17 is_stmt 0 view .LVU2047
 6362 00c0 2021     		movs	r1, #32
 6363 00c2 0027     		movs	r7, #0
 699:Library/src/lcm32f06x_flash.c ****           {
 6364              		.loc 1 699 39 view .LVU2048
 6365 00c4 0124     		movs	r4, #1
 6366              	.LBB1180:
ARM GAS  /tmp/cc9cn0cw.s 			page 162


 6367              	.LBB1181:
 6368              	.LBB1182:
 6369              	.LBB1183:
 976:Library/src/lcm32f06x_flash.c ****     {
 6370              		.loc 1 976 20 view .LVU2049
 6371 00c6 1026     		movs	r6, #16
 6372              	.LBE1183:
 6373              	.LBE1182:
 6374              	.LBE1181:
 6375              	.LBE1180:
 691:Library/src/lcm32f06x_flash.c **** 
 6376              		.loc 1 691 12 view .LVU2050
 6377 00c8 364A     		ldr	r2, .L572
 6378 00ca 1369     		ldr	r3, [r2, #16]
 691:Library/src/lcm32f06x_flash.c **** 
 6379              		.loc 1 691 17 view .LVU2051
 6380 00cc 8B43     		bics	r3, r1
 6381 00ce 1361     		str	r3, [r2, #16]
 694:Library/src/lcm32f06x_flash.c ****       for (Rsb_counter = 0; Rsb_counter < 8; Rsb_counter++)
 6382              		.loc 1 694 7 is_stmt 1 view .LVU2052
 694:Library/src/lcm32f06x_flash.c ****       for (Rsb_counter = 0; Rsb_counter < 8; Rsb_counter++)
 6383              		.loc 1 694 12 is_stmt 0 view .LVU2053
 6384 00d0 1369     		ldr	r3, [r2, #16]
 694:Library/src/lcm32f06x_flash.c ****       for (Rsb_counter = 0; Rsb_counter < 8; Rsb_counter++)
 6385              		.loc 1 694 17 view .LVU2054
 6386 00d2 1039     		subs	r1, r1, #16
 6387 00d4 0B43     		orrs	r3, r1
 6388 00d6 1361     		str	r3, [r2, #16]
 695:Library/src/lcm32f06x_flash.c ****       {
 6389              		.loc 1 695 7 is_stmt 1 view .LVU2055
 6390              	.LVL368:
 695:Library/src/lcm32f06x_flash.c ****       {
 6391              		.loc 1 695 41 discriminator 1 view .LVU2056
 697:Library/src/lcm32f06x_flash.c ****         {
 6392              		.loc 1 697 9 view .LVU2057
 6393              	.L502:
 699:Library/src/lcm32f06x_flash.c ****           {
 6394              		.loc 1 699 11 view .LVU2058
 699:Library/src/lcm32f06x_flash.c ****           {
 6395              		.loc 1 699 23 is_stmt 0 view .LVU2059
 6396 00d8 0300     		movs	r3, r0
 6397 00da 3B41     		asrs	r3, r3, r7
 699:Library/src/lcm32f06x_flash.c ****           {
 6398              		.loc 1 699 14 view .LVU2060
 6399 00dc 1C42     		tst	r4, r3
 6400 00de 46D0     		beq	.L503
 701:Library/src/lcm32f06x_flash.c ****           }
 6401              		.loc 1 701 13 is_stmt 1 view .LVU2061
 701:Library/src/lcm32f06x_flash.c ****           }
 6402              		.loc 1 701 34 is_stmt 0 view .LVU2062
 6403 00e0 3B00     		movs	r3, r7
 6404 00e2 3249     		ldr	r1, .L572+8
 6405 00e4 304D     		ldr	r5, .L572+4
 6406 00e6 0833     		adds	r3, r3, #8
 6407 00e8 5B00     		lsls	r3, r3, #1
 6408 00ea 5953     		strh	r1, [r3, r5]
 6409              	.L505:
ARM GAS  /tmp/cc9cn0cw.s 			page 163


 6410              	.LBB1206:
 6411              	.LBB1202:
 6412              	.LBB1192:
 6413              	.LBB1188:
 6414              	.LBB1184:
 6415              	.LBB1185:
 982:Library/src/lcm32f06x_flash.c ****       {
 6416              		.loc 1 982 22 view .LVU2063
 6417 00ec 0425     		movs	r5, #4
 6418              	.LVL369:
 6419              	.L506:
 982:Library/src/lcm32f06x_flash.c ****       {
 6420              		.loc 1 982 22 view .LVU2064
 6421              	.LBE1185:
 6422              	.LBE1184:
 6423              	.LBE1188:
 6424              	.LBE1192:
 6425              	.LBE1202:
 6426              	.LBE1206:
 708:Library/src/lcm32f06x_flash.c ****       }
 6427              		.loc 1 708 9 is_stmt 1 view .LVU2065
 6428              	.LBB1207:
 6429              	.LBI1180:
 937:Library/src/lcm32f06x_flash.c **** {
 6430              		.loc 1 937 14 view .LVU2066
 6431              	.LBB1203:
 939:Library/src/lcm32f06x_flash.c **** 
 6432              		.loc 1 939 3 view .LVU2067
 942:Library/src/lcm32f06x_flash.c **** 
 6433              		.loc 1 942 3 view .LVU2068
 6434              	.LBB1193:
 6435              	.LBI1193:
 966:Library/src/lcm32f06x_flash.c **** {
 6436              		.loc 1 966 14 view .LVU2069
 6437              	.LBB1194:
 968:Library/src/lcm32f06x_flash.c **** 
 6438              		.loc 1 968 3 view .LVU2070
 970:Library/src/lcm32f06x_flash.c ****   {
 6439              		.loc 1 970 3 view .LVU2071
 970:Library/src/lcm32f06x_flash.c ****   {
 6440              		.loc 1 970 13 is_stmt 0 view .LVU2072
 6441 00ee D368     		ldr	r3, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 6442              		.loc 1 970 6 view .LVU2073
 6443 00f0 1C42     		tst	r4, r3
 6444 00f2 2AD1     		bne	.L530
 976:Library/src/lcm32f06x_flash.c ****     {
 6445              		.loc 1 976 5 is_stmt 1 view .LVU2074
 976:Library/src/lcm32f06x_flash.c ****     {
 6446              		.loc 1 976 15 is_stmt 0 view .LVU2075
 6447 00f4 D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 6448              		.loc 1 976 8 view .LVU2076
 6449 00f6 1E42     		tst	r6, r3
 6450 00f8 0CD1     		bne	.L515
 6451              	.LBB1195:
 6452              	.LBI1195:
ARM GAS  /tmp/cc9cn0cw.s 			page 164


 966:Library/src/lcm32f06x_flash.c **** {
 6453              		.loc 1 966 14 is_stmt 1 view .LVU2077
 6454              	.LBB1196:
 982:Library/src/lcm32f06x_flash.c ****       {
 6455              		.loc 1 982 7 view .LVU2078
 982:Library/src/lcm32f06x_flash.c ****       {
 6456              		.loc 1 982 17 is_stmt 0 view .LVU2079
 6457 00fa D368     		ldr	r3, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 6458              		.loc 1 982 10 view .LVU2080
 6459 00fc 5B07     		lsls	r3, r3, #29
 6460 00fe 09D4     		bmi	.L515
 6461              	.LVL370:
 6462              	.L567:
 982:Library/src/lcm32f06x_flash.c ****       {
 6463              		.loc 1 982 10 view .LVU2081
 6464              	.LBE1196:
 6465              	.LBE1195:
 6466              	.LBE1194:
 6467              	.LBE1193:
 956:Library/src/lcm32f06x_flash.c **** }
 6468              		.loc 1 956 3 is_stmt 1 view .LVU2082
 956:Library/src/lcm32f06x_flash.c **** }
 6469              		.loc 1 956 3 is_stmt 0 view .LVU2083
 6470              	.LBE1203:
 6471              	.LBE1207:
 695:Library/src/lcm32f06x_flash.c ****       {
 6472              		.loc 1 695 57 is_stmt 1 discriminator 2 view .LVU2084
 695:Library/src/lcm32f06x_flash.c ****       {
 6473              		.loc 1 695 41 discriminator 1 view .LVU2085
 6474 0100 0137     		adds	r7, r7, #1
 6475              	.LVL371:
 695:Library/src/lcm32f06x_flash.c ****       {
 6476              		.loc 1 695 41 is_stmt 0 discriminator 1 view .LVU2086
 6477 0102 082F     		cmp	r7, #8
 6478 0104 E8D1     		bne	.L502
 6479 0106 08E0     		b	.L517
 6480              	.LVL372:
 6481              	.L497:
 6482              	.LBB1208:
 6483              	.LBB1173:
 6484              	.LBB1167:
 6485              	.LBB1159:
 6486              		.loc 1 993 3 is_stmt 1 view .LVU2087
 6487              		.loc 1 993 3 is_stmt 0 view .LVU2088
 6488              	.LBE1159:
 6489              	.LBE1167:
 948:Library/src/lcm32f06x_flash.c ****   }
 6490              		.loc 1 948 5 is_stmt 1 view .LVU2089
 948:Library/src/lcm32f06x_flash.c ****   }
 6491              		.loc 1 948 12 is_stmt 0 view .LVU2090
 6492 0108 013B     		subs	r3, r3, #1
 6493              	.LVL373:
 945:Library/src/lcm32f06x_flash.c ****   {
 6494              		.loc 1 945 33 is_stmt 1 view .LVU2091
 945:Library/src/lcm32f06x_flash.c ****   {
 6495              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU2092
ARM GAS  /tmp/cc9cn0cw.s 			page 165


 6496 010a 002B     		cmp	r3, #0
 6497 010c BBD1     		bne	.L494
 6498 010e 99E7     		b	.L493
 6499              	.LVL374:
 6500              	.L511:
 945:Library/src/lcm32f06x_flash.c ****   {
 6501              		.loc 1 945 33 discriminator 1 view .LVU2093
 6502              	.LBE1173:
 6503              	.LBE1208:
 6504              	.LBB1209:
 6505              	.LBB1204:
 6506              	.LBB1198:
 6507              	.LBB1189:
 6508              		.loc 1 993 3 is_stmt 1 view .LVU2094
 6509              		.loc 1 993 3 is_stmt 0 view .LVU2095
 6510              	.LBE1189:
 6511              	.LBE1198:
 948:Library/src/lcm32f06x_flash.c ****   }
 6512              		.loc 1 948 5 is_stmt 1 view .LVU2096
 945:Library/src/lcm32f06x_flash.c ****   {
 6513              		.loc 1 945 33 view .LVU2097
 945:Library/src/lcm32f06x_flash.c ****   {
 6514              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU2098
 6515 0110 002B     		cmp	r3, #0
 6516 0112 1CD1     		bne	.L507
 6517              	.LVL375:
 6518              	.L515:
 956:Library/src/lcm32f06x_flash.c **** }
 6519              		.loc 1 956 3 is_stmt 1 view .LVU2099
 956:Library/src/lcm32f06x_flash.c **** }
 6520              		.loc 1 956 3 is_stmt 0 view .LVU2100
 6521              	.LBE1204:
 6522              	.LBE1209:
 695:Library/src/lcm32f06x_flash.c ****       {
 6523              		.loc 1 695 57 is_stmt 1 discriminator 2 view .LVU2101
 695:Library/src/lcm32f06x_flash.c ****       {
 6524              		.loc 1 695 41 discriminator 1 view .LVU2102
 6525 0114 0137     		adds	r7, r7, #1
 6526              	.LVL376:
 695:Library/src/lcm32f06x_flash.c ****       {
 6527              		.loc 1 695 41 is_stmt 0 discriminator 1 view .LVU2103
 6528 0116 082F     		cmp	r7, #8
 6529 0118 E9D1     		bne	.L506
 6530              	.LVL377:
 6531              	.L517:
 711:Library/src/lcm32f06x_flash.c **** 
 6532              		.loc 1 711 7 is_stmt 1 view .LVU2104
 6533              	.LBB1210:
 6534              	.LBI1210:
 937:Library/src/lcm32f06x_flash.c **** {
 6535              		.loc 1 937 14 view .LVU2105
 6536              	.LBB1211:
 939:Library/src/lcm32f06x_flash.c **** 
 6537              		.loc 1 939 3 view .LVU2106
 942:Library/src/lcm32f06x_flash.c **** 
 6538              		.loc 1 942 3 view .LVU2107
 6539              	.LBB1212:
ARM GAS  /tmp/cc9cn0cw.s 			page 166


 6540              	.LBI1212:
 966:Library/src/lcm32f06x_flash.c **** {
 6541              		.loc 1 966 14 view .LVU2108
 6542              	.LBB1213:
 968:Library/src/lcm32f06x_flash.c **** 
 6543              		.loc 1 968 3 view .LVU2109
 970:Library/src/lcm32f06x_flash.c ****   {
 6544              		.loc 1 970 3 view .LVU2110
 970:Library/src/lcm32f06x_flash.c ****   {
 6545              		.loc 1 970 13 is_stmt 0 view .LVU2111
 6546 011a 224A     		ldr	r2, .L572
 6547 011c D368     		ldr	r3, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 6548              		.loc 1 970 6 view .LVU2112
 6549 011e DB07     		lsls	r3, r3, #31
 6550 0120 2CD5     		bpl	.L571
 6551 0122 B023     		movs	r3, #176
 6552              	.LBE1213:
 6553              	.LBE1212:
 6554              	.LBB1219:
 6555              	.LBB1220:
 970:Library/src/lcm32f06x_flash.c ****   {
 6556              		.loc 1 970 18 view .LVU2113
 6557 0124 0120     		movs	r0, #1
 6558              	.LVL378:
 970:Library/src/lcm32f06x_flash.c ****   {
 6559              		.loc 1 970 18 view .LVU2114
 6560              	.LBE1220:
 6561              	.LBE1219:
 6562              	.LBB1227:
 6563              	.LBB1216:
 6564 0126 1B03     		lsls	r3, r3, #12
 6565              	.LVL379:
 6566              	.L520:
 970:Library/src/lcm32f06x_flash.c ****   {
 6567              		.loc 1 970 18 view .LVU2115
 6568              	.LBE1216:
 6569              	.LBE1227:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 6570              		.loc 1 947 5 is_stmt 1 view .LVU2116
 6571              	.LBB1228:
 6572              	.LBI1219:
 966:Library/src/lcm32f06x_flash.c **** {
 6573              		.loc 1 966 14 view .LVU2117
 6574              	.LBB1223:
 968:Library/src/lcm32f06x_flash.c **** 
 6575              		.loc 1 968 3 view .LVU2118
 970:Library/src/lcm32f06x_flash.c ****   {
 6576              		.loc 1 970 3 view .LVU2119
 970:Library/src/lcm32f06x_flash.c ****   {
 6577              		.loc 1 970 13 is_stmt 0 view .LVU2120
 6578 0128 D168     		ldr	r1, [r2, #12]
 6579              	.LBE1223:
 6580              	.LBE1228:
 948:Library/src/lcm32f06x_flash.c ****   }
 6581              		.loc 1 948 12 view .LVU2121
 6582 012a 013B     		subs	r3, r3, #1
ARM GAS  /tmp/cc9cn0cw.s 			page 167


 6583              	.LVL380:
 6584              	.LBB1229:
 6585              	.LBB1224:
 970:Library/src/lcm32f06x_flash.c ****   {
 6586              		.loc 1 970 6 view .LVU2122
 6587 012c 0842     		tst	r0, r1
 6588 012e 31D1     		bne	.L522
 976:Library/src/lcm32f06x_flash.c ****     {
 6589              		.loc 1 976 5 is_stmt 1 view .LVU2123
 976:Library/src/lcm32f06x_flash.c ****     {
 6590              		.loc 1 976 15 is_stmt 0 view .LVU2124
 6591 0130 D168     		ldr	r1, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 6592              		.loc 1 976 8 view .LVU2125
 6593 0132 C906     		lsls	r1, r1, #27
 6594 0134 31D4     		bmi	.L534
 6595              	.LBB1221:
 6596              	.LBI1221:
 966:Library/src/lcm32f06x_flash.c **** {
 6597              		.loc 1 966 14 is_stmt 1 view .LVU2126
 6598              	.LBB1222:
 982:Library/src/lcm32f06x_flash.c ****       {
 6599              		.loc 1 982 7 view .LVU2127
 982:Library/src/lcm32f06x_flash.c ****       {
 6600              		.loc 1 982 22 is_stmt 0 view .LVU2128
 6601 0136 0420     		movs	r0, #4
 982:Library/src/lcm32f06x_flash.c ****       {
 6602              		.loc 1 982 17 view .LVU2129
 6603 0138 D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 6604              		.loc 1 982 22 view .LVU2130
 6605 013a 1040     		ands	r0, r2
 988:Library/src/lcm32f06x_flash.c ****       }
 6606              		.loc 1 988 21 view .LVU2131
 6607 013c 4242     		rsbs	r2, r0, #0
 6608 013e 5041     		adcs	r0, r0, r2
 6609 0140 0330     		adds	r0, r0, #3
 6610 0142 ABE7     		b	.L500
 6611              	.LVL381:
 6612              	.L498:
 988:Library/src/lcm32f06x_flash.c ****       }
 6613              		.loc 1 988 21 view .LVU2132
 6614              	.LBE1222:
 6615              	.LBE1221:
 6616              	.LBE1224:
 6617              	.LBE1229:
 6618              	.LBE1211:
 6619              	.LBE1210:
 6620              	.LBB1236:
 6621              	.LBB1174:
 6622              	.LBB1168:
 6623              	.LBB1160:
 6624              		.loc 1 993 3 is_stmt 1 view .LVU2133
 6625              		.loc 1 993 3 is_stmt 0 view .LVU2134
 6626              	.LBE1160:
 6627              	.LBE1168:
 948:Library/src/lcm32f06x_flash.c ****   }
ARM GAS  /tmp/cc9cn0cw.s 			page 168


 6628              		.loc 1 948 5 is_stmt 1 view .LVU2135
 6629              	.LBB1169:
 6630              	.LBB1161:
 978:Library/src/lcm32f06x_flash.c ****     }
 6631              		.loc 1 978 19 is_stmt 0 view .LVU2136
 6632 0144 0220     		movs	r0, #2
 6633              	.LVL382:
 978:Library/src/lcm32f06x_flash.c ****     }
 6634              		.loc 1 978 19 view .LVU2137
 6635              	.LBE1161:
 6636              	.LBE1169:
 948:Library/src/lcm32f06x_flash.c ****   }
 6637              		.loc 1 948 12 view .LVU2138
 6638 0146 013B     		subs	r3, r3, #1
 6639              	.LVL383:
 945:Library/src/lcm32f06x_flash.c ****   {
 6640              		.loc 1 945 33 is_stmt 1 view .LVU2139
 6641 0148 A8E7     		b	.L500
 6642              	.LVL384:
 6643              	.L530:
 945:Library/src/lcm32f06x_flash.c ****   {
 6644              		.loc 1 945 33 is_stmt 0 view .LVU2140
 6645              	.LBE1174:
 6646              	.LBE1236:
 6647              	.LBB1237:
 6648              	.LBB1205:
 6649              	.LBB1199:
 6650              	.LBB1197:
 6651 014a B023     		movs	r3, #176
 6652 014c 1B03     		lsls	r3, r3, #12
 6653              	.LVL385:
 6654              	.L507:
 945:Library/src/lcm32f06x_flash.c ****   {
 6655              		.loc 1 945 33 view .LVU2141
 6656              	.LBE1197:
 6657              	.LBE1199:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 6658              		.loc 1 947 5 is_stmt 1 view .LVU2142
 6659              	.LBB1200:
 6660              	.LBI1182:
 966:Library/src/lcm32f06x_flash.c **** {
 6661              		.loc 1 966 14 view .LVU2143
 6662              	.LBB1190:
 968:Library/src/lcm32f06x_flash.c **** 
 6663              		.loc 1 968 3 view .LVU2144
 970:Library/src/lcm32f06x_flash.c ****   {
 6664              		.loc 1 970 3 view .LVU2145
 970:Library/src/lcm32f06x_flash.c ****   {
 6665              		.loc 1 970 13 is_stmt 0 view .LVU2146
 6666 014e D168     		ldr	r1, [r2, #12]
 6667              	.LBE1190:
 6668              	.LBE1200:
 948:Library/src/lcm32f06x_flash.c ****   }
 6669              		.loc 1 948 12 view .LVU2147
 6670 0150 013B     		subs	r3, r3, #1
 6671              	.LVL386:
 6672              	.LBB1201:
ARM GAS  /tmp/cc9cn0cw.s 			page 169


 6673              	.LBB1191:
 970:Library/src/lcm32f06x_flash.c ****   {
 6674              		.loc 1 970 6 view .LVU2148
 6675 0152 0C42     		tst	r4, r1
 6676 0154 DCD1     		bne	.L511
 976:Library/src/lcm32f06x_flash.c ****     {
 6677              		.loc 1 976 5 is_stmt 1 view .LVU2149
 976:Library/src/lcm32f06x_flash.c ****     {
 6678              		.loc 1 976 15 is_stmt 0 view .LVU2150
 6679 0156 D168     		ldr	r1, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 6680              		.loc 1 976 8 view .LVU2151
 6681 0158 0E42     		tst	r6, r1
 6682 015a DBD1     		bne	.L515
 6683              	.LBB1187:
 6684              	.LBI1184:
 966:Library/src/lcm32f06x_flash.c **** {
 6685              		.loc 1 966 14 is_stmt 1 view .LVU2152
 6686              	.LBB1186:
 982:Library/src/lcm32f06x_flash.c ****       {
 6687              		.loc 1 982 7 view .LVU2153
 982:Library/src/lcm32f06x_flash.c ****       {
 6688              		.loc 1 982 17 is_stmt 0 view .LVU2154
 6689 015c D168     		ldr	r1, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 6690              		.loc 1 982 10 view .LVU2155
 6691 015e 0D42     		tst	r5, r1
 6692 0160 D8D1     		bne	.L515
 6693              	.LVL387:
 982:Library/src/lcm32f06x_flash.c ****       {
 6694              		.loc 1 982 10 view .LVU2156
 6695              	.LBE1186:
 6696              	.LBE1187:
 6697              	.LBE1191:
 6698              	.LBE1201:
 951:Library/src/lcm32f06x_flash.c ****   {
 6699              		.loc 1 951 3 is_stmt 1 view .LVU2157
 951:Library/src/lcm32f06x_flash.c ****   {
 6700              		.loc 1 951 6 is_stmt 0 view .LVU2158
 6701 0162 002B     		cmp	r3, #0
 6702 0164 CCD1     		bne	.L567
 6703 0166 D5E7     		b	.L515
 6704              	.LVL388:
 6705              	.L499:
 951:Library/src/lcm32f06x_flash.c ****   {
 6706              		.loc 1 951 6 view .LVU2159
 6707              	.LBE1205:
 6708              	.LBE1237:
 6709              	.LBB1238:
 6710              	.LBB1175:
 6711              	.LBB1170:
 6712              	.LBB1162:
 6713              	.LBB1156:
 6714              	.LBB1154:
 988:Library/src/lcm32f06x_flash.c ****       }
 6715              		.loc 1 988 9 is_stmt 1 view .LVU2160
 988:Library/src/lcm32f06x_flash.c ****       }
ARM GAS  /tmp/cc9cn0cw.s 			page 170


 6716              		.loc 1 988 9 is_stmt 0 view .LVU2161
 6717              	.LBE1154:
 6718              	.LBE1156:
 6719              		.loc 1 993 3 is_stmt 1 view .LVU2162
 6720              		.loc 1 993 3 is_stmt 0 view .LVU2163
 6721              	.LBE1162:
 6722              	.LBE1170:
 948:Library/src/lcm32f06x_flash.c ****   }
 6723              		.loc 1 948 5 is_stmt 1 view .LVU2164
 945:Library/src/lcm32f06x_flash.c ****   {
 6724              		.loc 1 945 33 view .LVU2165
 951:Library/src/lcm32f06x_flash.c ****   {
 6725              		.loc 1 951 3 view .LVU2166
 951:Library/src/lcm32f06x_flash.c ****   {
 6726              		.loc 1 951 6 is_stmt 0 view .LVU2167
 6727 0168 012B     		cmp	r3, #1
 6728 016a A9D1     		bne	.L496
 6729 016c 6AE7     		b	.L493
 6730              	.LVL389:
 6731              	.L503:
 951:Library/src/lcm32f06x_flash.c ****   {
 6732              		.loc 1 951 6 view .LVU2168
 6733              	.LBE1175:
 6734              	.LBE1238:
 705:Library/src/lcm32f06x_flash.c ****           }
 6735              		.loc 1 705 13 is_stmt 1 view .LVU2169
 705:Library/src/lcm32f06x_flash.c ****           }
 6736              		.loc 1 705 34 is_stmt 0 view .LVU2170
 6737 016e 3B00     		movs	r3, r7
 6738 0170 0F49     		ldr	r1, .L572+12
 6739 0172 0D4D     		ldr	r5, .L572+4
 6740 0174 0833     		adds	r3, r3, #8
 6741 0176 5B00     		lsls	r3, r3, #1
 6742 0178 5953     		strh	r1, [r3, r5]
 6743 017a B7E7     		b	.L505
 6744              	.LVL390:
 6745              	.L571:
 6746              	.LBB1239:
 6747              	.LBB1234:
 6748              	.LBB1230:
 6749              	.LBB1217:
 976:Library/src/lcm32f06x_flash.c ****     {
 6750              		.loc 1 976 5 is_stmt 1 view .LVU2171
 976:Library/src/lcm32f06x_flash.c ****     {
 6751              		.loc 1 976 15 is_stmt 0 view .LVU2172
 6752 017c D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 6753              		.loc 1 976 8 view .LVU2173
 6754 017e DB06     		lsls	r3, r3, #27
 6755 0180 0DD4     		bmi	.L532
 6756              	.LBB1214:
 6757              	.LBI1214:
 966:Library/src/lcm32f06x_flash.c **** {
 6758              		.loc 1 966 14 is_stmt 1 view .LVU2174
 6759              	.LBB1215:
 982:Library/src/lcm32f06x_flash.c ****       {
 6760              		.loc 1 982 7 view .LVU2175
ARM GAS  /tmp/cc9cn0cw.s 			page 171


 982:Library/src/lcm32f06x_flash.c ****       {
 6761              		.loc 1 982 22 is_stmt 0 view .LVU2176
 6762 0182 0420     		movs	r0, #4
 6763              	.LVL391:
 982:Library/src/lcm32f06x_flash.c ****       {
 6764              		.loc 1 982 17 view .LVU2177
 6765 0184 D368     		ldr	r3, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 6766              		.loc 1 982 22 view .LVU2178
 6767 0186 1840     		ands	r0, r3
 988:Library/src/lcm32f06x_flash.c ****       }
 6768              		.loc 1 988 21 view .LVU2179
 6769 0188 4342     		rsbs	r3, r0, #0
 6770 018a 5841     		adcs	r0, r0, r3
 6771 018c 0330     		adds	r0, r0, #3
 6772 018e 87E7     		b	.L495
 6773              	.LVL392:
 6774              	.L529:
 988:Library/src/lcm32f06x_flash.c ****       }
 6775              		.loc 1 988 21 view .LVU2180
 6776              	.LBE1215:
 6777              	.LBE1214:
 6778              	.LBE1217:
 6779              	.LBE1230:
 6780              	.LBE1234:
 6781              	.LBE1239:
 6782              	.LBB1240:
 6783              	.LBB1176:
 6784              	.LBB1171:
 6785              	.LBB1148:
 6786              	.LBB1145:
 6787              	.LBB1144:
 984:Library/src/lcm32f06x_flash.c ****       }
 6788              		.loc 1 984 21 view .LVU2181
 6789 0190 0320     		movs	r0, #3
 6790              	.LVL393:
 984:Library/src/lcm32f06x_flash.c ****       }
 6791              		.loc 1 984 21 view .LVU2182
 6792 0192 85E7     		b	.L495
 6793              	.LVL394:
 6794              	.L522:
 984:Library/src/lcm32f06x_flash.c ****       }
 6795              		.loc 1 984 21 view .LVU2183
 6796              	.LBE1144:
 6797              	.LBE1145:
 6798              	.LBE1148:
 6799              	.LBE1171:
 6800              	.LBE1176:
 6801              	.LBE1240:
 6802              	.LBB1241:
 6803              	.LBB1235:
 6804              	.LBB1231:
 6805              	.LBB1225:
 6806              		.loc 1 993 3 is_stmt 1 view .LVU2184
 6807              		.loc 1 993 3 is_stmt 0 view .LVU2185
 6808              	.LBE1225:
 6809              	.LBE1231:
ARM GAS  /tmp/cc9cn0cw.s 			page 172


 948:Library/src/lcm32f06x_flash.c ****   }
 6810              		.loc 1 948 5 is_stmt 1 view .LVU2186
 945:Library/src/lcm32f06x_flash.c ****   {
 6811              		.loc 1 945 33 view .LVU2187
 945:Library/src/lcm32f06x_flash.c ****   {
 6812              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU2188
 6813 0194 002B     		cmp	r3, #0
 6814 0196 C7D1     		bne	.L520
 6815 0198 54E7     		b	.L493
 6816              	.LVL395:
 6817              	.L534:
 6818              	.LBB1232:
 6819              	.LBB1226:
 978:Library/src/lcm32f06x_flash.c ****     }
 6820              		.loc 1 978 19 view .LVU2189
 6821 019a 0220     		movs	r0, #2
 6822              	.LVL396:
 978:Library/src/lcm32f06x_flash.c ****     }
 6823              		.loc 1 978 19 view .LVU2190
 6824              	.LBE1226:
 6825              	.LBE1232:
 951:Library/src/lcm32f06x_flash.c ****   {
 6826              		.loc 1 951 3 is_stmt 1 view .LVU2191
 6827 019c 7EE7     		b	.L500
 6828              	.LVL397:
 6829              	.L532:
 6830              	.LBB1233:
 6831              	.LBB1218:
 978:Library/src/lcm32f06x_flash.c ****     }
 6832              		.loc 1 978 19 is_stmt 0 view .LVU2192
 6833 019e 0220     		movs	r0, #2
 6834              	.LVL398:
 978:Library/src/lcm32f06x_flash.c ****     }
 6835              		.loc 1 978 19 view .LVU2193
 6836 01a0 7EE7     		b	.L495
 6837              	.L573:
 6838 01a2 C046     		.align	2
 6839              	.L572:
 6840 01a4 00D00140 		.word	1073860608
 6841 01a8 00F6FF1F 		.word	536868352
 6842 01ac BB330000 		.word	13243
 6843 01b0 AA550000 		.word	21930
 6844              	.LBE1218:
 6845              	.LBE1233:
 6846              	.LBE1235:
 6847              	.LBE1241:
 6848              		.cfi_endproc
 6849              	.LFE63:
 6851              		.section	.text.FLASH_OB_USERConfig,"ax",%progbits
 6852              		.align	1
 6853              		.p2align 2,,3
 6854              		.global	FLASH_OB_USERConfig
 6855              		.syntax unified
 6856              		.code	16
 6857              		.thumb_func
 6859              	FLASH_OB_USERConfig:
 6860              	.LVL399:
ARM GAS  /tmp/cc9cn0cw.s 			page 173


 6861              	.LFB64:
 763:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 6862              		.loc 1 763 1 is_stmt 1 view -0
 6863              		.cfi_startproc
 6864              		@ args = 0, pretend = 0, frame = 0
 6865              		@ frame_needed = 0, uses_anonymous_args = 0
 764:Library/src/lcm32f06x_flash.c ****   uint16_t usertmp;
 6866              		.loc 1 764 3 view .LVU2195
 765:Library/src/lcm32f06x_flash.c **** 
 6867              		.loc 1 765 3 view .LVU2196
 768:Library/src/lcm32f06x_flash.c **** 
 6868              		.loc 1 768 3 view .LVU2197
 6869              	.LBB1262:
 6870              	.LBI1262:
 937:Library/src/lcm32f06x_flash.c **** {
 6871              		.loc 1 937 14 view .LVU2198
 6872              	.LBB1263:
 939:Library/src/lcm32f06x_flash.c **** 
 6873              		.loc 1 939 3 view .LVU2199
 942:Library/src/lcm32f06x_flash.c **** 
 6874              		.loc 1 942 3 view .LVU2200
 6875              	.LBB1264:
 6876              	.LBI1264:
 966:Library/src/lcm32f06x_flash.c **** {
 6877              		.loc 1 966 14 view .LVU2201
 6878              	.LBB1265:
 968:Library/src/lcm32f06x_flash.c **** 
 6879              		.loc 1 968 3 view .LVU2202
 970:Library/src/lcm32f06x_flash.c ****   {
 6880              		.loc 1 970 3 view .LVU2203
 6881              	.LBE1265:
 6882              	.LBE1264:
 6883              	.LBE1263:
 6884              	.LBE1262:
 763:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 6885              		.loc 1 763 1 is_stmt 0 view .LVU2204
 6886 0000 F0B5     		push	{r4, r5, r6, r7, lr}
 6887              	.LCFI10:
 6888              		.cfi_def_cfa_offset 20
 6889              		.cfi_offset 4, -20
 6890              		.cfi_offset 5, -16
 6891              		.cfi_offset 6, -12
 6892              		.cfi_offset 7, -8
 6893              		.cfi_offset 14, -4
 6894              	.LBB1301:
 6895              	.LBB1298:
 6896              	.LBB1273:
 6897              	.LBB1268:
 970:Library/src/lcm32f06x_flash.c ****   {
 6898              		.loc 1 970 13 view .LVU2205
 6899 0002 304D     		ldr	r5, .L608
 6900              	.LBE1268:
 6901              	.LBE1273:
 6902              	.LBE1298:
 6903              	.LBE1301:
 763:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 6904              		.loc 1 763 1 view .LVU2206
ARM GAS  /tmp/cc9cn0cw.s 			page 174


 6905 0004 8446     		mov	ip, r0
 6906              	.LBB1302:
 6907              	.LBB1299:
 6908              	.LBB1274:
 6909              	.LBB1269:
 970:Library/src/lcm32f06x_flash.c ****   {
 6910              		.loc 1 970 13 view .LVU2207
 6911 0006 E868     		ldr	r0, [r5, #12]
 6912              	.LVL400:
 970:Library/src/lcm32f06x_flash.c ****   {
 6913              		.loc 1 970 6 view .LVU2208
 6914 0008 C007     		lsls	r0, r0, #31
 6915 000a 28D4     		bmi	.L589
 976:Library/src/lcm32f06x_flash.c ****     {
 6916              		.loc 1 976 5 is_stmt 1 view .LVU2209
 976:Library/src/lcm32f06x_flash.c ****     {
 6917              		.loc 1 976 15 is_stmt 0 view .LVU2210
 6918 000c E868     		ldr	r0, [r5, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 6919              		.loc 1 976 8 view .LVU2211
 6920 000e C006     		lsls	r0, r0, #27
 6921 0010 40D4     		bmi	.L590
 6922              	.LBB1266:
 6923              	.LBI1266:
 966:Library/src/lcm32f06x_flash.c **** {
 6924              		.loc 1 966 14 is_stmt 1 view .LVU2212
 6925              	.LBB1267:
 982:Library/src/lcm32f06x_flash.c ****       {
 6926              		.loc 1 982 7 view .LVU2213
 982:Library/src/lcm32f06x_flash.c ****       {
 6927              		.loc 1 982 17 is_stmt 0 view .LVU2214
 6928 0012 EC68     		ldr	r4, [r5, #12]
 984:Library/src/lcm32f06x_flash.c ****       }
 6929              		.loc 1 984 21 view .LVU2215
 6930 0014 0320     		movs	r0, #3
 982:Library/src/lcm32f06x_flash.c ****       {
 6931              		.loc 1 982 10 view .LVU2216
 6932 0016 6407     		lsls	r4, r4, #29
 6933 0018 20D4     		bmi	.L601
 6934              	.LVL401:
 6935              	.L578:
 982:Library/src/lcm32f06x_flash.c ****       {
 6936              		.loc 1 982 10 view .LVU2217
 6937              	.LBE1267:
 6938              	.LBE1266:
 6939              	.LBE1269:
 6940              	.LBE1274:
 6941              	.LBE1299:
 6942              	.LBE1302:
 773:Library/src/lcm32f06x_flash.c **** 
 6943              		.loc 1 773 5 is_stmt 1 view .LVU2218
 775:Library/src/lcm32f06x_flash.c ****     OB->USER = usertmp;
 6944              		.loc 1 775 15 is_stmt 0 view .LVU2219
 6945 001a 1340     		ands	r3, r2
 6946              	.LVL402:
 775:Library/src/lcm32f06x_flash.c ****     OB->USER = usertmp;
 6947              		.loc 1 775 13 view .LVU2220
ARM GAS  /tmp/cc9cn0cw.s 			page 175


 6948 001c 6246     		mov	r2, ip
 6949              	.LVL403:
 773:Library/src/lcm32f06x_flash.c **** 
 6950              		.loc 1 773 15 view .LVU2221
 6951 001e 1025     		movs	r5, #16
 773:Library/src/lcm32f06x_flash.c **** 
 6952              		.loc 1 773 10 view .LVU2222
 6953 0020 2848     		ldr	r0, .L608
 775:Library/src/lcm32f06x_flash.c ****     OB->USER = usertmp;
 6954              		.loc 1 775 15 view .LVU2223
 6955 0022 0B40     		ands	r3, r1
 773:Library/src/lcm32f06x_flash.c **** 
 6956              		.loc 1 773 10 view .LVU2224
 6957 0024 0469     		ldr	r4, [r0, #16]
 775:Library/src/lcm32f06x_flash.c ****     OB->USER = usertmp;
 6958              		.loc 1 775 13 view .LVU2225
 6959 0026 1340     		ands	r3, r2
 776:Library/src/lcm32f06x_flash.c ****     /* Wait for last operation to be completed */
 6960              		.loc 1 776 14 view .LVU2226
 6961 0028 274A     		ldr	r2, .L608+4
 773:Library/src/lcm32f06x_flash.c **** 
 6962              		.loc 1 773 15 view .LVU2227
 6963 002a 2C43     		orrs	r4, r5
 6964 002c 0461     		str	r4, [r0, #16]
 775:Library/src/lcm32f06x_flash.c ****     OB->USER = usertmp;
 6965              		.loc 1 775 5 is_stmt 1 view .LVU2228
 6966              	.LVL404:
 776:Library/src/lcm32f06x_flash.c ****     /* Wait for last operation to be completed */
 6967              		.loc 1 776 5 view .LVU2229
 776:Library/src/lcm32f06x_flash.c ****     /* Wait for last operation to be completed */
 6968              		.loc 1 776 14 is_stmt 0 view .LVU2230
 6969 002e 1380     		strh	r3, [r2]
 778:Library/src/lcm32f06x_flash.c **** 
 6970              		.loc 1 778 5 is_stmt 1 view .LVU2231
 6971              	.LBB1303:
 6972              	.LBI1303:
 937:Library/src/lcm32f06x_flash.c **** {
 6973              		.loc 1 937 14 view .LVU2232
 6974              	.LVL405:
 6975              	.LBB1304:
 939:Library/src/lcm32f06x_flash.c **** 
 6976              		.loc 1 939 3 view .LVU2233
 942:Library/src/lcm32f06x_flash.c **** 
 6977              		.loc 1 942 3 view .LVU2234
 6978              	.LBB1305:
 6979              	.LBI1305:
 966:Library/src/lcm32f06x_flash.c **** {
 6980              		.loc 1 966 14 view .LVU2235
 6981              	.LBB1306:
 968:Library/src/lcm32f06x_flash.c **** 
 6982              		.loc 1 968 3 view .LVU2236
 970:Library/src/lcm32f06x_flash.c ****   {
 6983              		.loc 1 970 3 view .LVU2237
 970:Library/src/lcm32f06x_flash.c ****   {
 6984              		.loc 1 970 13 is_stmt 0 view .LVU2238
 6985 0030 C368     		ldr	r3, [r0, #12]
 6986              	.LVL406:
ARM GAS  /tmp/cc9cn0cw.s 			page 176


 970:Library/src/lcm32f06x_flash.c ****   {
 6987              		.loc 1 970 6 view .LVU2239
 6988 0032 DB07     		lsls	r3, r3, #31
 6989 0034 30D5     		bpl	.L607
 6990 0036 B023     		movs	r3, #176
 6991              	.LBE1306:
 6992              	.LBE1305:
 6993              	.LBB1312:
 6994              	.LBB1313:
 970:Library/src/lcm32f06x_flash.c ****   {
 6995              		.loc 1 970 18 view .LVU2240
 6996 0038 0121     		movs	r1, #1
 6997              	.LVL407:
 970:Library/src/lcm32f06x_flash.c ****   {
 6998              		.loc 1 970 18 view .LVU2241
 6999              	.LBE1313:
 7000              	.LBE1312:
 7001              	.LBB1320:
 7002              	.LBB1309:
 7003 003a 1B03     		lsls	r3, r3, #12
 7004              	.LVL408:
 7005              	.L584:
 970:Library/src/lcm32f06x_flash.c ****   {
 7006              		.loc 1 970 18 view .LVU2242
 7007              	.LBE1309:
 7008              	.LBE1320:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 7009              		.loc 1 947 5 is_stmt 1 view .LVU2243
 7010              	.LBB1321:
 7011              	.LBI1312:
 966:Library/src/lcm32f06x_flash.c **** {
 7012              		.loc 1 966 14 view .LVU2244
 7013              	.LBB1316:
 968:Library/src/lcm32f06x_flash.c **** 
 7014              		.loc 1 968 3 view .LVU2245
 970:Library/src/lcm32f06x_flash.c ****   {
 7015              		.loc 1 970 3 view .LVU2246
 970:Library/src/lcm32f06x_flash.c ****   {
 7016              		.loc 1 970 13 is_stmt 0 view .LVU2247
 7017 003c C268     		ldr	r2, [r0, #12]
 7018              	.LBE1316:
 7019              	.LBE1321:
 948:Library/src/lcm32f06x_flash.c ****   }
 7020              		.loc 1 948 12 view .LVU2248
 7021 003e 013B     		subs	r3, r3, #1
 7022              	.LVL409:
 7023              	.LBB1322:
 7024              	.LBB1317:
 970:Library/src/lcm32f06x_flash.c ****   {
 7025              		.loc 1 970 6 view .LVU2249
 7026 0040 1142     		tst	r1, r2
 7027 0042 38D1     		bne	.L586
 976:Library/src/lcm32f06x_flash.c ****     {
 7028              		.loc 1 976 5 is_stmt 1 view .LVU2250
 976:Library/src/lcm32f06x_flash.c ****     {
 7029              		.loc 1 976 15 is_stmt 0 view .LVU2251
 7030 0044 C268     		ldr	r2, [r0, #12]
ARM GAS  /tmp/cc9cn0cw.s 			page 177


 976:Library/src/lcm32f06x_flash.c ****     {
 7031              		.loc 1 976 8 view .LVU2252
 7032 0046 D206     		lsls	r2, r2, #27
 7033 0048 38D4     		bmi	.L595
 7034              	.LBB1314:
 7035              	.LBI1314:
 966:Library/src/lcm32f06x_flash.c **** {
 7036              		.loc 1 966 14 is_stmt 1 view .LVU2253
 7037              	.LBB1315:
 982:Library/src/lcm32f06x_flash.c ****       {
 7038              		.loc 1 982 7 view .LVU2254
 982:Library/src/lcm32f06x_flash.c ****       {
 7039              		.loc 1 982 17 is_stmt 0 view .LVU2255
 7040 004a C268     		ldr	r2, [r0, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 7041              		.loc 1 982 22 view .LVU2256
 7042 004c 0420     		movs	r0, #4
 7043 004e 1040     		ands	r0, r2
 988:Library/src/lcm32f06x_flash.c ****       }
 7044              		.loc 1 988 21 view .LVU2257
 7045 0050 4242     		rsbs	r2, r0, #0
 7046 0052 5041     		adcs	r0, r0, r2
 7047 0054 0330     		adds	r0, r0, #3
 7048              	.L587:
 7049              	.LVL410:
 988:Library/src/lcm32f06x_flash.c ****       }
 7050              		.loc 1 988 21 view .LVU2258
 7051              	.LBE1315:
 7052              	.LBE1314:
 7053              	.LBE1317:
 7054              	.LBE1322:
 951:Library/src/lcm32f06x_flash.c ****   {
 7055              		.loc 1 951 3 is_stmt 1 view .LVU2259
 951:Library/src/lcm32f06x_flash.c ****   {
 7056              		.loc 1 951 6 is_stmt 0 view .LVU2260
 7057 0056 002B     		cmp	r3, #0
 7058 0058 27D1     		bne	.L588
 7059              	.LVL411:
 7060              	.L583:
 951:Library/src/lcm32f06x_flash.c ****   {
 7061              		.loc 1 951 6 view .LVU2261
 7062              	.LBE1304:
 7063              	.LBE1303:
 768:Library/src/lcm32f06x_flash.c **** 
 7064              		.loc 1 768 12 view .LVU2262
 7065 005a 0520     		movs	r0, #5
 7066              	.L601:
 788:Library/src/lcm32f06x_flash.c **** 
 7067              		.loc 1 788 1 view .LVU2263
 7068              		@ sp needed
 7069 005c F0BD     		pop	{r4, r5, r6, r7, pc}
 7070              	.LVL412:
 7071              	.L589:
 7072              	.LBB1329:
 7073              	.LBB1300:
 7074              	.LBB1275:
 7075              	.LBB1270:
ARM GAS  /tmp/cc9cn0cw.s 			page 178


 788:Library/src/lcm32f06x_flash.c **** 
 7076              		.loc 1 788 1 view .LVU2264
 7077 005e B024     		movs	r4, #176
 7078              	.LBE1270:
 7079              	.LBE1275:
 7080              	.LBB1276:
 7081              	.LBB1277:
 970:Library/src/lcm32f06x_flash.c ****   {
 7082              		.loc 1 970 18 view .LVU2265
 7083 0060 0127     		movs	r7, #1
 7084              	.LBE1277:
 7085              	.LBE1276:
 7086              	.LBB1290:
 7087              	.LBB1271:
 7088 0062 2403     		lsls	r4, r4, #12
 7089              	.LVL413:
 7090              	.L575:
 970:Library/src/lcm32f06x_flash.c ****   {
 7091              		.loc 1 970 18 view .LVU2266
 7092              	.LBE1271:
 7093              	.LBE1290:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 7094              		.loc 1 947 5 is_stmt 1 view .LVU2267
 7095              	.LBB1291:
 7096              	.LBI1276:
 966:Library/src/lcm32f06x_flash.c **** {
 7097              		.loc 1 966 14 view .LVU2268
 7098              	.LBB1284:
 968:Library/src/lcm32f06x_flash.c **** 
 7099              		.loc 1 968 3 view .LVU2269
 970:Library/src/lcm32f06x_flash.c ****   {
 7100              		.loc 1 970 3 view .LVU2270
 970:Library/src/lcm32f06x_flash.c ****   {
 7101              		.loc 1 970 13 is_stmt 0 view .LVU2271
 7102 0064 EE68     		ldr	r6, [r5, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 7103              		.loc 1 970 6 view .LVU2272
 7104 0066 3742     		tst	r7, r6
 7105 0068 0AD1     		bne	.L579
 976:Library/src/lcm32f06x_flash.c ****     {
 7106              		.loc 1 976 5 is_stmt 1 view .LVU2273
 976:Library/src/lcm32f06x_flash.c ****     {
 7107              		.loc 1 976 15 is_stmt 0 view .LVU2274
 7108 006a EE68     		ldr	r6, [r5, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 7109              		.loc 1 976 8 view .LVU2275
 7110 006c F606     		lsls	r6, r6, #27
 7111 006e 0BD4     		bmi	.L580
 7112              	.LBB1278:
 7113              	.LBI1278:
 966:Library/src/lcm32f06x_flash.c **** {
 7114              		.loc 1 966 14 is_stmt 1 view .LVU2276
 7115              	.LBB1279:
 982:Library/src/lcm32f06x_flash.c ****       {
 7116              		.loc 1 982 7 view .LVU2277
 982:Library/src/lcm32f06x_flash.c ****       {
 7117              		.loc 1 982 17 is_stmt 0 view .LVU2278
ARM GAS  /tmp/cc9cn0cw.s 			page 179


 7118 0070 ED68     		ldr	r5, [r5, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 7119              		.loc 1 982 10 view .LVU2279
 7120 0072 6D07     		lsls	r5, r5, #29
 7121 0074 0BD5     		bpl	.L581
 7122              	.LVL414:
 982:Library/src/lcm32f06x_flash.c ****       {
 7123              		.loc 1 982 10 view .LVU2280
 7124              	.LBE1279:
 7125              	.LBE1278:
 7126              		.loc 1 993 3 is_stmt 1 view .LVU2281
 7127              		.loc 1 993 3 is_stmt 0 view .LVU2282
 7128              	.LBE1284:
 7129              	.LBE1291:
 948:Library/src/lcm32f06x_flash.c ****   }
 7130              		.loc 1 948 5 is_stmt 1 view .LVU2283
 7131              	.LBB1292:
 7132              	.LBB1285:
 7133              	.LBB1282:
 7134              	.LBB1280:
 984:Library/src/lcm32f06x_flash.c ****       }
 7135              		.loc 1 984 21 is_stmt 0 view .LVU2284
 7136 0076 0320     		movs	r0, #3
 7137              	.LBE1280:
 7138              	.LBE1282:
 7139              	.LBE1285:
 7140              	.LBE1292:
 948:Library/src/lcm32f06x_flash.c ****   }
 7141              		.loc 1 948 12 view .LVU2285
 7142 0078 013C     		subs	r4, r4, #1
 7143              	.LVL415:
 945:Library/src/lcm32f06x_flash.c ****   {
 7144              		.loc 1 945 33 is_stmt 1 view .LVU2286
 7145              	.L582:
 951:Library/src/lcm32f06x_flash.c ****   {
 7146              		.loc 1 951 3 view .LVU2287
 951:Library/src/lcm32f06x_flash.c ****   {
 7147              		.loc 1 951 6 is_stmt 0 view .LVU2288
 7148 007a 002C     		cmp	r4, #0
 7149 007c EED1     		bne	.L601
 7150 007e ECE7     		b	.L583
 7151              	.LVL416:
 7152              	.L579:
 7153              	.LBB1293:
 7154              	.LBB1286:
 7155              		.loc 1 993 3 is_stmt 1 view .LVU2289
 7156              		.loc 1 993 3 is_stmt 0 view .LVU2290
 7157              	.LBE1286:
 7158              	.LBE1293:
 948:Library/src/lcm32f06x_flash.c ****   }
 7159              		.loc 1 948 5 is_stmt 1 view .LVU2291
 948:Library/src/lcm32f06x_flash.c ****   }
 7160              		.loc 1 948 12 is_stmt 0 view .LVU2292
 7161 0080 013C     		subs	r4, r4, #1
 7162              	.LVL417:
 945:Library/src/lcm32f06x_flash.c ****   {
 7163              		.loc 1 945 33 is_stmt 1 view .LVU2293
ARM GAS  /tmp/cc9cn0cw.s 			page 180


 945:Library/src/lcm32f06x_flash.c ****   {
 7164              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU2294
 7165 0082 002C     		cmp	r4, #0
 7166 0084 EED1     		bne	.L575
 7167 0086 E8E7     		b	.L583
 7168              	.LVL418:
 7169              	.L580:
 7170              	.LBB1294:
 7171              	.LBB1287:
 7172              		.loc 1 993 3 is_stmt 1 view .LVU2295
 7173              		.loc 1 993 3 is_stmt 0 view .LVU2296
 7174              	.LBE1287:
 7175              	.LBE1294:
 948:Library/src/lcm32f06x_flash.c ****   }
 7176              		.loc 1 948 5 is_stmt 1 view .LVU2297
 7177              	.LBB1295:
 7178              	.LBB1288:
 978:Library/src/lcm32f06x_flash.c ****     }
 7179              		.loc 1 978 19 is_stmt 0 view .LVU2298
 7180 0088 0220     		movs	r0, #2
 7181              	.LBE1288:
 7182              	.LBE1295:
 948:Library/src/lcm32f06x_flash.c ****   }
 7183              		.loc 1 948 12 view .LVU2299
 7184 008a 013C     		subs	r4, r4, #1
 7185              	.LVL419:
 945:Library/src/lcm32f06x_flash.c ****   {
 7186              		.loc 1 945 33 is_stmt 1 view .LVU2300
 7187 008c F5E7     		b	.L582
 7188              	.LVL420:
 7189              	.L581:
 7190              	.LBB1296:
 7191              	.LBB1289:
 7192              	.LBB1283:
 7193              	.LBB1281:
 988:Library/src/lcm32f06x_flash.c ****       }
 7194              		.loc 1 988 9 view .LVU2301
 988:Library/src/lcm32f06x_flash.c ****       }
 7195              		.loc 1 988 9 is_stmt 0 view .LVU2302
 7196              	.LBE1281:
 7197              	.LBE1283:
 7198              		.loc 1 993 3 is_stmt 1 view .LVU2303
 7199              		.loc 1 993 3 is_stmt 0 view .LVU2304
 7200              	.LBE1289:
 7201              	.LBE1296:
 948:Library/src/lcm32f06x_flash.c ****   }
 7202              		.loc 1 948 5 is_stmt 1 view .LVU2305
 945:Library/src/lcm32f06x_flash.c ****   {
 7203              		.loc 1 945 33 view .LVU2306
 951:Library/src/lcm32f06x_flash.c ****   {
 7204              		.loc 1 951 3 view .LVU2307
 951:Library/src/lcm32f06x_flash.c ****   {
 7205              		.loc 1 951 6 is_stmt 0 view .LVU2308
 7206 008e 012C     		cmp	r4, #1
 7207 0090 E3D0     		beq	.L583
 7208 0092 C2E7     		b	.L578
 7209              	.LVL421:
ARM GAS  /tmp/cc9cn0cw.s 			page 181


 7210              	.L590:
 7211              	.LBB1297:
 7212              	.LBB1272:
 978:Library/src/lcm32f06x_flash.c ****     }
 7213              		.loc 1 978 19 view .LVU2309
 7214 0094 0220     		movs	r0, #2
 7215              	.LVL422:
 978:Library/src/lcm32f06x_flash.c ****     }
 7216              		.loc 1 978 19 view .LVU2310
 7217              	.LBE1272:
 7218              	.LBE1297:
 7219              	.LBE1300:
 7220              	.LBE1329:
 787:Library/src/lcm32f06x_flash.c **** }
 7221              		.loc 1 787 3 is_stmt 1 view .LVU2311
 787:Library/src/lcm32f06x_flash.c **** }
 7222              		.loc 1 787 10 is_stmt 0 view .LVU2312
 7223 0096 E1E7     		b	.L601
 7224              	.LVL423:
 7225              	.L607:
 7226              	.LBB1330:
 7227              	.LBB1327:
 7228              	.LBB1323:
 7229              	.LBB1310:
 976:Library/src/lcm32f06x_flash.c ****     {
 7230              		.loc 1 976 5 is_stmt 1 view .LVU2313
 976:Library/src/lcm32f06x_flash.c ****     {
 7231              		.loc 1 976 15 is_stmt 0 view .LVU2314
 7232 0098 C368     		ldr	r3, [r0, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 7233              		.loc 1 976 8 view .LVU2315
 7234 009a 1D42     		tst	r5, r3
 7235 009c 10D1     		bne	.L593
 7236              	.LBB1307:
 7237              	.LBI1307:
 966:Library/src/lcm32f06x_flash.c **** {
 7238              		.loc 1 966 14 is_stmt 1 view .LVU2316
 7239              	.LBB1308:
 982:Library/src/lcm32f06x_flash.c ****       {
 7240              		.loc 1 982 7 view .LVU2317
 982:Library/src/lcm32f06x_flash.c ****       {
 7241              		.loc 1 982 17 is_stmt 0 view .LVU2318
 7242 009e C368     		ldr	r3, [r0, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 7243              		.loc 1 982 22 view .LVU2319
 7244 00a0 0420     		movs	r0, #4
 7245 00a2 1840     		ands	r0, r3
 988:Library/src/lcm32f06x_flash.c ****       }
 7246              		.loc 1 988 21 view .LVU2320
 7247 00a4 4342     		rsbs	r3, r0, #0
 7248 00a6 5841     		adcs	r0, r0, r3
 7249 00a8 0330     		adds	r0, r0, #3
 7250              	.LVL424:
 7251              	.L588:
 988:Library/src/lcm32f06x_flash.c ****       }
 7252              		.loc 1 988 21 view .LVU2321
 7253              	.LBE1308:
ARM GAS  /tmp/cc9cn0cw.s 			page 182


 7254              	.LBE1307:
 7255              	.LBE1310:
 7256              	.LBE1323:
 956:Library/src/lcm32f06x_flash.c **** }
 7257              		.loc 1 956 3 is_stmt 1 view .LVU2322
 956:Library/src/lcm32f06x_flash.c **** }
 7258              		.loc 1 956 3 is_stmt 0 view .LVU2323
 7259              	.LBE1327:
 7260              	.LBE1330:
 780:Library/src/lcm32f06x_flash.c ****     {
 7261              		.loc 1 780 5 is_stmt 1 view .LVU2324
 783:Library/src/lcm32f06x_flash.c ****     }
 7262              		.loc 1 783 7 view .LVU2325
 783:Library/src/lcm32f06x_flash.c ****     }
 7263              		.loc 1 783 17 is_stmt 0 view .LVU2326
 7264 00aa 1021     		movs	r1, #16
 783:Library/src/lcm32f06x_flash.c ****     }
 7265              		.loc 1 783 12 view .LVU2327
 7266 00ac 054A     		ldr	r2, .L608
 7267 00ae 1369     		ldr	r3, [r2, #16]
 783:Library/src/lcm32f06x_flash.c ****     }
 7268              		.loc 1 783 17 view .LVU2328
 7269 00b0 8B43     		bics	r3, r1
 7270 00b2 1361     		str	r3, [r2, #16]
 7271              	.LVL425:
 783:Library/src/lcm32f06x_flash.c ****     }
 7272              		.loc 1 783 17 view .LVU2329
 7273 00b4 D2E7     		b	.L601
 7274              	.LVL426:
 7275              	.L586:
 7276              	.LBB1331:
 7277              	.LBB1328:
 7278              	.LBB1324:
 7279              	.LBB1318:
 7280              		.loc 1 993 3 is_stmt 1 view .LVU2330
 7281              		.loc 1 993 3 is_stmt 0 view .LVU2331
 7282              	.LBE1318:
 7283              	.LBE1324:
 948:Library/src/lcm32f06x_flash.c ****   }
 7284              		.loc 1 948 5 is_stmt 1 view .LVU2332
 945:Library/src/lcm32f06x_flash.c ****   {
 7285              		.loc 1 945 33 view .LVU2333
 945:Library/src/lcm32f06x_flash.c ****   {
 7286              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU2334
 7287 00b6 002B     		cmp	r3, #0
 7288 00b8 C0D1     		bne	.L584
 7289 00ba CEE7     		b	.L583
 7290              	.LVL427:
 7291              	.L595:
 7292              	.LBB1325:
 7293              	.LBB1319:
 978:Library/src/lcm32f06x_flash.c ****     }
 7294              		.loc 1 978 19 view .LVU2335
 7295 00bc 0220     		movs	r0, #2
 7296 00be CAE7     		b	.L587
 7297              	.LVL428:
 7298              	.L593:
ARM GAS  /tmp/cc9cn0cw.s 			page 183


 978:Library/src/lcm32f06x_flash.c ****     }
 7299              		.loc 1 978 19 view .LVU2336
 7300              	.LBE1319:
 7301              	.LBE1325:
 7302              	.LBB1326:
 7303              	.LBB1311:
 7304 00c0 0220     		movs	r0, #2
 7305 00c2 F2E7     		b	.L588
 7306              	.L609:
 7307              		.align	2
 7308              	.L608:
 7309 00c4 00D00140 		.word	1073860608
 7310 00c8 00F6FF1F 		.word	536868352
 7311              	.LBE1311:
 7312              	.LBE1326:
 7313              	.LBE1328:
 7314              	.LBE1331:
 7315              		.cfi_endproc
 7316              	.LFE64:
 7318              		.section	.text.FLASH_OB_ProgramData,"ax",%progbits
 7319              		.align	1
 7320              		.p2align 2,,3
 7321              		.global	FLASH_OB_ProgramData
 7322              		.syntax unified
 7323              		.code	16
 7324              		.thumb_func
 7326              	FLASH_OB_ProgramData:
 7327              	.LVL429:
 7328              	.LFB65:
 810:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 7329              		.loc 1 810 1 is_stmt 1 view -0
 7330              		.cfi_startproc
 7331              		@ args = 0, pretend = 0, frame = 0
 7332              		@ frame_needed = 0, uses_anonymous_args = 0
 811:Library/src/lcm32f06x_flash.c ****   assert_param(IS_OB_USER_DATA(DATAx));
 7333              		.loc 1 811 3 view .LVU2338
 812:Library/src/lcm32f06x_flash.c **** 
 7334              		.loc 1 812 3 view .LVU2339
 815:Library/src/lcm32f06x_flash.c **** 
 7335              		.loc 1 815 3 view .LVU2340
 7336              	.LBB1352:
 7337              	.LBI1352:
 937:Library/src/lcm32f06x_flash.c **** {
 7338              		.loc 1 937 14 view .LVU2341
 7339              	.LBB1353:
 939:Library/src/lcm32f06x_flash.c **** 
 7340              		.loc 1 939 3 view .LVU2342
 942:Library/src/lcm32f06x_flash.c **** 
 7341              		.loc 1 942 3 view .LVU2343
 7342              	.LBB1354:
 7343              	.LBI1354:
 966:Library/src/lcm32f06x_flash.c **** {
 7344              		.loc 1 966 14 view .LVU2344
 7345              	.LBB1355:
 968:Library/src/lcm32f06x_flash.c **** 
 7346              		.loc 1 968 3 view .LVU2345
 970:Library/src/lcm32f06x_flash.c ****   {
ARM GAS  /tmp/cc9cn0cw.s 			page 184


 7347              		.loc 1 970 3 view .LVU2346
 970:Library/src/lcm32f06x_flash.c ****   {
 7348              		.loc 1 970 13 is_stmt 0 view .LVU2347
 7349 0000 304A     		ldr	r2, .L644
 7350              	.LBE1355:
 7351              	.LBE1354:
 7352              	.LBE1353:
 7353              	.LBE1352:
 810:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 7354              		.loc 1 810 1 view .LVU2348
 7355 0002 70B5     		push	{r4, r5, r6, lr}
 7356              	.LCFI11:
 7357              		.cfi_def_cfa_offset 16
 7358              		.cfi_offset 4, -16
 7359              		.cfi_offset 5, -12
 7360              		.cfi_offset 6, -8
 7361              		.cfi_offset 14, -4
 7362              	.LBB1391:
 7363              	.LBB1388:
 7364              	.LBB1363:
 7365              	.LBB1358:
 970:Library/src/lcm32f06x_flash.c ****   {
 7366              		.loc 1 970 13 view .LVU2349
 7367 0004 D368     		ldr	r3, [r2, #12]
 7368              	.LBE1358:
 7369              	.LBE1363:
 7370              	.LBE1388:
 7371              	.LBE1391:
 810:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 7372              		.loc 1 810 1 view .LVU2350
 7373 0006 0600     		movs	r6, r0
 7374              	.LBB1392:
 7375              	.LBB1389:
 7376              	.LBB1364:
 7377              	.LBB1359:
 970:Library/src/lcm32f06x_flash.c ****   {
 7378              		.loc 1 970 6 view .LVU2351
 7379 0008 DB07     		lsls	r3, r3, #31
 7380 000a 27D4     		bmi	.L625
 976:Library/src/lcm32f06x_flash.c ****     {
 7381              		.loc 1 976 5 is_stmt 1 view .LVU2352
 976:Library/src/lcm32f06x_flash.c ****     {
 7382              		.loc 1 976 15 is_stmt 0 view .LVU2353
 7383 000c D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 7384              		.loc 1 976 8 view .LVU2354
 7385 000e DB06     		lsls	r3, r3, #27
 7386 0010 3FD4     		bmi	.L626
 7387              	.LBB1356:
 7388              	.LBI1356:
 966:Library/src/lcm32f06x_flash.c **** {
 7389              		.loc 1 966 14 is_stmt 1 view .LVU2355
 7390              	.LBB1357:
 982:Library/src/lcm32f06x_flash.c ****       {
 7391              		.loc 1 982 7 view .LVU2356
 982:Library/src/lcm32f06x_flash.c ****       {
 7392              		.loc 1 982 17 is_stmt 0 view .LVU2357
ARM GAS  /tmp/cc9cn0cw.s 			page 185


 7393 0012 D368     		ldr	r3, [r2, #12]
 984:Library/src/lcm32f06x_flash.c ****       }
 7394              		.loc 1 984 21 view .LVU2358
 7395 0014 0320     		movs	r0, #3
 7396              	.LVL430:
 982:Library/src/lcm32f06x_flash.c ****       {
 7397              		.loc 1 982 10 view .LVU2359
 7398 0016 5B07     		lsls	r3, r3, #29
 7399 0018 1FD4     		bmi	.L637
 7400              	.LVL431:
 7401              	.L614:
 982:Library/src/lcm32f06x_flash.c ****       {
 7402              		.loc 1 982 10 view .LVU2360
 7403              	.LBE1357:
 7404              	.LBE1356:
 7405              	.LBE1359:
 7406              	.LBE1364:
 7407              	.LBE1389:
 7408              	.LBE1392:
 820:Library/src/lcm32f06x_flash.c **** 
 7409              		.loc 1 820 5 is_stmt 1 view .LVU2361
 820:Library/src/lcm32f06x_flash.c **** 
 7410              		.loc 1 820 15 is_stmt 0 view .LVU2362
 7411 001a 1020     		movs	r0, #16
 820:Library/src/lcm32f06x_flash.c **** 
 7412              		.loc 1 820 10 view .LVU2363
 7413 001c 294A     		ldr	r2, .L644
 822:Library/src/lcm32f06x_flash.c **** 
 7414              		.loc 1 822 21 view .LVU2364
 7415 001e 7600     		lsls	r6, r6, #1
 7416              	.LVL432:
 820:Library/src/lcm32f06x_flash.c **** 
 7417              		.loc 1 820 10 view .LVU2365
 7418 0020 1369     		ldr	r3, [r2, #16]
 820:Library/src/lcm32f06x_flash.c **** 
 7419              		.loc 1 820 15 view .LVU2366
 7420 0022 0343     		orrs	r3, r0
 7421 0024 1361     		str	r3, [r2, #16]
 822:Library/src/lcm32f06x_flash.c **** 
 7422              		.loc 1 822 5 is_stmt 1 view .LVU2367
 822:Library/src/lcm32f06x_flash.c **** 
 7423              		.loc 1 822 21 is_stmt 0 view .LVU2368
 7424 0026 284B     		ldr	r3, .L644+4
 7425 0028 9C46     		mov	ip, r3
 7426 002a 6644     		add	r6, r6, ip
 7427 002c 7180     		strh	r1, [r6, #2]
 825:Library/src/lcm32f06x_flash.c **** 
 7428              		.loc 1 825 5 is_stmt 1 view .LVU2369
 7429              	.LBB1393:
 7430              	.LBI1393:
 937:Library/src/lcm32f06x_flash.c **** {
 7431              		.loc 1 937 14 view .LVU2370
 7432              	.LVL433:
 7433              	.LBB1394:
 939:Library/src/lcm32f06x_flash.c **** 
 7434              		.loc 1 939 3 view .LVU2371
 942:Library/src/lcm32f06x_flash.c **** 
ARM GAS  /tmp/cc9cn0cw.s 			page 186


 7435              		.loc 1 942 3 view .LVU2372
 7436              	.LBB1395:
 7437              	.LBI1395:
 966:Library/src/lcm32f06x_flash.c **** {
 7438              		.loc 1 966 14 view .LVU2373
 7439              	.LBB1396:
 968:Library/src/lcm32f06x_flash.c **** 
 7440              		.loc 1 968 3 view .LVU2374
 970:Library/src/lcm32f06x_flash.c ****   {
 7441              		.loc 1 970 3 view .LVU2375
 970:Library/src/lcm32f06x_flash.c ****   {
 7442              		.loc 1 970 13 is_stmt 0 view .LVU2376
 7443 002e D368     		ldr	r3, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 7444              		.loc 1 970 6 view .LVU2377
 7445 0030 DB07     		lsls	r3, r3, #31
 7446 0032 30D5     		bpl	.L643
 7447 0034 B023     		movs	r3, #176
 7448              	.LBE1396:
 7449              	.LBE1395:
 7450              	.LBB1402:
 7451              	.LBB1403:
 970:Library/src/lcm32f06x_flash.c ****   {
 7452              		.loc 1 970 18 view .LVU2378
 7453 0036 0120     		movs	r0, #1
 7454              	.LBE1403:
 7455              	.LBE1402:
 7456              	.LBB1410:
 7457              	.LBB1399:
 7458 0038 1B03     		lsls	r3, r3, #12
 7459              	.LVL434:
 7460              	.L620:
 970:Library/src/lcm32f06x_flash.c ****   {
 7461              		.loc 1 970 18 view .LVU2379
 7462              	.LBE1399:
 7463              	.LBE1410:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 7464              		.loc 1 947 5 is_stmt 1 view .LVU2380
 7465              	.LBB1411:
 7466              	.LBI1402:
 966:Library/src/lcm32f06x_flash.c **** {
 7467              		.loc 1 966 14 view .LVU2381
 7468              	.LBB1406:
 968:Library/src/lcm32f06x_flash.c **** 
 7469              		.loc 1 968 3 view .LVU2382
 970:Library/src/lcm32f06x_flash.c ****   {
 7470              		.loc 1 970 3 view .LVU2383
 970:Library/src/lcm32f06x_flash.c ****   {
 7471              		.loc 1 970 13 is_stmt 0 view .LVU2384
 7472 003a D168     		ldr	r1, [r2, #12]
 7473              	.LBE1406:
 7474              	.LBE1411:
 948:Library/src/lcm32f06x_flash.c ****   }
 7475              		.loc 1 948 12 view .LVU2385
 7476 003c 013B     		subs	r3, r3, #1
 7477              	.LVL435:
 7478              	.LBB1412:
ARM GAS  /tmp/cc9cn0cw.s 			page 187


 7479              	.LBB1407:
 970:Library/src/lcm32f06x_flash.c ****   {
 7480              		.loc 1 970 6 view .LVU2386
 7481 003e 0842     		tst	r0, r1
 7482 0040 38D1     		bne	.L622
 976:Library/src/lcm32f06x_flash.c ****     {
 7483              		.loc 1 976 5 is_stmt 1 view .LVU2387
 976:Library/src/lcm32f06x_flash.c ****     {
 7484              		.loc 1 976 15 is_stmt 0 view .LVU2388
 7485 0042 D168     		ldr	r1, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 7486              		.loc 1 976 8 view .LVU2389
 7487 0044 C906     		lsls	r1, r1, #27
 7488 0046 38D4     		bmi	.L631
 7489              	.LBB1404:
 7490              	.LBI1404:
 966:Library/src/lcm32f06x_flash.c **** {
 7491              		.loc 1 966 14 is_stmt 1 view .LVU2390
 7492              	.LBB1405:
 982:Library/src/lcm32f06x_flash.c ****       {
 7493              		.loc 1 982 7 view .LVU2391
 982:Library/src/lcm32f06x_flash.c ****       {
 7494              		.loc 1 982 22 is_stmt 0 view .LVU2392
 7495 0048 0420     		movs	r0, #4
 982:Library/src/lcm32f06x_flash.c ****       {
 7496              		.loc 1 982 17 view .LVU2393
 7497 004a D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 7498              		.loc 1 982 22 view .LVU2394
 7499 004c 1040     		ands	r0, r2
 988:Library/src/lcm32f06x_flash.c ****       }
 7500              		.loc 1 988 21 view .LVU2395
 7501 004e 4242     		rsbs	r2, r0, #0
 7502 0050 5041     		adcs	r0, r0, r2
 7503 0052 0330     		adds	r0, r0, #3
 7504              	.L623:
 7505              	.LVL436:
 988:Library/src/lcm32f06x_flash.c ****       }
 7506              		.loc 1 988 21 view .LVU2396
 7507              	.LBE1405:
 7508              	.LBE1404:
 7509              	.LBE1407:
 7510              	.LBE1412:
 951:Library/src/lcm32f06x_flash.c ****   {
 7511              		.loc 1 951 3 is_stmt 1 view .LVU2397
 951:Library/src/lcm32f06x_flash.c ****   {
 7512              		.loc 1 951 6 is_stmt 0 view .LVU2398
 7513 0054 002B     		cmp	r3, #0
 7514 0056 27D1     		bne	.L624
 7515              	.L619:
 7516              	.LBE1394:
 7517              	.LBE1393:
 815:Library/src/lcm32f06x_flash.c **** 
 7518              		.loc 1 815 12 view .LVU2399
 7519 0058 0520     		movs	r0, #5
 7520              	.L637:
 835:Library/src/lcm32f06x_flash.c **** 
ARM GAS  /tmp/cc9cn0cw.s 			page 188


 7521              		.loc 1 835 1 view .LVU2400
 7522              		@ sp needed
 7523 005a 70BD     		pop	{r4, r5, r6, pc}
 7524              	.LVL437:
 7525              	.L625:
 7526              	.LBB1419:
 7527              	.LBB1390:
 7528              	.LBB1365:
 7529              	.LBB1360:
 835:Library/src/lcm32f06x_flash.c **** 
 7530              		.loc 1 835 1 view .LVU2401
 7531 005c B023     		movs	r3, #176
 7532              	.LBE1360:
 7533              	.LBE1365:
 7534              	.LBB1366:
 7535              	.LBB1367:
 970:Library/src/lcm32f06x_flash.c ****   {
 7536              		.loc 1 970 18 view .LVU2402
 7537 005e 0125     		movs	r5, #1
 7538              	.LBE1367:
 7539              	.LBE1366:
 7540              	.LBB1380:
 7541              	.LBB1361:
 7542 0060 1B03     		lsls	r3, r3, #12
 7543              	.LVL438:
 7544              	.L611:
 970:Library/src/lcm32f06x_flash.c ****   {
 7545              		.loc 1 970 18 view .LVU2403
 7546              	.LBE1361:
 7547              	.LBE1380:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 7548              		.loc 1 947 5 is_stmt 1 view .LVU2404
 7549              	.LBB1381:
 7550              	.LBI1366:
 966:Library/src/lcm32f06x_flash.c **** {
 7551              		.loc 1 966 14 view .LVU2405
 7552              	.LBB1374:
 968:Library/src/lcm32f06x_flash.c **** 
 7553              		.loc 1 968 3 view .LVU2406
 970:Library/src/lcm32f06x_flash.c ****   {
 7554              		.loc 1 970 3 view .LVU2407
 970:Library/src/lcm32f06x_flash.c ****   {
 7555              		.loc 1 970 13 is_stmt 0 view .LVU2408
 7556 0062 D468     		ldr	r4, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 7557              		.loc 1 970 6 view .LVU2409
 7558 0064 2542     		tst	r5, r4
 7559 0066 0AD1     		bne	.L615
 976:Library/src/lcm32f06x_flash.c ****     {
 7560              		.loc 1 976 5 is_stmt 1 view .LVU2410
 976:Library/src/lcm32f06x_flash.c ****     {
 7561              		.loc 1 976 15 is_stmt 0 view .LVU2411
 7562 0068 D468     		ldr	r4, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 7563              		.loc 1 976 8 view .LVU2412
 7564 006a E406     		lsls	r4, r4, #27
 7565 006c 0BD4     		bmi	.L616
ARM GAS  /tmp/cc9cn0cw.s 			page 189


 7566              	.LBB1368:
 7567              	.LBI1368:
 966:Library/src/lcm32f06x_flash.c **** {
 7568              		.loc 1 966 14 is_stmt 1 view .LVU2413
 7569              	.LBB1369:
 982:Library/src/lcm32f06x_flash.c ****       {
 7570              		.loc 1 982 7 view .LVU2414
 982:Library/src/lcm32f06x_flash.c ****       {
 7571              		.loc 1 982 17 is_stmt 0 view .LVU2415
 7572 006e D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 7573              		.loc 1 982 10 view .LVU2416
 7574 0070 5207     		lsls	r2, r2, #29
 7575 0072 0BD5     		bpl	.L617
 7576              	.LVL439:
 982:Library/src/lcm32f06x_flash.c ****       {
 7577              		.loc 1 982 10 view .LVU2417
 7578              	.LBE1369:
 7579              	.LBE1368:
 7580              		.loc 1 993 3 is_stmt 1 view .LVU2418
 7581              		.loc 1 993 3 is_stmt 0 view .LVU2419
 7582              	.LBE1374:
 7583              	.LBE1381:
 948:Library/src/lcm32f06x_flash.c ****   }
 7584              		.loc 1 948 5 is_stmt 1 view .LVU2420
 7585              	.LBB1382:
 7586              	.LBB1375:
 7587              	.LBB1372:
 7588              	.LBB1370:
 984:Library/src/lcm32f06x_flash.c ****       }
 7589              		.loc 1 984 21 is_stmt 0 view .LVU2421
 7590 0074 0320     		movs	r0, #3
 7591              	.LVL440:
 984:Library/src/lcm32f06x_flash.c ****       }
 7592              		.loc 1 984 21 view .LVU2422
 7593              	.LBE1370:
 7594              	.LBE1372:
 7595              	.LBE1375:
 7596              	.LBE1382:
 948:Library/src/lcm32f06x_flash.c ****   }
 7597              		.loc 1 948 12 view .LVU2423
 7598 0076 013B     		subs	r3, r3, #1
 7599              	.LVL441:
 945:Library/src/lcm32f06x_flash.c ****   {
 7600              		.loc 1 945 33 is_stmt 1 view .LVU2424
 7601              	.L618:
 951:Library/src/lcm32f06x_flash.c ****   {
 7602              		.loc 1 951 3 view .LVU2425
 951:Library/src/lcm32f06x_flash.c ****   {
 7603              		.loc 1 951 6 is_stmt 0 view .LVU2426
 7604 0078 002B     		cmp	r3, #0
 7605 007a EED1     		bne	.L637
 7606 007c ECE7     		b	.L619
 7607              	.LVL442:
 7608              	.L615:
 7609              	.LBB1383:
 7610              	.LBB1376:
ARM GAS  /tmp/cc9cn0cw.s 			page 190


 7611              		.loc 1 993 3 is_stmt 1 view .LVU2427
 7612              		.loc 1 993 3 is_stmt 0 view .LVU2428
 7613              	.LBE1376:
 7614              	.LBE1383:
 948:Library/src/lcm32f06x_flash.c ****   }
 7615              		.loc 1 948 5 is_stmt 1 view .LVU2429
 948:Library/src/lcm32f06x_flash.c ****   }
 7616              		.loc 1 948 12 is_stmt 0 view .LVU2430
 7617 007e 013B     		subs	r3, r3, #1
 7618              	.LVL443:
 945:Library/src/lcm32f06x_flash.c ****   {
 7619              		.loc 1 945 33 is_stmt 1 view .LVU2431
 945:Library/src/lcm32f06x_flash.c ****   {
 7620              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU2432
 7621 0080 002B     		cmp	r3, #0
 7622 0082 EED1     		bne	.L611
 7623 0084 E8E7     		b	.L619
 7624              	.LVL444:
 7625              	.L616:
 7626              	.LBB1384:
 7627              	.LBB1377:
 7628              		.loc 1 993 3 is_stmt 1 view .LVU2433
 7629              		.loc 1 993 3 is_stmt 0 view .LVU2434
 7630              	.LBE1377:
 7631              	.LBE1384:
 948:Library/src/lcm32f06x_flash.c ****   }
 7632              		.loc 1 948 5 is_stmt 1 view .LVU2435
 7633              	.LBB1385:
 7634              	.LBB1378:
 978:Library/src/lcm32f06x_flash.c ****     }
 7635              		.loc 1 978 19 is_stmt 0 view .LVU2436
 7636 0086 0220     		movs	r0, #2
 7637              	.LVL445:
 978:Library/src/lcm32f06x_flash.c ****     }
 7638              		.loc 1 978 19 view .LVU2437
 7639              	.LBE1378:
 7640              	.LBE1385:
 948:Library/src/lcm32f06x_flash.c ****   }
 7641              		.loc 1 948 12 view .LVU2438
 7642 0088 013B     		subs	r3, r3, #1
 7643              	.LVL446:
 945:Library/src/lcm32f06x_flash.c ****   {
 7644              		.loc 1 945 33 is_stmt 1 view .LVU2439
 7645 008a F5E7     		b	.L618
 7646              	.LVL447:
 7647              	.L617:
 7648              	.LBB1386:
 7649              	.LBB1379:
 7650              	.LBB1373:
 7651              	.LBB1371:
 988:Library/src/lcm32f06x_flash.c ****       }
 7652              		.loc 1 988 9 view .LVU2440
 988:Library/src/lcm32f06x_flash.c ****       }
 7653              		.loc 1 988 9 is_stmt 0 view .LVU2441
 7654              	.LBE1371:
 7655              	.LBE1373:
 7656              		.loc 1 993 3 is_stmt 1 view .LVU2442
ARM GAS  /tmp/cc9cn0cw.s 			page 191


 7657              		.loc 1 993 3 is_stmt 0 view .LVU2443
 7658              	.LBE1379:
 7659              	.LBE1386:
 948:Library/src/lcm32f06x_flash.c ****   }
 7660              		.loc 1 948 5 is_stmt 1 view .LVU2444
 945:Library/src/lcm32f06x_flash.c ****   {
 7661              		.loc 1 945 33 view .LVU2445
 951:Library/src/lcm32f06x_flash.c ****   {
 7662              		.loc 1 951 3 view .LVU2446
 951:Library/src/lcm32f06x_flash.c ****   {
 7663              		.loc 1 951 6 is_stmt 0 view .LVU2447
 7664 008c 012B     		cmp	r3, #1
 7665 008e E3D0     		beq	.L619
 7666 0090 C3E7     		b	.L614
 7667              	.LVL448:
 7668              	.L626:
 7669              	.LBB1387:
 7670              	.LBB1362:
 978:Library/src/lcm32f06x_flash.c ****     }
 7671              		.loc 1 978 19 view .LVU2448
 7672 0092 0220     		movs	r0, #2
 7673              	.LVL449:
 978:Library/src/lcm32f06x_flash.c ****     }
 7674              		.loc 1 978 19 view .LVU2449
 7675              	.LBE1362:
 7676              	.LBE1387:
 7677              	.LBE1390:
 7678              	.LBE1419:
 834:Library/src/lcm32f06x_flash.c **** }
 7679              		.loc 1 834 3 is_stmt 1 view .LVU2450
 834:Library/src/lcm32f06x_flash.c **** }
 7680              		.loc 1 834 10 is_stmt 0 view .LVU2451
 7681 0094 E1E7     		b	.L637
 7682              	.LVL450:
 7683              	.L643:
 7684              	.LBB1420:
 7685              	.LBB1417:
 7686              	.LBB1413:
 7687              	.LBB1400:
 976:Library/src/lcm32f06x_flash.c ****     {
 7688              		.loc 1 976 5 is_stmt 1 view .LVU2452
 976:Library/src/lcm32f06x_flash.c ****     {
 7689              		.loc 1 976 15 is_stmt 0 view .LVU2453
 7690 0096 D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 7691              		.loc 1 976 8 view .LVU2454
 7692 0098 1842     		tst	r0, r3
 7693 009a 10D1     		bne	.L629
 7694              	.LBB1397:
 7695              	.LBI1397:
 966:Library/src/lcm32f06x_flash.c **** {
 7696              		.loc 1 966 14 is_stmt 1 view .LVU2455
 7697              	.LBB1398:
 982:Library/src/lcm32f06x_flash.c ****       {
 7698              		.loc 1 982 7 view .LVU2456
 982:Library/src/lcm32f06x_flash.c ****       {
 7699              		.loc 1 982 17 is_stmt 0 view .LVU2457
ARM GAS  /tmp/cc9cn0cw.s 			page 192


 7700 009c D368     		ldr	r3, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 7701              		.loc 1 982 22 view .LVU2458
 7702 009e 0C38     		subs	r0, r0, #12
 7703 00a0 1840     		ands	r0, r3
 988:Library/src/lcm32f06x_flash.c ****       }
 7704              		.loc 1 988 21 view .LVU2459
 7705 00a2 4342     		rsbs	r3, r0, #0
 7706 00a4 5841     		adcs	r0, r0, r3
 7707 00a6 0330     		adds	r0, r0, #3
 7708              	.LVL451:
 7709              	.L624:
 988:Library/src/lcm32f06x_flash.c ****       }
 7710              		.loc 1 988 21 view .LVU2460
 7711              	.LBE1398:
 7712              	.LBE1397:
 7713              	.LBE1400:
 7714              	.LBE1413:
 956:Library/src/lcm32f06x_flash.c **** }
 7715              		.loc 1 956 3 is_stmt 1 view .LVU2461
 956:Library/src/lcm32f06x_flash.c **** }
 7716              		.loc 1 956 3 is_stmt 0 view .LVU2462
 7717              	.LBE1417:
 7718              	.LBE1420:
 827:Library/src/lcm32f06x_flash.c ****     {
 7719              		.loc 1 827 5 is_stmt 1 view .LVU2463
 830:Library/src/lcm32f06x_flash.c ****     }
 7720              		.loc 1 830 7 view .LVU2464
 830:Library/src/lcm32f06x_flash.c ****     }
 7721              		.loc 1 830 17 is_stmt 0 view .LVU2465
 7722 00a8 1021     		movs	r1, #16
 830:Library/src/lcm32f06x_flash.c ****     }
 7723              		.loc 1 830 12 view .LVU2466
 7724 00aa 064A     		ldr	r2, .L644
 7725 00ac 1369     		ldr	r3, [r2, #16]
 830:Library/src/lcm32f06x_flash.c ****     }
 7726              		.loc 1 830 17 view .LVU2467
 7727 00ae 8B43     		bics	r3, r1
 7728 00b0 1361     		str	r3, [r2, #16]
 7729 00b2 D2E7     		b	.L637
 7730              	.LVL452:
 7731              	.L622:
 7732              	.LBB1421:
 7733              	.LBB1418:
 7734              	.LBB1414:
 7735              	.LBB1408:
 7736              		.loc 1 993 3 is_stmt 1 view .LVU2468
 7737              		.loc 1 993 3 is_stmt 0 view .LVU2469
 7738              	.LBE1408:
 7739              	.LBE1414:
 948:Library/src/lcm32f06x_flash.c ****   }
 7740              		.loc 1 948 5 is_stmt 1 view .LVU2470
 945:Library/src/lcm32f06x_flash.c ****   {
 7741              		.loc 1 945 33 view .LVU2471
 945:Library/src/lcm32f06x_flash.c ****   {
 7742              		.loc 1 945 33 is_stmt 0 discriminator 1 view .LVU2472
 7743 00b4 002B     		cmp	r3, #0
ARM GAS  /tmp/cc9cn0cw.s 			page 193


 7744 00b6 C0D1     		bne	.L620
 7745 00b8 CEE7     		b	.L619
 7746              	.LVL453:
 7747              	.L631:
 7748              	.LBB1415:
 7749              	.LBB1409:
 978:Library/src/lcm32f06x_flash.c ****     }
 7750              		.loc 1 978 19 view .LVU2473
 7751 00ba 0220     		movs	r0, #2
 7752 00bc CAE7     		b	.L623
 7753              	.LVL454:
 7754              	.L629:
 978:Library/src/lcm32f06x_flash.c ****     }
 7755              		.loc 1 978 19 view .LVU2474
 7756              	.LBE1409:
 7757              	.LBE1415:
 7758              	.LBB1416:
 7759              	.LBB1401:
 7760 00be 0220     		movs	r0, #2
 7761 00c0 F2E7     		b	.L624
 7762              	.L645:
 7763 00c2 C046     		.align	2
 7764              	.L644:
 7765 00c4 00D00140 		.word	1073860608
 7766 00c8 00F6FF1F 		.word	536868352
 7767              	.LBE1401:
 7768              	.LBE1416:
 7769              	.LBE1418:
 7770              	.LBE1421:
 7771              		.cfi_endproc
 7772              	.LFE65:
 7774              		.section	.text.FLASH_ITConfig,"ax",%progbits
 7775              		.align	1
 7776              		.p2align 2,,3
 7777              		.global	FLASH_ITConfig
 7778              		.syntax unified
 7779              		.code	16
 7780              		.thumb_func
 7782              	FLASH_ITConfig:
 7783              	.LVL455:
 7784              	.LFB66:
 850:Library/src/lcm32f06x_flash.c ****   /* Check the parameters */
 7785              		.loc 1 850 1 is_stmt 1 view -0
 7786              		.cfi_startproc
 7787              		@ args = 0, pretend = 0, frame = 0
 7788              		@ frame_needed = 0, uses_anonymous_args = 0
 7789              		@ link register save eliminated.
 852:Library/src/lcm32f06x_flash.c ****   assert_param(IS_FUNCTIONAL_STATE(NewState));
 7790              		.loc 1 852 3 view .LVU2476
 853:Library/src/lcm32f06x_flash.c **** 
 7791              		.loc 1 853 3 view .LVU2477
 855:Library/src/lcm32f06x_flash.c ****   {
 7792              		.loc 1 855 3 view .LVU2478
 858:Library/src/lcm32f06x_flash.c ****   }
 7793              		.loc 1 858 10 is_stmt 0 view .LVU2479
 7794 0000 044A     		ldr	r2, .L649
 7795 0002 1369     		ldr	r3, [r2, #16]
ARM GAS  /tmp/cc9cn0cw.s 			page 194


 855:Library/src/lcm32f06x_flash.c ****   {
 7796              		.loc 1 855 6 view .LVU2480
 7797 0004 0029     		cmp	r1, #0
 7798 0006 02D0     		beq	.L647
 858:Library/src/lcm32f06x_flash.c ****   }
 7799              		.loc 1 858 5 is_stmt 1 view .LVU2481
 858:Library/src/lcm32f06x_flash.c ****   }
 7800              		.loc 1 858 15 is_stmt 0 view .LVU2482
 7801 0008 0343     		orrs	r3, r0
 7802 000a 1361     		str	r3, [r2, #16]
 7803              	.L646:
 865:Library/src/lcm32f06x_flash.c **** 
 7804              		.loc 1 865 1 view .LVU2483
 7805              		@ sp needed
 7806 000c 7047     		bx	lr
 7807              	.L647:
 863:Library/src/lcm32f06x_flash.c ****   }
 7808              		.loc 1 863 5 is_stmt 1 view .LVU2484
 863:Library/src/lcm32f06x_flash.c ****   }
 7809              		.loc 1 863 15 is_stmt 0 view .LVU2485
 7810 000e 8343     		bics	r3, r0
 7811 0010 1361     		str	r3, [r2, #16]
 865:Library/src/lcm32f06x_flash.c **** 
 7812              		.loc 1 865 1 view .LVU2486
 7813 0012 FBE7     		b	.L646
 7814              	.L650:
 7815              		.align	2
 7816              	.L649:
 7817 0014 00D00140 		.word	1073860608
 7818              		.cfi_endproc
 7819              	.LFE66:
 7821              		.section	.text.FLASH_GetFlagStatus,"ax",%progbits
 7822              		.align	1
 7823              		.p2align 2,,3
 7824              		.global	FLASH_GetFlagStatus
 7825              		.syntax unified
 7826              		.code	16
 7827              		.thumb_func
 7829              	FLASH_GetFlagStatus:
 7830              	.LVL456:
 7831              	.LFB67:
 882:Library/src/lcm32f06x_flash.c ****   FlagStatus bitstatus = RESET;
 7832              		.loc 1 882 1 is_stmt 1 view -0
 7833              		.cfi_startproc
 7834              		@ args = 0, pretend = 0, frame = 0
 7835              		@ frame_needed = 0, uses_anonymous_args = 0
 7836              		@ link register save eliminated.
 883:Library/src/lcm32f06x_flash.c **** 
 7837              		.loc 1 883 3 view .LVU2488
 886:Library/src/lcm32f06x_flash.c **** 
 7838              		.loc 1 886 3 view .LVU2489
 888:Library/src/lcm32f06x_flash.c ****   {
 7839              		.loc 1 888 3 view .LVU2490
 888:Library/src/lcm32f06x_flash.c ****   {
 7840              		.loc 1 888 13 is_stmt 0 view .LVU2491
 7841 0000 034B     		ldr	r3, .L652
 898:Library/src/lcm32f06x_flash.c **** 
ARM GAS  /tmp/cc9cn0cw.s 			page 195


 7842              		.loc 1 898 1 view .LVU2492
 7843              		@ sp needed
 888:Library/src/lcm32f06x_flash.c ****   {
 7844              		.loc 1 888 13 view .LVU2493
 7845 0002 DB68     		ldr	r3, [r3, #12]
 7846              	.LVL457:
 897:Library/src/lcm32f06x_flash.c **** }
 7847              		.loc 1 897 3 is_stmt 1 view .LVU2494
 888:Library/src/lcm32f06x_flash.c ****   {
 7848              		.loc 1 888 18 is_stmt 0 view .LVU2495
 7849 0004 1840     		ands	r0, r3
 7850              	.LVL458:
 888:Library/src/lcm32f06x_flash.c ****   {
 7851              		.loc 1 888 6 view .LVU2496
 7852 0006 431E     		subs	r3, r0, #1
 7853 0008 9841     		sbcs	r0, r0, r3
 7854              	.LVL459:
 897:Library/src/lcm32f06x_flash.c **** }
 7855              		.loc 1 897 10 discriminator 1 view .LVU2497
 7856 000a C0B2     		uxtb	r0, r0
 898:Library/src/lcm32f06x_flash.c **** 
 7857              		.loc 1 898 1 view .LVU2498
 7858 000c 7047     		bx	lr
 7859              	.L653:
 7860 000e C046     		.align	2
 7861              	.L652:
 7862 0010 00D00140 		.word	1073860608
 7863              		.cfi_endproc
 7864              	.LFE67:
 7866              		.section	.text.FLASH_OB_GetUser,"ax",%progbits
 7867              		.align	1
 7868              		.p2align 2,,3
 7869              		.global	FLASH_OB_GetUser
 7870              		.syntax unified
 7871              		.code	16
 7872              		.thumb_func
 7874              	FLASH_OB_GetUser:
 7875              	.LFB68:
 909:Library/src/lcm32f06x_flash.c ****   /* Return the User Option Byte */
 7876              		.loc 1 909 1 is_stmt 1 view -0
 7877              		.cfi_startproc
 7878              		@ args = 0, pretend = 0, frame = 0
 7879              		@ frame_needed = 0, uses_anonymous_args = 0
 7880              		@ link register save eliminated.
 911:Library/src/lcm32f06x_flash.c **** }
 7881              		.loc 1 911 3 view .LVU2500
 911:Library/src/lcm32f06x_flash.c **** }
 7882              		.loc 1 911 25 is_stmt 0 view .LVU2501
 7883 0000 024B     		ldr	r3, .L655
 912:Library/src/lcm32f06x_flash.c **** 
 7884              		.loc 1 912 1 view .LVU2502
 7885              		@ sp needed
 911:Library/src/lcm32f06x_flash.c **** }
 7886              		.loc 1 911 25 view .LVU2503
 7887 0002 9869     		ldr	r0, [r3, #24]
 911:Library/src/lcm32f06x_flash.c **** }
 7888              		.loc 1 911 31 view .LVU2504
ARM GAS  /tmp/cc9cn0cw.s 			page 196


 7889 0004 000A     		lsrs	r0, r0, #8
 911:Library/src/lcm32f06x_flash.c **** }
 7890              		.loc 1 911 10 discriminator 1 view .LVU2505
 7891 0006 C0B2     		uxtb	r0, r0
 912:Library/src/lcm32f06x_flash.c **** 
 7892              		.loc 1 912 1 view .LVU2506
 7893 0008 7047     		bx	lr
 7894              	.L656:
 7895 000a C046     		.align	2
 7896              	.L655:
 7897 000c 00D00140 		.word	1073860608
 7898              		.cfi_endproc
 7899              	.LFE68:
 7901              		.section	.text.FLASH_OB_GetWRP,"ax",%progbits
 7902              		.align	1
 7903              		.p2align 2,,3
 7904              		.global	FLASH_OB_GetWRP
 7905              		.syntax unified
 7906              		.code	16
 7907              		.thumb_func
 7909              	FLASH_OB_GetWRP:
 7910              	.LFB69:
 923:Library/src/lcm32f06x_flash.c ****   /* Return the FLASH write protection Register value */
 7911              		.loc 1 923 1 is_stmt 1 view -0
 7912              		.cfi_startproc
 7913              		@ args = 0, pretend = 0, frame = 0
 7914              		@ frame_needed = 0, uses_anonymous_args = 0
 7915              		@ link register save eliminated.
 925:Library/src/lcm32f06x_flash.c **** }
 7916              		.loc 1 925 3 view .LVU2508
 925:Library/src/lcm32f06x_flash.c **** }
 7917              		.loc 1 925 10 is_stmt 0 view .LVU2509
 7918 0000 014B     		ldr	r3, .L658
 926:Library/src/lcm32f06x_flash.c **** 
 7919              		.loc 1 926 1 view .LVU2510
 7920              		@ sp needed
 925:Library/src/lcm32f06x_flash.c **** }
 7921              		.loc 1 925 10 view .LVU2511
 7922 0002 586A     		ldr	r0, [r3, #36]
 926:Library/src/lcm32f06x_flash.c **** 
 7923              		.loc 1 926 1 view .LVU2512
 7924 0004 7047     		bx	lr
 7925              	.L659:
 7926 0006 C046     		.align	2
 7927              	.L658:
 7928 0008 00D00140 		.word	1073860608
 7929              		.cfi_endproc
 7930              	.LFE69:
 7932              		.section	.text.FLASH_WaitForLastOperation,"ax",%progbits
 7933              		.align	1
 7934              		.p2align 2,,3
 7935              		.global	FLASH_WaitForLastOperation
 7936              		.syntax unified
 7937              		.code	16
 7938              		.thumb_func
 7940              	FLASH_WaitForLastOperation:
 7941              	.LVL460:
ARM GAS  /tmp/cc9cn0cw.s 			page 197


 7942              	.LFB70:
 938:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 7943              		.loc 1 938 1 is_stmt 1 view -0
 7944              		.cfi_startproc
 7945              		@ args = 0, pretend = 0, frame = 0
 7946              		@ frame_needed = 0, uses_anonymous_args = 0
 7947              		@ link register save eliminated.
 939:Library/src/lcm32f06x_flash.c **** 
 7948              		.loc 1 939 3 view .LVU2514
 942:Library/src/lcm32f06x_flash.c **** 
 7949              		.loc 1 942 3 view .LVU2515
 7950              	.LBB1430:
 7951              	.LBI1430:
 966:Library/src/lcm32f06x_flash.c **** {
 7952              		.loc 1 966 14 view .LVU2516
 7953              	.LBB1431:
 968:Library/src/lcm32f06x_flash.c **** 
 7954              		.loc 1 968 3 view .LVU2517
 970:Library/src/lcm32f06x_flash.c ****   {
 7955              		.loc 1 970 3 view .LVU2518
 970:Library/src/lcm32f06x_flash.c ****   {
 7956              		.loc 1 970 13 is_stmt 0 view .LVU2519
 7957 0000 0E4A     		ldr	r2, .L678
 7958              	.LBE1431:
 7959              	.LBE1430:
 938:Library/src/lcm32f06x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 7960              		.loc 1 938 1 view .LVU2520
 7961 0002 0300     		movs	r3, r0
 7962              	.LBB1434:
 7963              	.LBB1432:
 970:Library/src/lcm32f06x_flash.c ****   {
 7964              		.loc 1 970 13 view .LVU2521
 7965 0004 D168     		ldr	r1, [r2, #12]
 7966              	.LBE1432:
 7967              	.LBE1434:
 7968              	.LBB1435:
 7969              	.LBB1436:
 970:Library/src/lcm32f06x_flash.c ****   {
 7970              		.loc 1 970 18 view .LVU2522
 7971 0006 0120     		movs	r0, #1
 7972              	.LVL461:
 970:Library/src/lcm32f06x_flash.c ****   {
 7973              		.loc 1 970 18 view .LVU2523
 7974              	.LBE1436:
 7975              	.LBE1435:
 7976              	.LBB1443:
 7977              	.LBB1433:
 970:Library/src/lcm32f06x_flash.c ****   {
 7978              		.loc 1 970 6 view .LVU2524
 7979 0008 C907     		lsls	r1, r1, #31
 7980 000a 0BD4     		bmi	.L661
 7981              	.LVL462:
 7982              	.L676:
 970:Library/src/lcm32f06x_flash.c ****   {
 7983              		.loc 1 970 6 view .LVU2525
 7984              	.LBE1433:
 7985              	.LBE1443:
ARM GAS  /tmp/cc9cn0cw.s 			page 198


 7986              	.LBB1444:
 7987              	.LBB1439:
 976:Library/src/lcm32f06x_flash.c ****     {
 7988              		.loc 1 976 5 is_stmt 1 view .LVU2526
 976:Library/src/lcm32f06x_flash.c ****     {
 7989              		.loc 1 976 15 is_stmt 0 view .LVU2527
 7990 000c D168     		ldr	r1, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 7991              		.loc 1 976 8 view .LVU2528
 7992 000e C906     		lsls	r1, r1, #27
 7993 0010 12D4     		bmi	.L667
 7994              	.LBB1437:
 7995              	.LBI1437:
 966:Library/src/lcm32f06x_flash.c **** {
 7996              		.loc 1 966 14 is_stmt 1 view .LVU2529
 7997              	.LBB1438:
 982:Library/src/lcm32f06x_flash.c ****       {
 7998              		.loc 1 982 7 view .LVU2530
 982:Library/src/lcm32f06x_flash.c ****       {
 7999              		.loc 1 982 22 is_stmt 0 view .LVU2531
 8000 0012 0420     		movs	r0, #4
 982:Library/src/lcm32f06x_flash.c ****       {
 8001              		.loc 1 982 17 view .LVU2532
 8002 0014 D268     		ldr	r2, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 8003              		.loc 1 982 22 view .LVU2533
 8004 0016 1040     		ands	r0, r2
 988:Library/src/lcm32f06x_flash.c ****       }
 8005              		.loc 1 988 21 view .LVU2534
 8006 0018 4242     		rsbs	r2, r0, #0
 8007 001a 5041     		adcs	r0, r0, r2
 8008 001c 0330     		adds	r0, r0, #3
 8009              	.L662:
 8010              	.LBE1438:
 8011              	.LBE1437:
 8012              	.LBE1439:
 8013              	.LBE1444:
 951:Library/src/lcm32f06x_flash.c ****   {
 8014              		.loc 1 951 3 is_stmt 1 view .LVU2535
 951:Library/src/lcm32f06x_flash.c ****   {
 8015              		.loc 1 951 6 is_stmt 0 view .LVU2536
 8016 001e 002B     		cmp	r3, #0
 8017 0020 08D0     		beq	.L674
 8018              	.L664:
 8019              	.LVL463:
 956:Library/src/lcm32f06x_flash.c **** }
 8020              		.loc 1 956 3 is_stmt 1 view .LVU2537
 957:Library/src/lcm32f06x_flash.c **** 
 8021              		.loc 1 957 1 is_stmt 0 view .LVU2538
 8022              		@ sp needed
 8023 0022 7047     		bx	lr
 8024              	.LVL464:
 8025              	.L661:
 945:Library/src/lcm32f06x_flash.c ****   {
 8026              		.loc 1 945 33 discriminator 1 view .LVU2539
 8027 0024 002B     		cmp	r3, #0
 8028 0026 05D0     		beq	.L674
ARM GAS  /tmp/cc9cn0cw.s 			page 199


 8029              	.L663:
 947:Library/src/lcm32f06x_flash.c ****     Timeout--;
 8030              		.loc 1 947 5 is_stmt 1 view .LVU2540
 8031              	.LBB1445:
 8032              	.LBI1435:
 966:Library/src/lcm32f06x_flash.c **** {
 8033              		.loc 1 966 14 view .LVU2541
 8034              	.LBB1440:
 968:Library/src/lcm32f06x_flash.c **** 
 8035              		.loc 1 968 3 view .LVU2542
 8036              	.LVL465:
 970:Library/src/lcm32f06x_flash.c ****   {
 8037              		.loc 1 970 3 view .LVU2543
 970:Library/src/lcm32f06x_flash.c ****   {
 8038              		.loc 1 970 13 is_stmt 0 view .LVU2544
 8039 0028 D168     		ldr	r1, [r2, #12]
 8040              	.LBE1440:
 8041              	.LBE1445:
 948:Library/src/lcm32f06x_flash.c ****   }
 8042              		.loc 1 948 12 view .LVU2545
 8043 002a 013B     		subs	r3, r3, #1
 8044              	.LVL466:
 8045              	.LBB1446:
 8046              	.LBB1441:
 970:Library/src/lcm32f06x_flash.c ****   {
 8047              		.loc 1 970 6 view .LVU2546
 8048 002c 0842     		tst	r0, r1
 8049 002e EDD0     		beq	.L676
 8050              	.LVL467:
 970:Library/src/lcm32f06x_flash.c ****   {
 8051              		.loc 1 970 6 view .LVU2547
 8052              	.LBE1441:
 8053              	.LBE1446:
 945:Library/src/lcm32f06x_flash.c ****   {
 8054              		.loc 1 945 33 discriminator 1 view .LVU2548
 8055 0030 002B     		cmp	r3, #0
 8056 0032 F9D1     		bne	.L663
 8057              	.LVL468:
 8058              	.L674:
 953:Library/src/lcm32f06x_flash.c ****   }
 8059              		.loc 1 953 12 view .LVU2549
 8060 0034 0520     		movs	r0, #5
 8061 0036 F4E7     		b	.L664
 8062              	.L667:
 8063              	.LBB1447:
 8064              	.LBB1442:
 978:Library/src/lcm32f06x_flash.c ****     }
 8065              		.loc 1 978 19 view .LVU2550
 8066 0038 0220     		movs	r0, #2
 8067 003a F0E7     		b	.L662
 8068              	.L679:
 8069              		.align	2
 8070              	.L678:
 8071 003c 00D00140 		.word	1073860608
 8072              	.LBE1442:
 8073              	.LBE1447:
 8074              		.cfi_endproc
ARM GAS  /tmp/cc9cn0cw.s 			page 200


 8075              	.LFE70:
 8077              		.section	.text.FLASH_GetStatus,"ax",%progbits
 8078              		.align	1
 8079              		.p2align 2,,3
 8080              		.global	FLASH_GetStatus
 8081              		.syntax unified
 8082              		.code	16
 8083              		.thumb_func
 8085              	FLASH_GetStatus:
 8086              	.LFB71:
 967:Library/src/lcm32f06x_flash.c ****   FLASH_Status FLASHstatus = FLASH_COMPLETE;
 8087              		.loc 1 967 1 is_stmt 1 view -0
 8088              		.cfi_startproc
 8089              		@ args = 0, pretend = 0, frame = 0
 8090              		@ frame_needed = 0, uses_anonymous_args = 0
 8091              		@ link register save eliminated.
 968:Library/src/lcm32f06x_flash.c **** 
 8092              		.loc 1 968 3 view .LVU2552
 8093              	.LVL469:
 970:Library/src/lcm32f06x_flash.c ****   {
 8094              		.loc 1 970 3 view .LVU2553
 970:Library/src/lcm32f06x_flash.c ****   {
 8095              		.loc 1 970 13 is_stmt 0 view .LVU2554
 8096 0000 084A     		ldr	r2, .L686
 972:Library/src/lcm32f06x_flash.c ****   }
 8097              		.loc 1 972 17 view .LVU2555
 8098 0002 0120     		movs	r0, #1
 970:Library/src/lcm32f06x_flash.c ****   {
 8099              		.loc 1 970 13 view .LVU2556
 8100 0004 D368     		ldr	r3, [r2, #12]
 970:Library/src/lcm32f06x_flash.c ****   {
 8101              		.loc 1 970 6 view .LVU2557
 8102 0006 DB07     		lsls	r3, r3, #31
 8103 0008 08D4     		bmi	.L681
 976:Library/src/lcm32f06x_flash.c ****     {
 8104              		.loc 1 976 5 is_stmt 1 view .LVU2558
 976:Library/src/lcm32f06x_flash.c ****     {
 8105              		.loc 1 976 15 is_stmt 0 view .LVU2559
 8106 000a D368     		ldr	r3, [r2, #12]
 976:Library/src/lcm32f06x_flash.c ****     {
 8107              		.loc 1 976 8 view .LVU2560
 8108 000c DB06     		lsls	r3, r3, #27
 8109 000e 06D4     		bmi	.L683
 8110              	.LBB1450:
 8111              	.LBI1450:
 966:Library/src/lcm32f06x_flash.c **** {
 8112              		.loc 1 966 14 is_stmt 1 view .LVU2561
 8113              	.LBB1451:
 982:Library/src/lcm32f06x_flash.c ****       {
 8114              		.loc 1 982 7 view .LVU2562
 982:Library/src/lcm32f06x_flash.c ****       {
 8115              		.loc 1 982 17 is_stmt 0 view .LVU2563
 8116 0010 D368     		ldr	r3, [r2, #12]
 982:Library/src/lcm32f06x_flash.c ****       {
 8117              		.loc 1 982 22 view .LVU2564
 8118 0012 0330     		adds	r0, r0, #3
 8119 0014 1840     		ands	r0, r3
ARM GAS  /tmp/cc9cn0cw.s 			page 201


 984:Library/src/lcm32f06x_flash.c ****       }
 8120              		.loc 1 984 21 view .LVU2565
 8121 0016 4342     		rsbs	r3, r0, #0
 8122 0018 5841     		adcs	r0, r0, r3
 8123 001a 0330     		adds	r0, r0, #3
 8124              	.L681:
 8125              	.LVL470:
 984:Library/src/lcm32f06x_flash.c ****       }
 8126              		.loc 1 984 21 view .LVU2566
 8127              	.LBE1451:
 8128              	.LBE1450:
 8129              		.loc 1 993 3 is_stmt 1 view .LVU2567
 994:Library/src/lcm32f06x_flash.c **** }
 8130              		.loc 1 994 1 is_stmt 0 view .LVU2568
 8131              		@ sp needed
 8132 001c 7047     		bx	lr
 8133              	.LVL471:
 8134              	.L683:
 978:Library/src/lcm32f06x_flash.c ****     }
 8135              		.loc 1 978 19 view .LVU2569
 8136 001e 0220     		movs	r0, #2
 8137 0020 FCE7     		b	.L681
 8138              	.L687:
 8139 0022 C046     		.align	2
 8140              	.L686:
 8141 0024 00D00140 		.word	1073860608
 8142              		.cfi_endproc
 8143              	.LFE71:
 8145              		.section	.text.FLASH_ClearFlag,"ax",%progbits
 8146              		.align	1
 8147              		.p2align 2,,3
 8148              		.global	FLASH_ClearFlag
 8149              		.syntax unified
 8150              		.code	16
 8151              		.thumb_func
 8153              	FLASH_ClearFlag:
 8154              	.LVL472:
 8155              	.LFB72:
 995:Library/src/lcm32f06x_flash.c **** 
 996:Library/src/lcm32f06x_flash.c **** /**
 997:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_ClearFlag
 998:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Clears the FLASH's pending flags.
 999:Library/src/lcm32f06x_flash.c ****   *         CN: 清除FLASH的挂起标志。
1000:Library/src/lcm32f06x_flash.c ****   * @param  FLASH_FLAG:
1001:Library/src/lcm32f06x_flash.c ****   *         EN: specifies the FLASH flag to clear.
1002:Library/src/lcm32f06x_flash.c ****   *         CN: 指定要清除的FLASH标志。
1003:Library/src/lcm32f06x_flash.c ****   *             @arg FLASH_FLAG_PGERR
1004:Library/src/lcm32f06x_flash.c ****   *             @arg FLASH_FLAG_WRPERR
1005:Library/src/lcm32f06x_flash.c ****   *             @arg FLASH_FLAG_EOP
1006:Library/src/lcm32f06x_flash.c ****   * @retval FLASH_Status
1007:Library/src/lcm32f06x_flash.c ****   */
1008:Library/src/lcm32f06x_flash.c **** void FLASH_ClearFlag(uint32_t FLASH_FLAG)
1009:Library/src/lcm32f06x_flash.c **** {
 8156              		.loc 1 1009 1 is_stmt 1 view -0
 8157              		.cfi_startproc
 8158              		@ args = 0, pretend = 0, frame = 0
 8159              		@ frame_needed = 0, uses_anonymous_args = 0
ARM GAS  /tmp/cc9cn0cw.s 			page 202


 8160              		@ link register save eliminated.
1010:Library/src/lcm32f06x_flash.c ****   /* Check the parameters */
1011:Library/src/lcm32f06x_flash.c ****   assert_param(IS_FLASH_CLEAR_FLAG(FLASH_FLAG));
 8161              		.loc 1 1011 3 view .LVU2571
1012:Library/src/lcm32f06x_flash.c **** 
1013:Library/src/lcm32f06x_flash.c ****   /* Clear the flags */
1014:Library/src/lcm32f06x_flash.c ****   FLASH->SR = FLASH_FLAG;
 8162              		.loc 1 1014 3 view .LVU2572
 8163              		.loc 1 1014 13 is_stmt 0 view .LVU2573
 8164 0000 014B     		ldr	r3, .L689
1015:Library/src/lcm32f06x_flash.c **** }
 8165              		.loc 1 1015 1 view .LVU2574
 8166              		@ sp needed
1014:Library/src/lcm32f06x_flash.c **** }
 8167              		.loc 1 1014 13 view .LVU2575
 8168 0002 D860     		str	r0, [r3, #12]
 8169              		.loc 1 1015 1 view .LVU2576
 8170 0004 7047     		bx	lr
 8171              	.L690:
 8172 0006 C046     		.align	2
 8173              	.L689:
 8174 0008 00D00140 		.word	1073860608
 8175              		.cfi_endproc
 8176              	.LFE72:
 8178              		.section	.text.FLASH_OB_GetRDP,"ax",%progbits
 8179              		.align	1
 8180              		.p2align 2,,3
 8181              		.global	FLASH_OB_GetRDP
 8182              		.syntax unified
 8183              		.code	16
 8184              		.thumb_func
 8186              	FLASH_OB_GetRDP:
 8187              	.LFB73:
1016:Library/src/lcm32f06x_flash.c **** 
1017:Library/src/lcm32f06x_flash.c **** /**
1018:Library/src/lcm32f06x_flash.c ****   * @name   FLASH_ClearFlag
1019:Library/src/lcm32f06x_flash.c ****   * @brief  EN: Checks whether the FLASH Read out Protection Status is set or not.
1020:Library/src/lcm32f06x_flash.c ****   *         CN: 检查是否设置了FLASH读取保护状态。
1021:Library/src/lcm32f06x_flash.c ****   * @param  None:
1022:Library/src/lcm32f06x_flash.c ****   * @retval EN:FLASH ReadOut Protection Status(SET or RESET).
1023:Library/src/lcm32f06x_flash.c ****   *         CN:FLASH读出保护状态（SET或RESET）。
1024:Library/src/lcm32f06x_flash.c ****   */
1025:Library/src/lcm32f06x_flash.c **** FlagStatus FLASH_OB_GetRDP(void)
1026:Library/src/lcm32f06x_flash.c **** {
 8188              		.loc 1 1026 1 is_stmt 1 view -0
 8189              		.cfi_startproc
 8190              		@ args = 0, pretend = 0, frame = 0
 8191              		@ frame_needed = 0, uses_anonymous_args = 0
 8192              		@ link register save eliminated.
1027:Library/src/lcm32f06x_flash.c ****   FlagStatus readstatus = RESET;
 8193              		.loc 1 1027 3 view .LVU2578
 8194              	.LVL473:
1028:Library/src/lcm32f06x_flash.c **** 
1029:Library/src/lcm32f06x_flash.c ****   if ((uint32_t)(FLASH->RDPR & (RDPRT2 | RDPRT)) != RESET)
 8195              		.loc 1 1029 3 view .LVU2579
 8196              		.loc 1 1029 23 is_stmt 0 view .LVU2580
 8197 0000 034B     		ldr	r3, .L692
ARM GAS  /tmp/cc9cn0cw.s 			page 203


1030:Library/src/lcm32f06x_flash.c ****   {
1031:Library/src/lcm32f06x_flash.c ****     readstatus = SET;
1032:Library/src/lcm32f06x_flash.c ****   }
1033:Library/src/lcm32f06x_flash.c ****   else
1034:Library/src/lcm32f06x_flash.c ****   {
1035:Library/src/lcm32f06x_flash.c ****     readstatus = RESET;
1036:Library/src/lcm32f06x_flash.c ****   }
1037:Library/src/lcm32f06x_flash.c ****   return readstatus;
1038:Library/src/lcm32f06x_flash.c **** }
 8198              		.loc 1 1038 1 view .LVU2581
 8199              		@ sp needed
1029:Library/src/lcm32f06x_flash.c ****   {
 8200              		.loc 1 1029 23 view .LVU2582
 8201 0002 186A     		ldr	r0, [r3, #32]
 8202              	.LVL474:
1037:Library/src/lcm32f06x_flash.c **** }
 8203              		.loc 1 1037 3 is_stmt 1 view .LVU2583
1029:Library/src/lcm32f06x_flash.c ****   {
 8204              		.loc 1 1029 7 is_stmt 0 view .LVU2584
 8205 0004 C005     		lsls	r0, r0, #23
 8206              	.LVL475:
1029:Library/src/lcm32f06x_flash.c ****   {
 8207              		.loc 1 1029 6 view .LVU2585
 8208 0006 431E     		subs	r3, r0, #1
 8209 0008 9841     		sbcs	r0, r0, r3
1037:Library/src/lcm32f06x_flash.c **** }
 8210              		.loc 1 1037 10 discriminator 1 view .LVU2586
 8211 000a C0B2     		uxtb	r0, r0
 8212              		.loc 1 1038 1 view .LVU2587
 8213 000c 7047     		bx	lr
 8214              	.L693:
 8215 000e C046     		.align	2
 8216              	.L692:
 8217 0010 00D00140 		.word	1073860608
 8218              		.cfi_endproc
 8219              	.LFE73:
 8221              		.section	.text.efls_strt_per,"ax",%progbits
 8222              		.align	1
 8223              		.p2align 2,,3
 8224              		.global	efls_strt_per
 8225              		.syntax unified
 8226              		.code	16
 8227              		.thumb_func
 8229              	efls_strt_per:
 8230              	.LVL476:
 8231              	.LFB74:
1039:Library/src/lcm32f06x_flash.c **** 
1040:Library/src/lcm32f06x_flash.c **** void efls_strt_per(uint32_t sec_num, uint32_t mem_type)
1041:Library/src/lcm32f06x_flash.c **** {
 8232              		.loc 1 1041 1 is_stmt 1 view -0
 8233              		.cfi_startproc
 8234              		@ args = 0, pretend = 0, frame = 0
 8235              		@ frame_needed = 0, uses_anonymous_args = 0
1042:Library/src/lcm32f06x_flash.c ****   uint32_t tmp;
 8236              		.loc 1 1042 3 view .LVU2589
1043:Library/src/lcm32f06x_flash.c **** 
1044:Library/src/lcm32f06x_flash.c ****   tmp = FLASH->CR;
ARM GAS  /tmp/cc9cn0cw.s 			page 204


 8237              		.loc 1 1044 3 view .LVU2590
 8238              		.loc 1 1044 7 is_stmt 0 view .LVU2591
 8239 0000 174A     		ldr	r2, .L702
1041:Library/src/lcm32f06x_flash.c ****   uint32_t tmp;
 8240              		.loc 1 1041 1 view .LVU2592
 8241 0002 10B5     		push	{r4, lr}
 8242              	.LCFI12:
 8243              		.cfi_def_cfa_offset 8
 8244              		.cfi_offset 4, -8
 8245              		.cfi_offset 14, -4
 8246              		.loc 1 1044 7 view .LVU2593
 8247 0004 1369     		ldr	r3, [r2, #16]
 8248              	.LVL477:
1045:Library/src/lcm32f06x_flash.c **** 
1046:Library/src/lcm32f06x_flash.c ****   if (mem_type == 0)     //flash
 8249              		.loc 1 1046 3 is_stmt 1 view .LVU2594
 8250              		.loc 1 1046 6 is_stmt 0 view .LVU2595
 8251 0006 0029     		cmp	r1, #0
 8252 0008 10D1     		bne	.L695
1047:Library/src/lcm32f06x_flash.c ****   {
1048:Library/src/lcm32f06x_flash.c ****     FLASH->AR = 0x08000000 + sec_num * (1 << 10);
 8253              		.loc 1 1048 5 is_stmt 1 view .LVU2596
 8254              		.loc 1 1048 28 is_stmt 0 view .LVU2597
 8255 000a 8021     		movs	r1, #128
 8256              	.LVL478:
 8257              		.loc 1 1048 28 view .LVU2598
 8258 000c 8902     		lsls	r1, r1, #10
 8259 000e 8C46     		mov	ip, r1
 8260 0010 6044     		add	r0, r0, ip
 8261              	.LVL479:
 8262              		.loc 1 1048 28 view .LVU2599
 8263 0012 8002     		lsls	r0, r0, #10
 8264              	.LVL480:
 8265              		.loc 1 1048 15 view .LVU2600
 8266 0014 5061     		str	r0, [r2, #20]
1049:Library/src/lcm32f06x_flash.c ****     tmp &= ~FLASH_CR_OPTER_Msk;
 8267              		.loc 1 1049 5 is_stmt 1 view .LVU2601
 8268              		.loc 1 1049 9 is_stmt 0 view .LVU2602
 8269 0016 2022     		movs	r2, #32
 8270 0018 9343     		bics	r3, r2
 8271              	.LVL481:
1050:Library/src/lcm32f06x_flash.c ****     tmp |= (1 << 1);
 8272              		.loc 1 1050 5 is_stmt 1 view .LVU2603
 8273              		.loc 1 1050 9 is_stmt 0 view .LVU2604
 8274 001a 1E3A     		subs	r2, r2, #30
 8275 001c 1343     		orrs	r3, r2
 8276              	.LVL482:
 8277              	.L696:
1051:Library/src/lcm32f06x_flash.c ****   }
1052:Library/src/lcm32f06x_flash.c ****   else if (mem_type == 1) //Calibration data
1053:Library/src/lcm32f06x_flash.c ****   {
1054:Library/src/lcm32f06x_flash.c ****     FLASH->AR = 0x1FFFF700 + sec_num * (1 << 8); // Option Calibrartion Bytes（选项 校准字节） 半页
1055:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
1056:Library/src/lcm32f06x_flash.c ****     tmp |= FLASH_CR_OPTER_Msk;
1057:Library/src/lcm32f06x_flash.c ****   }
1058:Library/src/lcm32f06x_flash.c ****   else if (mem_type == 2) //data memory
1059:Library/src/lcm32f06x_flash.c ****   {
ARM GAS  /tmp/cc9cn0cw.s 			page 205


1060:Library/src/lcm32f06x_flash.c ****     FLASH->AR = 0x1FFFF000 + sec_num * (1 << 8); // DATA Memory 半页擦除
1061:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
1062:Library/src/lcm32f06x_flash.c ****     tmp |= FLASH_CR_OPTER_Msk;
1063:Library/src/lcm32f06x_flash.c ****   }
1064:Library/src/lcm32f06x_flash.c ****   else                    //opt data
1065:Library/src/lcm32f06x_flash.c ****   {
1066:Library/src/lcm32f06x_flash.c ****     FLASH->AR = 0x1FFFF600 + sec_num * (1 << 8); // Option Calibrartion Bytes（选项 校准字节） 半页
1067:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
1068:Library/src/lcm32f06x_flash.c ****     tmp |= FLASH_CR_OPTER_Msk;
1069:Library/src/lcm32f06x_flash.c ****   }
1070:Library/src/lcm32f06x_flash.c ****   tmp &= ~FLASH_CR_MER_Msk;
 8278              		.loc 1 1070 3 is_stmt 1 view .LVU2605
 8279              		.loc 1 1070 7 is_stmt 0 view .LVU2606
 8280 001e 0422     		movs	r2, #4
1071:Library/src/lcm32f06x_flash.c ****   tmp |= FLASH_CR_STRT_Msk;
1072:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
1073:Library/src/lcm32f06x_flash.c **** }
 8281              		.loc 1 1073 1 view .LVU2607
 8282              		@ sp needed
1070:Library/src/lcm32f06x_flash.c ****   tmp |= FLASH_CR_STRT_Msk;
 8283              		.loc 1 1070 7 view .LVU2608
 8284 0020 9343     		bics	r3, r2
 8285              	.LVL483:
1071:Library/src/lcm32f06x_flash.c ****   tmp |= FLASH_CR_STRT_Msk;
 8286              		.loc 1 1071 3 is_stmt 1 view .LVU2609
1071:Library/src/lcm32f06x_flash.c ****   tmp |= FLASH_CR_STRT_Msk;
 8287              		.loc 1 1071 7 is_stmt 0 view .LVU2610
 8288 0022 3C32     		adds	r2, r2, #60
 8289 0024 1343     		orrs	r3, r2
 8290              	.LVL484:
1072:Library/src/lcm32f06x_flash.c **** }
 8291              		.loc 1 1072 3 is_stmt 1 view .LVU2611
1072:Library/src/lcm32f06x_flash.c **** }
 8292              		.loc 1 1072 13 is_stmt 0 view .LVU2612
 8293 0026 0E4A     		ldr	r2, .L702
 8294 0028 1361     		str	r3, [r2, #16]
 8295              		.loc 1 1073 1 view .LVU2613
 8296 002a 10BD     		pop	{r4, pc}
 8297              	.LVL485:
 8298              	.L695:
1052:Library/src/lcm32f06x_flash.c ****   {
 8299              		.loc 1 1052 8 is_stmt 1 view .LVU2614
1055:Library/src/lcm32f06x_flash.c ****     tmp |= FLASH_CR_OPTER_Msk;
 8300              		.loc 1 1055 9 is_stmt 0 view .LVU2615
 8301 002c 0224     		movs	r4, #2
 8302 002e A343     		bics	r3, r4
1056:Library/src/lcm32f06x_flash.c ****   }
 8303              		.loc 1 1056 9 view .LVU2616
 8304 0030 1E34     		adds	r4, r4, #30
 8305 0032 2343     		orrs	r3, r4
1052:Library/src/lcm32f06x_flash.c ****   {
 8306              		.loc 1 1052 11 view .LVU2617
 8307 0034 0129     		cmp	r1, #1
 8308 0036 07D0     		beq	.L700
1058:Library/src/lcm32f06x_flash.c ****   {
 8309              		.loc 1 1058 8 is_stmt 1 view .LVU2618
1058:Library/src/lcm32f06x_flash.c ****   {
ARM GAS  /tmp/cc9cn0cw.s 			page 206


 8310              		.loc 1 1058 11 is_stmt 0 view .LVU2619
 8311 0038 0229     		cmp	r1, #2
 8312 003a 0BD0     		beq	.L701
1066:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8313              		.loc 1 1066 5 is_stmt 1 view .LVU2620
1066:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8314              		.loc 1 1066 28 is_stmt 0 view .LVU2621
 8315 003c 0949     		ldr	r1, .L702+4
 8316              	.LVL486:
1066:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8317              		.loc 1 1066 28 view .LVU2622
 8318 003e 8C46     		mov	ip, r1
 8319 0040 6044     		add	r0, r0, ip
 8320              	.LVL487:
1066:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8321              		.loc 1 1066 28 view .LVU2623
 8322 0042 0002     		lsls	r0, r0, #8
 8323              	.LVL488:
1066:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8324              		.loc 1 1066 15 view .LVU2624
 8325 0044 5061     		str	r0, [r2, #20]
1067:Library/src/lcm32f06x_flash.c ****     tmp |= FLASH_CR_OPTER_Msk;
 8326              		.loc 1 1067 5 is_stmt 1 view .LVU2625
1068:Library/src/lcm32f06x_flash.c ****   }
 8327              		.loc 1 1068 5 view .LVU2626
 8328 0046 EAE7     		b	.L696
 8329              	.LVL489:
 8330              	.L700:
1054:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8331              		.loc 1 1054 5 view .LVU2627
1054:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8332              		.loc 1 1054 28 is_stmt 0 view .LVU2628
 8333 0048 0749     		ldr	r1, .L702+8
 8334              	.LVL490:
1054:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8335              		.loc 1 1054 28 view .LVU2629
 8336 004a 8C46     		mov	ip, r1
 8337 004c 6044     		add	r0, r0, ip
 8338              	.LVL491:
1054:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8339              		.loc 1 1054 28 view .LVU2630
 8340 004e 0002     		lsls	r0, r0, #8
 8341              	.LVL492:
1054:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8342              		.loc 1 1054 15 view .LVU2631
 8343 0050 5061     		str	r0, [r2, #20]
1055:Library/src/lcm32f06x_flash.c ****     tmp |= FLASH_CR_OPTER_Msk;
 8344              		.loc 1 1055 5 is_stmt 1 view .LVU2632
1056:Library/src/lcm32f06x_flash.c ****   }
 8345              		.loc 1 1056 5 view .LVU2633
1056:Library/src/lcm32f06x_flash.c ****   }
 8346              		.loc 1 1056 5 is_stmt 0 view .LVU2634
 8347 0052 E4E7     		b	.L696
 8348              	.LVL493:
 8349              	.L701:
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8350              		.loc 1 1060 5 is_stmt 1 view .LVU2635
ARM GAS  /tmp/cc9cn0cw.s 			page 207


1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8351              		.loc 1 1060 28 is_stmt 0 view .LVU2636
 8352 0054 0549     		ldr	r1, .L702+12
 8353              	.LVL494:
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8354              		.loc 1 1060 28 view .LVU2637
 8355 0056 8C46     		mov	ip, r1
 8356 0058 6044     		add	r0, r0, ip
 8357              	.LVL495:
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8358              		.loc 1 1060 28 view .LVU2638
 8359 005a 0002     		lsls	r0, r0, #8
 8360              	.LVL496:
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8361              		.loc 1 1060 15 view .LVU2639
 8362 005c 5061     		str	r0, [r2, #20]
1061:Library/src/lcm32f06x_flash.c ****     tmp |= FLASH_CR_OPTER_Msk;
 8363              		.loc 1 1061 5 is_stmt 1 view .LVU2640
1062:Library/src/lcm32f06x_flash.c ****   }
 8364              		.loc 1 1062 5 view .LVU2641
1062:Library/src/lcm32f06x_flash.c ****   }
 8365              		.loc 1 1062 5 is_stmt 0 view .LVU2642
 8366 005e DEE7     		b	.L696
 8367              	.L703:
 8368              		.align	2
 8369              	.L702:
 8370 0060 00D00140 		.word	1073860608
 8371 0064 F6FF1F00 		.word	2097142
 8372 0068 F7FF1F00 		.word	2097143
 8373 006c F0FF1F00 		.word	2097136
 8374              		.cfi_endproc
 8375              	.LFE74:
 8377              		.section	.text.ERASE_OPT,"ax",%progbits
 8378              		.align	1
 8379              		.p2align 2,,3
 8380              		.global	ERASE_OPT
 8381              		.syntax unified
 8382              		.code	16
 8383              		.thumb_func
 8385              	ERASE_OPT:
 8386              	.LFB75:
1074:Library/src/lcm32f06x_flash.c **** 
1075:Library/src/lcm32f06x_flash.c **** void ERASE_OPT()
1076:Library/src/lcm32f06x_flash.c **** {
 8387              		.loc 1 1076 1 is_stmt 1 view -0
 8388              		.cfi_startproc
 8389              		@ args = 0, pretend = 0, frame = 0
 8390              		@ frame_needed = 0, uses_anonymous_args = 0
 8391              		@ link register save eliminated.
1077:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY1;
 8392              		.loc 1 1077 3 view .LVU2644
 8393              		.loc 1 1077 15 is_stmt 0 view .LVU2645
 8394 0000 0B4B     		ldr	r3, .L705
 8395 0002 0C49     		ldr	r1, .L705+4
1078:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY2;
 8396              		.loc 1 1078 15 view .LVU2646
 8397 0004 0C4A     		ldr	r2, .L705+8
ARM GAS  /tmp/cc9cn0cw.s 			page 208


1077:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY1;
 8398              		.loc 1 1077 15 view .LVU2647
 8399 0006 5960     		str	r1, [r3, #4]
 8400              		.loc 1 1078 3 is_stmt 1 view .LVU2648
 8401              		.loc 1 1078 15 is_stmt 0 view .LVU2649
 8402 0008 5A60     		str	r2, [r3, #4]
1079:Library/src/lcm32f06x_flash.c **** 
1080:Library/src/lcm32f06x_flash.c ****   FLASH->OPTKEYR = FLASH_OPTKEY1;
 8403              		.loc 1 1080 3 is_stmt 1 view .LVU2650
 8404              		.loc 1 1080 18 is_stmt 0 view .LVU2651
 8405 000a 9960     		str	r1, [r3, #8]
1081:Library/src/lcm32f06x_flash.c ****   FLASH->OPTKEYR = FLASH_OPTKEY2;
 8406              		.loc 1 1081 3 is_stmt 1 view .LVU2652
 8407              		.loc 1 1081 18 is_stmt 0 view .LVU2653
 8408 000c 9A60     		str	r2, [r3, #8]
1082:Library/src/lcm32f06x_flash.c **** 
1083:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR1;
 8409              		.loc 1 1083 3 is_stmt 1 view .LVU2654
 8410              		.loc 1 1083 17 is_stmt 0 view .LVU2655
 8411 000e 0B4A     		ldr	r2, .L705+12
1084:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
1085:Library/src/lcm32f06x_flash.c **** 
1086:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= 0xefffffff;
 8412              		.loc 1 1086 13 view .LVU2656
 8413 0010 0B49     		ldr	r1, .L705+16
1083:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
 8414              		.loc 1 1083 17 view .LVU2657
 8415 0012 DA63     		str	r2, [r3, #60]
1084:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
 8416              		.loc 1 1084 3 is_stmt 1 view .LVU2658
1084:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
 8417              		.loc 1 1084 17 is_stmt 0 view .LVU2659
 8418 0014 0B4A     		ldr	r2, .L705+20
1087:Library/src/lcm32f06x_flash.c ****   efls_strt_per(0, 3); //ERASE  0x1FFFF600 - 0x1FFFF6FF
1088:Library/src/lcm32f06x_flash.c **** 
1089:Library/src/lcm32f06x_flash.c **** }
 8419              		.loc 1 1089 1 view .LVU2660
 8420              		@ sp needed
1084:Library/src/lcm32f06x_flash.c **** 
 8421              		.loc 1 1084 17 view .LVU2661
 8422 0016 DA63     		str	r2, [r3, #60]
1086:Library/src/lcm32f06x_flash.c ****   efls_strt_per(0, 3); //ERASE  0x1FFFF600 - 0x1FFFF6FF
 8423              		.loc 1 1086 3 is_stmt 1 view .LVU2662
1086:Library/src/lcm32f06x_flash.c ****   efls_strt_per(0, 3); //ERASE  0x1FFFF600 - 0x1FFFF6FF
 8424              		.loc 1 1086 8 is_stmt 0 view .LVU2663
 8425 0018 1A69     		ldr	r2, [r3, #16]
1086:Library/src/lcm32f06x_flash.c ****   efls_strt_per(0, 3); //ERASE  0x1FFFF600 - 0x1FFFF6FF
 8426              		.loc 1 1086 13 view .LVU2664
 8427 001a 0A40     		ands	r2, r1
 8428              	.LBB1452:
 8429              	.LBB1453:
1066:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8430              		.loc 1 1066 15 view .LVU2665
 8431 001c 0A49     		ldr	r1, .L705+24
 8432              	.LBE1453:
 8433              	.LBE1452:
1086:Library/src/lcm32f06x_flash.c ****   efls_strt_per(0, 3); //ERASE  0x1FFFF600 - 0x1FFFF6FF
ARM GAS  /tmp/cc9cn0cw.s 			page 209


 8434              		.loc 1 1086 13 view .LVU2666
 8435 001e 1A61     		str	r2, [r3, #16]
1087:Library/src/lcm32f06x_flash.c **** 
 8436              		.loc 1 1087 3 is_stmt 1 view .LVU2667
 8437              	.LVL497:
 8438              	.LBB1455:
 8439              	.LBI1452:
1040:Library/src/lcm32f06x_flash.c **** {
 8440              		.loc 1 1040 6 view .LVU2668
 8441              	.LBB1454:
1042:Library/src/lcm32f06x_flash.c **** 
 8442              		.loc 1 1042 3 view .LVU2669
1044:Library/src/lcm32f06x_flash.c **** 
 8443              		.loc 1 1044 3 view .LVU2670
1044:Library/src/lcm32f06x_flash.c **** 
 8444              		.loc 1 1044 7 is_stmt 0 view .LVU2671
 8445 0020 1A69     		ldr	r2, [r3, #16]
 8446              	.LVL498:
1046:Library/src/lcm32f06x_flash.c ****   {
 8447              		.loc 1 1046 3 is_stmt 1 view .LVU2672
1052:Library/src/lcm32f06x_flash.c ****   {
 8448              		.loc 1 1052 8 view .LVU2673
1058:Library/src/lcm32f06x_flash.c ****   {
 8449              		.loc 1 1058 8 view .LVU2674
1066:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8450              		.loc 1 1066 5 view .LVU2675
1066:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8451              		.loc 1 1066 15 is_stmt 0 view .LVU2676
 8452 0022 5961     		str	r1, [r3, #20]
1067:Library/src/lcm32f06x_flash.c ****     tmp |= FLASH_CR_OPTER_Msk;
 8453              		.loc 1 1067 5 is_stmt 1 view .LVU2677
 8454              	.LVL499:
1068:Library/src/lcm32f06x_flash.c ****   }
 8455              		.loc 1 1068 5 view .LVU2678
1070:Library/src/lcm32f06x_flash.c ****   tmp |= FLASH_CR_STRT_Msk;
 8456              		.loc 1 1070 3 view .LVU2679
 8457 0024 0621     		movs	r1, #6
 8458 0026 8A43     		bics	r2, r1
 8459              	.LVL500:
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8460              		.loc 1 1071 3 view .LVU2680
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8461              		.loc 1 1071 7 is_stmt 0 view .LVU2681
 8462 0028 5A31     		adds	r1, r1, #90
 8463 002a 0A43     		orrs	r2, r1
 8464              	.LVL501:
1072:Library/src/lcm32f06x_flash.c **** }
 8465              		.loc 1 1072 3 is_stmt 1 view .LVU2682
1072:Library/src/lcm32f06x_flash.c **** }
 8466              		.loc 1 1072 13 is_stmt 0 view .LVU2683
 8467 002c 1A61     		str	r2, [r3, #16]
 8468              	.LVL502:
1072:Library/src/lcm32f06x_flash.c **** }
 8469              		.loc 1 1072 13 view .LVU2684
 8470              	.LBE1454:
 8471              	.LBE1455:
 8472              		.loc 1 1089 1 view .LVU2685
ARM GAS  /tmp/cc9cn0cw.s 			page 210


 8473 002e 7047     		bx	lr
 8474              	.L706:
 8475              		.align	2
 8476              	.L705:
 8477 0030 00D00140 		.word	1073860608
 8478 0034 23016745 		.word	1164378403
 8479 0038 AB89EFCD 		.word	-839939669
 8480 003c DCFE6745 		.word	1164443356
 8481 0040 FFFFFFEF 		.word	-268435457
 8482 0044 230198BA 		.word	-1164443357
 8483 0048 00F6FF1F 		.word	536868352
 8484              		.cfi_endproc
 8485              	.LFE75:
 8487              		.section	.text.ERASE_DATA_MERMORY,"ax",%progbits
 8488              		.align	1
 8489              		.p2align 2,,3
 8490              		.global	ERASE_DATA_MERMORY
 8491              		.syntax unified
 8492              		.code	16
 8493              		.thumb_func
 8495              	ERASE_DATA_MERMORY:
 8496              	.LFB76:
1090:Library/src/lcm32f06x_flash.c **** 
1091:Library/src/lcm32f06x_flash.c **** void ERASE_DATA_MERMORY()
1092:Library/src/lcm32f06x_flash.c **** {
 8497              		.loc 1 1092 1 is_stmt 1 view -0
 8498              		.cfi_startproc
 8499              		@ args = 0, pretend = 0, frame = 0
 8500              		@ frame_needed = 0, uses_anonymous_args = 0
1093:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY1;
 8501              		.loc 1 1093 3 view .LVU2687
 8502              		.loc 1 1093 15 is_stmt 0 view .LVU2688
 8503 0000 1B4B     		ldr	r3, .L708
 8504 0002 1C49     		ldr	r1, .L708+4
1094:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY2;
 8505              		.loc 1 1094 15 view .LVU2689
 8506 0004 1C4A     		ldr	r2, .L708+8
1092:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY1;
 8507              		.loc 1 1092 1 view .LVU2690
 8508 0006 10B5     		push	{r4, lr}
 8509              	.LCFI13:
 8510              		.cfi_def_cfa_offset 8
 8511              		.cfi_offset 4, -8
 8512              		.cfi_offset 14, -4
1093:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY1;
 8513              		.loc 1 1093 15 view .LVU2691
 8514 0008 5960     		str	r1, [r3, #4]
 8515              		.loc 1 1094 3 is_stmt 1 view .LVU2692
 8516              		.loc 1 1094 15 is_stmt 0 view .LVU2693
 8517 000a 5A60     		str	r2, [r3, #4]
1095:Library/src/lcm32f06x_flash.c **** 
1096:Library/src/lcm32f06x_flash.c ****   FLASH->OPTKEYR = FLASH_OPTKEY1;
 8518              		.loc 1 1096 3 is_stmt 1 view .LVU2694
 8519              		.loc 1 1096 18 is_stmt 0 view .LVU2695
 8520 000c 9960     		str	r1, [r3, #8]
1097:Library/src/lcm32f06x_flash.c ****   FLASH->OPTKEYR = FLASH_OPTKEY2;
 8521              		.loc 1 1097 3 is_stmt 1 view .LVU2696
ARM GAS  /tmp/cc9cn0cw.s 			page 211


 8522              		.loc 1 1097 18 is_stmt 0 view .LVU2697
 8523 000e 9A60     		str	r2, [r3, #8]
1098:Library/src/lcm32f06x_flash.c **** 
1099:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR1;
 8524              		.loc 1 1099 3 is_stmt 1 view .LVU2698
 8525              		.loc 1 1099 17 is_stmt 0 view .LVU2699
 8526 0010 1A4A     		ldr	r2, .L708+12
1100:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
1101:Library/src/lcm32f06x_flash.c **** 
1102:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= 0xefffffff;
 8527              		.loc 1 1102 13 view .LVU2700
 8528 0012 1B49     		ldr	r1, .L708+16
1099:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
 8529              		.loc 1 1099 17 view .LVU2701
 8530 0014 DA63     		str	r2, [r3, #60]
1100:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
 8531              		.loc 1 1100 3 is_stmt 1 view .LVU2702
1100:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
 8532              		.loc 1 1100 17 is_stmt 0 view .LVU2703
 8533 0016 1B4A     		ldr	r2, .L708+20
 8534              	.LBB1456:
 8535              	.LBB1457:
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8536              		.loc 1 1060 15 view .LVU2704
 8537 0018 1B4C     		ldr	r4, .L708+24
 8538              	.LBE1457:
 8539              	.LBE1456:
1100:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
 8540              		.loc 1 1100 17 view .LVU2705
 8541 001a DA63     		str	r2, [r3, #60]
 8542              		.loc 1 1102 3 is_stmt 1 view .LVU2706
 8543              		.loc 1 1102 8 is_stmt 0 view .LVU2707
 8544 001c 1A69     		ldr	r2, [r3, #16]
1103:Library/src/lcm32f06x_flash.c ****   efls_strt_per(0, 2); //ERASE 半页擦除 0x1FFFF000 - 0x1FFFF0FF
1104:Library/src/lcm32f06x_flash.c ****   efls_strt_per(1, 2); //ERASE  0x1FFFF100 - 0x1FFFF1FF
1105:Library/src/lcm32f06x_flash.c ****   efls_strt_per(2, 2); //ERASE  0x1FFFF200 - 0x1FFFF2FF
1106:Library/src/lcm32f06x_flash.c ****   efls_strt_per(3, 2); //ERASE  0x1FFFF300 - 0x1FFFF3FF
1107:Library/src/lcm32f06x_flash.c ****   efls_strt_per(4, 2); //ERASE  0x1FFFF400 - 0x1FFFF4FF
1108:Library/src/lcm32f06x_flash.c ****   efls_strt_per(5, 2); //ERASE  0x1FFFF500 - 0x1FFFF5FF
1109:Library/src/lcm32f06x_flash.c **** 
1110:Library/src/lcm32f06x_flash.c **** }
 8545              		.loc 1 1110 1 view .LVU2708
 8546              		@ sp needed
1102:Library/src/lcm32f06x_flash.c ****   efls_strt_per(0, 2); //ERASE 半页擦除 0x1FFFF000 - 0x1FFFF0FF
 8547              		.loc 1 1102 13 view .LVU2709
 8548 001e 0A40     		ands	r2, r1
 8549 0020 1A61     		str	r2, [r3, #16]
1103:Library/src/lcm32f06x_flash.c ****   efls_strt_per(0, 2); //ERASE 半页擦除 0x1FFFF000 - 0x1FFFF0FF
 8550              		.loc 1 1103 3 is_stmt 1 view .LVU2710
 8551              	.LVL503:
 8552              	.LBB1459:
 8553              	.LBI1459:
1040:Library/src/lcm32f06x_flash.c **** {
 8554              		.loc 1 1040 6 view .LVU2711
 8555              	.LBB1460:
1042:Library/src/lcm32f06x_flash.c **** 
 8556              		.loc 1 1042 3 view .LVU2712
ARM GAS  /tmp/cc9cn0cw.s 			page 212


1044:Library/src/lcm32f06x_flash.c **** 
 8557              		.loc 1 1044 3 view .LVU2713
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8558              		.loc 1 1060 15 is_stmt 0 view .LVU2714
 8559 0022 1A4A     		ldr	r2, .L708+28
 8560 0024 0621     		movs	r1, #6
1044:Library/src/lcm32f06x_flash.c **** 
 8561              		.loc 1 1044 7 view .LVU2715
 8562 0026 1869     		ldr	r0, [r3, #16]
 8563              	.LVL504:
1046:Library/src/lcm32f06x_flash.c ****   {
 8564              		.loc 1 1046 3 is_stmt 1 view .LVU2716
1052:Library/src/lcm32f06x_flash.c ****   {
 8565              		.loc 1 1052 8 view .LVU2717
1058:Library/src/lcm32f06x_flash.c ****   {
 8566              		.loc 1 1058 8 view .LVU2718
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8567              		.loc 1 1060 5 view .LVU2719
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8568              		.loc 1 1060 15 is_stmt 0 view .LVU2720
 8569 0028 5A61     		str	r2, [r3, #20]
1061:Library/src/lcm32f06x_flash.c ****     tmp |= FLASH_CR_OPTER_Msk;
 8570              		.loc 1 1061 5 is_stmt 1 view .LVU2721
 8571              	.LVL505:
1062:Library/src/lcm32f06x_flash.c ****   }
 8572              		.loc 1 1062 5 view .LVU2722
1070:Library/src/lcm32f06x_flash.c ****   tmp |= FLASH_CR_STRT_Msk;
 8573              		.loc 1 1070 3 view .LVU2723
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8574              		.loc 1 1071 7 is_stmt 0 view .LVU2724
 8575 002a 6022     		movs	r2, #96
 8576 002c 8843     		bics	r0, r1
 8577              	.LVL506:
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8578              		.loc 1 1071 3 is_stmt 1 view .LVU2725
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8579              		.loc 1 1071 7 is_stmt 0 view .LVU2726
 8580 002e 1043     		orrs	r0, r2
 8581              	.LVL507:
1072:Library/src/lcm32f06x_flash.c **** }
 8582              		.loc 1 1072 3 is_stmt 1 view .LVU2727
1072:Library/src/lcm32f06x_flash.c **** }
 8583              		.loc 1 1072 13 is_stmt 0 view .LVU2728
 8584 0030 1861     		str	r0, [r3, #16]
 8585              	.LVL508:
1072:Library/src/lcm32f06x_flash.c **** }
 8586              		.loc 1 1072 13 view .LVU2729
 8587              	.LBE1460:
 8588              	.LBE1459:
1104:Library/src/lcm32f06x_flash.c ****   efls_strt_per(2, 2); //ERASE  0x1FFFF200 - 0x1FFFF2FF
 8589              		.loc 1 1104 3 is_stmt 1 view .LVU2730
 8590              	.LBB1461:
 8591              	.LBI1456:
1040:Library/src/lcm32f06x_flash.c **** {
 8592              		.loc 1 1040 6 view .LVU2731
 8593              	.LBB1458:
1042:Library/src/lcm32f06x_flash.c **** 
ARM GAS  /tmp/cc9cn0cw.s 			page 213


 8594              		.loc 1 1042 3 view .LVU2732
1044:Library/src/lcm32f06x_flash.c **** 
 8595              		.loc 1 1044 3 view .LVU2733
1044:Library/src/lcm32f06x_flash.c **** 
 8596              		.loc 1 1044 7 is_stmt 0 view .LVU2734
 8597 0032 1869     		ldr	r0, [r3, #16]
 8598              	.LVL509:
1046:Library/src/lcm32f06x_flash.c ****   {
 8599              		.loc 1 1046 3 is_stmt 1 view .LVU2735
1052:Library/src/lcm32f06x_flash.c ****   {
 8600              		.loc 1 1052 8 view .LVU2736
1058:Library/src/lcm32f06x_flash.c ****   {
 8601              		.loc 1 1058 8 view .LVU2737
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8602              		.loc 1 1060 5 view .LVU2738
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8603              		.loc 1 1060 15 is_stmt 0 view .LVU2739
 8604 0034 5C61     		str	r4, [r3, #20]
1061:Library/src/lcm32f06x_flash.c ****     tmp |= FLASH_CR_OPTER_Msk;
 8605              		.loc 1 1061 5 is_stmt 1 view .LVU2740
 8606              	.LVL510:
1062:Library/src/lcm32f06x_flash.c ****   }
 8607              		.loc 1 1062 5 view .LVU2741
1070:Library/src/lcm32f06x_flash.c ****   tmp |= FLASH_CR_STRT_Msk;
 8608              		.loc 1 1070 3 view .LVU2742
 8609 0036 8843     		bics	r0, r1
 8610              	.LVL511:
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8611              		.loc 1 1071 3 view .LVU2743
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8612              		.loc 1 1071 7 is_stmt 0 view .LVU2744
 8613 0038 1043     		orrs	r0, r2
 8614              	.LVL512:
1072:Library/src/lcm32f06x_flash.c **** }
 8615              		.loc 1 1072 3 is_stmt 1 view .LVU2745
1072:Library/src/lcm32f06x_flash.c **** }
 8616              		.loc 1 1072 13 is_stmt 0 view .LVU2746
 8617 003a 1861     		str	r0, [r3, #16]
 8618              	.LVL513:
1072:Library/src/lcm32f06x_flash.c **** }
 8619              		.loc 1 1072 13 view .LVU2747
 8620              	.LBE1458:
 8621              	.LBE1461:
1105:Library/src/lcm32f06x_flash.c ****   efls_strt_per(3, 2); //ERASE  0x1FFFF300 - 0x1FFFF3FF
 8622              		.loc 1 1105 3 is_stmt 1 view .LVU2748
 8623              	.LBB1462:
 8624              	.LBI1462:
1040:Library/src/lcm32f06x_flash.c **** {
 8625              		.loc 1 1040 6 view .LVU2749
 8626              	.LBB1463:
1042:Library/src/lcm32f06x_flash.c **** 
 8627              		.loc 1 1042 3 view .LVU2750
1044:Library/src/lcm32f06x_flash.c **** 
 8628              		.loc 1 1044 3 view .LVU2751
1044:Library/src/lcm32f06x_flash.c **** 
 8629              		.loc 1 1044 7 is_stmt 0 view .LVU2752
 8630 003c 1869     		ldr	r0, [r3, #16]
ARM GAS  /tmp/cc9cn0cw.s 			page 214


 8631              	.LVL514:
1046:Library/src/lcm32f06x_flash.c ****   {
 8632              		.loc 1 1046 3 is_stmt 1 view .LVU2753
1052:Library/src/lcm32f06x_flash.c ****   {
 8633              		.loc 1 1052 8 view .LVU2754
1058:Library/src/lcm32f06x_flash.c ****   {
 8634              		.loc 1 1058 8 view .LVU2755
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8635              		.loc 1 1060 5 view .LVU2756
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8636              		.loc 1 1060 15 is_stmt 0 view .LVU2757
 8637 003e 144C     		ldr	r4, .L708+32
 8638 0040 8843     		bics	r0, r1
 8639              	.LVL515:
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8640              		.loc 1 1071 7 view .LVU2758
 8641 0042 1043     		orrs	r0, r2
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8642              		.loc 1 1060 15 view .LVU2759
 8643 0044 5C61     		str	r4, [r3, #20]
1061:Library/src/lcm32f06x_flash.c ****     tmp |= FLASH_CR_OPTER_Msk;
 8644              		.loc 1 1061 5 is_stmt 1 view .LVU2760
1062:Library/src/lcm32f06x_flash.c ****   }
 8645              		.loc 1 1062 5 view .LVU2761
1070:Library/src/lcm32f06x_flash.c ****   tmp |= FLASH_CR_STRT_Msk;
 8646              		.loc 1 1070 3 view .LVU2762
 8647              	.LVL516:
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8648              		.loc 1 1071 3 view .LVU2763
1072:Library/src/lcm32f06x_flash.c **** }
 8649              		.loc 1 1072 3 view .LVU2764
1072:Library/src/lcm32f06x_flash.c **** }
 8650              		.loc 1 1072 13 is_stmt 0 view .LVU2765
 8651 0046 1861     		str	r0, [r3, #16]
 8652              	.LVL517:
1072:Library/src/lcm32f06x_flash.c **** }
 8653              		.loc 1 1072 13 view .LVU2766
 8654              	.LBE1463:
 8655              	.LBE1462:
1106:Library/src/lcm32f06x_flash.c ****   efls_strt_per(4, 2); //ERASE  0x1FFFF400 - 0x1FFFF4FF
 8656              		.loc 1 1106 3 is_stmt 1 view .LVU2767
 8657              	.LBB1464:
 8658              	.LBI1464:
1040:Library/src/lcm32f06x_flash.c **** {
 8659              		.loc 1 1040 6 view .LVU2768
 8660              	.LBB1465:
1042:Library/src/lcm32f06x_flash.c **** 
 8661              		.loc 1 1042 3 view .LVU2769
1044:Library/src/lcm32f06x_flash.c **** 
 8662              		.loc 1 1044 3 view .LVU2770
1044:Library/src/lcm32f06x_flash.c **** 
 8663              		.loc 1 1044 7 is_stmt 0 view .LVU2771
 8664 0048 1869     		ldr	r0, [r3, #16]
 8665              	.LVL518:
1046:Library/src/lcm32f06x_flash.c ****   {
 8666              		.loc 1 1046 3 is_stmt 1 view .LVU2772
1052:Library/src/lcm32f06x_flash.c ****   {
ARM GAS  /tmp/cc9cn0cw.s 			page 215


 8667              		.loc 1 1052 8 view .LVU2773
1058:Library/src/lcm32f06x_flash.c ****   {
 8668              		.loc 1 1058 8 view .LVU2774
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8669              		.loc 1 1060 5 view .LVU2775
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8670              		.loc 1 1060 15 is_stmt 0 view .LVU2776
 8671 004a 124C     		ldr	r4, .L708+36
 8672 004c 8843     		bics	r0, r1
 8673              	.LVL519:
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8674              		.loc 1 1071 7 view .LVU2777
 8675 004e 1043     		orrs	r0, r2
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8676              		.loc 1 1060 15 view .LVU2778
 8677 0050 5C61     		str	r4, [r3, #20]
1061:Library/src/lcm32f06x_flash.c ****     tmp |= FLASH_CR_OPTER_Msk;
 8678              		.loc 1 1061 5 is_stmt 1 view .LVU2779
1062:Library/src/lcm32f06x_flash.c ****   }
 8679              		.loc 1 1062 5 view .LVU2780
1070:Library/src/lcm32f06x_flash.c ****   tmp |= FLASH_CR_STRT_Msk;
 8680              		.loc 1 1070 3 view .LVU2781
 8681              	.LVL520:
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8682              		.loc 1 1071 3 view .LVU2782
1072:Library/src/lcm32f06x_flash.c **** }
 8683              		.loc 1 1072 3 view .LVU2783
1072:Library/src/lcm32f06x_flash.c **** }
 8684              		.loc 1 1072 13 is_stmt 0 view .LVU2784
 8685 0052 1861     		str	r0, [r3, #16]
 8686              	.LVL521:
1072:Library/src/lcm32f06x_flash.c **** }
 8687              		.loc 1 1072 13 view .LVU2785
 8688              	.LBE1465:
 8689              	.LBE1464:
1107:Library/src/lcm32f06x_flash.c ****   efls_strt_per(5, 2); //ERASE  0x1FFFF500 - 0x1FFFF5FF
 8690              		.loc 1 1107 3 is_stmt 1 view .LVU2786
 8691              	.LBB1466:
 8692              	.LBI1466:
1040:Library/src/lcm32f06x_flash.c **** {
 8693              		.loc 1 1040 6 view .LVU2787
 8694              	.LBB1467:
1042:Library/src/lcm32f06x_flash.c **** 
 8695              		.loc 1 1042 3 view .LVU2788
1044:Library/src/lcm32f06x_flash.c **** 
 8696              		.loc 1 1044 3 view .LVU2789
1044:Library/src/lcm32f06x_flash.c **** 
 8697              		.loc 1 1044 7 is_stmt 0 view .LVU2790
 8698 0054 1869     		ldr	r0, [r3, #16]
 8699              	.LVL522:
1046:Library/src/lcm32f06x_flash.c ****   {
 8700              		.loc 1 1046 3 is_stmt 1 view .LVU2791
1052:Library/src/lcm32f06x_flash.c ****   {
 8701              		.loc 1 1052 8 view .LVU2792
1058:Library/src/lcm32f06x_flash.c ****   {
 8702              		.loc 1 1058 8 view .LVU2793
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
ARM GAS  /tmp/cc9cn0cw.s 			page 216


 8703              		.loc 1 1060 5 view .LVU2794
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8704              		.loc 1 1060 15 is_stmt 0 view .LVU2795
 8705 0056 104C     		ldr	r4, .L708+40
 8706 0058 8843     		bics	r0, r1
 8707              	.LVL523:
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8708              		.loc 1 1071 7 view .LVU2796
 8709 005a 1043     		orrs	r0, r2
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8710              		.loc 1 1060 15 view .LVU2797
 8711 005c 5C61     		str	r4, [r3, #20]
1061:Library/src/lcm32f06x_flash.c ****     tmp |= FLASH_CR_OPTER_Msk;
 8712              		.loc 1 1061 5 is_stmt 1 view .LVU2798
1062:Library/src/lcm32f06x_flash.c ****   }
 8713              		.loc 1 1062 5 view .LVU2799
1070:Library/src/lcm32f06x_flash.c ****   tmp |= FLASH_CR_STRT_Msk;
 8714              		.loc 1 1070 3 view .LVU2800
 8715              	.LVL524:
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8716              		.loc 1 1071 3 view .LVU2801
1072:Library/src/lcm32f06x_flash.c **** }
 8717              		.loc 1 1072 3 view .LVU2802
1072:Library/src/lcm32f06x_flash.c **** }
 8718              		.loc 1 1072 13 is_stmt 0 view .LVU2803
 8719 005e 1861     		str	r0, [r3, #16]
 8720              	.LVL525:
1072:Library/src/lcm32f06x_flash.c **** }
 8721              		.loc 1 1072 13 view .LVU2804
 8722              	.LBE1467:
 8723              	.LBE1466:
1108:Library/src/lcm32f06x_flash.c **** 
 8724              		.loc 1 1108 3 is_stmt 1 view .LVU2805
 8725              	.LBB1468:
 8726              	.LBI1468:
1040:Library/src/lcm32f06x_flash.c **** {
 8727              		.loc 1 1040 6 view .LVU2806
 8728              	.LBB1469:
1042:Library/src/lcm32f06x_flash.c **** 
 8729              		.loc 1 1042 3 view .LVU2807
1044:Library/src/lcm32f06x_flash.c **** 
 8730              		.loc 1 1044 3 view .LVU2808
1044:Library/src/lcm32f06x_flash.c **** 
 8731              		.loc 1 1044 7 is_stmt 0 view .LVU2809
 8732 0060 1869     		ldr	r0, [r3, #16]
 8733              	.LVL526:
1046:Library/src/lcm32f06x_flash.c ****   {
 8734              		.loc 1 1046 3 is_stmt 1 view .LVU2810
1052:Library/src/lcm32f06x_flash.c ****   {
 8735              		.loc 1 1052 8 view .LVU2811
1058:Library/src/lcm32f06x_flash.c ****   {
 8736              		.loc 1 1058 8 view .LVU2812
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8737              		.loc 1 1060 5 view .LVU2813
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8738              		.loc 1 1060 15 is_stmt 0 view .LVU2814
 8739 0062 0E4C     		ldr	r4, .L708+44
ARM GAS  /tmp/cc9cn0cw.s 			page 217


 8740 0064 8843     		bics	r0, r1
 8741              	.LVL527:
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8742              		.loc 1 1071 7 view .LVU2815
 8743 0066 0243     		orrs	r2, r0
1060:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8744              		.loc 1 1060 15 view .LVU2816
 8745 0068 5C61     		str	r4, [r3, #20]
1061:Library/src/lcm32f06x_flash.c ****     tmp |= FLASH_CR_OPTER_Msk;
 8746              		.loc 1 1061 5 is_stmt 1 view .LVU2817
1062:Library/src/lcm32f06x_flash.c ****   }
 8747              		.loc 1 1062 5 view .LVU2818
1070:Library/src/lcm32f06x_flash.c ****   tmp |= FLASH_CR_STRT_Msk;
 8748              		.loc 1 1070 3 view .LVU2819
 8749              	.LVL528:
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8750              		.loc 1 1071 3 view .LVU2820
1072:Library/src/lcm32f06x_flash.c **** }
 8751              		.loc 1 1072 3 view .LVU2821
1072:Library/src/lcm32f06x_flash.c **** }
 8752              		.loc 1 1072 13 is_stmt 0 view .LVU2822
 8753 006a 1A61     		str	r2, [r3, #16]
 8754              	.LVL529:
1072:Library/src/lcm32f06x_flash.c **** }
 8755              		.loc 1 1072 13 view .LVU2823
 8756              	.LBE1469:
 8757              	.LBE1468:
 8758              		.loc 1 1110 1 view .LVU2824
 8759 006c 10BD     		pop	{r4, pc}
 8760              	.L709:
 8761 006e C046     		.align	2
 8762              	.L708:
 8763 0070 00D00140 		.word	1073860608
 8764 0074 23016745 		.word	1164378403
 8765 0078 AB89EFCD 		.word	-839939669
 8766 007c DCFE6745 		.word	1164443356
 8767 0080 FFFFFFEF 		.word	-268435457
 8768 0084 230198BA 		.word	-1164443357
 8769 0088 00F1FF1F 		.word	536867072
 8770 008c 00F0FF1F 		.word	536866816
 8771 0090 00F2FF1F 		.word	536867328
 8772 0094 00F3FF1F 		.word	536867584
 8773 0098 00F4FF1F 		.word	536867840
 8774 009c 00F5FF1F 		.word	536868096
 8775              		.cfi_endproc
 8776              	.LFE76:
 8778              		.section	.text.ERASE_Calibration_MERMORY,"ax",%progbits
 8779              		.align	1
 8780              		.p2align 2,,3
 8781              		.global	ERASE_Calibration_MERMORY
 8782              		.syntax unified
 8783              		.code	16
 8784              		.thumb_func
 8786              	ERASE_Calibration_MERMORY:
 8787              	.LFB77:
1111:Library/src/lcm32f06x_flash.c **** void ERASE_Calibration_MERMORY()
1112:Library/src/lcm32f06x_flash.c **** {
ARM GAS  /tmp/cc9cn0cw.s 			page 218


 8788              		.loc 1 1112 1 is_stmt 1 view -0
 8789              		.cfi_startproc
 8790              		@ args = 0, pretend = 0, frame = 0
 8791              		@ frame_needed = 0, uses_anonymous_args = 0
 8792              		@ link register save eliminated.
1113:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY1;
 8793              		.loc 1 1113 3 view .LVU2826
 8794              		.loc 1 1113 15 is_stmt 0 view .LVU2827
 8795 0000 0B4B     		ldr	r3, .L711
 8796 0002 0C49     		ldr	r1, .L711+4
1114:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY2;
 8797              		.loc 1 1114 15 view .LVU2828
 8798 0004 0C4A     		ldr	r2, .L711+8
1113:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY1;
 8799              		.loc 1 1113 15 view .LVU2829
 8800 0006 5960     		str	r1, [r3, #4]
 8801              		.loc 1 1114 3 is_stmt 1 view .LVU2830
 8802              		.loc 1 1114 15 is_stmt 0 view .LVU2831
 8803 0008 5A60     		str	r2, [r3, #4]
1115:Library/src/lcm32f06x_flash.c **** 
1116:Library/src/lcm32f06x_flash.c ****   FLASH->OPTKEYR = FLASH_OPTKEY1;
 8804              		.loc 1 1116 3 is_stmt 1 view .LVU2832
 8805              		.loc 1 1116 18 is_stmt 0 view .LVU2833
 8806 000a 9960     		str	r1, [r3, #8]
1117:Library/src/lcm32f06x_flash.c ****   FLASH->OPTKEYR = FLASH_OPTKEY2;
 8807              		.loc 1 1117 3 is_stmt 1 view .LVU2834
 8808              		.loc 1 1117 18 is_stmt 0 view .LVU2835
 8809 000c 9A60     		str	r2, [r3, #8]
1118:Library/src/lcm32f06x_flash.c **** 
1119:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR1;
 8810              		.loc 1 1119 3 is_stmt 1 view .LVU2836
 8811              		.loc 1 1119 17 is_stmt 0 view .LVU2837
 8812 000e 0B4A     		ldr	r2, .L711+12
1120:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;  //ULOCK
1121:Library/src/lcm32f06x_flash.c **** 
1122:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= 0xefffffff;        //DIS READONLY
 8813              		.loc 1 1122 13 view .LVU2838
 8814 0010 0B49     		ldr	r1, .L711+16
1119:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;  //ULOCK
 8815              		.loc 1 1119 17 view .LVU2839
 8816 0012 DA63     		str	r2, [r3, #60]
1120:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;  //ULOCK
 8817              		.loc 1 1120 3 is_stmt 1 view .LVU2840
1120:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;  //ULOCK
 8818              		.loc 1 1120 17 is_stmt 0 view .LVU2841
 8819 0014 0B4A     		ldr	r2, .L711+20
1123:Library/src/lcm32f06x_flash.c ****   efls_strt_per(0, 1); //ERASE 半页擦除 0x1FFFF700 - 0x1FFFF7FF
1124:Library/src/lcm32f06x_flash.c **** 
1125:Library/src/lcm32f06x_flash.c **** }
 8820              		.loc 1 1125 1 view .LVU2842
 8821              		@ sp needed
1120:Library/src/lcm32f06x_flash.c **** 
 8822              		.loc 1 1120 17 view .LVU2843
 8823 0016 DA63     		str	r2, [r3, #60]
1122:Library/src/lcm32f06x_flash.c ****   efls_strt_per(0, 1); //ERASE 半页擦除 0x1FFFF700 - 0x1FFFF7FF
 8824              		.loc 1 1122 3 is_stmt 1 view .LVU2844
1122:Library/src/lcm32f06x_flash.c ****   efls_strt_per(0, 1); //ERASE 半页擦除 0x1FFFF700 - 0x1FFFF7FF
ARM GAS  /tmp/cc9cn0cw.s 			page 219


 8825              		.loc 1 1122 8 is_stmt 0 view .LVU2845
 8826 0018 1A69     		ldr	r2, [r3, #16]
1122:Library/src/lcm32f06x_flash.c ****   efls_strt_per(0, 1); //ERASE 半页擦除 0x1FFFF700 - 0x1FFFF7FF
 8827              		.loc 1 1122 13 view .LVU2846
 8828 001a 0A40     		ands	r2, r1
 8829              	.LBB1470:
 8830              	.LBB1471:
1054:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8831              		.loc 1 1054 15 view .LVU2847
 8832 001c 0A49     		ldr	r1, .L711+24
 8833              	.LBE1471:
 8834              	.LBE1470:
1122:Library/src/lcm32f06x_flash.c ****   efls_strt_per(0, 1); //ERASE 半页擦除 0x1FFFF700 - 0x1FFFF7FF
 8835              		.loc 1 1122 13 view .LVU2848
 8836 001e 1A61     		str	r2, [r3, #16]
1123:Library/src/lcm32f06x_flash.c **** 
 8837              		.loc 1 1123 3 is_stmt 1 view .LVU2849
 8838              	.LVL530:
 8839              	.LBB1473:
 8840              	.LBI1470:
1040:Library/src/lcm32f06x_flash.c **** {
 8841              		.loc 1 1040 6 view .LVU2850
 8842              	.LBB1472:
1042:Library/src/lcm32f06x_flash.c **** 
 8843              		.loc 1 1042 3 view .LVU2851
1044:Library/src/lcm32f06x_flash.c **** 
 8844              		.loc 1 1044 3 view .LVU2852
1044:Library/src/lcm32f06x_flash.c **** 
 8845              		.loc 1 1044 7 is_stmt 0 view .LVU2853
 8846 0020 1A69     		ldr	r2, [r3, #16]
 8847              	.LVL531:
1046:Library/src/lcm32f06x_flash.c ****   {
 8848              		.loc 1 1046 3 is_stmt 1 view .LVU2854
1052:Library/src/lcm32f06x_flash.c ****   {
 8849              		.loc 1 1052 8 view .LVU2855
1054:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8850              		.loc 1 1054 5 view .LVU2856
1054:Library/src/lcm32f06x_flash.c ****     tmp &= ~(1 << 1);
 8851              		.loc 1 1054 15 is_stmt 0 view .LVU2857
 8852 0022 5961     		str	r1, [r3, #20]
1055:Library/src/lcm32f06x_flash.c ****     tmp |= FLASH_CR_OPTER_Msk;
 8853              		.loc 1 1055 5 is_stmt 1 view .LVU2858
 8854              	.LVL532:
1056:Library/src/lcm32f06x_flash.c ****   }
 8855              		.loc 1 1056 5 view .LVU2859
1070:Library/src/lcm32f06x_flash.c ****   tmp |= FLASH_CR_STRT_Msk;
 8856              		.loc 1 1070 3 view .LVU2860
 8857 0024 0621     		movs	r1, #6
 8858 0026 8A43     		bics	r2, r1
 8859              	.LVL533:
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8860              		.loc 1 1071 3 view .LVU2861
1071:Library/src/lcm32f06x_flash.c ****   FLASH->CR = tmp;
 8861              		.loc 1 1071 7 is_stmt 0 view .LVU2862
 8862 0028 5A31     		adds	r1, r1, #90
 8863 002a 0A43     		orrs	r2, r1
 8864              	.LVL534:
ARM GAS  /tmp/cc9cn0cw.s 			page 220


1072:Library/src/lcm32f06x_flash.c **** }
 8865              		.loc 1 1072 3 is_stmt 1 view .LVU2863
1072:Library/src/lcm32f06x_flash.c **** }
 8866              		.loc 1 1072 13 is_stmt 0 view .LVU2864
 8867 002c 1A61     		str	r2, [r3, #16]
 8868              	.LVL535:
1072:Library/src/lcm32f06x_flash.c **** }
 8869              		.loc 1 1072 13 view .LVU2865
 8870              	.LBE1472:
 8871              	.LBE1473:
 8872              		.loc 1 1125 1 view .LVU2866
 8873 002e 7047     		bx	lr
 8874              	.L712:
 8875              		.align	2
 8876              	.L711:
 8877 0030 00D00140 		.word	1073860608
 8878 0034 23016745 		.word	1164378403
 8879 0038 AB89EFCD 		.word	-839939669
 8880 003c DCFE6745 		.word	1164443356
 8881 0040 FFFFFFEF 		.word	-268435457
 8882 0044 230198BA 		.word	-1164443357
 8883 0048 00F7FF1F 		.word	536868608
 8884              		.cfi_endproc
 8885              	.LFE77:
 8887              		.section	.text.efls_pg,"ax",%progbits
 8888              		.align	1
 8889              		.p2align 2,,3
 8890              		.global	efls_pg
 8891              		.syntax unified
 8892              		.code	16
 8893              		.thumb_func
 8895              	efls_pg:
 8896              	.LVL536:
 8897              	.LFB78:
1126:Library/src/lcm32f06x_flash.c **** void efls_pg(uint32_t addr, uint32_t mem_type, uint32_t data, uint32_t word_flag)
1127:Library/src/lcm32f06x_flash.c **** {
 8898              		.loc 1 1127 1 is_stmt 1 view -0
 8899              		.cfi_startproc
 8900              		@ args = 0, pretend = 0, frame = 0
 8901              		@ frame_needed = 0, uses_anonymous_args = 0
1128:Library/src/lcm32f06x_flash.c ****   uint32_t base;
 8902              		.loc 1 1128 3 view .LVU2868
1129:Library/src/lcm32f06x_flash.c ****   if (mem_type == 0)
 8903              		.loc 1 1129 3 view .LVU2869
1127:Library/src/lcm32f06x_flash.c ****   uint32_t base;
 8904              		.loc 1 1127 1 is_stmt 0 view .LVU2870
 8905 0000 10B5     		push	{r4, lr}
 8906              	.LCFI14:
 8907              		.cfi_def_cfa_offset 8
 8908              		.cfi_offset 4, -8
 8909              		.cfi_offset 14, -4
 8910 0002 0229     		cmp	r1, #2
 8911 0004 17D8     		bhi	.L719
 8912 0006 0D4C     		ldr	r4, .L725
 8913 0008 8900     		lsls	r1, r1, #2
 8914              	.LVL537:
1127:Library/src/lcm32f06x_flash.c ****   uint32_t base;
ARM GAS  /tmp/cc9cn0cw.s 			page 221


 8915              		.loc 1 1127 1 view .LVU2871
 8916 000a 0959     		ldr	r1, [r1, r4]
 8917              	.L714:
 8918              	.LVL538:
1130:Library/src/lcm32f06x_flash.c ****     base = 0x08000000; //MAIN FLASH ADR START
1131:Library/src/lcm32f06x_flash.c ****   else if (mem_type == 1)
1132:Library/src/lcm32f06x_flash.c ****     base = 0x1FFFF600; //OPT ADR START
1133:Library/src/lcm32f06x_flash.c ****   else if (mem_type == 2)                //if (mem_type == 2)
1134:Library/src/lcm32f06x_flash.c ****     base = 0X1FFFF700; //CALI M START
1135:Library/src/lcm32f06x_flash.c ****   else
1136:Library/src/lcm32f06x_flash.c ****     base = 0X1FFFF000; //DATAM ADR START
1137:Library/src/lcm32f06x_flash.c **** 
1138:Library/src/lcm32f06x_flash.c ****   if (word_flag)
 8919              		.loc 1 1138 3 is_stmt 1 view .LVU2872
1139:Library/src/lcm32f06x_flash.c ****   {
1140:Library/src/lcm32f06x_flash.c ****     WR_REG(base + addr, data);
 8920              		.loc 1 1140 5 is_stmt 0 view .LVU2873
 8921 000c 0818     		adds	r0, r1, r0
 8922              	.LVL539:
1138:Library/src/lcm32f06x_flash.c ****   {
 8923              		.loc 1 1138 6 view .LVU2874
 8924 000e 002B     		cmp	r3, #0
 8925 0010 0ED0     		beq	.L715
 8926              		.loc 1 1140 5 is_stmt 1 view .LVU2875
 8927 0012 0260     		str	r2, [r0]
1141:Library/src/lcm32f06x_flash.c ****     while(!(FLASH->SR & 0x20))
 8928              		.loc 1 1141 5 view .LVU2876
 8929              	.LBB1476:
 8930              	.LBI1476:
1126:Library/src/lcm32f06x_flash.c **** {
 8931              		.loc 1 1126 6 view .LVU2877
 8932              	.LVL540:
 8933              	.LBB1477:
 8934              		.loc 1 1141 11 view .LVU2878
 8935              		.loc 1 1141 18 is_stmt 0 view .LVU2879
 8936 0014 0A4A     		ldr	r2, .L725+4
 8937              	.LVL541:
 8938              		.loc 1 1141 23 view .LVU2880
 8939 0016 2021     		movs	r1, #32
 8940              	.LVL542:
 8941              		.loc 1 1141 18 view .LVU2881
 8942 0018 D368     		ldr	r3, [r2, #12]
 8943              	.LVL543:
 8944              		.loc 1 1141 11 view .LVU2882
 8945 001a 9B06     		lsls	r3, r3, #26
 8946 001c 07D4     		bmi	.L713
 8947              	.L716:
1142:Library/src/lcm32f06x_flash.c ****     {
1143:Library/src/lcm32f06x_flash.c ****         __NOP(); __NOP(); __NOP(); __NOP(); __NOP();
 8948              		.loc 1 1143 9 is_stmt 1 view .LVU2883
 8949              		.syntax divided
 8950              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 8951 001e C046     		nop
 8952              	@ 0 "" 2
 8953              		.loc 1 1143 18 view .LVU2884
 8954              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 8955 0020 C046     		nop
ARM GAS  /tmp/cc9cn0cw.s 			page 222


 8956              	@ 0 "" 2
 8957              		.loc 1 1143 27 view .LVU2885
 8958              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 8959 0022 C046     		nop
 8960              	@ 0 "" 2
 8961              		.loc 1 1143 36 view .LVU2886
 8962              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 8963 0024 C046     		nop
 8964              	@ 0 "" 2
 8965              		.loc 1 1143 45 view .LVU2887
 8966              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 8967 0026 C046     		nop
 8968              	@ 0 "" 2
1141:Library/src/lcm32f06x_flash.c ****     {
 8969              		.loc 1 1141 11 view .LVU2888
1141:Library/src/lcm32f06x_flash.c ****     {
 8970              		.loc 1 1141 18 is_stmt 0 view .LVU2889
 8971              		.thumb
 8972              		.syntax unified
 8973 0028 D368     		ldr	r3, [r2, #12]
1141:Library/src/lcm32f06x_flash.c ****     {
 8974              		.loc 1 1141 11 view .LVU2890
 8975 002a 1942     		tst	r1, r3
 8976 002c F7D0     		beq	.L716
 8977              	.LVL544:
 8978              	.L713:
1141:Library/src/lcm32f06x_flash.c ****     {
 8979              		.loc 1 1141 11 view .LVU2891
 8980              	.LBE1477:
 8981              	.LBE1476:
1144:Library/src/lcm32f06x_flash.c ****     };
1145:Library/src/lcm32f06x_flash.c ****   }
1146:Library/src/lcm32f06x_flash.c ****   else
1147:Library/src/lcm32f06x_flash.c ****     WR_REGH(base + addr, data);
1148:Library/src/lcm32f06x_flash.c **** }
 8982              		.loc 1 1148 1 view .LVU2892
 8983              		@ sp needed
 8984 002e 10BD     		pop	{r4, pc}
 8985              	.LVL545:
 8986              	.L715:
1147:Library/src/lcm32f06x_flash.c **** }
 8987              		.loc 1 1147 5 is_stmt 1 view .LVU2893
 8988 0030 92B2     		uxth	r2, r2
 8989              	.LVL546:
1147:Library/src/lcm32f06x_flash.c **** }
 8990              		.loc 1 1147 5 is_stmt 0 view .LVU2894
 8991 0032 0280     		strh	r2, [r0]
 8992              		.loc 1 1148 1 view .LVU2895
 8993 0034 FBE7     		b	.L713
 8994              	.LVL547:
 8995              	.L719:
1127:Library/src/lcm32f06x_flash.c ****   uint32_t base;
 8996              		.loc 1 1127 1 view .LVU2896
 8997 0036 0349     		ldr	r1, .L725+8
 8998              	.LVL548:
1127:Library/src/lcm32f06x_flash.c ****   uint32_t base;
 8999              		.loc 1 1127 1 view .LVU2897
ARM GAS  /tmp/cc9cn0cw.s 			page 223


 9000 0038 E8E7     		b	.L714
 9001              	.L726:
 9002 003a C046     		.align	2
 9003              	.L725:
 9004 003c 00000000 		.word	CSWTCH.47
 9005 0040 00D00140 		.word	1073860608
 9006 0044 00F0FF1F 		.word	536866816
 9007              		.cfi_endproc
 9008              	.LFE78:
 9010              		.section	.text.write_opt_flash_n,"ax",%progbits
 9011              		.align	1
 9012              		.p2align 2,,3
 9013              		.global	write_opt_flash_n
 9014              		.syntax unified
 9015              		.code	16
 9016              		.thumb_func
 9018              	write_opt_flash_n:
 9019              	.LVL549:
 9020              	.LFB79:
1149:Library/src/lcm32f06x_flash.c **** 
1150:Library/src/lcm32f06x_flash.c **** void write_opt_flash_n(unsigned int addr, unsigned int data)
1151:Library/src/lcm32f06x_flash.c **** {
 9021              		.loc 1 1151 1 is_stmt 1 view -0
 9022              		.cfi_startproc
 9023              		@ args = 0, pretend = 0, frame = 0
 9024              		@ frame_needed = 0, uses_anonymous_args = 0
1152:Library/src/lcm32f06x_flash.c ****   addr -= 0x1ffff600;
 9025              		.loc 1 1152 3 view .LVU2899
1153:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY1;
 9026              		.loc 1 1153 3 view .LVU2900
 9027              		.loc 1 1153 15 is_stmt 0 view .LVU2901
 9028 0000 124B     		ldr	r3, .L733
1151:Library/src/lcm32f06x_flash.c ****   addr -= 0x1ffff600;
 9029              		.loc 1 1151 1 view .LVU2902
 9030 0002 10B5     		push	{r4, lr}
 9031              	.LCFI15:
 9032              		.cfi_def_cfa_offset 8
 9033              		.cfi_offset 4, -8
 9034              		.cfi_offset 14, -4
1154:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY2;
 9035              		.loc 1 1154 15 view .LVU2903
 9036 0004 124A     		ldr	r2, .L733+4
1153:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY1;
 9037              		.loc 1 1153 15 view .LVU2904
 9038 0006 134C     		ldr	r4, .L733+8
 9039 0008 5C60     		str	r4, [r3, #4]
 9040              		.loc 1 1154 3 is_stmt 1 view .LVU2905
 9041              		.loc 1 1154 15 is_stmt 0 view .LVU2906
 9042 000a 5A60     		str	r2, [r3, #4]
1155:Library/src/lcm32f06x_flash.c **** 
1156:Library/src/lcm32f06x_flash.c ****   FLASH->OPTKEYR = FLASH_OPTKEY1;
 9043              		.loc 1 1156 3 is_stmt 1 view .LVU2907
 9044              		.loc 1 1156 18 is_stmt 0 view .LVU2908
 9045 000c 9C60     		str	r4, [r3, #8]
1157:Library/src/lcm32f06x_flash.c ****   FLASH->OPTKEYR = FLASH_OPTKEY2;
 9046              		.loc 1 1157 3 is_stmt 1 view .LVU2909
1158:Library/src/lcm32f06x_flash.c **** 
ARM GAS  /tmp/cc9cn0cw.s 			page 224


1159:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR1;
1160:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
1161:Library/src/lcm32f06x_flash.c **** 
1162:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= ~FLASH_CR_PG_Msk;
 9047              		.loc 1 1162 13 is_stmt 0 view .LVU2910
 9048 000e 0124     		movs	r4, #1
1157:Library/src/lcm32f06x_flash.c ****   FLASH->OPTKEYR = FLASH_OPTKEY2;
 9049              		.loc 1 1157 18 view .LVU2911
 9050 0010 9A60     		str	r2, [r3, #8]
1159:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
 9051              		.loc 1 1159 3 is_stmt 1 view .LVU2912
1159:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
 9052              		.loc 1 1159 17 is_stmt 0 view .LVU2913
 9053 0012 114A     		ldr	r2, .L733+12
 9054 0014 DA63     		str	r2, [r3, #60]
1160:Library/src/lcm32f06x_flash.c **** 
 9055              		.loc 1 1160 3 is_stmt 1 view .LVU2914
1160:Library/src/lcm32f06x_flash.c **** 
 9056              		.loc 1 1160 17 is_stmt 0 view .LVU2915
 9057 0016 114A     		ldr	r2, .L733+16
 9058 0018 DA63     		str	r2, [r3, #60]
 9059              		.loc 1 1162 3 is_stmt 1 view .LVU2916
 9060              		.loc 1 1162 8 is_stmt 0 view .LVU2917
 9061 001a 1A69     		ldr	r2, [r3, #16]
 9062              		.loc 1 1162 13 view .LVU2918
 9063 001c A243     		bics	r2, r4
 9064 001e 1A61     		str	r2, [r3, #16]
1163:Library/src/lcm32f06x_flash.c ****   FLASH->CR |= FLASH_CR_OPTPG_Msk; //START OPT PG
 9065              		.loc 1 1163 3 is_stmt 1 view .LVU2919
 9066              		.loc 1 1163 8 is_stmt 0 view .LVU2920
 9067 0020 1A69     		ldr	r2, [r3, #16]
 9068              		.loc 1 1163 13 view .LVU2921
 9069 0022 0F34     		adds	r4, r4, #15
 9070 0024 2243     		orrs	r2, r4
 9071 0026 1A61     		str	r2, [r3, #16]
1164:Library/src/lcm32f06x_flash.c ****   
1165:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= 0xefffffff;
 9072              		.loc 1 1165 3 is_stmt 1 view .LVU2922
 9073              		.loc 1 1165 8 is_stmt 0 view .LVU2923
 9074 0028 1A69     		ldr	r2, [r3, #16]
 9075              		.loc 1 1165 13 view .LVU2924
 9076 002a 0D4C     		ldr	r4, .L733+20
 9077 002c 2240     		ands	r2, r4
 9078 002e 1A61     		str	r2, [r3, #16]
1166:Library/src/lcm32f06x_flash.c ****   efls_pg(addr, 1, data, 1);
 9079              		.loc 1 1166 3 is_stmt 1 view .LVU2925
 9080              	.LVL550:
 9081              	.LBB1484:
 9082              	.LBI1484:
1126:Library/src/lcm32f06x_flash.c **** {
 9083              		.loc 1 1126 6 view .LVU2926
 9084              	.LBB1485:
1128:Library/src/lcm32f06x_flash.c ****   if (mem_type == 0)
 9085              		.loc 1 1128 3 view .LVU2927
1129:Library/src/lcm32f06x_flash.c ****     base = 0x08000000; //MAIN FLASH ADR START
 9086              		.loc 1 1129 3 view .LVU2928
1138:Library/src/lcm32f06x_flash.c ****   {
ARM GAS  /tmp/cc9cn0cw.s 			page 225


 9087              		.loc 1 1138 3 view .LVU2929
1140:Library/src/lcm32f06x_flash.c ****     while(!(FLASH->SR & 0x20))
 9088              		.loc 1 1140 5 view .LVU2930
 9089 0030 0160     		str	r1, [r0]
1141:Library/src/lcm32f06x_flash.c ****     {
 9090              		.loc 1 1141 5 view .LVU2931
 9091              	.LBB1486:
 9092              	.LBI1486:
1126:Library/src/lcm32f06x_flash.c **** {
 9093              		.loc 1 1126 6 view .LVU2932
 9094              	.LVL551:
 9095              	.LBB1487:
1141:Library/src/lcm32f06x_flash.c ****     {
 9096              		.loc 1 1141 11 view .LVU2933
1141:Library/src/lcm32f06x_flash.c ****     {
 9097              		.loc 1 1141 18 is_stmt 0 view .LVU2934
 9098 0032 DA68     		ldr	r2, [r3, #12]
1141:Library/src/lcm32f06x_flash.c ****     {
 9099              		.loc 1 1141 11 view .LVU2935
 9100 0034 9206     		lsls	r2, r2, #26
 9101 0036 08D4     		bmi	.L727
1141:Library/src/lcm32f06x_flash.c ****     {
 9102              		.loc 1 1141 23 view .LVU2936
 9103 0038 2021     		movs	r1, #32
 9104              	.LVL552:
 9105              	.L729:
1143:Library/src/lcm32f06x_flash.c ****     };
 9106              		.loc 1 1143 9 is_stmt 1 view .LVU2937
 9107              		.syntax divided
 9108              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 9109 003a C046     		nop
 9110              	@ 0 "" 2
1143:Library/src/lcm32f06x_flash.c ****     };
 9111              		.loc 1 1143 18 view .LVU2938
 9112              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 9113 003c C046     		nop
 9114              	@ 0 "" 2
1143:Library/src/lcm32f06x_flash.c ****     };
 9115              		.loc 1 1143 27 view .LVU2939
 9116              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 9117 003e C046     		nop
 9118              	@ 0 "" 2
1143:Library/src/lcm32f06x_flash.c ****     };
 9119              		.loc 1 1143 36 view .LVU2940
 9120              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 9121 0040 C046     		nop
 9122              	@ 0 "" 2
1143:Library/src/lcm32f06x_flash.c ****     };
 9123              		.loc 1 1143 45 view .LVU2941
 9124              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 9125 0042 C046     		nop
 9126              	@ 0 "" 2
1141:Library/src/lcm32f06x_flash.c ****     {
 9127              		.loc 1 1141 11 view .LVU2942
1141:Library/src/lcm32f06x_flash.c ****     {
 9128              		.loc 1 1141 18 is_stmt 0 view .LVU2943
 9129              		.thumb
ARM GAS  /tmp/cc9cn0cw.s 			page 226


 9130              		.syntax unified
 9131 0044 DA68     		ldr	r2, [r3, #12]
1141:Library/src/lcm32f06x_flash.c ****     {
 9132              		.loc 1 1141 11 view .LVU2944
 9133 0046 1142     		tst	r1, r2
 9134 0048 F7D0     		beq	.L729
 9135              	.L727:
 9136              	.LBE1487:
 9137              	.LBE1486:
 9138              	.LBE1485:
 9139              	.LBE1484:
1167:Library/src/lcm32f06x_flash.c **** }
 9140              		.loc 1 1167 1 view .LVU2945
 9141              		@ sp needed
 9142 004a 10BD     		pop	{r4, pc}
 9143              	.L734:
 9144              		.align	2
 9145              	.L733:
 9146 004c 00D00140 		.word	1073860608
 9147 0050 AB89EFCD 		.word	-839939669
 9148 0054 23016745 		.word	1164378403
 9149 0058 DCFE6745 		.word	1164443356
 9150 005c 230198BA 		.word	-1164443357
 9151 0060 FFFFFFEF 		.word	-268435457
 9152              		.cfi_endproc
 9153              	.LFE79:
 9155              		.section	.text.write_sm_flash_n,"ax",%progbits
 9156              		.align	1
 9157              		.p2align 2,,3
 9158              		.global	write_sm_flash_n
 9159              		.syntax unified
 9160              		.code	16
 9161              		.thumb_func
 9163              	write_sm_flash_n:
 9164              	.LVL553:
 9165              	.LFB80:
1168:Library/src/lcm32f06x_flash.c **** 
1169:Library/src/lcm32f06x_flash.c **** void write_sm_flash_n(unsigned int addr, unsigned int data)
1170:Library/src/lcm32f06x_flash.c **** {
 9166              		.loc 1 1170 1 is_stmt 1 view -0
 9167              		.cfi_startproc
 9168              		@ args = 0, pretend = 0, frame = 0
 9169              		@ frame_needed = 0, uses_anonymous_args = 0
1171:Library/src/lcm32f06x_flash.c ****   addr -= 0x1ffff700;
 9170              		.loc 1 1171 3 view .LVU2947
1172:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY1;
 9171              		.loc 1 1172 3 view .LVU2948
 9172              		.loc 1 1172 15 is_stmt 0 view .LVU2949
 9173 0000 144B     		ldr	r3, .L740
1170:Library/src/lcm32f06x_flash.c ****   addr -= 0x1ffff700;
 9174              		.loc 1 1170 1 view .LVU2950
 9175 0002 30B5     		push	{r4, r5, lr}
 9176              	.LCFI16:
 9177              		.cfi_def_cfa_offset 12
 9178              		.cfi_offset 4, -12
 9179              		.cfi_offset 5, -8
 9180              		.cfi_offset 14, -4
ARM GAS  /tmp/cc9cn0cw.s 			page 227


1173:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY2;
 9181              		.loc 1 1173 15 view .LVU2951
 9182 0004 144A     		ldr	r2, .L740+4
1172:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY1;
 9183              		.loc 1 1172 15 view .LVU2952
 9184 0006 154C     		ldr	r4, .L740+8
1174:Library/src/lcm32f06x_flash.c **** 
1175:Library/src/lcm32f06x_flash.c ****   FLASH->OPTKEYR = FLASH_OPTKEY1;
1176:Library/src/lcm32f06x_flash.c ****   FLASH->OPTKEYR = FLASH_OPTKEY2;
1177:Library/src/lcm32f06x_flash.c **** 
1178:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR1;
1179:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
1180:Library/src/lcm32f06x_flash.c **** 
1181:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= ~FLASH_CR_OPTER_Msk;
1182:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= ~FLASH_CR_PG_Msk;
 9185              		.loc 1 1182 13 view .LVU2953
 9186 0008 0125     		movs	r5, #1
1172:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY2;
 9187              		.loc 1 1172 15 view .LVU2954
 9188 000a 5C60     		str	r4, [r3, #4]
1173:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY2;
 9189              		.loc 1 1173 3 is_stmt 1 view .LVU2955
1173:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY2;
 9190              		.loc 1 1173 15 is_stmt 0 view .LVU2956
 9191 000c 5A60     		str	r2, [r3, #4]
1175:Library/src/lcm32f06x_flash.c ****   FLASH->OPTKEYR = FLASH_OPTKEY2;
 9192              		.loc 1 1175 3 is_stmt 1 view .LVU2957
1175:Library/src/lcm32f06x_flash.c ****   FLASH->OPTKEYR = FLASH_OPTKEY2;
 9193              		.loc 1 1175 18 is_stmt 0 view .LVU2958
 9194 000e 9C60     		str	r4, [r3, #8]
1176:Library/src/lcm32f06x_flash.c **** 
 9195              		.loc 1 1176 3 is_stmt 1 view .LVU2959
1181:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= ~FLASH_CR_PG_Msk;
 9196              		.loc 1 1181 13 is_stmt 0 view .LVU2960
 9197 0010 2024     		movs	r4, #32
1176:Library/src/lcm32f06x_flash.c **** 
 9198              		.loc 1 1176 18 view .LVU2961
 9199 0012 9A60     		str	r2, [r3, #8]
1178:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
 9200              		.loc 1 1178 3 is_stmt 1 view .LVU2962
1178:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
 9201              		.loc 1 1178 17 is_stmt 0 view .LVU2963
 9202 0014 124A     		ldr	r2, .L740+12
 9203 0016 DA63     		str	r2, [r3, #60]
1179:Library/src/lcm32f06x_flash.c **** 
 9204              		.loc 1 1179 3 is_stmt 1 view .LVU2964
1179:Library/src/lcm32f06x_flash.c **** 
 9205              		.loc 1 1179 17 is_stmt 0 view .LVU2965
 9206 0018 124A     		ldr	r2, .L740+16
 9207 001a DA63     		str	r2, [r3, #60]
1181:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= ~FLASH_CR_PG_Msk;
 9208              		.loc 1 1181 3 is_stmt 1 view .LVU2966
1181:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= ~FLASH_CR_PG_Msk;
 9209              		.loc 1 1181 8 is_stmt 0 view .LVU2967
 9210 001c 1A69     		ldr	r2, [r3, #16]
1181:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= ~FLASH_CR_PG_Msk;
 9211              		.loc 1 1181 13 view .LVU2968
ARM GAS  /tmp/cc9cn0cw.s 			page 228


 9212 001e A243     		bics	r2, r4
 9213 0020 1A61     		str	r2, [r3, #16]
 9214              		.loc 1 1182 3 is_stmt 1 view .LVU2969
 9215              		.loc 1 1182 8 is_stmt 0 view .LVU2970
 9216 0022 1A69     		ldr	r2, [r3, #16]
 9217              		.loc 1 1182 13 view .LVU2971
 9218 0024 AA43     		bics	r2, r5
 9219 0026 1A61     		str	r2, [r3, #16]
1183:Library/src/lcm32f06x_flash.c ****   FLASH->CR |= FLASH_CR_OPTPG_Msk; //START OPT PG
 9220              		.loc 1 1183 3 is_stmt 1 view .LVU2972
 9221              		.loc 1 1183 8 is_stmt 0 view .LVU2973
 9222 0028 1A69     		ldr	r2, [r3, #16]
 9223              		.loc 1 1183 13 view .LVU2974
 9224 002a 0F35     		adds	r5, r5, #15
 9225 002c 2A43     		orrs	r2, r5
 9226 002e 1A61     		str	r2, [r3, #16]
1184:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= 0xefffffff;
 9227              		.loc 1 1184 3 is_stmt 1 view .LVU2975
 9228              		.loc 1 1184 8 is_stmt 0 view .LVU2976
 9229 0030 1A69     		ldr	r2, [r3, #16]
 9230              		.loc 1 1184 13 view .LVU2977
 9231 0032 0D4D     		ldr	r5, .L740+20
 9232 0034 2A40     		ands	r2, r5
 9233 0036 1A61     		str	r2, [r3, #16]
1185:Library/src/lcm32f06x_flash.c ****   efls_pg(addr, 2, data, 1);
 9234              		.loc 1 1185 3 is_stmt 1 view .LVU2978
 9235              	.LVL554:
 9236              	.LBB1492:
 9237              	.LBI1492:
1126:Library/src/lcm32f06x_flash.c **** {
 9238              		.loc 1 1126 6 view .LVU2979
 9239              	.LBB1493:
1128:Library/src/lcm32f06x_flash.c ****   if (mem_type == 0)
 9240              		.loc 1 1128 3 view .LVU2980
1129:Library/src/lcm32f06x_flash.c ****     base = 0x08000000; //MAIN FLASH ADR START
 9241              		.loc 1 1129 3 view .LVU2981
1138:Library/src/lcm32f06x_flash.c ****   {
 9242              		.loc 1 1138 3 view .LVU2982
1140:Library/src/lcm32f06x_flash.c ****     while(!(FLASH->SR & 0x20))
 9243              		.loc 1 1140 5 view .LVU2983
 9244 0038 0160     		str	r1, [r0]
1141:Library/src/lcm32f06x_flash.c ****     {
 9245              		.loc 1 1141 5 view .LVU2984
 9246              	.LBB1494:
 9247              	.LBI1494:
1126:Library/src/lcm32f06x_flash.c **** {
 9248              		.loc 1 1126 6 view .LVU2985
 9249              	.LVL555:
 9250              	.LBB1495:
1141:Library/src/lcm32f06x_flash.c ****     {
 9251              		.loc 1 1141 11 view .LVU2986
1141:Library/src/lcm32f06x_flash.c ****     {
 9252              		.loc 1 1141 18 is_stmt 0 view .LVU2987
 9253 003a DA68     		ldr	r2, [r3, #12]
1141:Library/src/lcm32f06x_flash.c ****     {
 9254              		.loc 1 1141 11 view .LVU2988
 9255 003c 1442     		tst	r4, r2
ARM GAS  /tmp/cc9cn0cw.s 			page 229


 9256 003e 08D1     		bne	.L735
1141:Library/src/lcm32f06x_flash.c ****     {
 9257              		.loc 1 1141 23 view .LVU2989
 9258 0040 2021     		movs	r1, #32
 9259              	.LVL556:
 9260              	.L737:
1143:Library/src/lcm32f06x_flash.c ****     };
 9261              		.loc 1 1143 9 is_stmt 1 view .LVU2990
 9262              		.syntax divided
 9263              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 9264 0042 C046     		nop
 9265              	@ 0 "" 2
1143:Library/src/lcm32f06x_flash.c ****     };
 9266              		.loc 1 1143 18 view .LVU2991
 9267              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 9268 0044 C046     		nop
 9269              	@ 0 "" 2
1143:Library/src/lcm32f06x_flash.c ****     };
 9270              		.loc 1 1143 27 view .LVU2992
 9271              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 9272 0046 C046     		nop
 9273              	@ 0 "" 2
1143:Library/src/lcm32f06x_flash.c ****     };
 9274              		.loc 1 1143 36 view .LVU2993
 9275              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 9276 0048 C046     		nop
 9277              	@ 0 "" 2
1143:Library/src/lcm32f06x_flash.c ****     };
 9278              		.loc 1 1143 45 view .LVU2994
 9279              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 9280 004a C046     		nop
 9281              	@ 0 "" 2
1141:Library/src/lcm32f06x_flash.c ****     {
 9282              		.loc 1 1141 11 view .LVU2995
1141:Library/src/lcm32f06x_flash.c ****     {
 9283              		.loc 1 1141 18 is_stmt 0 view .LVU2996
 9284              		.thumb
 9285              		.syntax unified
 9286 004c DA68     		ldr	r2, [r3, #12]
1141:Library/src/lcm32f06x_flash.c ****     {
 9287              		.loc 1 1141 11 view .LVU2997
 9288 004e 1142     		tst	r1, r2
 9289 0050 F7D0     		beq	.L737
 9290              	.L735:
 9291              	.LBE1495:
 9292              	.LBE1494:
 9293              	.LBE1493:
 9294              	.LBE1492:
1186:Library/src/lcm32f06x_flash.c **** }
 9295              		.loc 1 1186 1 view .LVU2998
 9296              		@ sp needed
 9297 0052 30BD     		pop	{r4, r5, pc}
 9298              	.L741:
 9299              		.align	2
 9300              	.L740:
 9301 0054 00D00140 		.word	1073860608
 9302 0058 AB89EFCD 		.word	-839939669
ARM GAS  /tmp/cc9cn0cw.s 			page 230


 9303 005c 23016745 		.word	1164378403
 9304 0060 DCFE6745 		.word	1164443356
 9305 0064 230198BA 		.word	-1164443357
 9306 0068 FFFFFFEF 		.word	-268435457
 9307              		.cfi_endproc
 9308              	.LFE80:
 9310              		.section	.text.write_DataMemory_n,"ax",%progbits
 9311              		.align	1
 9312              		.p2align 2,,3
 9313              		.global	write_DataMemory_n
 9314              		.syntax unified
 9315              		.code	16
 9316              		.thumb_func
 9318              	write_DataMemory_n:
 9319              	.LFB91:
 9320              		.cfi_startproc
1187:Library/src/lcm32f06x_flash.c **** void write_DataMemory_n(unsigned int addr, unsigned int data)
 9321              		.loc 1 1187 6 is_stmt 1 view -0
 9322              		@ args = 0, pretend = 0, frame = 0
 9323              		@ frame_needed = 0, uses_anonymous_args = 0
 9324 0000 124B     		ldr	r3, .L748
 9325 0002 10B5     		push	{r4, lr}
 9326              	.LCFI17:
 9327              		.cfi_def_cfa_offset 8
 9328              		.cfi_offset 4, -8
 9329              		.cfi_offset 14, -4
 9330 0004 124A     		ldr	r2, .L748+4
 9331 0006 134C     		ldr	r4, .L748+8
 9332 0008 5C60     		str	r4, [r3, #4]
 9333 000a 5A60     		str	r2, [r3, #4]
 9334 000c 9C60     		str	r4, [r3, #8]
 9335 000e 0124     		movs	r4, #1
 9336 0010 9A60     		str	r2, [r3, #8]
 9337 0012 114A     		ldr	r2, .L748+12
 9338 0014 DA63     		str	r2, [r3, #60]
 9339 0016 114A     		ldr	r2, .L748+16
 9340 0018 DA63     		str	r2, [r3, #60]
 9341 001a 1A69     		ldr	r2, [r3, #16]
 9342 001c A243     		bics	r2, r4
 9343 001e 1A61     		str	r2, [r3, #16]
 9344 0020 1A69     		ldr	r2, [r3, #16]
 9345 0022 0F34     		adds	r4, r4, #15
 9346 0024 2243     		orrs	r2, r4
 9347 0026 1A61     		str	r2, [r3, #16]
 9348 0028 1A69     		ldr	r2, [r3, #16]
 9349 002a 0D4C     		ldr	r4, .L748+20
 9350 002c 2240     		ands	r2, r4
 9351 002e 1A61     		str	r2, [r3, #16]
 9352 0030 0160     		str	r1, [r0]
 9353 0032 DA68     		ldr	r2, [r3, #12]
 9354 0034 9206     		lsls	r2, r2, #26
 9355 0036 08D4     		bmi	.L742
 9356 0038 2021     		movs	r1, #32
 9357              	.L744:
 9358              		.syntax divided
 9359              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 9360 003a C046     		nop
ARM GAS  /tmp/cc9cn0cw.s 			page 231


 9361              	@ 0 "" 2
 9362              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 9363 003c C046     		nop
 9364              	@ 0 "" 2
 9365              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 9366 003e C046     		nop
 9367              	@ 0 "" 2
 9368              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 9369 0040 C046     		nop
 9370              	@ 0 "" 2
 9371              	@ 1143 "Library/src/lcm32f06x_flash.c" 1
 9372 0042 C046     		nop
 9373              	@ 0 "" 2
 9374              		.thumb
 9375              		.syntax unified
 9376 0044 DA68     		ldr	r2, [r3, #12]
 9377 0046 1142     		tst	r1, r2
 9378 0048 F7D0     		beq	.L744
 9379              	.L742:
 9380              		@ sp needed
 9381 004a 10BD     		pop	{r4, pc}
 9382              	.L749:
 9383              		.align	2
 9384              	.L748:
 9385 004c 00D00140 		.word	1073860608
 9386 0050 AB89EFCD 		.word	-839939669
 9387 0054 23016745 		.word	1164378403
 9388 0058 DCFE6745 		.word	1164443356
 9389 005c 230198BA 		.word	-1164443357
 9390 0060 FFFFFFEF 		.word	-268435457
 9391              		.cfi_endproc
 9392              	.LFE91:
 9394              		.section	.text.rcl_trim,"ax",%progbits
 9395              		.align	1
 9396              		.p2align 2,,3
 9397              		.global	rcl_trim
 9398              		.syntax unified
 9399              		.code	16
 9400              		.thumb_func
 9402              	rcl_trim:
 9403              	.LVL557:
 9404              	.LFB82:
1188:Library/src/lcm32f06x_flash.c **** {
1189:Library/src/lcm32f06x_flash.c ****   addr -= 0x1ffff000;
1190:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY1;
1191:Library/src/lcm32f06x_flash.c ****   FLASH->KEYR = FLASH_FKEY2;
1192:Library/src/lcm32f06x_flash.c **** 
1193:Library/src/lcm32f06x_flash.c ****   FLASH->OPTKEYR = FLASH_OPTKEY1;
1194:Library/src/lcm32f06x_flash.c ****   FLASH->OPTKEYR = FLASH_OPTKEY2;
1195:Library/src/lcm32f06x_flash.c **** 
1196:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR1;
1197:Library/src/lcm32f06x_flash.c ****   FLASH->SMKEYR = FLASH_SMKEYR2;
1198:Library/src/lcm32f06x_flash.c **** 
1199:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= ~FLASH_CR_PG_Msk;
1200:Library/src/lcm32f06x_flash.c ****   FLASH->CR |= FLASH_CR_OPTPG_Msk; //START OPT PG
1201:Library/src/lcm32f06x_flash.c ****   FLASH->CR &= 0xefffffff;
1202:Library/src/lcm32f06x_flash.c ****   efls_pg(addr, 3, data, 1);
ARM GAS  /tmp/cc9cn0cw.s 			page 232


1203:Library/src/lcm32f06x_flash.c **** }
1204:Library/src/lcm32f06x_flash.c **** void rcl_trim(uint32_t trim)
1205:Library/src/lcm32f06x_flash.c **** {
 9405              		.loc 1 1205 1 view -0
 9406              		.cfi_startproc
 9407              		@ args = 0, pretend = 0, frame = 0
 9408              		@ frame_needed = 0, uses_anonymous_args = 0
 9409              		@ link register save eliminated.
1206:Library/src/lcm32f06x_flash.c ****   chipctrl_access();
 9410              		.loc 1 1206 3 view .LVU3001
 9411              	.LBB1496:
 9412              	.LBI1496:
 9413              		.file 2 "Core/cmsis_gcc.h"
   1:Core/cmsis_gcc.h **** /**************************************************************************//**
   2:Core/cmsis_gcc.h ****  * @file     cmsis_gcc.h
   3:Core/cmsis_gcc.h ****  * @brief    CMSIS compiler GCC header file
   4:Core/cmsis_gcc.h ****  * @version  V5.4.1
   5:Core/cmsis_gcc.h ****  * @date     27. May 2021
   6:Core/cmsis_gcc.h ****  ******************************************************************************/
   7:Core/cmsis_gcc.h **** /*
   8:Core/cmsis_gcc.h ****  * Copyright (c) 2009-2021 Arm Limited. All rights reserved.
   9:Core/cmsis_gcc.h ****  *
  10:Core/cmsis_gcc.h ****  * SPDX-License-Identifier: Apache-2.0
  11:Core/cmsis_gcc.h ****  *
  12:Core/cmsis_gcc.h ****  * Licensed under the Apache License, Version 2.0 (the License); you may
  13:Core/cmsis_gcc.h ****  * not use this file except in compliance with the License.
  14:Core/cmsis_gcc.h ****  * You may obtain a copy of the License at
  15:Core/cmsis_gcc.h ****  *
  16:Core/cmsis_gcc.h ****  * www.apache.org/licenses/LICENSE-2.0
  17:Core/cmsis_gcc.h ****  *
  18:Core/cmsis_gcc.h ****  * Unless required by applicable law or agreed to in writing, software
  19:Core/cmsis_gcc.h ****  * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  20:Core/cmsis_gcc.h ****  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  21:Core/cmsis_gcc.h ****  * See the License for the specific language governing permissions and
  22:Core/cmsis_gcc.h ****  * limitations under the License.
  23:Core/cmsis_gcc.h ****  */
  24:Core/cmsis_gcc.h **** 
  25:Core/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
  26:Core/cmsis_gcc.h **** #define __CMSIS_GCC_H
  27:Core/cmsis_gcc.h **** 
  28:Core/cmsis_gcc.h **** /* ignore some GCC warnings */
  29:Core/cmsis_gcc.h **** #pragma GCC diagnostic push
  30:Core/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
  31:Core/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
  32:Core/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
  33:Core/cmsis_gcc.h **** 
  34:Core/cmsis_gcc.h **** /* Fallback for __has_builtin */
  35:Core/cmsis_gcc.h **** #ifndef __has_builtin
  36:Core/cmsis_gcc.h ****   #define __has_builtin(x) (0)
  37:Core/cmsis_gcc.h **** #endif
  38:Core/cmsis_gcc.h **** 
  39:Core/cmsis_gcc.h **** /* CMSIS compiler specific defines */
  40:Core/cmsis_gcc.h **** #ifndef   __ASM
  41:Core/cmsis_gcc.h ****   #define __ASM                                  __asm
  42:Core/cmsis_gcc.h **** #endif
  43:Core/cmsis_gcc.h **** #ifndef   __INLINE
  44:Core/cmsis_gcc.h ****   #define __INLINE                               inline
ARM GAS  /tmp/cc9cn0cw.s 			page 233


  45:Core/cmsis_gcc.h **** #endif
  46:Core/cmsis_gcc.h **** #ifndef   __STATIC_INLINE
  47:Core/cmsis_gcc.h ****   #define __STATIC_INLINE                        static inline
  48:Core/cmsis_gcc.h **** #endif
  49:Core/cmsis_gcc.h **** #ifndef   __STATIC_FORCEINLINE
  50:Core/cmsis_gcc.h ****   #define __STATIC_FORCEINLINE                   __attribute__((always_inline)) static inline
  51:Core/cmsis_gcc.h **** #endif
  52:Core/cmsis_gcc.h **** #ifndef   __NO_RETURN
  53:Core/cmsis_gcc.h ****   #define __NO_RETURN                            __attribute__((__noreturn__))
  54:Core/cmsis_gcc.h **** #endif
  55:Core/cmsis_gcc.h **** #ifndef   __USED
  56:Core/cmsis_gcc.h ****   #define __USED                                 __attribute__((used))
  57:Core/cmsis_gcc.h **** #endif
  58:Core/cmsis_gcc.h **** #ifndef   __WEAK
  59:Core/cmsis_gcc.h ****   #define __WEAK                                 __attribute__((weak))
  60:Core/cmsis_gcc.h **** #endif
  61:Core/cmsis_gcc.h **** #ifndef   __PACKED
  62:Core/cmsis_gcc.h ****   #define __PACKED                               __attribute__((packed, aligned(1)))
  63:Core/cmsis_gcc.h **** #endif
  64:Core/cmsis_gcc.h **** #ifndef   __PACKED_STRUCT
  65:Core/cmsis_gcc.h ****   #define __PACKED_STRUCT                        struct __attribute__((packed, aligned(1)))
  66:Core/cmsis_gcc.h **** #endif
  67:Core/cmsis_gcc.h **** #ifndef   __PACKED_UNION
  68:Core/cmsis_gcc.h ****   #define __PACKED_UNION                         union __attribute__((packed, aligned(1)))
  69:Core/cmsis_gcc.h **** #endif
  70:Core/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT32        /* deprecated */
  71:Core/cmsis_gcc.h ****   #pragma GCC diagnostic push
  72:Core/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  73:Core/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
  74:Core/cmsis_gcc.h ****   struct __attribute__((packed)) T_UINT32 { uint32_t v; };
  75:Core/cmsis_gcc.h ****   #pragma GCC diagnostic pop
  76:Core/cmsis_gcc.h ****   #define __UNALIGNED_UINT32(x)                  (((struct T_UINT32 *)(x))->v)
  77:Core/cmsis_gcc.h **** #endif
  78:Core/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT16_WRITE
  79:Core/cmsis_gcc.h ****   #pragma GCC diagnostic push
  80:Core/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  81:Core/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
  82:Core/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
  83:Core/cmsis_gcc.h ****   #pragma GCC diagnostic pop
  84:Core/cmsis_gcc.h ****   #define __UNALIGNED_UINT16_WRITE(addr, val)    (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
  85:Core/cmsis_gcc.h **** #endif
  86:Core/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT16_READ
  87:Core/cmsis_gcc.h ****   #pragma GCC diagnostic push
  88:Core/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  89:Core/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
  90:Core/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
  91:Core/cmsis_gcc.h ****   #pragma GCC diagnostic pop
  92:Core/cmsis_gcc.h ****   #define __UNALIGNED_UINT16_READ(addr)          (((const struct T_UINT16_READ *)(const void *)(add
  93:Core/cmsis_gcc.h **** #endif
  94:Core/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT32_WRITE
  95:Core/cmsis_gcc.h ****   #pragma GCC diagnostic push
  96:Core/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  97:Core/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
  98:Core/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
  99:Core/cmsis_gcc.h ****   #pragma GCC diagnostic pop
 100:Core/cmsis_gcc.h ****   #define __UNALIGNED_UINT32_WRITE(addr, val)    (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
 101:Core/cmsis_gcc.h **** #endif
ARM GAS  /tmp/cc9cn0cw.s 			page 234


 102:Core/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT32_READ
 103:Core/cmsis_gcc.h ****   #pragma GCC diagnostic push
 104:Core/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
 105:Core/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
 106:Core/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
 107:Core/cmsis_gcc.h ****   #pragma GCC diagnostic pop
 108:Core/cmsis_gcc.h ****   #define __UNALIGNED_UINT32_READ(addr)          (((const struct T_UINT32_READ *)(const void *)(add
 109:Core/cmsis_gcc.h **** #endif
 110:Core/cmsis_gcc.h **** #ifndef   __ALIGNED
 111:Core/cmsis_gcc.h ****   #define __ALIGNED(x)                           __attribute__((aligned(x)))
 112:Core/cmsis_gcc.h **** #endif
 113:Core/cmsis_gcc.h **** #ifndef   __RESTRICT
 114:Core/cmsis_gcc.h ****   #define __RESTRICT                             __restrict
 115:Core/cmsis_gcc.h **** #endif
 116:Core/cmsis_gcc.h **** #ifndef   __COMPILER_BARRIER
 117:Core/cmsis_gcc.h ****   #define __COMPILER_BARRIER()                   __ASM volatile("":::"memory")
 118:Core/cmsis_gcc.h **** #endif
 119:Core/cmsis_gcc.h **** 
 120:Core/cmsis_gcc.h **** /* #########################  Startup and Lowlevel Init  ######################## */
 121:Core/cmsis_gcc.h **** 
 122:Core/cmsis_gcc.h **** #ifndef __PROGRAM_START
 123:Core/cmsis_gcc.h **** 
 124:Core/cmsis_gcc.h **** /**
 125:Core/cmsis_gcc.h ****   \brief   Initializes data and bss sections
 126:Core/cmsis_gcc.h ****   \details This default implementations initialized all data and additional bss
 127:Core/cmsis_gcc.h ****            sections relying on .copy.table and .zero.table specified properly
 128:Core/cmsis_gcc.h ****            in the used linker script.
 129:Core/cmsis_gcc.h **** 
 130:Core/cmsis_gcc.h ****  */
 131:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE __NO_RETURN void __cmsis_start(void)
 132:Core/cmsis_gcc.h **** {
 133:Core/cmsis_gcc.h ****   extern void _start(void) __NO_RETURN;
 134:Core/cmsis_gcc.h **** 
 135:Core/cmsis_gcc.h ****   typedef struct {
 136:Core/cmsis_gcc.h ****     uint32_t const* src;
 137:Core/cmsis_gcc.h ****     uint32_t* dest;
 138:Core/cmsis_gcc.h ****     uint32_t  wlen;
 139:Core/cmsis_gcc.h ****   } __copy_table_t;
 140:Core/cmsis_gcc.h **** 
 141:Core/cmsis_gcc.h ****   typedef struct {
 142:Core/cmsis_gcc.h ****     uint32_t* dest;
 143:Core/cmsis_gcc.h ****     uint32_t  wlen;
 144:Core/cmsis_gcc.h ****   } __zero_table_t;
 145:Core/cmsis_gcc.h **** 
 146:Core/cmsis_gcc.h ****   extern const __copy_table_t __copy_table_start__;
 147:Core/cmsis_gcc.h ****   extern const __copy_table_t __copy_table_end__;
 148:Core/cmsis_gcc.h ****   extern const __zero_table_t __zero_table_start__;
 149:Core/cmsis_gcc.h ****   extern const __zero_table_t __zero_table_end__;
 150:Core/cmsis_gcc.h **** 
 151:Core/cmsis_gcc.h ****   for (__copy_table_t const* pTable = &__copy_table_start__; pTable < &__copy_table_end__; ++pTable
 152:Core/cmsis_gcc.h ****     for(uint32_t i=0u; i<pTable->wlen; ++i) {
 153:Core/cmsis_gcc.h ****       pTable->dest[i] = pTable->src[i];
 154:Core/cmsis_gcc.h ****     }
 155:Core/cmsis_gcc.h ****   }
 156:Core/cmsis_gcc.h **** 
 157:Core/cmsis_gcc.h ****   for (__zero_table_t const* pTable = &__zero_table_start__; pTable < &__zero_table_end__; ++pTable
 158:Core/cmsis_gcc.h ****     for(uint32_t i=0u; i<pTable->wlen; ++i) {
ARM GAS  /tmp/cc9cn0cw.s 			page 235


 159:Core/cmsis_gcc.h ****       pTable->dest[i] = 0u;
 160:Core/cmsis_gcc.h ****     }
 161:Core/cmsis_gcc.h ****   }
 162:Core/cmsis_gcc.h **** 
 163:Core/cmsis_gcc.h ****   _start();
 164:Core/cmsis_gcc.h **** }
 165:Core/cmsis_gcc.h **** 
 166:Core/cmsis_gcc.h **** #define __PROGRAM_START           __cmsis_start
 167:Core/cmsis_gcc.h **** #endif
 168:Core/cmsis_gcc.h **** 
 169:Core/cmsis_gcc.h **** #ifndef __INITIAL_SP
 170:Core/cmsis_gcc.h **** #define __INITIAL_SP              __StackTop
 171:Core/cmsis_gcc.h **** #endif
 172:Core/cmsis_gcc.h **** 
 173:Core/cmsis_gcc.h **** #ifndef __STACK_LIMIT
 174:Core/cmsis_gcc.h **** #define __STACK_LIMIT             __StackLimit
 175:Core/cmsis_gcc.h **** #endif
 176:Core/cmsis_gcc.h **** 
 177:Core/cmsis_gcc.h **** #ifndef __VECTOR_TABLE
 178:Core/cmsis_gcc.h **** #define __VECTOR_TABLE            __Vectors
 179:Core/cmsis_gcc.h **** #endif
 180:Core/cmsis_gcc.h **** 
 181:Core/cmsis_gcc.h **** #ifndef __VECTOR_TABLE_ATTRIBUTE
 182:Core/cmsis_gcc.h **** #define __VECTOR_TABLE_ATTRIBUTE  __attribute__((used, section(".vectors")))
 183:Core/cmsis_gcc.h **** #endif
 184:Core/cmsis_gcc.h **** 
 185:Core/cmsis_gcc.h **** #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
 186:Core/cmsis_gcc.h **** #ifndef __STACK_SEAL
 187:Core/cmsis_gcc.h **** #define __STACK_SEAL              __StackSeal
 188:Core/cmsis_gcc.h **** #endif
 189:Core/cmsis_gcc.h **** 
 190:Core/cmsis_gcc.h **** #ifndef __TZ_STACK_SEAL_SIZE
 191:Core/cmsis_gcc.h **** #define __TZ_STACK_SEAL_SIZE      8U
 192:Core/cmsis_gcc.h **** #endif
 193:Core/cmsis_gcc.h **** 
 194:Core/cmsis_gcc.h **** #ifndef __TZ_STACK_SEAL_VALUE
 195:Core/cmsis_gcc.h **** #define __TZ_STACK_SEAL_VALUE     0xFEF5EDA5FEF5EDA5ULL
 196:Core/cmsis_gcc.h **** #endif
 197:Core/cmsis_gcc.h **** 
 198:Core/cmsis_gcc.h **** 
 199:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_STACKSEAL_S (uint32_t* stackTop) {
 200:Core/cmsis_gcc.h ****   *((uint64_t *)stackTop) = __TZ_STACK_SEAL_VALUE;
 201:Core/cmsis_gcc.h **** }
 202:Core/cmsis_gcc.h **** #endif
 203:Core/cmsis_gcc.h **** 
 204:Core/cmsis_gcc.h **** 
 205:Core/cmsis_gcc.h **** /* ##########################  Core Instruction Access  ######################### */
 206:Core/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
 207:Core/cmsis_gcc.h ****   Access to dedicated instructions
 208:Core/cmsis_gcc.h ****   @{
 209:Core/cmsis_gcc.h **** */
 210:Core/cmsis_gcc.h **** 
 211:Core/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2.
 212:Core/cmsis_gcc.h ****  * For thumb1, use low register (r0-r7), specified by constraint "l"
 213:Core/cmsis_gcc.h ****  * Otherwise, use general registers, specified by constraint "r" */
 214:Core/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__)
 215:Core/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r)
ARM GAS  /tmp/cc9cn0cw.s 			page 236


 216:Core/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r)
 217:Core/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r)
 218:Core/cmsis_gcc.h **** #else
 219:Core/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r)
 220:Core/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r)
 221:Core/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r)
 222:Core/cmsis_gcc.h **** #endif
 223:Core/cmsis_gcc.h **** 
 224:Core/cmsis_gcc.h **** /**
 225:Core/cmsis_gcc.h ****   \brief   No Operation
 226:Core/cmsis_gcc.h ****   \details No Operation does nothing. This instruction can be used for code alignment purposes.
 227:Core/cmsis_gcc.h ****  */
 228:Core/cmsis_gcc.h **** #define __NOP()                             __ASM volatile ("nop")
 229:Core/cmsis_gcc.h **** 
 230:Core/cmsis_gcc.h **** /**
 231:Core/cmsis_gcc.h ****   \brief   Wait For Interrupt
 232:Core/cmsis_gcc.h ****   \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o
 233:Core/cmsis_gcc.h ****  */
 234:Core/cmsis_gcc.h **** #define __WFI()                             __ASM volatile ("wfi":::"memory")
 235:Core/cmsis_gcc.h **** 
 236:Core/cmsis_gcc.h **** 
 237:Core/cmsis_gcc.h **** /**
 238:Core/cmsis_gcc.h ****   \brief   Wait For Event
 239:Core/cmsis_gcc.h ****   \details Wait For Event is a hint instruction that permits the processor to enter
 240:Core/cmsis_gcc.h ****            a low-power state until one of a number of events occurs.
 241:Core/cmsis_gcc.h ****  */
 242:Core/cmsis_gcc.h **** #define __WFE()                             __ASM volatile ("wfe":::"memory")
 243:Core/cmsis_gcc.h **** 
 244:Core/cmsis_gcc.h **** 
 245:Core/cmsis_gcc.h **** /**
 246:Core/cmsis_gcc.h ****   \brief   Send Event
 247:Core/cmsis_gcc.h ****   \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
 248:Core/cmsis_gcc.h ****  */
 249:Core/cmsis_gcc.h **** #define __SEV()                             __ASM volatile ("sev")
 250:Core/cmsis_gcc.h **** 
 251:Core/cmsis_gcc.h **** 
 252:Core/cmsis_gcc.h **** /**
 253:Core/cmsis_gcc.h ****   \brief   Instruction Synchronization Barrier
 254:Core/cmsis_gcc.h ****   \details Instruction Synchronization Barrier flushes the pipeline in the processor,
 255:Core/cmsis_gcc.h ****            so that all instructions following the ISB are fetched from cache or memory,
 256:Core/cmsis_gcc.h ****            after the instruction has been completed.
 257:Core/cmsis_gcc.h ****  */
 258:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void)
 9414              		.loc 2 258 27 view .LVU3002
 9415              	.LBB1497:
 259:Core/cmsis_gcc.h **** {
 260:Core/cmsis_gcc.h ****   __ASM volatile ("isb 0xF":::"memory");
 9416              		.loc 2 260 3 view .LVU3003
 9417              	.LBE1497:
 9418              	.LBE1496:
1205:Library/src/lcm32f06x_flash.c ****   chipctrl_access();
 9419              		.loc 1 1205 1 is_stmt 0 view .LVU3004
 9420 0000 0300     		movs	r3, r0
 9421              	.LBB1499:
 9422              	.LBB1498:
 9423              		.loc 2 260 3 view .LVU3005
 9424              		.syntax divided
ARM GAS  /tmp/cc9cn0cw.s 			page 237


 9425              	@ 260 "Core/cmsis_gcc.h" 1
 9426 0002 BFF36F8F 		isb 0xF
 9427              	@ 0 "" 2
 9428              		.thumb
 9429              		.syntax unified
 9430              	.LBE1498:
 9431              	.LBE1499:
 9432              		.loc 1 1206 3 is_stmt 1 discriminator 1 view .LVU3006
 9433              	.LBB1500:
 9434              	.LBI1500:
 261:Core/cmsis_gcc.h **** }
 262:Core/cmsis_gcc.h **** 
 263:Core/cmsis_gcc.h **** 
 264:Core/cmsis_gcc.h **** /**
 265:Core/cmsis_gcc.h ****   \brief   Data Synchronization Barrier
 266:Core/cmsis_gcc.h ****   \details Acts as a special kind of Data Memory Barrier.
 267:Core/cmsis_gcc.h ****            It completes when all explicit memory accesses before this instruction complete.
 268:Core/cmsis_gcc.h ****  */
 269:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void)
 270:Core/cmsis_gcc.h **** {
 271:Core/cmsis_gcc.h ****   __ASM volatile ("dsb 0xF":::"memory");
 272:Core/cmsis_gcc.h **** }
 273:Core/cmsis_gcc.h **** 
 274:Core/cmsis_gcc.h **** 
 275:Core/cmsis_gcc.h **** /**
 276:Core/cmsis_gcc.h ****   \brief   Data Memory Barrier
 277:Core/cmsis_gcc.h ****   \details Ensures the apparent order of the explicit memory operations before
 278:Core/cmsis_gcc.h ****            and after the instruction, without ensuring their completion.
 279:Core/cmsis_gcc.h ****  */
 280:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void)
 281:Core/cmsis_gcc.h **** {
 282:Core/cmsis_gcc.h ****   __ASM volatile ("dmb 0xF":::"memory");
 283:Core/cmsis_gcc.h **** }
 284:Core/cmsis_gcc.h **** 
 285:Core/cmsis_gcc.h **** 
 286:Core/cmsis_gcc.h **** /**
 287:Core/cmsis_gcc.h ****   \brief   Reverse byte order (32 bit)
 288:Core/cmsis_gcc.h ****   \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785
 289:Core/cmsis_gcc.h ****   \param [in]    value  Value to reverse
 290:Core/cmsis_gcc.h ****   \return               Reversed value
 291:Core/cmsis_gcc.h ****  */
 292:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value)
 293:Core/cmsis_gcc.h **** {
 294:Core/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
 295:Core/cmsis_gcc.h ****   return __builtin_bswap32(value);
 296:Core/cmsis_gcc.h **** #else
 297:Core/cmsis_gcc.h ****   uint32_t result;
 298:Core/cmsis_gcc.h **** 
 299:Core/cmsis_gcc.h ****   __ASM ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
 300:Core/cmsis_gcc.h ****   return result;
 301:Core/cmsis_gcc.h **** #endif
 302:Core/cmsis_gcc.h **** }
 303:Core/cmsis_gcc.h **** 
 304:Core/cmsis_gcc.h **** 
 305:Core/cmsis_gcc.h **** /**
 306:Core/cmsis_gcc.h ****   \brief   Reverse byte order (16 bit)
 307:Core/cmsis_gcc.h ****   \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 
ARM GAS  /tmp/cc9cn0cw.s 			page 238


 308:Core/cmsis_gcc.h ****   \param [in]    value  Value to reverse
 309:Core/cmsis_gcc.h ****   \return               Reversed value
 310:Core/cmsis_gcc.h ****  */
 311:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
 312:Core/cmsis_gcc.h **** {
 313:Core/cmsis_gcc.h ****   uint32_t result;
 314:Core/cmsis_gcc.h **** 
 315:Core/cmsis_gcc.h ****   __ASM ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
 316:Core/cmsis_gcc.h ****   return result;
 317:Core/cmsis_gcc.h **** }
 318:Core/cmsis_gcc.h **** 
 319:Core/cmsis_gcc.h **** 
 320:Core/cmsis_gcc.h **** /**
 321:Core/cmsis_gcc.h ****   \brief   Reverse byte order (16 bit)
 322:Core/cmsis_gcc.h ****   \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For exam
 323:Core/cmsis_gcc.h ****   \param [in]    value  Value to reverse
 324:Core/cmsis_gcc.h ****   \return               Reversed value
 325:Core/cmsis_gcc.h ****  */
 326:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
 327:Core/cmsis_gcc.h **** {
 328:Core/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
 329:Core/cmsis_gcc.h ****   return (int16_t)__builtin_bswap16(value);
 330:Core/cmsis_gcc.h **** #else
 331:Core/cmsis_gcc.h ****   int16_t result;
 332:Core/cmsis_gcc.h **** 
 333:Core/cmsis_gcc.h ****   __ASM ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
 334:Core/cmsis_gcc.h ****   return result;
 335:Core/cmsis_gcc.h **** #endif
 336:Core/cmsis_gcc.h **** }
 337:Core/cmsis_gcc.h **** 
 338:Core/cmsis_gcc.h **** 
 339:Core/cmsis_gcc.h **** /**
 340:Core/cmsis_gcc.h ****   \brief   Rotate Right in unsigned value (32 bit)
 341:Core/cmsis_gcc.h ****   \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v
 342:Core/cmsis_gcc.h ****   \param [in]    op1  Value to rotate
 343:Core/cmsis_gcc.h ****   \param [in]    op2  Number of Bits to rotate
 344:Core/cmsis_gcc.h ****   \return               Rotated value
 345:Core/cmsis_gcc.h ****  */
 346:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
 347:Core/cmsis_gcc.h **** {
 348:Core/cmsis_gcc.h ****   op2 %= 32U;
 349:Core/cmsis_gcc.h ****   if (op2 == 0U)
 350:Core/cmsis_gcc.h ****   {
 351:Core/cmsis_gcc.h ****     return op1;
 352:Core/cmsis_gcc.h ****   }
 353:Core/cmsis_gcc.h ****   return (op1 >> op2) | (op1 << (32U - op2));
 354:Core/cmsis_gcc.h **** }
 355:Core/cmsis_gcc.h **** 
 356:Core/cmsis_gcc.h **** 
 357:Core/cmsis_gcc.h **** /**
 358:Core/cmsis_gcc.h ****   \brief   Breakpoint
 359:Core/cmsis_gcc.h ****   \details Causes the processor to enter Debug state.
 360:Core/cmsis_gcc.h ****            Debug tools can use this to investigate system state when the instruction at a particula
 361:Core/cmsis_gcc.h ****   \param [in]    value  is ignored by the processor.
 362:Core/cmsis_gcc.h ****                  If required, a debugger can use it to store additional information about the break
 363:Core/cmsis_gcc.h ****  */
 364:Core/cmsis_gcc.h **** #define __BKPT(value)                       __ASM volatile ("bkpt "#value)
ARM GAS  /tmp/cc9cn0cw.s 			page 239


 365:Core/cmsis_gcc.h **** 
 366:Core/cmsis_gcc.h **** 
 367:Core/cmsis_gcc.h **** /**
 368:Core/cmsis_gcc.h ****   \brief   Reverse bit order of value
 369:Core/cmsis_gcc.h ****   \details Reverses the bit order of the given value.
 370:Core/cmsis_gcc.h ****   \param [in]    value  Value to reverse
 371:Core/cmsis_gcc.h ****   \return               Reversed value
 372:Core/cmsis_gcc.h ****  */
 373:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
 374:Core/cmsis_gcc.h **** {
 375:Core/cmsis_gcc.h ****   uint32_t result;
 376:Core/cmsis_gcc.h **** 
 377:Core/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__      ) && (__ARM_ARCH_7M__      == 1)) || \
 378:Core/cmsis_gcc.h ****      (defined (__ARM_ARCH_7EM__     ) && (__ARM_ARCH_7EM__     == 1)) || \
 379:Core/cmsis_gcc.h ****      (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))    )
 380:Core/cmsis_gcc.h ****    __ASM ("rbit %0, %1" : "=r" (result) : "r" (value) );
 381:Core/cmsis_gcc.h **** #else
 382:Core/cmsis_gcc.h ****   uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */
 383:Core/cmsis_gcc.h **** 
 384:Core/cmsis_gcc.h ****   result = value;                      /* r will be reversed bits of v; first get LSB of v */
 385:Core/cmsis_gcc.h ****   for (value >>= 1U; value != 0U; value >>= 1U)
 386:Core/cmsis_gcc.h ****   {
 387:Core/cmsis_gcc.h ****     result <<= 1U;
 388:Core/cmsis_gcc.h ****     result |= value & 1U;
 389:Core/cmsis_gcc.h ****     s--;
 390:Core/cmsis_gcc.h ****   }
 391:Core/cmsis_gcc.h ****   result <<= s;                        /* shift when v's highest bits are zero */
 392:Core/cmsis_gcc.h **** #endif
 393:Core/cmsis_gcc.h ****   return result;
 394:Core/cmsis_gcc.h **** }
 395:Core/cmsis_gcc.h **** 
 396:Core/cmsis_gcc.h **** 
 397:Core/cmsis_gcc.h **** /**
 398:Core/cmsis_gcc.h ****   \brief   Count leading zeros
 399:Core/cmsis_gcc.h ****   \details Counts the number of leading zeros of a data value.
 400:Core/cmsis_gcc.h ****   \param [in]  value  Value to count the leading zeros
 401:Core/cmsis_gcc.h ****   \return             number of leading zeros in value
 402:Core/cmsis_gcc.h ****  */
 403:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __CLZ(uint32_t value)
 404:Core/cmsis_gcc.h **** {
 405:Core/cmsis_gcc.h ****   /* Even though __builtin_clz produces a CLZ instruction on ARM, formally
 406:Core/cmsis_gcc.h ****      __builtin_clz(0) is undefined behaviour, so handle this case specially.
 407:Core/cmsis_gcc.h ****      This guarantees ARM-compatible results if happening to compile on a non-ARM
 408:Core/cmsis_gcc.h ****      target, and ensures the compiler doesn't decide to activate any
 409:Core/cmsis_gcc.h ****      optimisations using the logic "value was passed to __builtin_clz, so it
 410:Core/cmsis_gcc.h ****      is non-zero".
 411:Core/cmsis_gcc.h ****      ARM GCC 7.3 and possibly earlier will optimise this test away, leaving a
 412:Core/cmsis_gcc.h ****      single CLZ instruction.
 413:Core/cmsis_gcc.h ****    */
 414:Core/cmsis_gcc.h ****   if (value == 0U)
 415:Core/cmsis_gcc.h ****   {
 416:Core/cmsis_gcc.h ****     return 32U;
 417:Core/cmsis_gcc.h ****   }
 418:Core/cmsis_gcc.h ****   return __builtin_clz(value);
 419:Core/cmsis_gcc.h **** }
 420:Core/cmsis_gcc.h **** 
 421:Core/cmsis_gcc.h **** 
ARM GAS  /tmp/cc9cn0cw.s 			page 240


 422:Core/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__      ) && (__ARM_ARCH_7M__      == 1)) || \
 423:Core/cmsis_gcc.h ****      (defined (__ARM_ARCH_7EM__     ) && (__ARM_ARCH_7EM__     == 1)) || \
 424:Core/cmsis_gcc.h ****      (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
 425:Core/cmsis_gcc.h ****      (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1))    )
 426:Core/cmsis_gcc.h **** /**
 427:Core/cmsis_gcc.h ****   \brief   LDR Exclusive (8 bit)
 428:Core/cmsis_gcc.h ****   \details Executes a exclusive LDR instruction for 8 bit value.
 429:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to data
 430:Core/cmsis_gcc.h ****   \return             value of type uint8_t at (*ptr)
 431:Core/cmsis_gcc.h ****  */
 432:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr)
 433:Core/cmsis_gcc.h **** {
 434:Core/cmsis_gcc.h ****     uint32_t result;
 435:Core/cmsis_gcc.h **** 
 436:Core/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
 437:Core/cmsis_gcc.h ****    __ASM volatile ("ldrexb %0, %1" : "=r" (result) : "Q" (*addr) );
 438:Core/cmsis_gcc.h **** #else
 439:Core/cmsis_gcc.h ****     /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
 440:Core/cmsis_gcc.h ****        accepted by assembler. So has to use following less efficient pattern.
 441:Core/cmsis_gcc.h ****     */
 442:Core/cmsis_gcc.h ****    __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
 443:Core/cmsis_gcc.h **** #endif
 444:Core/cmsis_gcc.h ****    return ((uint8_t) result);    /* Add explicit type cast here */
 445:Core/cmsis_gcc.h **** }
 446:Core/cmsis_gcc.h **** 
 447:Core/cmsis_gcc.h **** 
 448:Core/cmsis_gcc.h **** /**
 449:Core/cmsis_gcc.h ****   \brief   LDR Exclusive (16 bit)
 450:Core/cmsis_gcc.h ****   \details Executes a exclusive LDR instruction for 16 bit values.
 451:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to data
 452:Core/cmsis_gcc.h ****   \return        value of type uint16_t at (*ptr)
 453:Core/cmsis_gcc.h ****  */
 454:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr)
 455:Core/cmsis_gcc.h **** {
 456:Core/cmsis_gcc.h ****     uint32_t result;
 457:Core/cmsis_gcc.h **** 
 458:Core/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
 459:Core/cmsis_gcc.h ****    __ASM volatile ("ldrexh %0, %1" : "=r" (result) : "Q" (*addr) );
 460:Core/cmsis_gcc.h **** #else
 461:Core/cmsis_gcc.h ****     /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
 462:Core/cmsis_gcc.h ****        accepted by assembler. So has to use following less efficient pattern.
 463:Core/cmsis_gcc.h ****     */
 464:Core/cmsis_gcc.h ****    __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
 465:Core/cmsis_gcc.h **** #endif
 466:Core/cmsis_gcc.h ****    return ((uint16_t) result);    /* Add explicit type cast here */
 467:Core/cmsis_gcc.h **** }
 468:Core/cmsis_gcc.h **** 
 469:Core/cmsis_gcc.h **** 
 470:Core/cmsis_gcc.h **** /**
 471:Core/cmsis_gcc.h ****   \brief   LDR Exclusive (32 bit)
 472:Core/cmsis_gcc.h ****   \details Executes a exclusive LDR instruction for 32 bit values.
 473:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to data
 474:Core/cmsis_gcc.h ****   \return        value of type uint32_t at (*ptr)
 475:Core/cmsis_gcc.h ****  */
 476:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr)
 477:Core/cmsis_gcc.h **** {
 478:Core/cmsis_gcc.h ****     uint32_t result;
ARM GAS  /tmp/cc9cn0cw.s 			page 241


 479:Core/cmsis_gcc.h **** 
 480:Core/cmsis_gcc.h ****    __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) );
 481:Core/cmsis_gcc.h ****    return(result);
 482:Core/cmsis_gcc.h **** }
 483:Core/cmsis_gcc.h **** 
 484:Core/cmsis_gcc.h **** 
 485:Core/cmsis_gcc.h **** /**
 486:Core/cmsis_gcc.h ****   \brief   STR Exclusive (8 bit)
 487:Core/cmsis_gcc.h ****   \details Executes a exclusive STR instruction for 8 bit values.
 488:Core/cmsis_gcc.h ****   \param [in]  value  Value to store
 489:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to location
 490:Core/cmsis_gcc.h ****   \return          0  Function succeeded
 491:Core/cmsis_gcc.h ****   \return          1  Function failed
 492:Core/cmsis_gcc.h ****  */
 493:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr)
 494:Core/cmsis_gcc.h **** {
 495:Core/cmsis_gcc.h ****    uint32_t result;
 496:Core/cmsis_gcc.h **** 
 497:Core/cmsis_gcc.h ****    __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) );
 498:Core/cmsis_gcc.h ****    return(result);
 499:Core/cmsis_gcc.h **** }
 500:Core/cmsis_gcc.h **** 
 501:Core/cmsis_gcc.h **** 
 502:Core/cmsis_gcc.h **** /**
 503:Core/cmsis_gcc.h ****   \brief   STR Exclusive (16 bit)
 504:Core/cmsis_gcc.h ****   \details Executes a exclusive STR instruction for 16 bit values.
 505:Core/cmsis_gcc.h ****   \param [in]  value  Value to store
 506:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to location
 507:Core/cmsis_gcc.h ****   \return          0  Function succeeded
 508:Core/cmsis_gcc.h ****   \return          1  Function failed
 509:Core/cmsis_gcc.h ****  */
 510:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr)
 511:Core/cmsis_gcc.h **** {
 512:Core/cmsis_gcc.h ****    uint32_t result;
 513:Core/cmsis_gcc.h **** 
 514:Core/cmsis_gcc.h ****    __ASM volatile ("strexh %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) );
 515:Core/cmsis_gcc.h ****    return(result);
 516:Core/cmsis_gcc.h **** }
 517:Core/cmsis_gcc.h **** 
 518:Core/cmsis_gcc.h **** 
 519:Core/cmsis_gcc.h **** /**
 520:Core/cmsis_gcc.h ****   \brief   STR Exclusive (32 bit)
 521:Core/cmsis_gcc.h ****   \details Executes a exclusive STR instruction for 32 bit values.
 522:Core/cmsis_gcc.h ****   \param [in]  value  Value to store
 523:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to location
 524:Core/cmsis_gcc.h ****   \return          0  Function succeeded
 525:Core/cmsis_gcc.h ****   \return          1  Function failed
 526:Core/cmsis_gcc.h ****  */
 527:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr)
 528:Core/cmsis_gcc.h **** {
 529:Core/cmsis_gcc.h ****    uint32_t result;
 530:Core/cmsis_gcc.h **** 
 531:Core/cmsis_gcc.h ****    __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) );
 532:Core/cmsis_gcc.h ****    return(result);
 533:Core/cmsis_gcc.h **** }
 534:Core/cmsis_gcc.h **** 
 535:Core/cmsis_gcc.h **** 
ARM GAS  /tmp/cc9cn0cw.s 			page 242


 536:Core/cmsis_gcc.h **** /**
 537:Core/cmsis_gcc.h ****   \brief   Remove the exclusive lock
 538:Core/cmsis_gcc.h ****   \details Removes the exclusive lock which is created by LDREX.
 539:Core/cmsis_gcc.h ****  */
 540:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __CLREX(void)
 541:Core/cmsis_gcc.h **** {
 542:Core/cmsis_gcc.h ****   __ASM volatile ("clrex" ::: "memory");
 543:Core/cmsis_gcc.h **** }
 544:Core/cmsis_gcc.h **** 
 545:Core/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__      ) && (__ARM_ARCH_7M__      == 1)) || \
 546:Core/cmsis_gcc.h ****            (defined (__ARM_ARCH_7EM__     ) && (__ARM_ARCH_7EM__     == 1)) || \
 547:Core/cmsis_gcc.h ****            (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
 548:Core/cmsis_gcc.h ****            (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1))    ) */
 549:Core/cmsis_gcc.h **** 
 550:Core/cmsis_gcc.h **** 
 551:Core/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__      ) && (__ARM_ARCH_7M__      == 1)) || \
 552:Core/cmsis_gcc.h ****      (defined (__ARM_ARCH_7EM__     ) && (__ARM_ARCH_7EM__     == 1)) || \
 553:Core/cmsis_gcc.h ****      (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))    )
 554:Core/cmsis_gcc.h **** /**
 555:Core/cmsis_gcc.h ****   \brief   Signed Saturate
 556:Core/cmsis_gcc.h ****   \details Saturates a signed value.
 557:Core/cmsis_gcc.h ****   \param [in]  ARG1  Value to be saturated
 558:Core/cmsis_gcc.h ****   \param [in]  ARG2  Bit position to saturate to (1..32)
 559:Core/cmsis_gcc.h ****   \return             Saturated value
 560:Core/cmsis_gcc.h ****  */
 561:Core/cmsis_gcc.h **** #define __SSAT(ARG1, ARG2) \
 562:Core/cmsis_gcc.h **** __extension__ \
 563:Core/cmsis_gcc.h **** ({                          \
 564:Core/cmsis_gcc.h ****   int32_t __RES, __ARG1 = (ARG1); \
 565:Core/cmsis_gcc.h ****   __ASM volatile ("ssat %0, %1, %2" : "=r" (__RES) :  "I" (ARG2), "r" (__ARG1) : "cc" ); \
 566:Core/cmsis_gcc.h ****   __RES; \
 567:Core/cmsis_gcc.h ****  })
 568:Core/cmsis_gcc.h **** 
 569:Core/cmsis_gcc.h **** 
 570:Core/cmsis_gcc.h **** /**
 571:Core/cmsis_gcc.h ****   \brief   Unsigned Saturate
 572:Core/cmsis_gcc.h ****   \details Saturates an unsigned value.
 573:Core/cmsis_gcc.h ****   \param [in]  ARG1  Value to be saturated
 574:Core/cmsis_gcc.h ****   \param [in]  ARG2  Bit position to saturate to (0..31)
 575:Core/cmsis_gcc.h ****   \return             Saturated value
 576:Core/cmsis_gcc.h ****  */
 577:Core/cmsis_gcc.h **** #define __USAT(ARG1, ARG2) \
 578:Core/cmsis_gcc.h **** __extension__ \
 579:Core/cmsis_gcc.h **** ({                          \
 580:Core/cmsis_gcc.h ****   uint32_t __RES, __ARG1 = (ARG1); \
 581:Core/cmsis_gcc.h ****   __ASM volatile ("usat %0, %1, %2" : "=r" (__RES) :  "I" (ARG2), "r" (__ARG1) : "cc" ); \
 582:Core/cmsis_gcc.h ****   __RES; \
 583:Core/cmsis_gcc.h ****  })
 584:Core/cmsis_gcc.h **** 
 585:Core/cmsis_gcc.h **** 
 586:Core/cmsis_gcc.h **** /**
 587:Core/cmsis_gcc.h ****   \brief   Rotate Right with Extend (32 bit)
 588:Core/cmsis_gcc.h ****   \details Moves each bit of a bitstring right by one bit.
 589:Core/cmsis_gcc.h ****            The carry input is shifted in at the left end of the bitstring.
 590:Core/cmsis_gcc.h ****   \param [in]    value  Value to rotate
 591:Core/cmsis_gcc.h ****   \return               Rotated value
 592:Core/cmsis_gcc.h ****  */
ARM GAS  /tmp/cc9cn0cw.s 			page 243


 593:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RRX(uint32_t value)
 594:Core/cmsis_gcc.h **** {
 595:Core/cmsis_gcc.h ****   uint32_t result;
 596:Core/cmsis_gcc.h **** 
 597:Core/cmsis_gcc.h ****   __ASM volatile ("rrx %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
 598:Core/cmsis_gcc.h ****   return(result);
 599:Core/cmsis_gcc.h **** }
 600:Core/cmsis_gcc.h **** 
 601:Core/cmsis_gcc.h **** 
 602:Core/cmsis_gcc.h **** /**
 603:Core/cmsis_gcc.h ****   \brief   LDRT Unprivileged (8 bit)
 604:Core/cmsis_gcc.h ****   \details Executes a Unprivileged LDRT instruction for 8 bit value.
 605:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to data
 606:Core/cmsis_gcc.h ****   \return             value of type uint8_t at (*ptr)
 607:Core/cmsis_gcc.h ****  */
 608:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __LDRBT(volatile uint8_t *ptr)
 609:Core/cmsis_gcc.h **** {
 610:Core/cmsis_gcc.h ****     uint32_t result;
 611:Core/cmsis_gcc.h **** 
 612:Core/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
 613:Core/cmsis_gcc.h ****    __ASM volatile ("ldrbt %0, %1" : "=r" (result) : "Q" (*ptr) );
 614:Core/cmsis_gcc.h **** #else
 615:Core/cmsis_gcc.h ****     /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
 616:Core/cmsis_gcc.h ****        accepted by assembler. So has to use following less efficient pattern.
 617:Core/cmsis_gcc.h ****     */
 618:Core/cmsis_gcc.h ****    __ASM volatile ("ldrbt %0, [%1]" : "=r" (result) : "r" (ptr) : "memory" );
 619:Core/cmsis_gcc.h **** #endif
 620:Core/cmsis_gcc.h ****    return ((uint8_t) result);    /* Add explicit type cast here */
 621:Core/cmsis_gcc.h **** }
 622:Core/cmsis_gcc.h **** 
 623:Core/cmsis_gcc.h **** 
 624:Core/cmsis_gcc.h **** /**
 625:Core/cmsis_gcc.h ****   \brief   LDRT Unprivileged (16 bit)
 626:Core/cmsis_gcc.h ****   \details Executes a Unprivileged LDRT instruction for 16 bit values.
 627:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to data
 628:Core/cmsis_gcc.h ****   \return        value of type uint16_t at (*ptr)
 629:Core/cmsis_gcc.h ****  */
 630:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint16_t __LDRHT(volatile uint16_t *ptr)
 631:Core/cmsis_gcc.h **** {
 632:Core/cmsis_gcc.h ****     uint32_t result;
 633:Core/cmsis_gcc.h **** 
 634:Core/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
 635:Core/cmsis_gcc.h ****    __ASM volatile ("ldrht %0, %1" : "=r" (result) : "Q" (*ptr) );
 636:Core/cmsis_gcc.h **** #else
 637:Core/cmsis_gcc.h ****     /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
 638:Core/cmsis_gcc.h ****        accepted by assembler. So has to use following less efficient pattern.
 639:Core/cmsis_gcc.h ****     */
 640:Core/cmsis_gcc.h ****    __ASM volatile ("ldrht %0, [%1]" : "=r" (result) : "r" (ptr) : "memory" );
 641:Core/cmsis_gcc.h **** #endif
 642:Core/cmsis_gcc.h ****    return ((uint16_t) result);    /* Add explicit type cast here */
 643:Core/cmsis_gcc.h **** }
 644:Core/cmsis_gcc.h **** 
 645:Core/cmsis_gcc.h **** 
 646:Core/cmsis_gcc.h **** /**
 647:Core/cmsis_gcc.h ****   \brief   LDRT Unprivileged (32 bit)
 648:Core/cmsis_gcc.h ****   \details Executes a Unprivileged LDRT instruction for 32 bit values.
 649:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to data
ARM GAS  /tmp/cc9cn0cw.s 			page 244


 650:Core/cmsis_gcc.h ****   \return        value of type uint32_t at (*ptr)
 651:Core/cmsis_gcc.h ****  */
 652:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __LDRT(volatile uint32_t *ptr)
 653:Core/cmsis_gcc.h **** {
 654:Core/cmsis_gcc.h ****     uint32_t result;
 655:Core/cmsis_gcc.h **** 
 656:Core/cmsis_gcc.h ****    __ASM volatile ("ldrt %0, %1" : "=r" (result) : "Q" (*ptr) );
 657:Core/cmsis_gcc.h ****    return(result);
 658:Core/cmsis_gcc.h **** }
 659:Core/cmsis_gcc.h **** 
 660:Core/cmsis_gcc.h **** 
 661:Core/cmsis_gcc.h **** /**
 662:Core/cmsis_gcc.h ****   \brief   STRT Unprivileged (8 bit)
 663:Core/cmsis_gcc.h ****   \details Executes a Unprivileged STRT instruction for 8 bit values.
 664:Core/cmsis_gcc.h ****   \param [in]  value  Value to store
 665:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to location
 666:Core/cmsis_gcc.h ****  */
 667:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __STRBT(uint8_t value, volatile uint8_t *ptr)
 668:Core/cmsis_gcc.h **** {
 669:Core/cmsis_gcc.h ****    __ASM volatile ("strbt %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) );
 670:Core/cmsis_gcc.h **** }
 671:Core/cmsis_gcc.h **** 
 672:Core/cmsis_gcc.h **** 
 673:Core/cmsis_gcc.h **** /**
 674:Core/cmsis_gcc.h ****   \brief   STRT Unprivileged (16 bit)
 675:Core/cmsis_gcc.h ****   \details Executes a Unprivileged STRT instruction for 16 bit values.
 676:Core/cmsis_gcc.h ****   \param [in]  value  Value to store
 677:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to location
 678:Core/cmsis_gcc.h ****  */
 679:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __STRHT(uint16_t value, volatile uint16_t *ptr)
 680:Core/cmsis_gcc.h **** {
 681:Core/cmsis_gcc.h ****    __ASM volatile ("strht %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) );
 682:Core/cmsis_gcc.h **** }
 683:Core/cmsis_gcc.h **** 
 684:Core/cmsis_gcc.h **** 
 685:Core/cmsis_gcc.h **** /**
 686:Core/cmsis_gcc.h ****   \brief   STRT Unprivileged (32 bit)
 687:Core/cmsis_gcc.h ****   \details Executes a Unprivileged STRT instruction for 32 bit values.
 688:Core/cmsis_gcc.h ****   \param [in]  value  Value to store
 689:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to location
 690:Core/cmsis_gcc.h ****  */
 691:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __STRT(uint32_t value, volatile uint32_t *ptr)
 692:Core/cmsis_gcc.h **** {
 693:Core/cmsis_gcc.h ****    __ASM volatile ("strt %1, %0" : "=Q" (*ptr) : "r" (value) );
 694:Core/cmsis_gcc.h **** }
 695:Core/cmsis_gcc.h **** 
 696:Core/cmsis_gcc.h **** #else  /* ((defined (__ARM_ARCH_7M__      ) && (__ARM_ARCH_7M__      == 1)) || \
 697:Core/cmsis_gcc.h ****            (defined (__ARM_ARCH_7EM__     ) && (__ARM_ARCH_7EM__     == 1)) || \
 698:Core/cmsis_gcc.h ****            (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))    ) */
 699:Core/cmsis_gcc.h **** 
 700:Core/cmsis_gcc.h **** /**
 701:Core/cmsis_gcc.h ****   \brief   Signed Saturate
 702:Core/cmsis_gcc.h ****   \details Saturates a signed value.
 703:Core/cmsis_gcc.h ****   \param [in]  value  Value to be saturated
 704:Core/cmsis_gcc.h ****   \param [in]    sat  Bit position to saturate to (1..32)
 705:Core/cmsis_gcc.h ****   \return             Saturated value
 706:Core/cmsis_gcc.h ****  */
ARM GAS  /tmp/cc9cn0cw.s 			page 245


 707:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE int32_t __SSAT(int32_t val, uint32_t sat)
 708:Core/cmsis_gcc.h **** {
 709:Core/cmsis_gcc.h ****   if ((sat >= 1U) && (sat <= 32U))
 710:Core/cmsis_gcc.h ****   {
 711:Core/cmsis_gcc.h ****     const int32_t max = (int32_t)((1U << (sat - 1U)) - 1U);
 712:Core/cmsis_gcc.h ****     const int32_t min = -1 - max ;
 713:Core/cmsis_gcc.h ****     if (val > max)
 714:Core/cmsis_gcc.h ****     {
 715:Core/cmsis_gcc.h ****       return max;
 716:Core/cmsis_gcc.h ****     }
 717:Core/cmsis_gcc.h ****     else if (val < min)
 718:Core/cmsis_gcc.h ****     {
 719:Core/cmsis_gcc.h ****       return min;
 720:Core/cmsis_gcc.h ****     }
 721:Core/cmsis_gcc.h ****   }
 722:Core/cmsis_gcc.h ****   return val;
 723:Core/cmsis_gcc.h **** }
 724:Core/cmsis_gcc.h **** 
 725:Core/cmsis_gcc.h **** /**
 726:Core/cmsis_gcc.h ****   \brief   Unsigned Saturate
 727:Core/cmsis_gcc.h ****   \details Saturates an unsigned value.
 728:Core/cmsis_gcc.h ****   \param [in]  value  Value to be saturated
 729:Core/cmsis_gcc.h ****   \param [in]    sat  Bit position to saturate to (0..31)
 730:Core/cmsis_gcc.h ****   \return             Saturated value
 731:Core/cmsis_gcc.h ****  */
 732:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __USAT(int32_t val, uint32_t sat)
 733:Core/cmsis_gcc.h **** {
 734:Core/cmsis_gcc.h ****   if (sat <= 31U)
 735:Core/cmsis_gcc.h ****   {
 736:Core/cmsis_gcc.h ****     const uint32_t max = ((1U << sat) - 1U);
 737:Core/cmsis_gcc.h ****     if (val > (int32_t)max)
 738:Core/cmsis_gcc.h ****     {
 739:Core/cmsis_gcc.h ****       return max;
 740:Core/cmsis_gcc.h ****     }
 741:Core/cmsis_gcc.h ****     else if (val < 0)
 742:Core/cmsis_gcc.h ****     {
 743:Core/cmsis_gcc.h ****       return 0U;
 744:Core/cmsis_gcc.h ****     }
 745:Core/cmsis_gcc.h ****   }
 746:Core/cmsis_gcc.h ****   return (uint32_t)val;
 747:Core/cmsis_gcc.h **** }
 748:Core/cmsis_gcc.h **** 
 749:Core/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__      ) && (__ARM_ARCH_7M__      == 1)) || \
 750:Core/cmsis_gcc.h ****            (defined (__ARM_ARCH_7EM__     ) && (__ARM_ARCH_7EM__     == 1)) || \
 751:Core/cmsis_gcc.h ****            (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))    ) */
 752:Core/cmsis_gcc.h **** 
 753:Core/cmsis_gcc.h **** 
 754:Core/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
 755:Core/cmsis_gcc.h ****      (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1))    )
 756:Core/cmsis_gcc.h **** /**
 757:Core/cmsis_gcc.h ****   \brief   Load-Acquire (8 bit)
 758:Core/cmsis_gcc.h ****   \details Executes a LDAB instruction for 8 bit value.
 759:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to data
 760:Core/cmsis_gcc.h ****   \return             value of type uint8_t at (*ptr)
 761:Core/cmsis_gcc.h ****  */
 762:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __LDAB(volatile uint8_t *ptr)
 763:Core/cmsis_gcc.h **** {
ARM GAS  /tmp/cc9cn0cw.s 			page 246


 764:Core/cmsis_gcc.h ****     uint32_t result;
 765:Core/cmsis_gcc.h **** 
 766:Core/cmsis_gcc.h ****    __ASM volatile ("ldab %0, %1" : "=r" (result) : "Q" (*ptr) : "memory" );
 767:Core/cmsis_gcc.h ****    return ((uint8_t) result);
 768:Core/cmsis_gcc.h **** }
 769:Core/cmsis_gcc.h **** 
 770:Core/cmsis_gcc.h **** 
 771:Core/cmsis_gcc.h **** /**
 772:Core/cmsis_gcc.h ****   \brief   Load-Acquire (16 bit)
 773:Core/cmsis_gcc.h ****   \details Executes a LDAH instruction for 16 bit values.
 774:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to data
 775:Core/cmsis_gcc.h ****   \return        value of type uint16_t at (*ptr)
 776:Core/cmsis_gcc.h ****  */
 777:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint16_t __LDAH(volatile uint16_t *ptr)
 778:Core/cmsis_gcc.h **** {
 779:Core/cmsis_gcc.h ****     uint32_t result;
 780:Core/cmsis_gcc.h **** 
 781:Core/cmsis_gcc.h ****    __ASM volatile ("ldah %0, %1" : "=r" (result) : "Q" (*ptr) : "memory" );
 782:Core/cmsis_gcc.h ****    return ((uint16_t) result);
 783:Core/cmsis_gcc.h **** }
 784:Core/cmsis_gcc.h **** 
 785:Core/cmsis_gcc.h **** 
 786:Core/cmsis_gcc.h **** /**
 787:Core/cmsis_gcc.h ****   \brief   Load-Acquire (32 bit)
 788:Core/cmsis_gcc.h ****   \details Executes a LDA instruction for 32 bit values.
 789:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to data
 790:Core/cmsis_gcc.h ****   \return        value of type uint32_t at (*ptr)
 791:Core/cmsis_gcc.h ****  */
 792:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __LDA(volatile uint32_t *ptr)
 793:Core/cmsis_gcc.h **** {
 794:Core/cmsis_gcc.h ****     uint32_t result;
 795:Core/cmsis_gcc.h **** 
 796:Core/cmsis_gcc.h ****    __ASM volatile ("lda %0, %1" : "=r" (result) : "Q" (*ptr) : "memory" );
 797:Core/cmsis_gcc.h ****    return(result);
 798:Core/cmsis_gcc.h **** }
 799:Core/cmsis_gcc.h **** 
 800:Core/cmsis_gcc.h **** 
 801:Core/cmsis_gcc.h **** /**
 802:Core/cmsis_gcc.h ****   \brief   Store-Release (8 bit)
 803:Core/cmsis_gcc.h ****   \details Executes a STLB instruction for 8 bit values.
 804:Core/cmsis_gcc.h ****   \param [in]  value  Value to store
 805:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to location
 806:Core/cmsis_gcc.h ****  */
 807:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __STLB(uint8_t value, volatile uint8_t *ptr)
 808:Core/cmsis_gcc.h **** {
 809:Core/cmsis_gcc.h ****    __ASM volatile ("stlb %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) : "memory" );
 810:Core/cmsis_gcc.h **** }
 811:Core/cmsis_gcc.h **** 
 812:Core/cmsis_gcc.h **** 
 813:Core/cmsis_gcc.h **** /**
 814:Core/cmsis_gcc.h ****   \brief   Store-Release (16 bit)
 815:Core/cmsis_gcc.h ****   \details Executes a STLH instruction for 16 bit values.
 816:Core/cmsis_gcc.h ****   \param [in]  value  Value to store
 817:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to location
 818:Core/cmsis_gcc.h ****  */
 819:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __STLH(uint16_t value, volatile uint16_t *ptr)
 820:Core/cmsis_gcc.h **** {
ARM GAS  /tmp/cc9cn0cw.s 			page 247


 821:Core/cmsis_gcc.h ****    __ASM volatile ("stlh %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) : "memory" );
 822:Core/cmsis_gcc.h **** }
 823:Core/cmsis_gcc.h **** 
 824:Core/cmsis_gcc.h **** 
 825:Core/cmsis_gcc.h **** /**
 826:Core/cmsis_gcc.h ****   \brief   Store-Release (32 bit)
 827:Core/cmsis_gcc.h ****   \details Executes a STL instruction for 32 bit values.
 828:Core/cmsis_gcc.h ****   \param [in]  value  Value to store
 829:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to location
 830:Core/cmsis_gcc.h ****  */
 831:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __STL(uint32_t value, volatile uint32_t *ptr)
 832:Core/cmsis_gcc.h **** {
 833:Core/cmsis_gcc.h ****    __ASM volatile ("stl %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) : "memory" );
 834:Core/cmsis_gcc.h **** }
 835:Core/cmsis_gcc.h **** 
 836:Core/cmsis_gcc.h **** 
 837:Core/cmsis_gcc.h **** /**
 838:Core/cmsis_gcc.h ****   \brief   Load-Acquire Exclusive (8 bit)
 839:Core/cmsis_gcc.h ****   \details Executes a LDAB exclusive instruction for 8 bit value.
 840:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to data
 841:Core/cmsis_gcc.h ****   \return             value of type uint8_t at (*ptr)
 842:Core/cmsis_gcc.h ****  */
 843:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint8_t __LDAEXB(volatile uint8_t *ptr)
 844:Core/cmsis_gcc.h **** {
 845:Core/cmsis_gcc.h ****     uint32_t result;
 846:Core/cmsis_gcc.h **** 
 847:Core/cmsis_gcc.h ****    __ASM volatile ("ldaexb %0, %1" : "=r" (result) : "Q" (*ptr) : "memory" );
 848:Core/cmsis_gcc.h ****    return ((uint8_t) result);
 849:Core/cmsis_gcc.h **** }
 850:Core/cmsis_gcc.h **** 
 851:Core/cmsis_gcc.h **** 
 852:Core/cmsis_gcc.h **** /**
 853:Core/cmsis_gcc.h ****   \brief   Load-Acquire Exclusive (16 bit)
 854:Core/cmsis_gcc.h ****   \details Executes a LDAH exclusive instruction for 16 bit values.
 855:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to data
 856:Core/cmsis_gcc.h ****   \return        value of type uint16_t at (*ptr)
 857:Core/cmsis_gcc.h ****  */
 858:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint16_t __LDAEXH(volatile uint16_t *ptr)
 859:Core/cmsis_gcc.h **** {
 860:Core/cmsis_gcc.h ****     uint32_t result;
 861:Core/cmsis_gcc.h **** 
 862:Core/cmsis_gcc.h ****    __ASM volatile ("ldaexh %0, %1" : "=r" (result) : "Q" (*ptr) : "memory" );
 863:Core/cmsis_gcc.h ****    return ((uint16_t) result);
 864:Core/cmsis_gcc.h **** }
 865:Core/cmsis_gcc.h **** 
 866:Core/cmsis_gcc.h **** 
 867:Core/cmsis_gcc.h **** /**
 868:Core/cmsis_gcc.h ****   \brief   Load-Acquire Exclusive (32 bit)
 869:Core/cmsis_gcc.h ****   \details Executes a LDA exclusive instruction for 32 bit values.
 870:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to data
 871:Core/cmsis_gcc.h ****   \return        value of type uint32_t at (*ptr)
 872:Core/cmsis_gcc.h ****  */
 873:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __LDAEX(volatile uint32_t *ptr)
 874:Core/cmsis_gcc.h **** {
 875:Core/cmsis_gcc.h ****     uint32_t result;
 876:Core/cmsis_gcc.h **** 
 877:Core/cmsis_gcc.h ****    __ASM volatile ("ldaex %0, %1" : "=r" (result) : "Q" (*ptr) : "memory" );
ARM GAS  /tmp/cc9cn0cw.s 			page 248


 878:Core/cmsis_gcc.h ****    return(result);
 879:Core/cmsis_gcc.h **** }
 880:Core/cmsis_gcc.h **** 
 881:Core/cmsis_gcc.h **** 
 882:Core/cmsis_gcc.h **** /**
 883:Core/cmsis_gcc.h ****   \brief   Store-Release Exclusive (8 bit)
 884:Core/cmsis_gcc.h ****   \details Executes a STLB exclusive instruction for 8 bit values.
 885:Core/cmsis_gcc.h ****   \param [in]  value  Value to store
 886:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to location
 887:Core/cmsis_gcc.h ****   \return          0  Function succeeded
 888:Core/cmsis_gcc.h ****   \return          1  Function failed
 889:Core/cmsis_gcc.h ****  */
 890:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STLEXB(uint8_t value, volatile uint8_t *ptr)
 891:Core/cmsis_gcc.h **** {
 892:Core/cmsis_gcc.h ****    uint32_t result;
 893:Core/cmsis_gcc.h **** 
 894:Core/cmsis_gcc.h ****    __ASM volatile ("stlexb %0, %2, %1" : "=&r" (result), "=Q" (*ptr) : "r" ((uint32_t)value) : "mem
 895:Core/cmsis_gcc.h ****    return(result);
 896:Core/cmsis_gcc.h **** }
 897:Core/cmsis_gcc.h **** 
 898:Core/cmsis_gcc.h **** 
 899:Core/cmsis_gcc.h **** /**
 900:Core/cmsis_gcc.h ****   \brief   Store-Release Exclusive (16 bit)
 901:Core/cmsis_gcc.h ****   \details Executes a STLH exclusive instruction for 16 bit values.
 902:Core/cmsis_gcc.h ****   \param [in]  value  Value to store
 903:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to location
 904:Core/cmsis_gcc.h ****   \return          0  Function succeeded
 905:Core/cmsis_gcc.h ****   \return          1  Function failed
 906:Core/cmsis_gcc.h ****  */
 907:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STLEXH(uint16_t value, volatile uint16_t *ptr)
 908:Core/cmsis_gcc.h **** {
 909:Core/cmsis_gcc.h ****    uint32_t result;
 910:Core/cmsis_gcc.h **** 
 911:Core/cmsis_gcc.h ****    __ASM volatile ("stlexh %0, %2, %1" : "=&r" (result), "=Q" (*ptr) : "r" ((uint32_t)value) : "mem
 912:Core/cmsis_gcc.h ****    return(result);
 913:Core/cmsis_gcc.h **** }
 914:Core/cmsis_gcc.h **** 
 915:Core/cmsis_gcc.h **** 
 916:Core/cmsis_gcc.h **** /**
 917:Core/cmsis_gcc.h ****   \brief   Store-Release Exclusive (32 bit)
 918:Core/cmsis_gcc.h ****   \details Executes a STL exclusive instruction for 32 bit values.
 919:Core/cmsis_gcc.h ****   \param [in]  value  Value to store
 920:Core/cmsis_gcc.h ****   \param [in]    ptr  Pointer to location
 921:Core/cmsis_gcc.h ****   \return          0  Function succeeded
 922:Core/cmsis_gcc.h ****   \return          1  Function failed
 923:Core/cmsis_gcc.h ****  */
 924:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __STLEX(uint32_t value, volatile uint32_t *ptr)
 925:Core/cmsis_gcc.h **** {
 926:Core/cmsis_gcc.h ****    uint32_t result;
 927:Core/cmsis_gcc.h **** 
 928:Core/cmsis_gcc.h ****    __ASM volatile ("stlex %0, %2, %1" : "=&r" (result), "=Q" (*ptr) : "r" ((uint32_t)value) : "memo
 929:Core/cmsis_gcc.h ****    return(result);
 930:Core/cmsis_gcc.h **** }
 931:Core/cmsis_gcc.h **** 
 932:Core/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
 933:Core/cmsis_gcc.h ****            (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1))    ) */
 934:Core/cmsis_gcc.h **** 
ARM GAS  /tmp/cc9cn0cw.s 			page 249


 935:Core/cmsis_gcc.h **** /*@}*/ /* end of group CMSIS_Core_InstructionInterface */
 936:Core/cmsis_gcc.h **** 
 937:Core/cmsis_gcc.h **** 
 938:Core/cmsis_gcc.h **** /* ###########################  Core Function Access  ########################### */
 939:Core/cmsis_gcc.h **** /** \ingroup  CMSIS_Core_FunctionInterface
 940:Core/cmsis_gcc.h ****     \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
 941:Core/cmsis_gcc.h ****   @{
 942:Core/cmsis_gcc.h ****  */
 943:Core/cmsis_gcc.h **** 
 944:Core/cmsis_gcc.h **** /**
 945:Core/cmsis_gcc.h ****   \brief   Enable IRQ Interrupts
 946:Core/cmsis_gcc.h ****   \details Enables IRQ interrupts by clearing special-purpose register PRIMASK.
 947:Core/cmsis_gcc.h ****            Can only be executed in Privileged modes.
 948:Core/cmsis_gcc.h ****  */
 949:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
 950:Core/cmsis_gcc.h **** {
 951:Core/cmsis_gcc.h ****   __ASM volatile ("cpsie i" : : : "memory");
 952:Core/cmsis_gcc.h **** }
 953:Core/cmsis_gcc.h **** 
 954:Core/cmsis_gcc.h **** 
 955:Core/cmsis_gcc.h **** /**
 956:Core/cmsis_gcc.h ****   \brief   Disable IRQ Interrupts
 957:Core/cmsis_gcc.h ****   \details Disables IRQ interrupts by setting special-purpose register PRIMASK.
 958:Core/cmsis_gcc.h ****            Can only be executed in Privileged modes.
 959:Core/cmsis_gcc.h ****  */
 960:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
 961:Core/cmsis_gcc.h **** {
 962:Core/cmsis_gcc.h ****   __ASM volatile ("cpsid i" : : : "memory");
 963:Core/cmsis_gcc.h **** }
 964:Core/cmsis_gcc.h **** 
 965:Core/cmsis_gcc.h **** 
 966:Core/cmsis_gcc.h **** /**
 967:Core/cmsis_gcc.h ****   \brief   Get Control Register
 968:Core/cmsis_gcc.h ****   \details Returns the content of the Control Register.
 969:Core/cmsis_gcc.h ****   \return               Control Register value
 970:Core/cmsis_gcc.h ****  */
 971:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
 972:Core/cmsis_gcc.h **** {
 973:Core/cmsis_gcc.h ****   uint32_t result;
 974:Core/cmsis_gcc.h **** 
 975:Core/cmsis_gcc.h ****   __ASM volatile ("MRS %0, control" : "=r" (result) );
 976:Core/cmsis_gcc.h ****   return(result);
 977:Core/cmsis_gcc.h **** }
 978:Core/cmsis_gcc.h **** 
 979:Core/cmsis_gcc.h **** 
 980:Core/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 981:Core/cmsis_gcc.h **** /**
 982:Core/cmsis_gcc.h ****   \brief   Get Control Register (non-secure)
 983:Core/cmsis_gcc.h ****   \details Returns the content of the non-secure Control Register when in secure mode.
 984:Core/cmsis_gcc.h ****   \return               non-secure Control Register value
 985:Core/cmsis_gcc.h ****  */
 986:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
 987:Core/cmsis_gcc.h **** {
 988:Core/cmsis_gcc.h ****   uint32_t result;
 989:Core/cmsis_gcc.h **** 
 990:Core/cmsis_gcc.h ****   __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
 991:Core/cmsis_gcc.h ****   return(result);
ARM GAS  /tmp/cc9cn0cw.s 			page 250


 992:Core/cmsis_gcc.h **** }
 993:Core/cmsis_gcc.h **** #endif
 994:Core/cmsis_gcc.h **** 
 995:Core/cmsis_gcc.h **** 
 996:Core/cmsis_gcc.h **** /**
 997:Core/cmsis_gcc.h ****   \brief   Set Control Register
 998:Core/cmsis_gcc.h ****   \details Writes the given value to the Control Register.
 999:Core/cmsis_gcc.h ****   \param [in]    control  Control Register value to set
1000:Core/cmsis_gcc.h ****  */
1001:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
1002:Core/cmsis_gcc.h **** {
1003:Core/cmsis_gcc.h ****   __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
1004:Core/cmsis_gcc.h ****   __ISB();
1005:Core/cmsis_gcc.h **** }
1006:Core/cmsis_gcc.h **** 
1007:Core/cmsis_gcc.h **** 
1008:Core/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
1009:Core/cmsis_gcc.h **** /**
1010:Core/cmsis_gcc.h ****   \brief   Set Control Register (non-secure)
1011:Core/cmsis_gcc.h ****   \details Writes the given value to the non-secure Control Register when in secure state.
1012:Core/cmsis_gcc.h ****   \param [in]    control  Control Register value to set
1013:Core/cmsis_gcc.h ****  */
1014:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
1015:Core/cmsis_gcc.h **** {
1016:Core/cmsis_gcc.h ****   __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
1017:Core/cmsis_gcc.h ****   __ISB();
1018:Core/cmsis_gcc.h **** }
1019:Core/cmsis_gcc.h **** #endif
1020:Core/cmsis_gcc.h **** 
1021:Core/cmsis_gcc.h **** 
1022:Core/cmsis_gcc.h **** /**
1023:Core/cmsis_gcc.h ****   \brief   Get IPSR Register
1024:Core/cmsis_gcc.h ****   \details Returns the content of the IPSR Register.
1025:Core/cmsis_gcc.h ****   \return               IPSR Register value
1026:Core/cmsis_gcc.h ****  */
1027:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
1028:Core/cmsis_gcc.h **** {
1029:Core/cmsis_gcc.h ****   uint32_t result;
1030:Core/cmsis_gcc.h **** 
1031:Core/cmsis_gcc.h ****   __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
1032:Core/cmsis_gcc.h ****   return(result);
1033:Core/cmsis_gcc.h **** }
1034:Core/cmsis_gcc.h **** 
1035:Core/cmsis_gcc.h **** 
1036:Core/cmsis_gcc.h **** /**
1037:Core/cmsis_gcc.h ****   \brief   Get APSR Register
1038:Core/cmsis_gcc.h ****   \details Returns the content of the APSR Register.
1039:Core/cmsis_gcc.h ****   \return               APSR Register value
1040:Core/cmsis_gcc.h ****  */
1041:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
1042:Core/cmsis_gcc.h **** {
1043:Core/cmsis_gcc.h ****   uint32_t result;
1044:Core/cmsis_gcc.h **** 
1045:Core/cmsis_gcc.h ****   __ASM volatile ("MRS %0, apsr" : "=r" (result) );
1046:Core/cmsis_gcc.h ****   return(result);
1047:Core/cmsis_gcc.h **** }
1048:Core/cmsis_gcc.h **** 
ARM GAS  /tmp/cc9cn0cw.s 			page 251


1049:Core/cmsis_gcc.h **** 
1050:Core/cmsis_gcc.h **** /**
1051:Core/cmsis_gcc.h ****   \brief   Get xPSR Register
1052:Core/cmsis_gcc.h ****   \details Returns the content of the xPSR Register.
1053:Core/cmsis_gcc.h ****   \return               xPSR Register value
1054:Core/cmsis_gcc.h ****  */
1055:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
1056:Core/cmsis_gcc.h **** {
1057:Core/cmsis_gcc.h ****   uint32_t result;
1058:Core/cmsis_gcc.h **** 
1059:Core/cmsis_gcc.h ****   __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
1060:Core/cmsis_gcc.h ****   return(result);
1061:Core/cmsis_gcc.h **** }
1062:Core/cmsis_gcc.h **** 
1063:Core/cmsis_gcc.h **** 
1064:Core/cmsis_gcc.h **** /**
1065:Core/cmsis_gcc.h ****   \brief   Get Process Stack Pointer
1066:Core/cmsis_gcc.h ****   \details Returns the current value of the Process Stack Pointer (PSP).
1067:Core/cmsis_gcc.h ****   \return               PSP Register value
1068:Core/cmsis_gcc.h ****  */
1069:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
1070:Core/cmsis_gcc.h **** {
1071:Core/cmsis_gcc.h ****   uint32_t result;
1072:Core/cmsis_gcc.h **** 
1073:Core/cmsis_gcc.h ****   __ASM volatile ("MRS %0, psp"  : "=r" (result) );
1074:Core/cmsis_gcc.h ****   return(result);
1075:Core/cmsis_gcc.h **** }
1076:Core/cmsis_gcc.h **** 
1077:Core/cmsis_gcc.h **** 
1078:Core/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
1079:Core/cmsis_gcc.h **** /**
1080:Core/cmsis_gcc.h ****   \brief   Get Process Stack Pointer (non-secure)
1081:Core/cmsis_gcc.h ****   \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
1082:Core/cmsis_gcc.h ****   \return               PSP Register value
1083:Core/cmsis_gcc.h ****  */
1084:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
1085:Core/cmsis_gcc.h **** {
1086:Core/cmsis_gcc.h ****   uint32_t result;
1087:Core/cmsis_gcc.h **** 
1088:Core/cmsis_gcc.h ****   __ASM volatile ("MRS %0, psp_ns"  : "=r" (result) );
1089:Core/cmsis_gcc.h ****   return(result);
1090:Core/cmsis_gcc.h **** }
1091:Core/cmsis_gcc.h **** #endif
1092:Core/cmsis_gcc.h **** 
1093:Core/cmsis_gcc.h **** 
1094:Core/cmsis_gcc.h **** /**
1095:Core/cmsis_gcc.h ****   \brief   Set Process Stack Pointer
1096:Core/cmsis_gcc.h ****   \details Assigns the given value to the Process Stack Pointer (PSP).
1097:Core/cmsis_gcc.h ****   \param [in]    topOfProcStack  Process Stack Pointer value to set
1098:Core/cmsis_gcc.h ****  */
1099:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
1100:Core/cmsis_gcc.h **** {
1101:Core/cmsis_gcc.h ****   __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
1102:Core/cmsis_gcc.h **** }
1103:Core/cmsis_gcc.h **** 
1104:Core/cmsis_gcc.h **** 
1105:Core/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
ARM GAS  /tmp/cc9cn0cw.s 			page 252


1106:Core/cmsis_gcc.h **** /**
1107:Core/cmsis_gcc.h ****   \brief   Set Process Stack Pointer (non-secure)
1108:Core/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
1109:Core/cmsis_gcc.h ****   \param [in]    topOfProcStack  Process Stack Pointer value to set
1110:Core/cmsis_gcc.h ****  */
1111:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
1112:Core/cmsis_gcc.h **** {
1113:Core/cmsis_gcc.h ****   __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
1114:Core/cmsis_gcc.h **** }
1115:Core/cmsis_gcc.h **** #endif
1116:Core/cmsis_gcc.h **** 
1117:Core/cmsis_gcc.h **** 
1118:Core/cmsis_gcc.h **** /**
1119:Core/cmsis_gcc.h ****   \brief   Get Main Stack Pointer
1120:Core/cmsis_gcc.h ****   \details Returns the current value of the Main Stack Pointer (MSP).
1121:Core/cmsis_gcc.h ****   \return               MSP Register value
1122:Core/cmsis_gcc.h ****  */
1123:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
1124:Core/cmsis_gcc.h **** {
1125:Core/cmsis_gcc.h ****   uint32_t result;
1126:Core/cmsis_gcc.h **** 
1127:Core/cmsis_gcc.h ****   __ASM volatile ("MRS %0, msp" : "=r" (result) );
1128:Core/cmsis_gcc.h ****   return(result);
1129:Core/cmsis_gcc.h **** }
1130:Core/cmsis_gcc.h **** 
1131:Core/cmsis_gcc.h **** 
1132:Core/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
1133:Core/cmsis_gcc.h **** /**
1134:Core/cmsis_gcc.h ****   \brief   Get Main Stack Pointer (non-secure)
1135:Core/cmsis_gcc.h ****   \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
1136:Core/cmsis_gcc.h ****   \return               MSP Register value
1137:Core/cmsis_gcc.h ****  */
1138:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
1139:Core/cmsis_gcc.h **** {
1140:Core/cmsis_gcc.h ****   uint32_t result;
1141:Core/cmsis_gcc.h **** 
1142:Core/cmsis_gcc.h ****   __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
1143:Core/cmsis_gcc.h ****   return(result);
1144:Core/cmsis_gcc.h **** }
1145:Core/cmsis_gcc.h **** #endif
1146:Core/cmsis_gcc.h **** 
1147:Core/cmsis_gcc.h **** 
1148:Core/cmsis_gcc.h **** /**
1149:Core/cmsis_gcc.h ****   \brief   Set Main Stack Pointer
1150:Core/cmsis_gcc.h ****   \details Assigns the given value to the Main Stack Pointer (MSP).
1151:Core/cmsis_gcc.h ****   \param [in]    topOfMainStack  Main Stack Pointer value to set
1152:Core/cmsis_gcc.h ****  */
1153:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
1154:Core/cmsis_gcc.h **** {
1155:Core/cmsis_gcc.h ****   __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
1156:Core/cmsis_gcc.h **** }
1157:Core/cmsis_gcc.h **** 
1158:Core/cmsis_gcc.h **** 
1159:Core/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
1160:Core/cmsis_gcc.h **** /**
1161:Core/cmsis_gcc.h ****   \brief   Set Main Stack Pointer (non-secure)
1162:Core/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
ARM GAS  /tmp/cc9cn0cw.s 			page 253


1163:Core/cmsis_gcc.h ****   \param [in]    topOfMainStack  Main Stack Pointer value to set
1164:Core/cmsis_gcc.h ****  */
1165:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
1166:Core/cmsis_gcc.h **** {
1167:Core/cmsis_gcc.h ****   __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
1168:Core/cmsis_gcc.h **** }
1169:Core/cmsis_gcc.h **** #endif
1170:Core/cmsis_gcc.h **** 
1171:Core/cmsis_gcc.h **** 
1172:Core/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
1173:Core/cmsis_gcc.h **** /**
1174:Core/cmsis_gcc.h ****   \brief   Get Stack Pointer (non-secure)
1175:Core/cmsis_gcc.h ****   \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
1176:Core/cmsis_gcc.h ****   \return               SP Register value
1177:Core/cmsis_gcc.h ****  */
1178:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
1179:Core/cmsis_gcc.h **** {
1180:Core/cmsis_gcc.h ****   uint32_t result;
1181:Core/cmsis_gcc.h **** 
1182:Core/cmsis_gcc.h ****   __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
1183:Core/cmsis_gcc.h ****   return(result);
1184:Core/cmsis_gcc.h **** }
1185:Core/cmsis_gcc.h **** 
1186:Core/cmsis_gcc.h **** 
1187:Core/cmsis_gcc.h **** /**
1188:Core/cmsis_gcc.h ****   \brief   Set Stack Pointer (non-secure)
1189:Core/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
1190:Core/cmsis_gcc.h ****   \param [in]    topOfStack  Stack Pointer value to set
1191:Core/cmsis_gcc.h ****  */
1192:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
1193:Core/cmsis_gcc.h **** {
1194:Core/cmsis_gcc.h ****   __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
1195:Core/cmsis_gcc.h **** }
1196:Core/cmsis_gcc.h **** #endif
1197:Core/cmsis_gcc.h **** 
1198:Core/cmsis_gcc.h **** 
1199:Core/cmsis_gcc.h **** /**
1200:Core/cmsis_gcc.h ****   \brief   Get Priority Mask
1201:Core/cmsis_gcc.h ****   \details Returns the current state of the priority mask bit from the Priority Mask Register.
1202:Core/cmsis_gcc.h ****   \return               Priority Mask value
1203:Core/cmsis_gcc.h ****  */
1204:Core/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
 9435              		.loc 2 1204 31 view .LVU3007
 9436              	.LBB1501:
1205:Core/cmsis_gcc.h **** {
1206:Core/cmsis_gcc.h ****   uint32_t result;
 9437              		.loc 2 1206 3 view .LVU3008
1207:Core/cmsis_gcc.h **** 
1208:Core/cmsis_gcc.h ****   __ASM volatile ("MRS %0, primask" : "=r" (result) );
 9438              		.loc 2 1208 3 view .LVU3009
 9439              		.syntax divided
 9440              	@ 1208 "Core/cmsis_gcc.h" 1
 9441 0006 EFF31082 		MRS r2, primask
 9442              	@ 0 "" 2
 9443              	.LVL558:
1209:Core/cmsis_gcc.h ****   return(result);
 9444              		.loc 2 1209 3 view .LVU3010
ARM GAS  /tmp/cc9cn0cw.s 			page 254


 9445              		.loc 2 1209 3 is_stmt 0 view .LVU3011
 9446              		.thumb
 9447              		.syntax unified
 9448              	.LBE1501:
 9449              	.LBE1500:
 9450              		.loc 1 1206 3 is_stmt 1 discriminator 2 view .LVU3012
 9451              	.LBB1502:
 9452              	.LBI1502:
 960:Core/cmsis_gcc.h **** {
 9453              		.loc 2 960 27 view .LVU3013
 9454              	.LBB1503:
 962:Core/cmsis_gcc.h **** }
 9455              		.loc 2 962 3 view .LVU3014
 9456              		.syntax divided
 9457              	@ 962 "Core/cmsis_gcc.h" 1
 9458 000a 72B6     		cpsid i
 9459              	@ 0 "" 2
 9460              		.thumb
 9461              		.syntax unified
 9462              	.LBE1503:
 9463              	.LBE1502:
 9464              		.loc 1 1206 3 discriminator 3 view .LVU3015
 9465 000c 054A     		ldr	r2, .L751
 9466 000e 0649     		ldr	r1, .L751+4
 9467 0010 1160     		str	r1, [r2]
 9468              		.loc 1 1206 20 discriminator 3 view .LVU3016
1207:Library/src/lcm32f06x_flash.c ****   CHIPCTRL->RCL_CFG = (CHIPCTRL->RCL_CFG & ~(0X7F)) |
 9469              		.loc 1 1207 3 view .LVU3017
 9470              		.loc 1 1207 42 is_stmt 0 view .LVU3018
 9471 0012 7F21     		movs	r1, #127
 9472              		.loc 1 1207 32 view .LVU3019
 9473 0014 054A     		ldr	r2, .L751+8
 9474 0016 506A     		ldr	r0, [r2, #36]
 9475              	.LVL559:
 9476              		.loc 1 1207 42 view .LVU3020
 9477 0018 8843     		bics	r0, r1
 9478              		.loc 1 1207 53 view .LVU3021
 9479 001a 1843     		orrs	r0, r3
 9480              		.loc 1 1207 21 view .LVU3022
 9481 001c 5062     		str	r0, [r2, #36]
1208:Library/src/lcm32f06x_flash.c ****                       (trim << 0);
1209:Library/src/lcm32f06x_flash.c ****   __dekey();
 9482              		.loc 1 1209 3 is_stmt 1 view .LVU3023
 9483              	.LBB1504:
 9484              	.LBI1504:
 949:Core/cmsis_gcc.h **** {
 9485              		.loc 2 949 27 view .LVU3024
 9486              	.LBB1505:
 951:Core/cmsis_gcc.h **** }
 9487              		.loc 2 951 3 view .LVU3025
 9488              		.syntax divided
 9489              	@ 951 "Core/cmsis_gcc.h" 1
 9490 001e 62B6     		cpsie i
 9491              	@ 0 "" 2
 9492              		.thumb
 9493              		.syntax unified
 9494              	.LBE1505:
ARM GAS  /tmp/cc9cn0cw.s 			page 255


 9495              	.LBE1504:
 9496              		.loc 1 1209 12 discriminator 1 view .LVU3026
1210:Library/src/lcm32f06x_flash.c **** }
 9497              		.loc 1 1210 1 is_stmt 0 view .LVU3027
 9498              		@ sp needed
 9499 0020 7047     		bx	lr
 9500              	.L752:
 9501 0022 C046     		.align	2
 9502              	.L751:
 9503 0024 20700140 		.word	1073836064
 9504 0028 65432187 		.word	-2027863195
 9505 002c 00700140 		.word	1073836032
 9506              		.cfi_endproc
 9507              	.LFE82:
 9509              		.section	.text.rch_trim,"ax",%progbits
 9510              		.align	1
 9511              		.p2align 2,,3
 9512              		.global	rch_trim
 9513              		.syntax unified
 9514              		.code	16
 9515              		.thumb_func
 9517              	rch_trim:
 9518              	.LVL560:
 9519              	.LFB83:
1211:Library/src/lcm32f06x_flash.c **** void rch_trim(uint32_t trim)
1212:Library/src/lcm32f06x_flash.c **** {
 9520              		.loc 1 1212 1 is_stmt 1 view -0
 9521              		.cfi_startproc
 9522              		@ args = 0, pretend = 0, frame = 0
 9523              		@ frame_needed = 0, uses_anonymous_args = 0
 9524              		@ link register save eliminated.
1213:Library/src/lcm32f06x_flash.c ****   chipctrl_access();
 9525              		.loc 1 1213 3 view .LVU3029
 9526              	.LBB1506:
 9527              	.LBI1506:
 258:Core/cmsis_gcc.h **** {
 9528              		.loc 2 258 27 view .LVU3030
 9529              	.LBB1507:
 260:Core/cmsis_gcc.h **** }
 9530              		.loc 2 260 3 view .LVU3031
 9531              	.LBE1507:
 9532              	.LBE1506:
1212:Library/src/lcm32f06x_flash.c ****   chipctrl_access();
 9533              		.loc 1 1212 1 is_stmt 0 view .LVU3032
 9534 0000 0200     		movs	r2, r0
 9535              	.LBB1509:
 9536              	.LBB1508:
 260:Core/cmsis_gcc.h **** }
 9537              		.loc 2 260 3 view .LVU3033
 9538              		.syntax divided
 9539              	@ 260 "Core/cmsis_gcc.h" 1
 9540 0002 BFF36F8F 		isb 0xF
 9541              	@ 0 "" 2
 9542              		.thumb
 9543              		.syntax unified
 9544              	.LBE1508:
 9545              	.LBE1509:
ARM GAS  /tmp/cc9cn0cw.s 			page 256


 9546              		.loc 1 1213 3 is_stmt 1 discriminator 1 view .LVU3034
 9547              	.LBB1510:
 9548              	.LBI1510:
1204:Core/cmsis_gcc.h **** {
 9549              		.loc 2 1204 31 view .LVU3035
 9550              	.LBB1511:
1206:Core/cmsis_gcc.h **** 
 9551              		.loc 2 1206 3 view .LVU3036
1208:Core/cmsis_gcc.h ****   return(result);
 9552              		.loc 2 1208 3 view .LVU3037
 9553              		.syntax divided
 9554              	@ 1208 "Core/cmsis_gcc.h" 1
 9555 0006 EFF31083 		MRS r3, primask
 9556              	@ 0 "" 2
 9557              	.LVL561:
 9558              		.loc 2 1209 3 view .LVU3038
 9559              		.loc 2 1209 3 is_stmt 0 view .LVU3039
 9560              		.thumb
 9561              		.syntax unified
 9562              	.LBE1511:
 9563              	.LBE1510:
 9564              		.loc 1 1213 3 is_stmt 1 discriminator 2 view .LVU3040
 9565              	.LBB1512:
 9566              	.LBI1512:
 960:Core/cmsis_gcc.h **** {
 9567              		.loc 2 960 27 view .LVU3041
 9568              	.LBB1513:
 962:Core/cmsis_gcc.h **** }
 9569              		.loc 2 962 3 view .LVU3042
 9570              		.syntax divided
 9571              	@ 962 "Core/cmsis_gcc.h" 1
 9572 000a 72B6     		cpsid i
 9573              	@ 0 "" 2
 9574              		.thumb
 9575              		.syntax unified
 9576              	.LBE1513:
 9577              	.LBE1512:
 9578              		.loc 1 1213 3 discriminator 3 view .LVU3043
 9579 000c 054B     		ldr	r3, .L754
 9580 000e 0649     		ldr	r1, .L754+4
 9581 0010 1960     		str	r1, [r3]
 9582              		.loc 1 1213 20 discriminator 3 view .LVU3044
1214:Library/src/lcm32f06x_flash.c ****   CHIPCTRL->RCH_CFG = (CHIPCTRL->RCH_CFG & ~(0XFFF)) |
 9583              		.loc 1 1214 3 view .LVU3045
 9584              		.loc 1 1214 32 is_stmt 0 view .LVU3046
 9585 0012 0649     		ldr	r1, .L754+8
 9586 0014 0B69     		ldr	r3, [r1, #16]
 9587              		.loc 1 1214 42 view .LVU3047
 9588 0016 1B0B     		lsrs	r3, r3, #12
 9589 0018 1803     		lsls	r0, r3, #12
 9590              	.LVL562:
 9591              		.loc 1 1214 54 view .LVU3048
 9592 001a 1043     		orrs	r0, r2
 9593              		.loc 1 1214 21 view .LVU3049
 9594 001c 0861     		str	r0, [r1, #16]
1215:Library/src/lcm32f06x_flash.c ****                       (trim << 0);
1216:Library/src/lcm32f06x_flash.c ****   __dekey();
ARM GAS  /tmp/cc9cn0cw.s 			page 257


 9595              		.loc 1 1216 3 is_stmt 1 view .LVU3050
 9596              	.LBB1514:
 9597              	.LBI1514:
 949:Core/cmsis_gcc.h **** {
 9598              		.loc 2 949 27 view .LVU3051
 9599              	.LBB1515:
 951:Core/cmsis_gcc.h **** }
 9600              		.loc 2 951 3 view .LVU3052
 9601              		.syntax divided
 9602              	@ 951 "Core/cmsis_gcc.h" 1
 9603 001e 62B6     		cpsie i
 9604              	@ 0 "" 2
 9605              		.thumb
 9606              		.syntax unified
 9607              	.LBE1515:
 9608              	.LBE1514:
 9609              		.loc 1 1216 12 discriminator 1 view .LVU3053
1217:Library/src/lcm32f06x_flash.c **** }
 9610              		.loc 1 1217 1 is_stmt 0 view .LVU3054
 9611              		@ sp needed
 9612 0020 7047     		bx	lr
 9613              	.L755:
 9614 0022 C046     		.align	2
 9615              	.L754:
 9616 0024 20700140 		.word	1073836064
 9617 0028 65432187 		.word	-2027863195
 9618 002c 00700140 		.word	1073836032
 9619              		.cfi_endproc
 9620              	.LFE83:
 9622              		.section	.text.bgr_trim,"ax",%progbits
 9623              		.align	1
 9624              		.p2align 2,,3
 9625              		.global	bgr_trim
 9626              		.syntax unified
 9627              		.code	16
 9628              		.thumb_func
 9630              	bgr_trim:
 9631              	.LVL563:
 9632              	.LFB84:
1218:Library/src/lcm32f06x_flash.c **** void bgr_trim(uint32_t trim)
1219:Library/src/lcm32f06x_flash.c **** {
 9633              		.loc 1 1219 1 is_stmt 1 view -0
 9634              		.cfi_startproc
 9635              		@ args = 0, pretend = 0, frame = 0
 9636              		@ frame_needed = 0, uses_anonymous_args = 0
 9637              		@ link register save eliminated.
1220:Library/src/lcm32f06x_flash.c ****   chipctrl_access();
 9638              		.loc 1 1220 3 view .LVU3056
 9639              	.LBB1516:
 9640              	.LBI1516:
 258:Core/cmsis_gcc.h **** {
 9641              		.loc 2 258 27 view .LVU3057
 9642              	.LBB1517:
 260:Core/cmsis_gcc.h **** }
 9643              		.loc 2 260 3 view .LVU3058
 9644              		.syntax divided
 9645              	@ 260 "Core/cmsis_gcc.h" 1
ARM GAS  /tmp/cc9cn0cw.s 			page 258


 9646 0000 BFF36F8F 		isb 0xF
 9647              	@ 0 "" 2
 9648              		.thumb
 9649              		.syntax unified
 9650              	.LBE1517:
 9651              	.LBE1516:
 9652              		.loc 1 1220 3 discriminator 1 view .LVU3059
 9653              	.LBB1518:
 9654              	.LBI1518:
1204:Core/cmsis_gcc.h **** {
 9655              		.loc 2 1204 31 view .LVU3060
 9656              	.LBB1519:
1206:Core/cmsis_gcc.h **** 
 9657              		.loc 2 1206 3 view .LVU3061
1208:Core/cmsis_gcc.h ****   return(result);
 9658              		.loc 2 1208 3 view .LVU3062
 9659              		.syntax divided
 9660              	@ 1208 "Core/cmsis_gcc.h" 1
 9661 0004 EFF31083 		MRS r3, primask
 9662              	@ 0 "" 2
 9663              	.LVL564:
 9664              		.loc 2 1209 3 view .LVU3063
 9665              		.loc 2 1209 3 is_stmt 0 view .LVU3064
 9666              		.thumb
 9667              		.syntax unified
 9668              	.LBE1519:
 9669              	.LBE1518:
 9670              		.loc 1 1220 3 is_stmt 1 discriminator 2 view .LVU3065
 9671              	.LBB1520:
 9672              	.LBI1520:
 960:Core/cmsis_gcc.h **** {
 9673              		.loc 2 960 27 view .LVU3066
 9674              	.LBB1521:
 962:Core/cmsis_gcc.h **** }
 9675              		.loc 2 962 3 view .LVU3067
 9676              		.syntax divided
 9677              	@ 962 "Core/cmsis_gcc.h" 1
 9678 0008 72B6     		cpsid i
 9679              	@ 0 "" 2
 9680              		.thumb
 9681              		.syntax unified
 9682              	.LBE1521:
 9683              	.LBE1520:
 9684              		.loc 1 1220 3 discriminator 3 view .LVU3068
 9685 000a 034B     		ldr	r3, .L757
 9686 000c 034A     		ldr	r2, .L757+4
 9687 000e 1A60     		str	r2, [r3]
 9688              		.loc 1 1220 20 discriminator 3 view .LVU3069
1221:Library/src/lcm32f06x_flash.c ****   CHIPCTRL->BGR_CFG = trim;
 9689              		.loc 1 1221 3 view .LVU3070
 9690              		.loc 1 1221 21 is_stmt 0 view .LVU3071
 9691 0010 034B     		ldr	r3, .L757+8
 9692 0012 D862     		str	r0, [r3, #44]
1222:Library/src/lcm32f06x_flash.c ****   __dekey();
 9693              		.loc 1 1222 3 is_stmt 1 view .LVU3072
 9694              	.LBB1522:
 9695              	.LBI1522:
ARM GAS  /tmp/cc9cn0cw.s 			page 259


 949:Core/cmsis_gcc.h **** {
 9696              		.loc 2 949 27 view .LVU3073
 9697              	.LBB1523:
 951:Core/cmsis_gcc.h **** }
 9698              		.loc 2 951 3 view .LVU3074
 9699              		.syntax divided
 9700              	@ 951 "Core/cmsis_gcc.h" 1
 9701 0014 62B6     		cpsie i
 9702              	@ 0 "" 2
 9703              		.thumb
 9704              		.syntax unified
 9705              	.LBE1523:
 9706              	.LBE1522:
 9707              		.loc 1 1222 12 discriminator 1 view .LVU3075
1223:Library/src/lcm32f06x_flash.c **** }
 9708              		.loc 1 1223 1 is_stmt 0 view .LVU3076
 9709              		@ sp needed
 9710 0016 7047     		bx	lr
 9711              	.L758:
 9712              		.align	2
 9713              	.L757:
 9714 0018 20700140 		.word	1073836064
 9715 001c 65432187 		.word	-2027863195
 9716 0020 00700140 		.word	1073836032
 9717              		.cfi_endproc
 9718              	.LFE84:
 9720              		.section	.text.lpbgr_trim,"ax",%progbits
 9721              		.align	1
 9722              		.p2align 2,,3
 9723              		.global	lpbgr_trim
 9724              		.syntax unified
 9725              		.code	16
 9726              		.thumb_func
 9728              	lpbgr_trim:
 9729              	.LVL565:
 9730              	.LFB85:
1224:Library/src/lcm32f06x_flash.c **** 
1225:Library/src/lcm32f06x_flash.c **** void lpbgr_trim(uint32_t trim)
1226:Library/src/lcm32f06x_flash.c **** {
 9731              		.loc 1 1226 1 is_stmt 1 view -0
 9732              		.cfi_startproc
 9733              		@ args = 0, pretend = 0, frame = 0
 9734              		@ frame_needed = 0, uses_anonymous_args = 0
 9735              		@ link register save eliminated.
1227:Library/src/lcm32f06x_flash.c ****   chipctrl_access();
 9736              		.loc 1 1227 3 view .LVU3078
 9737              	.LBB1524:
 9738              	.LBI1524:
 258:Core/cmsis_gcc.h **** {
 9739              		.loc 2 258 27 view .LVU3079
 9740              	.LBB1525:
 260:Core/cmsis_gcc.h **** }
 9741              		.loc 2 260 3 view .LVU3080
 9742              	.LBE1525:
 9743              	.LBE1524:
1226:Library/src/lcm32f06x_flash.c ****   chipctrl_access();
 9744              		.loc 1 1226 1 is_stmt 0 view .LVU3081
ARM GAS  /tmp/cc9cn0cw.s 			page 260


 9745 0000 0300     		movs	r3, r0
 9746              	.LBB1527:
 9747              	.LBB1526:
 260:Core/cmsis_gcc.h **** }
 9748              		.loc 2 260 3 view .LVU3082
 9749              		.syntax divided
 9750              	@ 260 "Core/cmsis_gcc.h" 1
 9751 0002 BFF36F8F 		isb 0xF
 9752              	@ 0 "" 2
 9753              		.thumb
 9754              		.syntax unified
 9755              	.LBE1526:
 9756              	.LBE1527:
 9757              		.loc 1 1227 3 is_stmt 1 discriminator 1 view .LVU3083
 9758              	.LBB1528:
 9759              	.LBI1528:
1204:Core/cmsis_gcc.h **** {
 9760              		.loc 2 1204 31 view .LVU3084
 9761              	.LBB1529:
1206:Core/cmsis_gcc.h **** 
 9762              		.loc 2 1206 3 view .LVU3085
1208:Core/cmsis_gcc.h ****   return(result);
 9763              		.loc 2 1208 3 view .LVU3086
 9764              		.syntax divided
 9765              	@ 1208 "Core/cmsis_gcc.h" 1
 9766 0006 EFF31082 		MRS r2, primask
 9767              	@ 0 "" 2
 9768              	.LVL566:
 9769              		.loc 2 1209 3 view .LVU3087
 9770              		.loc 2 1209 3 is_stmt 0 view .LVU3088
 9771              		.thumb
 9772              		.syntax unified
 9773              	.LBE1529:
 9774              	.LBE1528:
 9775              		.loc 1 1227 3 is_stmt 1 discriminator 2 view .LVU3089
 9776              	.LBB1530:
 9777              	.LBI1530:
 960:Core/cmsis_gcc.h **** {
 9778              		.loc 2 960 27 view .LVU3090
 9779              	.LBB1531:
 962:Core/cmsis_gcc.h **** }
 9780              		.loc 2 962 3 view .LVU3091
 9781              		.syntax divided
 9782              	@ 962 "Core/cmsis_gcc.h" 1
 9783 000a 72B6     		cpsid i
 9784              	@ 0 "" 2
 9785              		.thumb
 9786              		.syntax unified
 9787              	.LBE1531:
 9788              	.LBE1530:
 9789              		.loc 1 1227 3 discriminator 3 view .LVU3092
 9790 000c 054A     		ldr	r2, .L760
 9791 000e 0649     		ldr	r1, .L760+4
1228:Library/src/lcm32f06x_flash.c ****   CHIPCTRL->BGR_CFG = (CHIPCTRL->BGR_CFG & ~(0X3F << 16)) |
1229:Library/src/lcm32f06x_flash.c ****   (trim << 16);
 9792              		.loc 1 1229 9 is_stmt 0 view .LVU3093
 9793 0010 1B04     		lsls	r3, r3, #16
ARM GAS  /tmp/cc9cn0cw.s 			page 261


1227:Library/src/lcm32f06x_flash.c ****   CHIPCTRL->BGR_CFG = (CHIPCTRL->BGR_CFG & ~(0X3F << 16)) |
 9794              		.loc 1 1227 3 discriminator 3 view .LVU3094
 9795 0012 1160     		str	r1, [r2]
1227:Library/src/lcm32f06x_flash.c ****   CHIPCTRL->BGR_CFG = (CHIPCTRL->BGR_CFG & ~(0X3F << 16)) |
 9796              		.loc 1 1227 20 is_stmt 1 discriminator 3 view .LVU3095
1228:Library/src/lcm32f06x_flash.c ****   CHIPCTRL->BGR_CFG = (CHIPCTRL->BGR_CFG & ~(0X3F << 16)) |
 9797              		.loc 1 1228 3 view .LVU3096
1228:Library/src/lcm32f06x_flash.c ****   CHIPCTRL->BGR_CFG = (CHIPCTRL->BGR_CFG & ~(0X3F << 16)) |
 9798              		.loc 1 1228 32 is_stmt 0 view .LVU3097
 9799 0014 054A     		ldr	r2, .L760+8
1228:Library/src/lcm32f06x_flash.c ****   CHIPCTRL->BGR_CFG = (CHIPCTRL->BGR_CFG & ~(0X3F << 16)) |
 9800              		.loc 1 1228 42 view .LVU3098
 9801 0016 0649     		ldr	r1, .L760+12
1228:Library/src/lcm32f06x_flash.c ****   CHIPCTRL->BGR_CFG = (CHIPCTRL->BGR_CFG & ~(0X3F << 16)) |
 9802              		.loc 1 1228 32 view .LVU3099
 9803 0018 D06A     		ldr	r0, [r2, #44]
 9804              	.LVL567:
1228:Library/src/lcm32f06x_flash.c ****   CHIPCTRL->BGR_CFG = (CHIPCTRL->BGR_CFG & ~(0X3F << 16)) |
 9805              		.loc 1 1228 42 view .LVU3100
 9806 001a 0840     		ands	r0, r1
1228:Library/src/lcm32f06x_flash.c ****   CHIPCTRL->BGR_CFG = (CHIPCTRL->BGR_CFG & ~(0X3F << 16)) |
 9807              		.loc 1 1228 59 view .LVU3101
 9808 001c 1843     		orrs	r0, r3
1228:Library/src/lcm32f06x_flash.c ****   CHIPCTRL->BGR_CFG = (CHIPCTRL->BGR_CFG & ~(0X3F << 16)) |
 9809              		.loc 1 1228 21 view .LVU3102
 9810 001e D062     		str	r0, [r2, #44]
1230:Library/src/lcm32f06x_flash.c ****   __dekey();
 9811              		.loc 1 1230 3 is_stmt 1 view .LVU3103
 9812              	.LBB1532:
 9813              	.LBI1532:
 949:Core/cmsis_gcc.h **** {
 9814              		.loc 2 949 27 view .LVU3104
 9815              	.LBB1533:
 951:Core/cmsis_gcc.h **** }
 9816              		.loc 2 951 3 view .LVU3105
 9817              		.syntax divided
 9818              	@ 951 "Core/cmsis_gcc.h" 1
 9819 0020 62B6     		cpsie i
 9820              	@ 0 "" 2
 9821              		.thumb
 9822              		.syntax unified
 9823              	.LBE1533:
 9824              	.LBE1532:
 9825              		.loc 1 1230 12 discriminator 1 view .LVU3106
1231:Library/src/lcm32f06x_flash.c **** }
 9826              		.loc 1 1231 1 is_stmt 0 view .LVU3107
 9827              		@ sp needed
 9828 0022 7047     		bx	lr
 9829              	.L761:
 9830              		.align	2
 9831              	.L760:
 9832 0024 20700140 		.word	1073836064
 9833 0028 65432187 		.word	-2027863195
 9834 002c 00700140 		.word	1073836032
 9835 0030 FFFFC0FF 		.word	-4128769
 9836              		.cfi_endproc
 9837              	.LFE85:
ARM GAS  /tmp/cc9cn0cw.s 			page 262


 9839              		.section	.text.adc_trim,"ax",%progbits
 9840              		.align	1
 9841              		.p2align 2,,3
 9842              		.global	adc_trim
 9843              		.syntax unified
 9844              		.code	16
 9845              		.thumb_func
 9847              	adc_trim:
 9848              	.LVL568:
 9849              	.LFB86:
1232:Library/src/lcm32f06x_flash.c **** 
1233:Library/src/lcm32f06x_flash.c **** void adc_trim(uint32_t trim)
1234:Library/src/lcm32f06x_flash.c **** {
 9850              		.loc 1 1234 1 is_stmt 1 view -0
 9851              		.cfi_startproc
 9852              		@ args = 0, pretend = 0, frame = 0
 9853              		@ frame_needed = 0, uses_anonymous_args = 0
 9854              		@ link register save eliminated.
1235:Library/src/lcm32f06x_flash.c ****   ADC->TRIM = trim;
 9855              		.loc 1 1235 3 view .LVU3109
 9856              		.loc 1 1235 13 is_stmt 0 view .LVU3110
 9857 0000 014B     		ldr	r3, .L763
1236:Library/src/lcm32f06x_flash.c **** }
 9858              		.loc 1 1236 1 view .LVU3111
 9859              		@ sp needed
1235:Library/src/lcm32f06x_flash.c ****   ADC->TRIM = trim;
 9860              		.loc 1 1235 13 view .LVU3112
 9861 0002 1862     		str	r0, [r3, #32]
 9862              		.loc 1 1236 1 view .LVU3113
 9863 0004 7047     		bx	lr
 9864              	.L764:
 9865 0006 C046     		.align	2
 9866              	.L763:
 9867 0008 00A00140 		.word	1073848320
 9868              		.cfi_endproc
 9869              	.LFE86:
 9871              		.section	.text.mco_set,"ax",%progbits
 9872              		.align	1
 9873              		.p2align 2,,3
 9874              		.global	mco_set
 9875              		.syntax unified
 9876              		.code	16
 9877              		.thumb_func
 9879              	mco_set:
 9880              	.LVL569:
 9881              	.LFB87:
1237:Library/src/lcm32f06x_flash.c **** 
1238:Library/src/lcm32f06x_flash.c **** void mco_set(uint32_t sel, uint32_t div)
1239:Library/src/lcm32f06x_flash.c **** {
 9882              		.loc 1 1239 1 is_stmt 1 view -0
 9883              		.cfi_startproc
 9884              		@ args = 0, pretend = 0, frame = 0
 9885              		@ frame_needed = 0, uses_anonymous_args = 0
1240:Library/src/lcm32f06x_flash.c ****   uint32_t sysdata=0;
 9886              		.loc 1 1240 3 view .LVU3115
1241:Library/src/lcm32f06x_flash.c ****   sysdata=SYSCTRL->ClkEnR1;
 9887              		.loc 1 1241 3 view .LVU3116
ARM GAS  /tmp/cc9cn0cw.s 			page 263


1239:Library/src/lcm32f06x_flash.c ****   uint32_t sysdata=0;
 9888              		.loc 1 1239 1 is_stmt 0 view .LVU3117
 9889 0000 10B5     		push	{r4, lr}
 9890              	.LCFI18:
 9891              		.cfi_def_cfa_offset 8
 9892              		.cfi_offset 4, -8
 9893              		.cfi_offset 14, -4
1242:Library/src/lcm32f06x_flash.c ****   sysdata&=0xFFFFFF80;
 9894              		.loc 1 1242 10 view .LVU3118
 9895 0002 7F24     		movs	r4, #127
1241:Library/src/lcm32f06x_flash.c ****   sysdata=SYSCTRL->ClkEnR1;
 9896              		.loc 1 1241 10 view .LVU3119
 9897 0004 084A     		ldr	r2, .L766
1243:Library/src/lcm32f06x_flash.c ****   sysdata|=(sel << 3) | div;
 9898              		.loc 1 1243 17 view .LVU3120
 9899 0006 C000     		lsls	r0, r0, #3
 9900              	.LVL570:
1241:Library/src/lcm32f06x_flash.c ****   sysdata&=0xFFFFFF80;
 9901              		.loc 1 1241 10 view .LVU3121
 9902 0008 5368     		ldr	r3, [r2, #4]
 9903              	.LVL571:
1242:Library/src/lcm32f06x_flash.c ****   sysdata&=0xFFFFFF80;
 9904              		.loc 1 1242 3 is_stmt 1 view .LVU3122
 9905              		.loc 1 1243 3 view .LVU3123
1242:Library/src/lcm32f06x_flash.c ****   sysdata&=0xFFFFFF80;
 9906              		.loc 1 1242 10 is_stmt 0 view .LVU3124
 9907 000a A343     		bics	r3, r4
 9908              	.LVL572:
1242:Library/src/lcm32f06x_flash.c ****   sysdata&=0xFFFFFF80;
 9909              		.loc 1 1242 10 view .LVU3125
 9910 000c 0B43     		orrs	r3, r1
 9911              		.loc 1 1243 10 view .LVU3126
 9912 000e 1843     		orrs	r0, r3
 9913              	.LVL573:
1244:Library/src/lcm32f06x_flash.c ****   sysctrl_access();
 9914              		.loc 1 1244 3 is_stmt 1 view .LVU3127
 9915              	.LBB1534:
 9916              	.LBI1534:
 258:Core/cmsis_gcc.h **** {
 9917              		.loc 2 258 27 view .LVU3128
 9918              	.LBB1535:
 260:Core/cmsis_gcc.h **** }
 9919              		.loc 2 260 3 view .LVU3129
 9920              		.syntax divided
 9921              	@ 260 "Core/cmsis_gcc.h" 1
 9922 0010 BFF36F8F 		isb 0xF
 9923              	@ 0 "" 2
 9924              		.thumb
 9925              		.syntax unified
 9926              	.LBE1535:
 9927              	.LBE1534:
 9928              		.loc 1 1244 3 discriminator 1 view .LVU3130
 9929              	.LBB1536:
 9930              	.LBI1536:
1204:Core/cmsis_gcc.h **** {
 9931              		.loc 2 1204 31 view .LVU3131
 9932              	.LBB1537:
ARM GAS  /tmp/cc9cn0cw.s 			page 264


1206:Core/cmsis_gcc.h **** 
 9933              		.loc 2 1206 3 view .LVU3132
1208:Core/cmsis_gcc.h ****   return(result);
 9934              		.loc 2 1208 3 view .LVU3133
 9935              		.syntax divided
 9936              	@ 1208 "Core/cmsis_gcc.h" 1
 9937 0014 EFF31083 		MRS r3, primask
 9938              	@ 0 "" 2
 9939              	.LVL574:
 9940              		.loc 2 1209 3 view .LVU3134
 9941              		.loc 2 1209 3 is_stmt 0 view .LVU3135
 9942              		.thumb
 9943              		.syntax unified
 9944              	.LBE1537:
 9945              	.LBE1536:
 9946              		.loc 1 1244 3 is_stmt 1 discriminator 2 view .LVU3136
 9947              	.LBB1538:
 9948              	.LBI1538:
 960:Core/cmsis_gcc.h **** {
 9949              		.loc 2 960 27 view .LVU3137
 9950              	.LBB1539:
 962:Core/cmsis_gcc.h **** }
 9951              		.loc 2 962 3 view .LVU3138
 9952              		.syntax divided
 9953              	@ 962 "Core/cmsis_gcc.h" 1
 9954 0018 72B6     		cpsid i
 9955              	@ 0 "" 2
 9956              		.thumb
 9957              		.syntax unified
 9958              	.LBE1539:
 9959              	.LBE1538:
 9960              		.loc 1 1244 3 discriminator 3 view .LVU3139
 9961 001a 044B     		ldr	r3, .L766+4
 9962 001c 0449     		ldr	r1, .L766+8
 9963              	.LVL575:
 9964              		.loc 1 1244 3 is_stmt 0 discriminator 3 view .LVU3140
 9965 001e 1960     		str	r1, [r3]
 9966              		.loc 1 1244 19 is_stmt 1 discriminator 3 view .LVU3141
1245:Library/src/lcm32f06x_flash.c ****   SYSCTRL->ClkEnR1 = sysdata;
 9967              		.loc 1 1245 3 view .LVU3142
 9968              		.loc 1 1245 20 is_stmt 0 view .LVU3143
 9969 0020 5060     		str	r0, [r2, #4]
1246:Library/src/lcm32f06x_flash.c ****   __dekey();
 9970              		.loc 1 1246 3 is_stmt 1 view .LVU3144
 9971              	.LBB1540:
 9972              	.LBI1540:
 949:Core/cmsis_gcc.h **** {
 9973              		.loc 2 949 27 view .LVU3145
 9974              	.LBB1541:
 951:Core/cmsis_gcc.h **** }
 9975              		.loc 2 951 3 view .LVU3146
 9976              		.syntax divided
 9977              	@ 951 "Core/cmsis_gcc.h" 1
 9978 0022 62B6     		cpsie i
 9979              	@ 0 "" 2
 9980              		.thumb
 9981              		.syntax unified
ARM GAS  /tmp/cc9cn0cw.s 			page 265


 9982              	.LBE1541:
 9983              	.LBE1540:
 9984              		.loc 1 1246 12 discriminator 1 view .LVU3147
1247:Library/src/lcm32f06x_flash.c **** }
 9985              		.loc 1 1247 1 is_stmt 0 view .LVU3148
 9986              		@ sp needed
 9987 0024 10BD     		pop	{r4, pc}
 9988              	.L767:
 9989 0026 C046     		.align	2
 9990              	.L766:
 9991 0028 00700048 		.word	1207988224
 9992 002c 7C700048 		.word	1207988348
 9993 0030 9A65FA05 		.word	100296090
 9994              		.cfi_endproc
 9995              	.LFE87:
 9997              		.section	.rodata.CSWTCH.47,"a"
 9998              		.align	2
 10001              	CSWTCH.47:
 10002 0000 00000008 		.word	134217728
 10003 0004 00F6FF1F 		.word	536868352
 10004 0008 00F7FF1F 		.word	536868608
 10005              		.text
 10006              	.Letext0:
 10007              		.file 3 "Library/inc/lcm32f06x.h"
 10008              		.file 4 "/home/ha/toolchain/arm-gnu-toolchain-14.3/arm-none-eabi/include/machine/_default_types.h"
 10009              		.file 5 "/home/ha/toolchain/arm-gnu-toolchain-14.3/arm-none-eabi/include/sys/_stdint.h"
 10010              		.file 6 "Library/inc/lcm32f06x_flash.h"
ARM GAS  /tmp/cc9cn0cw.s 			page 266


DEFINED SYMBOLS
                            *ABS*:00000000 lcm32f06x_flash.c
     /tmp/cc9cn0cw.s:17     .text.FLASH_SetLatency:00000000 $t
     /tmp/cc9cn0cw.s:24     .text.FLASH_SetLatency:00000000 FLASH_SetLatency
     /tmp/cc9cn0cw.s:59     .text.FLASH_SetLatency:00000010 $d
     /tmp/cc9cn0cw.s:64     .text.FLASH_GetPrefetchBufferStatus:00000000 $t
     /tmp/cc9cn0cw.s:71     .text.FLASH_GetPrefetchBufferStatus:00000000 FLASH_GetPrefetchBufferStatus
     /tmp/cc9cn0cw.s:99     .text.FLASH_GetPrefetchBufferStatus:0000000c $d
     /tmp/cc9cn0cw.s:104    .text.FLASH_PrefetchBufferCmd:00000000 $t
     /tmp/cc9cn0cw.s:111    .text.FLASH_PrefetchBufferCmd:00000000 FLASH_PrefetchBufferCmd
     /tmp/cc9cn0cw.s:148    .text.FLASH_PrefetchBufferCmd:00000018 $d
     /tmp/cc9cn0cw.s:153    .text.FLASH_Unlock:00000000 $t
     /tmp/cc9cn0cw.s:160    .text.FLASH_Unlock:00000000 FLASH_Unlock
     /tmp/cc9cn0cw.s:189    .text.FLASH_Unlock:00000014 $d
     /tmp/cc9cn0cw.s:196    .text.FLASH_UnOnlyReadMode:00000000 $t
     /tmp/cc9cn0cw.s:203    .text.FLASH_UnOnlyReadMode:00000000 FLASH_UnOnlyReadMode
     /tmp/cc9cn0cw.s:227    .text.FLASH_UnOnlyReadMode:0000000c $d
     /tmp/cc9cn0cw.s:233    .text.FLASH_Lock:00000000 $t
     /tmp/cc9cn0cw.s:240    .text.FLASH_Lock:00000000 FLASH_Lock
     /tmp/cc9cn0cw.s:263    .text.FLASH_Lock:0000000c $d
     /tmp/cc9cn0cw.s:268    .text.FLASH_OnlyReadMode:00000000 $t
     /tmp/cc9cn0cw.s:275    .text.FLASH_OnlyReadMode:00000000 FLASH_OnlyReadMode
     /tmp/cc9cn0cw.s:301    .text.FLASH_OnlyReadMode:00000010 $d
     /tmp/cc9cn0cw.s:306    .text.FLASH_ErasePage:00000000 $t
     /tmp/cc9cn0cw.s:313    .text.FLASH_ErasePage:00000000 FLASH_ErasePage
     /tmp/cc9cn0cw.s:782    .text.FLASH_ErasePage:000000dc $d
     /tmp/cc9cn0cw.s:791    .text.FLASH_EraseAllPages:00000000 $t
     /tmp/cc9cn0cw.s:798    .text.FLASH_EraseAllPages:00000000 FLASH_EraseAllPages
     /tmp/cc9cn0cw.s:1228   .text.FLASH_EraseAllPages:000000d4 $d
     /tmp/cc9cn0cw.s:1237   .text.FLASH_ProgramWord:00000000 $t
     /tmp/cc9cn0cw.s:1244   .text.FLASH_ProgramWord:00000000 FLASH_ProgramWord
     /tmp/cc9cn0cw.s:1719   .text.FLASH_ProgramWord:000000dc $d
     /tmp/cc9cn0cw.s:1728   .text.FLASH_ProgramHalfWord:00000000 $t
     /tmp/cc9cn0cw.s:1735   .text.FLASH_ProgramHalfWord:00000000 FLASH_ProgramHalfWord
     /tmp/cc9cn0cw.s:2199   .text.FLASH_ProgramHalfWord:000000d4 $d
     /tmp/cc9cn0cw.s:2208   .text.FLASH_OB_Unlock:00000000 $t
     /tmp/cc9cn0cw.s:2215   .text.FLASH_OB_Unlock:00000000 FLASH_OB_Unlock
     /tmp/cc9cn0cw.s:2253   .text.FLASH_OB_Unlock:0000001c $d
     /tmp/cc9cn0cw.s:2261   .text.FLASH_OB_Lock:00000000 $t
     /tmp/cc9cn0cw.s:2268   .text.FLASH_OB_Lock:00000000 FLASH_OB_Lock
     /tmp/cc9cn0cw.s:2301   .text.FLASH_OB_Lock:00000018 $d
     /tmp/cc9cn0cw.s:2307   .text.FLASH_DM_ErasePage:00000000 $t
     /tmp/cc9cn0cw.s:2314   .text.FLASH_DM_ErasePage:00000000 FLASH_DM_ErasePage
     /tmp/cc9cn0cw.s:2781   .text.FLASH_DM_ErasePage:000000d8 $d
     /tmp/cc9cn0cw.s:2790   .text.FLASH_DM_ProgramWord:00000000 $t
     /tmp/cc9cn0cw.s:2797   .text.FLASH_DM_ProgramWord:00000000 FLASH_DM_ProgramWord
     /tmp/cc9cn0cw.s:3260   .text.FLASH_DM_ProgramWord:000000d4 $d
     /tmp/cc9cn0cw.s:3269   .text.FLASH_DM_ProgramHalfWord:00000000 $t
     /tmp/cc9cn0cw.s:3276   .text.FLASH_DM_ProgramHalfWord:00000000 FLASH_DM_ProgramHalfWord
     /tmp/cc9cn0cw.s:3739   .text.FLASH_DM_ProgramHalfWord:000000d4 $d
     /tmp/cc9cn0cw.s:3748   .text.FLASH_OB_Erase:00000000 $t
     /tmp/cc9cn0cw.s:3755   .text.FLASH_OB_Erase:00000000 FLASH_OB_Erase
     /tmp/cc9cn0cw.s:4777   .text.FLASH_OB_Erase:0000023c $d
     /tmp/cc9cn0cw.s:4786   .text.FLASH_OB_EnableWRP:00000000 $t
     /tmp/cc9cn0cw.s:4793   .text.FLASH_OB_EnableWRP:00000000 FLASH_OB_EnableWRP
     /tmp/cc9cn0cw.s:5881   .text.FLASH_OB_EnableWRP:000001d0 $d
     /tmp/cc9cn0cw.s:5889   .text.FLASH_OB_RDPConfig:00000000 $t
ARM GAS  /tmp/cc9cn0cw.s 			page 267


     /tmp/cc9cn0cw.s:5896   .text.FLASH_OB_RDPConfig:00000000 FLASH_OB_RDPConfig
     /tmp/cc9cn0cw.s:6840   .text.FLASH_OB_RDPConfig:000001a4 $d
     /tmp/cc9cn0cw.s:6852   .text.FLASH_OB_USERConfig:00000000 $t
     /tmp/cc9cn0cw.s:6859   .text.FLASH_OB_USERConfig:00000000 FLASH_OB_USERConfig
     /tmp/cc9cn0cw.s:7309   .text.FLASH_OB_USERConfig:000000c4 $d
     /tmp/cc9cn0cw.s:7319   .text.FLASH_OB_ProgramData:00000000 $t
     /tmp/cc9cn0cw.s:7326   .text.FLASH_OB_ProgramData:00000000 FLASH_OB_ProgramData
     /tmp/cc9cn0cw.s:7765   .text.FLASH_OB_ProgramData:000000c4 $d
     /tmp/cc9cn0cw.s:7775   .text.FLASH_ITConfig:00000000 $t
     /tmp/cc9cn0cw.s:7782   .text.FLASH_ITConfig:00000000 FLASH_ITConfig
     /tmp/cc9cn0cw.s:7817   .text.FLASH_ITConfig:00000014 $d
     /tmp/cc9cn0cw.s:7822   .text.FLASH_GetFlagStatus:00000000 $t
     /tmp/cc9cn0cw.s:7829   .text.FLASH_GetFlagStatus:00000000 FLASH_GetFlagStatus
     /tmp/cc9cn0cw.s:7862   .text.FLASH_GetFlagStatus:00000010 $d
     /tmp/cc9cn0cw.s:7867   .text.FLASH_OB_GetUser:00000000 $t
     /tmp/cc9cn0cw.s:7874   .text.FLASH_OB_GetUser:00000000 FLASH_OB_GetUser
     /tmp/cc9cn0cw.s:7897   .text.FLASH_OB_GetUser:0000000c $d
     /tmp/cc9cn0cw.s:7902   .text.FLASH_OB_GetWRP:00000000 $t
     /tmp/cc9cn0cw.s:7909   .text.FLASH_OB_GetWRP:00000000 FLASH_OB_GetWRP
     /tmp/cc9cn0cw.s:7928   .text.FLASH_OB_GetWRP:00000008 $d
     /tmp/cc9cn0cw.s:7933   .text.FLASH_WaitForLastOperation:00000000 $t
     /tmp/cc9cn0cw.s:7940   .text.FLASH_WaitForLastOperation:00000000 FLASH_WaitForLastOperation
     /tmp/cc9cn0cw.s:8071   .text.FLASH_WaitForLastOperation:0000003c $d
     /tmp/cc9cn0cw.s:8078   .text.FLASH_GetStatus:00000000 $t
     /tmp/cc9cn0cw.s:8085   .text.FLASH_GetStatus:00000000 FLASH_GetStatus
     /tmp/cc9cn0cw.s:8141   .text.FLASH_GetStatus:00000024 $d
     /tmp/cc9cn0cw.s:8146   .text.FLASH_ClearFlag:00000000 $t
     /tmp/cc9cn0cw.s:8153   .text.FLASH_ClearFlag:00000000 FLASH_ClearFlag
     /tmp/cc9cn0cw.s:8174   .text.FLASH_ClearFlag:00000008 $d
     /tmp/cc9cn0cw.s:8179   .text.FLASH_OB_GetRDP:00000000 $t
     /tmp/cc9cn0cw.s:8186   .text.FLASH_OB_GetRDP:00000000 FLASH_OB_GetRDP
     /tmp/cc9cn0cw.s:8217   .text.FLASH_OB_GetRDP:00000010 $d
     /tmp/cc9cn0cw.s:8222   .text.efls_strt_per:00000000 $t
     /tmp/cc9cn0cw.s:8229   .text.efls_strt_per:00000000 efls_strt_per
     /tmp/cc9cn0cw.s:8370   .text.efls_strt_per:00000060 $d
     /tmp/cc9cn0cw.s:8378   .text.ERASE_OPT:00000000 $t
     /tmp/cc9cn0cw.s:8385   .text.ERASE_OPT:00000000 ERASE_OPT
     /tmp/cc9cn0cw.s:8477   .text.ERASE_OPT:00000030 $d
     /tmp/cc9cn0cw.s:8488   .text.ERASE_DATA_MERMORY:00000000 $t
     /tmp/cc9cn0cw.s:8495   .text.ERASE_DATA_MERMORY:00000000 ERASE_DATA_MERMORY
     /tmp/cc9cn0cw.s:8763   .text.ERASE_DATA_MERMORY:00000070 $d
     /tmp/cc9cn0cw.s:8779   .text.ERASE_Calibration_MERMORY:00000000 $t
     /tmp/cc9cn0cw.s:8786   .text.ERASE_Calibration_MERMORY:00000000 ERASE_Calibration_MERMORY
     /tmp/cc9cn0cw.s:8877   .text.ERASE_Calibration_MERMORY:00000030 $d
     /tmp/cc9cn0cw.s:8888   .text.efls_pg:00000000 $t
     /tmp/cc9cn0cw.s:8895   .text.efls_pg:00000000 efls_pg
     /tmp/cc9cn0cw.s:9004   .text.efls_pg:0000003c $d
     /tmp/cc9cn0cw.s:10001  .rodata.CSWTCH.47:00000000 CSWTCH.47
     /tmp/cc9cn0cw.s:9011   .text.write_opt_flash_n:00000000 $t
     /tmp/cc9cn0cw.s:9018   .text.write_opt_flash_n:00000000 write_opt_flash_n
     /tmp/cc9cn0cw.s:9146   .text.write_opt_flash_n:0000004c $d
     /tmp/cc9cn0cw.s:9156   .text.write_sm_flash_n:00000000 $t
     /tmp/cc9cn0cw.s:9163   .text.write_sm_flash_n:00000000 write_sm_flash_n
     /tmp/cc9cn0cw.s:9301   .text.write_sm_flash_n:00000054 $d
     /tmp/cc9cn0cw.s:9311   .text.write_DataMemory_n:00000000 $t
     /tmp/cc9cn0cw.s:9318   .text.write_DataMemory_n:00000000 write_DataMemory_n
     /tmp/cc9cn0cw.s:9385   .text.write_DataMemory_n:0000004c $d
ARM GAS  /tmp/cc9cn0cw.s 			page 268


     /tmp/cc9cn0cw.s:9395   .text.rcl_trim:00000000 $t
     /tmp/cc9cn0cw.s:9402   .text.rcl_trim:00000000 rcl_trim
     /tmp/cc9cn0cw.s:9503   .text.rcl_trim:00000024 $d
     /tmp/cc9cn0cw.s:9510   .text.rch_trim:00000000 $t
     /tmp/cc9cn0cw.s:9517   .text.rch_trim:00000000 rch_trim
     /tmp/cc9cn0cw.s:9616   .text.rch_trim:00000024 $d
     /tmp/cc9cn0cw.s:9623   .text.bgr_trim:00000000 $t
     /tmp/cc9cn0cw.s:9630   .text.bgr_trim:00000000 bgr_trim
     /tmp/cc9cn0cw.s:9714   .text.bgr_trim:00000018 $d
     /tmp/cc9cn0cw.s:9721   .text.lpbgr_trim:00000000 $t
     /tmp/cc9cn0cw.s:9728   .text.lpbgr_trim:00000000 lpbgr_trim
     /tmp/cc9cn0cw.s:9832   .text.lpbgr_trim:00000024 $d
     /tmp/cc9cn0cw.s:9840   .text.adc_trim:00000000 $t
     /tmp/cc9cn0cw.s:9847   .text.adc_trim:00000000 adc_trim
     /tmp/cc9cn0cw.s:9867   .text.adc_trim:00000008 $d
     /tmp/cc9cn0cw.s:9872   .text.mco_set:00000000 $t
     /tmp/cc9cn0cw.s:9879   .text.mco_set:00000000 mco_set
     /tmp/cc9cn0cw.s:9991   .text.mco_set:00000028 $d
     /tmp/cc9cn0cw.s:9998   .rodata.CSWTCH.47:00000000 $d

NO UNDEFINED SYMBOLS
