ARM GAS  /tmp/ccF7XGuH.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	"flash.c"
  12              		.text
  13              	.Ltext0:
  14              		.cfi_sections	.debug_frame
  15              		.file 1 "Hardware/flash.c"
  16              		.section	.text.flash_init,"ax",%progbits
  17              		.align	1
  18              		.p2align 2,,3
  19              		.global	flash_init
  20              		.syntax unified
  21              		.code	16
  22              		.thumb_func
  24              	flash_init:
  25              	.LFB46:
   1:Hardware/flash.c **** #include "flash.h"
   2:Hardware/flash.c **** #include "string.h"
   3:Hardware/flash.c **** 
   4:Hardware/flash.c **** // 获取未对齐的32位数据
   5:Hardware/flash.c **** static uint32_t get_unaligned32(const uint8_t *ptr)
   6:Hardware/flash.c **** {
   7:Hardware/flash.c ****     uint32_t result = 0;
   8:Hardware/flash.c ****     for (int i = 0; i < 4; i++)
   9:Hardware/flash.c ****     {
  10:Hardware/flash.c ****         result |= ((uint32_t)ptr[i]) << (i * 8);
  11:Hardware/flash.c ****     }
  12:Hardware/flash.c ****     return result;
  13:Hardware/flash.c **** }
  14:Hardware/flash.c **** 
  15:Hardware/flash.c **** void flash_init(void)
  16:Hardware/flash.c **** {
  26              		.loc 1 16 1 view -0
  27              		.cfi_startproc
  28              		@ args = 0, pretend = 0, frame = 0
  29              		@ frame_needed = 0, uses_anonymous_args = 0
  17:Hardware/flash.c ****     RCC_AHBPeriphClockCmd(RCC_AHBPeriph_EFLS, ENABLE);
  30              		.loc 1 17 5 view .LVU1
  31 0000 8020     		movs	r0, #128
  16:Hardware/flash.c ****     RCC_AHBPeriphClockCmd(RCC_AHBPeriph_EFLS, ENABLE);
  32              		.loc 1 16 1 is_stmt 0 view .LVU2
  33 0002 10B5     		push	{r4, lr}
  34              	.LCFI0:
  35              		.cfi_def_cfa_offset 8
  36              		.cfi_offset 4, -8
  37              		.cfi_offset 14, -4
  38              		.loc 1 17 5 view .LVU3
  39 0004 0121     		movs	r1, #1
  18:Hardware/flash.c **** }
ARM GAS  /tmp/ccF7XGuH.s 			page 2


  40              		.loc 1 18 1 view .LVU4
  41              		@ sp needed
  17:Hardware/flash.c ****     RCC_AHBPeriphClockCmd(RCC_AHBPeriph_EFLS, ENABLE);
  42              		.loc 1 17 5 view .LVU5
  43 0006 4002     		lsls	r0, r0, #9
  44 0008 FFF7FEFF 		bl	RCC_AHBPeriphClockCmd
  45              	.LVL0:
  46              		.loc 1 18 1 view .LVU6
  47 000c 10BD     		pop	{r4, pc}
  48              		.cfi_endproc
  49              	.LFE46:
  51 000e C046     		.section	.text.flash_read,"ax",%progbits
  52              		.align	1
  53              		.p2align 2,,3
  54              		.global	flash_read
  55              		.syntax unified
  56              		.code	16
  57              		.thumb_func
  59              	flash_read:
  60              	.LVL1:
  61              	.LFB47:
  19:Hardware/flash.c **** 
  20:Hardware/flash.c **** void flash_read(uint32_t addr, uint8_t *buffer, uint32_t length)
  21:Hardware/flash.c **** {
  62              		.loc 1 21 1 is_stmt 1 view -0
  63              		.cfi_startproc
  64              		@ args = 0, pretend = 0, frame = 0
  65              		@ frame_needed = 0, uses_anonymous_args = 0
  22:Hardware/flash.c ****     memcpy(buffer, (const void *)addr, length);
  66              		.loc 1 22 5 view .LVU8
  21:Hardware/flash.c ****     memcpy(buffer, (const void *)addr, length);
  67              		.loc 1 21 1 is_stmt 0 view .LVU9
  68 0000 0300     		movs	r3, r0
  69 0002 10B5     		push	{r4, lr}
  70              	.LCFI1:
  71              		.cfi_def_cfa_offset 8
  72              		.cfi_offset 4, -8
  73              		.cfi_offset 14, -4
  21:Hardware/flash.c ****     memcpy(buffer, (const void *)addr, length);
  74              		.loc 1 21 1 view .LVU10
  75 0004 0800     		movs	r0, r1
  76              	.LVL2:
  23:Hardware/flash.c **** }
  77              		.loc 1 23 1 view .LVU11
  78              		@ sp needed
  22:Hardware/flash.c ****     memcpy(buffer, (const void *)addr, length);
  79              		.loc 1 22 5 view .LVU12
  80 0006 1900     		movs	r1, r3
  81              	.LVL3:
  22:Hardware/flash.c ****     memcpy(buffer, (const void *)addr, length);
  82              		.loc 1 22 5 view .LVU13
  83 0008 FFF7FEFF 		bl	memcpy
  84              	.LVL4:
  85              		.loc 1 23 1 view .LVU14
  86 000c 10BD     		pop	{r4, pc}
  87              		.cfi_endproc
  88              	.LFE47:
ARM GAS  /tmp/ccF7XGuH.s 			page 3


  90 000e C046     		.section	.text.flash_erase,"ax",%progbits
  91              		.align	1
  92              		.p2align 2,,3
  93              		.global	flash_erase
  94              		.syntax unified
  95              		.code	16
  96              		.thumb_func
  98              	flash_erase:
  99              	.LVL5:
 100              	.LFB48:
  24:Hardware/flash.c **** 
  25:Hardware/flash.c **** uint8_t flash_erase(uint32_t addr, uint32_t len)
  26:Hardware/flash.c **** {
 101              		.loc 1 26 1 is_stmt 1 view -0
 102              		.cfi_startproc
 103              		@ args = 0, pretend = 0, frame = 0
 104              		@ frame_needed = 0, uses_anonymous_args = 0
  27:Hardware/flash.c ****     uint8_t err = 0xff;
 105              		.loc 1 27 5 view .LVU16
  28:Hardware/flash.c ****     uint32_t ofs = addr & ~0x08000000;
 106              		.loc 1 28 5 view .LVU17
  26:Hardware/flash.c ****     uint8_t err = 0xff;
 107              		.loc 1 26 1 is_stmt 0 view .LVU18
 108 0000 F8B5     		push	{r3, r4, r5, r6, r7, lr}
 109              	.LCFI2:
 110              		.cfi_def_cfa_offset 24
 111              		.cfi_offset 3, -24
 112              		.cfi_offset 4, -20
 113              		.cfi_offset 5, -16
 114              		.cfi_offset 6, -12
 115              		.cfi_offset 7, -8
 116              		.cfi_offset 14, -4
 117              		.loc 1 28 14 view .LVU19
 118 0002 174B     		ldr	r3, .L13
 119 0004 1840     		ands	r0, r3
 120              	.LVL6:
  29:Hardware/flash.c ****     uint32_t s_page = ofs / ONCE_PAGE_SIZE;
 121              		.loc 1 29 5 is_stmt 1 view .LVU20
 122              		.loc 1 29 14 is_stmt 0 view .LVU21
 123 0006 450A     		lsrs	r5, r0, #9
 124              	.LVL7:
  30:Hardware/flash.c ****     int n_page = (ofs + len) / ONCE_PAGE_SIZE - s_page;
 125              		.loc 1 30 5 is_stmt 1 view .LVU22
 126              		.loc 1 30 23 is_stmt 0 view .LVU23
 127 0008 4018     		adds	r0, r0, r1
 128              	.LVL8:
 129              		.loc 1 30 30 view .LVU24
 130 000a 470A     		lsrs	r7, r0, #9
  31:Hardware/flash.c ****     if ((ofs + len) % ONCE_PAGE_SIZE)
 131              		.loc 1 31 21 view .LVU25
 132 000c C005     		lsls	r0, r0, #23
  32:Hardware/flash.c ****         n_page++;
 133              		.loc 1 32 15 view .LVU26
 134 000e 431E     		subs	r3, r0, #1
 135 0010 9841     		sbcs	r0, r0, r3
 136              	.LVL9:
  30:Hardware/flash.c ****     int n_page = (ofs + len) / ONCE_PAGE_SIZE - s_page;
ARM GAS  /tmp/ccF7XGuH.s 			page 4


 137              		.loc 1 30 47 view .LVU27
 138 0012 7F1B     		subs	r7, r7, r5
 139              	.LVL10:
  31:Hardware/flash.c ****     if ((ofs + len) % ONCE_PAGE_SIZE)
 140              		.loc 1 31 5 is_stmt 1 view .LVU28
 141              		.loc 1 32 15 is_stmt 0 view .LVU29
 142 0014 3F18     		adds	r7, r7, r0
 143              	.LVL11:
  33:Hardware/flash.c **** 
  34:Hardware/flash.c ****     FLASH_Unlock();
 144              		.loc 1 34 5 is_stmt 1 view .LVU30
 145 0016 FFF7FEFF 		bl	FLASH_Unlock
 146              	.LVL12:
  35:Hardware/flash.c ****     FLASH_UnOnlyReadMode();
 147              		.loc 1 35 5 view .LVU31
 148 001a FFF7FEFF 		bl	FLASH_UnOnlyReadMode
 149              	.LVL13:
  36:Hardware/flash.c ****     FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_PGERR | FLASH_FLAG_WRPERR);
 150              		.loc 1 36 5 view .LVU32
 151 001e 1520     		movs	r0, #21
 152 0020 FFF7FEFF 		bl	FLASH_ClearFlag
 153              	.LVL14:
  37:Hardware/flash.c ****     for (int i = 0; i < n_page; i++)
 154              		.loc 1 37 5 view .LVU33
 155              	.LBB6:
 156              		.loc 1 37 10 view .LVU34
 157              		.loc 1 37 23 discriminator 1 view .LVU35
 158 0024 002F     		cmp	r7, #0
 159 0026 19DD     		ble	.L8
 160 0028 8023     		movs	r3, #128
 161 002a DB02     		lsls	r3, r3, #11
 162 002c 9C46     		mov	ip, r3
 163 002e 6544     		add	r5, r5, ip
 164              	.LVL15:
 165              		.loc 1 37 14 is_stmt 0 view .LVU36
 166 0030 0026     		movs	r6, #0
 167 0032 6D02     		lsls	r5, r5, #9
 168              	.LVL16:
 169              		.loc 1 37 14 view .LVU37
 170 0034 06E0     		b	.L7
 171              	.LVL17:
 172              	.L12:
 173              		.loc 1 37 34 is_stmt 1 discriminator 2 view .LVU38
 174              		.loc 1 37 23 is_stmt 0 discriminator 1 view .LVU39
 175 0036 8023     		movs	r3, #128
 176 0038 9B00     		lsls	r3, r3, #2
 177 003a 9C46     		mov	ip, r3
 178              		.loc 1 37 34 discriminator 2 view .LVU40
 179 003c 0136     		adds	r6, r6, #1
 180              	.LVL18:
 181              		.loc 1 37 23 is_stmt 1 discriminator 1 view .LVU41
 182 003e 6544     		add	r5, r5, ip
 183 0040 B742     		cmp	r7, r6
 184 0042 05D0     		beq	.L6
 185              	.LVL19:
 186              	.L7:
  38:Hardware/flash.c ****     {
ARM GAS  /tmp/ccF7XGuH.s 			page 5


  39:Hardware/flash.c ****         err = FLASH_ErasePage(0x08000000 + ONCE_PAGE_SIZE * (s_page + i));
 187              		.loc 1 39 9 view .LVU42
 188              		.loc 1 39 15 is_stmt 0 view .LVU43
 189 0044 2800     		movs	r0, r5
 190 0046 FFF7FEFF 		bl	FLASH_ErasePage
 191              	.LVL20:
 192 004a 0400     		movs	r4, r0
 193              	.LVL21:
  40:Hardware/flash.c ****         if (err != FLASH_COMPLETE)
 194              		.loc 1 40 9 is_stmt 1 view .LVU44
 195              		.loc 1 40 12 is_stmt 0 view .LVU45
 196 004c 0428     		cmp	r0, #4
 197 004e F2D0     		beq	.L12
 198              	.LVL22:
 199              	.L6:
 200              		.loc 1 40 12 view .LVU46
 201              	.LBE6:
  41:Hardware/flash.c ****             break;
  42:Hardware/flash.c ****     }
  43:Hardware/flash.c ****     FLASH_OnlyReadMode();
 202              		.loc 1 43 5 is_stmt 1 view .LVU47
 203 0050 FFF7FEFF 		bl	FLASH_OnlyReadMode
 204              	.LVL23:
  44:Hardware/flash.c ****     FLASH_Lock();
 205              		.loc 1 44 5 view .LVU48
  45:Hardware/flash.c ****     return err;
  46:Hardware/flash.c **** }
 206              		.loc 1 46 1 is_stmt 0 view .LVU49
 207              		@ sp needed
  44:Hardware/flash.c ****     FLASH_Lock();
 208              		.loc 1 44 5 view .LVU50
 209 0054 FFF7FEFF 		bl	FLASH_Lock
 210              	.LVL24:
  45:Hardware/flash.c ****     return err;
 211              		.loc 1 45 5 is_stmt 1 view .LVU51
 212              		.loc 1 46 1 is_stmt 0 view .LVU52
 213 0058 2000     		movs	r0, r4
 214              	.LVL25:
 215              	.LVL26:
 216              		.loc 1 46 1 view .LVU53
 217 005a F8BD     		pop	{r3, r4, r5, r6, r7, pc}
 218              	.LVL27:
 219              	.L8:
  27:Hardware/flash.c ****     uint32_t ofs = addr & ~0x08000000;
 220              		.loc 1 27 13 view .LVU54
 221 005c FF24     		movs	r4, #255
 222 005e F7E7     		b	.L6
 223              	.L14:
 224              		.align	2
 225              	.L13:
 226 0060 FFFFFFF7 		.word	-134217729
 227              		.cfi_endproc
 228              	.LFE48:
 230              		.section	.text.flash_write,"ax",%progbits
 231              		.align	1
 232              		.p2align 2,,3
 233              		.global	flash_write
ARM GAS  /tmp/ccF7XGuH.s 			page 6


 234              		.syntax unified
 235              		.code	16
 236              		.thumb_func
 238              	flash_write:
 239              	.LVL28:
 240              	.LFB49:
  47:Hardware/flash.c **** 
  48:Hardware/flash.c **** void flash_write(uint32_t address, const uint8_t *data, uint32_t length)
  49:Hardware/flash.c **** {
 241              		.loc 1 49 1 is_stmt 1 view -0
 242              		.cfi_startproc
 243              		@ args = 0, pretend = 0, frame = 0
 244              		@ frame_needed = 0, uses_anonymous_args = 0
 245              		.loc 1 49 1 is_stmt 0 view .LVU56
 246 0000 70B5     		push	{r4, r5, r6, lr}
 247              	.LCFI3:
 248              		.cfi_def_cfa_offset 16
 249              		.cfi_offset 4, -16
 250              		.cfi_offset 5, -12
 251              		.cfi_offset 6, -8
 252              		.cfi_offset 14, -4
  50:Hardware/flash.c ****     uint8_t err = 0xff;
  51:Hardware/flash.c ****     uint32_t write_cnt = (length + 3) / 4;
 253              		.loc 1 51 34 view .LVU57
 254 0002 0332     		adds	r2, r2, #3
 255              	.LVL29:
  49:Hardware/flash.c ****     uint8_t err = 0xff;
 256              		.loc 1 49 1 view .LVU58
 257 0004 0600     		movs	r6, r0
  50:Hardware/flash.c ****     uint8_t err = 0xff;
 258              		.loc 1 50 5 is_stmt 1 view .LVU59
 259              	.LVL30:
 260              		.loc 1 51 5 view .LVU60
 261              		.loc 1 51 14 is_stmt 0 view .LVU61
 262 0006 9508     		lsrs	r5, r2, #2
 263              	.LVL31:
  52:Hardware/flash.c ****     uint32_t src_data;
 264              		.loc 1 52 5 is_stmt 1 view .LVU62
  53:Hardware/flash.c ****     FLASH_Unlock();
 265              		.loc 1 53 5 view .LVU63
  49:Hardware/flash.c ****     uint8_t err = 0xff;
 266              		.loc 1 49 1 is_stmt 0 view .LVU64
 267 0008 0C00     		movs	r4, r1
 268              		.loc 1 53 5 view .LVU65
 269 000a FFF7FEFF 		bl	FLASH_Unlock
 270              	.LVL32:
  54:Hardware/flash.c ****     FLASH_UnOnlyReadMode();
 271              		.loc 1 54 5 is_stmt 1 view .LVU66
 272 000e FFF7FEFF 		bl	FLASH_UnOnlyReadMode
 273              	.LVL33:
  55:Hardware/flash.c ****     FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_PGERR | FLASH_FLAG_WRPERR);
 274              		.loc 1 55 5 view .LVU67
 275 0012 1520     		movs	r0, #21
 276 0014 FFF7FEFF 		bl	FLASH_ClearFlag
 277              	.LVL34:
  56:Hardware/flash.c ****     for (uint32_t i = 0; i < write_cnt; i++)
 278              		.loc 1 56 5 view .LVU68
ARM GAS  /tmp/ccF7XGuH.s 			page 7


 279              	.LBB7:
 280              		.loc 1 56 10 view .LVU69
 281              		.loc 1 56 28 discriminator 1 view .LVU70
 282 0018 002D     		cmp	r5, #0
 283 001a 15D0     		beq	.L16
 284 001c AD00     		lsls	r5, r5, #2
 285              	.LVL35:
 286              		.loc 1 56 28 is_stmt 0 discriminator 1 view .LVU71
 287 001e 6519     		adds	r5, r4, r5
 288 0020 361B     		subs	r6, r6, r4
 289              	.LVL36:
 290              		.loc 1 56 28 discriminator 1 view .LVU72
 291 0022 02E0     		b	.L17
 292              	.LVL37:
 293              	.L22:
 294              		.loc 1 56 42 is_stmt 1 discriminator 2 view .LVU73
 295              		.loc 1 56 28 discriminator 1 view .LVU74
 296 0024 0434     		adds	r4, r4, #4
 297 0026 AC42     		cmp	r4, r5
 298 0028 0ED0     		beq	.L16
 299              	.LVL38:
 300              	.L17:
  57:Hardware/flash.c ****     {
  58:Hardware/flash.c ****         src_data = get_unaligned32((uint8_t *)(data + i * 4));
 301              		.loc 1 58 9 view .LVU75
 302              	.LBB8:
 303              	.LBI8:
   5:Hardware/flash.c **** {
 304              		.loc 1 5 17 view .LVU76
 305              	.LBB9:
   7:Hardware/flash.c ****     for (int i = 0; i < 4; i++)
 306              		.loc 1 7 5 view .LVU77
   8:Hardware/flash.c ****     {
 307              		.loc 1 8 5 view .LVU78
 308              	.LBB10:
   8:Hardware/flash.c ****     {
 309              		.loc 1 8 10 view .LVU79
   8:Hardware/flash.c ****     {
 310              		.loc 1 8 23 discriminator 1 view .LVU80
  10:Hardware/flash.c ****     }
 311              		.loc 1 10 9 view .LVU81
   8:Hardware/flash.c ****     {
 312              		.loc 1 8 29 discriminator 3 view .LVU82
   8:Hardware/flash.c ****     {
 313              		.loc 1 8 23 discriminator 1 view .LVU83
  10:Hardware/flash.c ****     }
 314              		.loc 1 10 9 view .LVU84
   8:Hardware/flash.c ****     {
 315              		.loc 1 8 29 discriminator 3 view .LVU85
   8:Hardware/flash.c ****     {
 316              		.loc 1 8 23 discriminator 1 view .LVU86
  10:Hardware/flash.c ****     }
 317              		.loc 1 10 9 view .LVU87
  10:Hardware/flash.c ****     }
 318              		.loc 1 10 20 is_stmt 0 view .LVU88
 319 002a 6378     		ldrb	r3, [r4, #1]
 320 002c A278     		ldrb	r2, [r4, #2]
ARM GAS  /tmp/ccF7XGuH.s 			page 8


  10:Hardware/flash.c ****     }
 321              		.loc 1 10 38 view .LVU89
 322 002e 1B02     		lsls	r3, r3, #8
 323 0030 1204     		lsls	r2, r2, #16
  10:Hardware/flash.c ****     }
 324              		.loc 1 10 16 view .LVU90
 325 0032 1343     		orrs	r3, r2
  10:Hardware/flash.c ****     }
 326              		.loc 1 10 20 view .LVU91
 327 0034 E178     		ldrb	r1, [r4, #3]
 328 0036 2278     		ldrb	r2, [r4]
  10:Hardware/flash.c ****     }
 329              		.loc 1 10 38 view .LVU92
 330 0038 0906     		lsls	r1, r1, #24
  10:Hardware/flash.c ****     }
 331              		.loc 1 10 16 view .LVU93
 332 003a 1343     		orrs	r3, r2
 333              	.LVL39:
   8:Hardware/flash.c ****     {
 334              		.loc 1 8 29 is_stmt 1 discriminator 3 view .LVU94
   8:Hardware/flash.c ****     {
 335              		.loc 1 8 23 discriminator 1 view .LVU95
  10:Hardware/flash.c ****     }
 336              		.loc 1 10 9 view .LVU96
   8:Hardware/flash.c ****     {
 337              		.loc 1 8 29 discriminator 3 view .LVU97
   8:Hardware/flash.c ****     {
 338              		.loc 1 8 23 discriminator 1 view .LVU98
 339              	.LBE10:
  12:Hardware/flash.c **** }
 340              		.loc 1 12 5 view .LVU99
  12:Hardware/flash.c **** }
 341              		.loc 1 12 5 is_stmt 0 view .LVU100
 342              	.LBE9:
 343              	.LBE8:
  59:Hardware/flash.c ****         err = FLASH_ProgramWord(address + i * 4, src_data);
 344              		.loc 1 59 9 is_stmt 1 view .LVU101
 345              	.LBB13:
 346              	.LBB12:
 347              	.LBB11:
  10:Hardware/flash.c ****     }
 348              		.loc 1 10 16 is_stmt 0 view .LVU102
 349 003c 1943     		orrs	r1, r3
 350              	.LBE11:
 351              	.LBE12:
 352              	.LBE13:
 353              		.loc 1 59 15 view .LVU103
 354 003e 3019     		adds	r0, r6, r4
 355 0040 FFF7FEFF 		bl	FLASH_ProgramWord
 356              	.LVL40:
  60:Hardware/flash.c ****         if (err != FLASH_COMPLETE)
 357              		.loc 1 60 9 is_stmt 1 view .LVU104
 358              		.loc 1 60 12 is_stmt 0 view .LVU105
 359 0044 0428     		cmp	r0, #4
 360 0046 EDD0     		beq	.L22
 361              	.LVL41:
 362              	.L16:
ARM GAS  /tmp/ccF7XGuH.s 			page 9


 363              		.loc 1 60 12 view .LVU106
 364              	.LBE7:
  61:Hardware/flash.c ****             break;
  62:Hardware/flash.c ****     }
  63:Hardware/flash.c ****     FLASH_OnlyReadMode();
 365              		.loc 1 63 5 is_stmt 1 view .LVU107
 366 0048 FFF7FEFF 		bl	FLASH_OnlyReadMode
 367              	.LVL42:
  64:Hardware/flash.c ****     FLASH_Lock();
 368              		.loc 1 64 5 view .LVU108
  65:Hardware/flash.c **** }
 369              		.loc 1 65 1 is_stmt 0 view .LVU109
 370              		@ sp needed
  64:Hardware/flash.c ****     FLASH_Lock();
 371              		.loc 1 64 5 view .LVU110
 372 004c FFF7FEFF 		bl	FLASH_Lock
 373              	.LVL43:
 374              		.loc 1 65 1 view .LVU111
 375 0050 70BD     		pop	{r4, r5, r6, pc}
 376              		.cfi_endproc
 377              	.LFE49:
 379 0052 C046     		.text
 380              	.Letext0:
 381              		.file 2 "/home/ha/toolchain/arm-gnu-toolchain-14.3/arm-none-eabi/include/machine/_default_types.h"
 382              		.file 3 "/home/ha/toolchain/arm-gnu-toolchain-14.3/arm-none-eabi/include/sys/_stdint.h"
 383              		.file 4 "Library/inc/lcm32f06x.h"
 384              		.file 5 "Library/inc/lcm32f06x_flash.h"
 385              		.file 6 "/home/ha/toolchain/arm-gnu-toolchain-14.3/arm-none-eabi/include/string.h"
 386              		.file 7 "Library/inc/lcm32f06x_rcc.h"
 387              		.file 8 "<built-in>"
ARM GAS  /tmp/ccF7XGuH.s 			page 10


DEFINED SYMBOLS
                            *ABS*:00000000 flash.c
     /tmp/ccF7XGuH.s:17     .text.flash_init:00000000 $t
     /tmp/ccF7XGuH.s:24     .text.flash_init:00000000 flash_init
     /tmp/ccF7XGuH.s:52     .text.flash_read:00000000 $t
     /tmp/ccF7XGuH.s:59     .text.flash_read:00000000 flash_read
     /tmp/ccF7XGuH.s:91     .text.flash_erase:00000000 $t
     /tmp/ccF7XGuH.s:98     .text.flash_erase:00000000 flash_erase
     /tmp/ccF7XGuH.s:226    .text.flash_erase:00000060 $d
     /tmp/ccF7XGuH.s:231    .text.flash_write:00000000 $t
     /tmp/ccF7XGuH.s:238    .text.flash_write:00000000 flash_write

UNDEFINED SYMBOLS
RCC_AHBPeriphClockCmd
memcpy
FLASH_Unlock
FLASH_UnOnlyReadMode
FLASH_ClearFlag
FLASH_ErasePage
FLASH_OnlyReadMode
FLASH_Lock
FLASH_ProgramWord
