soft_flash.lst 53 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 1
  2. 1 .cpu cortex-m4
  3. 2 .arch armv7e-m
  4. 3 .fpu fpv4-sp-d16
  5. 4 .eabi_attribute 27, 1
  6. 5 .eabi_attribute 28, 1
  7. 6 .eabi_attribute 20, 1
  8. 7 .eabi_attribute 21, 1
  9. 8 .eabi_attribute 23, 3
  10. 9 .eabi_attribute 24, 1
  11. 10 .eabi_attribute 25, 1
  12. 11 .eabi_attribute 26, 1
  13. 12 .eabi_attribute 30, 2
  14. 13 .eabi_attribute 34, 1
  15. 14 .eabi_attribute 18, 4
  16. 15 .file "soft_flash.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .section .text.flash_erase,"ax",%progbits
  21. 20 .align 1
  22. 21 .p2align 2,,3
  23. 22 .global flash_erase
  24. 23 .syntax unified
  25. 24 .thumb
  26. 25 .thumb_func
  27. 27 flash_erase:
  28. 28 .LVL0:
  29. 29 .LFB130:
  30. 30 .file 1 "user_src/soft_flash.c"
  31. 1:user_src/soft_flash.c **** #include "main.h"
  32. 2:user_src/soft_flash.c **** #include "soft_flash.h"
  33. 3:user_src/soft_flash.c **** #include <string.h>
  34. 4:user_src/soft_flash.c **** #include "soft_crc.h"
  35. 5:user_src/soft_flash.c **** #include "stm32f3xx_hal.h"
  36. 6:user_src/soft_flash.c ****
  37. 7:user_src/soft_flash.c **** extern UART_HandleTypeDef huart2;
  38. 8:user_src/soft_flash.c ****
  39. 9:user_src/soft_flash.c **** //FLASH 擦除
  40. 10:user_src/soft_flash.c **** void flash_erase(uint32_t addr)
  41. 11:user_src/soft_flash.c **** {
  42. 31 .loc 1 11 1 view -0
  43. 32 .cfi_startproc
  44. 33 @ args = 0, pretend = 0, frame = 16
  45. 34 @ frame_needed = 0, uses_anonymous_args = 0
  46. 12:user_src/soft_flash.c **** HAL_StatusTypeDef erase_status;
  47. 35 .loc 1 12 5 view .LVU1
  48. 13:user_src/soft_flash.c **** FLASH_EraseInitTypeDef f;
  49. 36 .loc 1 13 5 view .LVU2
  50. 14:user_src/soft_flash.c **** f.TypeErase = FLASH_TYPEERASE_PAGES;
  51. 37 .loc 1 14 5 view .LVU3
  52. 11:user_src/soft_flash.c **** HAL_StatusTypeDef erase_status;
  53. 38 .loc 1 11 1 is_stmt 0 view .LVU4
  54. 39 0000 10B5 push {r4, lr}
  55. 40 .LCFI0:
  56. 41 .cfi_def_cfa_offset 8
  57. 42 .cfi_offset 4, -8
  58. 43 .cfi_offset 14, -4
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 2
  60. 44 0002 84B0 sub sp, sp, #16
  61. 45 .LCFI1:
  62. 46 .cfi_def_cfa_offset 24
  63. 47 .loc 1 14 17 view .LVU5
  64. 48 0004 0023 movs r3, #0
  65. 11:user_src/soft_flash.c **** HAL_StatusTypeDef erase_status;
  66. 49 .loc 1 11 1 view .LVU6
  67. 50 0006 0446 mov r4, r0
  68. 15:user_src/soft_flash.c **** f.PageAddress = addr;
  69. 16:user_src/soft_flash.c **** f.NbPages = 1;
  70. 51 .loc 1 16 15 view .LVU7
  71. 52 0008 0122 movs r2, #1
  72. 17:user_src/soft_flash.c ****
  73. 18:user_src/soft_flash.c **** uint32_t PageError = 0;
  74. 19:user_src/soft_flash.c ****
  75. 20:user_src/soft_flash.c **** erase_status = HAL_FLASHEx_Erase(&f, &PageError);
  76. 53 .loc 1 20 20 view .LVU8
  77. 54 000a 6946 mov r1, sp
  78. 55 000c 01A8 add r0, sp, #4
  79. 56 .LVL1:
  80. 15:user_src/soft_flash.c **** f.PageAddress = addr;
  81. 57 .loc 1 15 19 view .LVU9
  82. 58 000e CDE90134 strd r3, r4, [sp, #4]
  83. 16:user_src/soft_flash.c ****
  84. 59 .loc 1 16 5 is_stmt 1 view .LVU10
  85. 16:user_src/soft_flash.c ****
  86. 60 .loc 1 16 15 is_stmt 0 view .LVU11
  87. 61 0012 0392 str r2, [sp, #12]
  88. 18:user_src/soft_flash.c ****
  89. 62 .loc 1 18 5 is_stmt 1 view .LVU12
  90. 18:user_src/soft_flash.c ****
  91. 63 .loc 1 18 14 is_stmt 0 view .LVU13
  92. 64 0014 0093 str r3, [sp]
  93. 65 .loc 1 20 5 is_stmt 1 view .LVU14
  94. 66 .loc 1 20 20 is_stmt 0 view .LVU15
  95. 67 0016 FFF7FEFF bl HAL_FLASHEx_Erase
  96. 68 .LVL2:
  97. 21:user_src/soft_flash.c ****
  98. 22:user_src/soft_flash.c **** if (erase_status != HAL_OK)
  99. 69 .loc 1 22 5 is_stmt 1 view .LVU16
  100. 23:user_src/soft_flash.c **** {
  101. 24:user_src/soft_flash.c **** }
  102. 70 .loc 1 24 5 view .LVU17
  103. 25:user_src/soft_flash.c **** }
  104. 71 .loc 1 25 1 is_stmt 0 view .LVU18
  105. 72 001a 04B0 add sp, sp, #16
  106. 73 .LCFI2:
  107. 74 .cfi_def_cfa_offset 8
  108. 75 @ sp needed
  109. 76 001c 10BD pop {r4, pc}
  110. 77 .loc 1 25 1 view .LVU19
  111. 78 .cfi_endproc
  112. 79 .LFE130:
  113. 81 001e 00BF .section .text.Flash_WriteData,"ax",%progbits
  114. 82 .align 1
  115. 83 .p2align 2,,3
  116. 84 .global Flash_WriteData
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 3
  118. 85 .syntax unified
  119. 86 .thumb
  120. 87 .thumb_func
  121. 89 Flash_WriteData:
  122. 90 .LVL3:
  123. 91 .LFB131:
  124. 26:user_src/soft_flash.c **** //FLASH写
  125. 27:user_src/soft_flash.c **** uint32_t Flash_WriteData(uint32_t addr, uint16_t *data, uint16_t Size)
  126. 28:user_src/soft_flash.c **** {
  127. 92 .loc 1 28 1 is_stmt 1 view -0
  128. 93 .cfi_startproc
  129. 94 @ args = 0, pretend = 0, frame = 16
  130. 95 @ frame_needed = 0, uses_anonymous_args = 0
  131. 96 .loc 1 28 1 is_stmt 0 view .LVU21
  132. 97 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
  133. 98 .LCFI3:
  134. 99 .cfi_def_cfa_offset 24
  135. 100 .cfi_offset 4, -24
  136. 101 .cfi_offset 5, -20
  137. 102 .cfi_offset 6, -16
  138. 103 .cfi_offset 7, -12
  139. 104 .cfi_offset 8, -8
  140. 105 .cfi_offset 14, -4
  141. 106 0004 8046 mov r8, r0
  142. 29:user_src/soft_flash.c **** static uint32_t flash_count = 0;
  143. 107 .loc 1 29 5 is_stmt 1 view .LVU22
  144. 30:user_src/soft_flash.c ****
  145. 31:user_src/soft_flash.c **** __disable_irq();
  146. 108 .loc 1 31 5 view .LVU23
  147. 109 .LBB34:
  148. 110 .LBI34:
  149. 111 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
  150. 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
  151. 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
  152. 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
  153. 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
  154. 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
  155. 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
  156. 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
  157. 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
  158. 9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  159. 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
  160. 11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  161. 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
  162. 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
  163. 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
  164. 15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  165. 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
  166. 17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  167. 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
  168. 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  169. 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  170. 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
  171. 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
  172. 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  173. 24:Drivers/CMSIS/Include/cmsis_gcc.h ****
  174. 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 4
  176. 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
  177. 27:Drivers/CMSIS/Include/cmsis_gcc.h ****
  178. 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
  179. 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  180. 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
  181. 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
  182. 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
  183. 33:Drivers/CMSIS/Include/cmsis_gcc.h ****
  184. 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
  185. 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
  186. 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
  187. 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  188. 38:Drivers/CMSIS/Include/cmsis_gcc.h ****
  189. 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
  190. 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
  191. 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
  192. 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  193. 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
  194. 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
  195. 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  196. 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
  197. 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
  198. 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  199. 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
  200. 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
  201. 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  202. 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
  203. 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
  204. 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  205. 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
  206. 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
  207. 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  208. 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
  209. 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
  210. 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  211. 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
  212. 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
  213. 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  214. 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
  215. 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
  216. 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  217. 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
  218. 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
  219. 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  220. 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
  221. 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  222. 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  223. 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  224. 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
  225. 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  226. 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
  227. 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  228. 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
  229. 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  230. 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  231. 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  232. 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 5
  234. 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  235. 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
  236. 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  237. 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
  238. 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  239. 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  240. 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  241. 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
  242. 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  243. 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
  244. 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  245. 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
  246. 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  247. 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  248. 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  249. 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
  250. 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  251. 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
  252. 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  253. 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
  254. 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  255. 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  256. 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  257. 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
  258. 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  259. 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
  260. 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  261. 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
  262. 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
  263. 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  264. 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
  265. 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
  266. 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  267. 116:Drivers/CMSIS/Include/cmsis_gcc.h ****
  268. 117:Drivers/CMSIS/Include/cmsis_gcc.h ****
  269. 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
  270. 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
  271. 120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
  272. 121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
  273. 122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  274. 123:Drivers/CMSIS/Include/cmsis_gcc.h ****
  275. 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  276. 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
  277. 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
  278. 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  279. 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  280. 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
  281. 130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  282. 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
  283. 132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  284. 133:Drivers/CMSIS/Include/cmsis_gcc.h ****
  285. 134:Drivers/CMSIS/Include/cmsis_gcc.h ****
  286. 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  287. 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
  288. 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
  289. 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  290. 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 6
  292. 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
  293. 112 .loc 2 140 27 view .LVU24
  294. 113 .LBB35:
  295. 141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  296. 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
  297. 114 .loc 2 142 3 view .LVU25
  298. 115 .LBE35:
  299. 116 .LBE34:
  300. 28:user_src/soft_flash.c **** static uint32_t flash_count = 0;
  301. 117 .loc 1 28 1 is_stmt 0 view .LVU26
  302. 118 0006 84B0 sub sp, sp, #16
  303. 119 .LCFI4:
  304. 120 .cfi_def_cfa_offset 40
  305. 28:user_src/soft_flash.c **** static uint32_t flash_count = 0;
  306. 121 .loc 1 28 1 view .LVU27
  307. 122 0008 0F46 mov r7, r1
  308. 123 000a 1546 mov r5, r2
  309. 124 .LBB37:
  310. 125 .LBB36:
  311. 126 .loc 2 142 3 view .LVU28
  312. 127 .syntax unified
  313. 128 @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  314. 129 000c 72B6 cpsid i
  315. 130 @ 0 "" 2
  316. 131 .thumb
  317. 132 .syntax unified
  318. 133 .LBE36:
  319. 134 .LBE37:
  320. 32:user_src/soft_flash.c **** HAL_FLASH_Unlock();
  321. 135 .loc 1 32 5 is_stmt 1 view .LVU29
  322. 136 000e FFF7FEFF bl HAL_FLASH_Unlock
  323. 137 .LVL4:
  324. 33:user_src/soft_flash.c ****
  325. 34:user_src/soft_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGERR);//清除一些错
  326. 138 .loc 1 34 5 view .LVU30
  327. 139 0012 1D4B ldr r3, .L19
  328. 35:user_src/soft_flash.c ****
  329. 36:user_src/soft_flash.c ****
  330. 37:user_src/soft_flash.c **** //一页2kb
  331. 38:user_src/soft_flash.c **** if(flash_count == 0 || flash_count == 17)
  332. 140 .loc 1 38 20 is_stmt 0 view .LVU31
  333. 141 0014 1D4E ldr r6, .L19+4
  334. 34:user_src/soft_flash.c ****
  335. 142 .loc 1 34 5 view .LVU32
  336. 143 0016 3422 movs r2, #52
  337. 144 0018 DA60 str r2, [r3, #12]
  338. 145 .loc 1 38 5 is_stmt 1 view .LVU33
  339. 146 .loc 1 38 20 is_stmt 0 view .LVU34
  340. 147 001a 3368 ldr r3, [r6]
  341. 148 .loc 1 38 7 view .LVU35
  342. 149 001c E3B1 cbz r3, .L5
  343. 150 .loc 1 38 25 discriminator 1 view .LVU36
  344. 151 001e 112B cmp r3, #17
  345. 152 0020 1AD0 beq .L5
  346. 153 .L6:
  347. 154 .LVL5:
  348. 155 .LBB38:
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 7
  350. 39:user_src/soft_flash.c **** {
  351. 40:user_src/soft_flash.c **** flash_erase(addr);//擦除指定的闪存扇区(0~11)
  352. 41:user_src/soft_flash.c **** flash_count = 1;
  353. 42:user_src/soft_flash.c **** }
  354. 43:user_src/soft_flash.c ****
  355. 44:user_src/soft_flash.c **** uint16_t TempBuf = 0;
  356. 45:user_src/soft_flash.c **** for (uint16_t i = 0; i < Size; i++)
  357. 156 .loc 1 45 26 is_stmt 1 discriminator 1 view .LVU37
  358. 157 .loc 1 45 5 is_stmt 0 discriminator 1 view .LVU38
  359. 158 0022 35B3 cbz r5, .L7
  360. 159 0024 013D subs r5, r5, #1
  361. 160 0026 ADB2 uxth r5, r5
  362. 161 0028 BC1E subs r4, r7, #2
  363. 162 002a 07EB4505 add r5, r7, r5, lsl #1
  364. 163 002e A8EB0707 sub r7, r8, r7
  365. 164 .LVL6:
  366. 165 .loc 1 45 5 discriminator 1 view .LVU39
  367. 166 0032 01E0 b .L10
  368. 167 .LVL7:
  369. 168 .L8:
  370. 169 .loc 1 45 5 discriminator 2 view .LVU40
  371. 170 0034 AC42 cmp r4, r5
  372. 171 0036 1CD0 beq .L7
  373. 172 .LVL8:
  374. 173 .L10:
  375. 174 .LBB39:
  376. 46:user_src/soft_flash.c **** {
  377. 47:user_src/soft_flash.c **** TempBuf = *(data + i);
  378. 175 .loc 1 47 9 is_stmt 1 view .LVU41
  379. 48:user_src/soft_flash.c **** HAL_StatusTypeDef a = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, addr + i * 2, TempBuf);
  380. 176 .loc 1 48 9 view .LVU42
  381. 177 .loc 1 48 31 is_stmt 0 view .LVU43
  382. 178 0038 34F8022F ldrh r2, [r4, #2]!
  383. 179 .LVL9:
  384. 180 .loc 1 48 31 view .LVU44
  385. 181 003c 0023 movs r3, #0
  386. 182 003e 3919 adds r1, r7, r4
  387. 183 0040 0120 movs r0, #1
  388. 184 0042 FFF7FEFF bl HAL_FLASH_Program
  389. 185 .LVL10:
  390. 186 .loc 1 48 31 view .LVU45
  391. 187 .LBE39:
  392. 45:user_src/soft_flash.c **** {
  393. 188 .loc 1 45 36 is_stmt 1 view .LVU46
  394. 45:user_src/soft_flash.c **** {
  395. 189 .loc 1 45 26 view .LVU47
  396. 190 .LBB42:
  397. 49:user_src/soft_flash.c **** if (a != HAL_OK)
  398. 191 .loc 1 49 9 view .LVU48
  399. 192 .loc 1 49 12 is_stmt 0 view .LVU49
  400. 193 0046 0028 cmp r0, #0
  401. 194 0048 F4D0 beq .L8
  402. 50:user_src/soft_flash.c **** {
  403. 51:user_src/soft_flash.c **** HAL_FLASH_Lock();
  404. 195 .loc 1 51 13 is_stmt 1 view .LVU50
  405. 196 004a FFF7FEFF bl HAL_FLASH_Lock
  406. 197 .LVL11:
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 8
  408. 52:user_src/soft_flash.c **** __enable_irq();
  409. 198 .loc 1 52 13 view .LVU51
  410. 199 .LBB40:
  411. 200 .LBI40:
  412. 129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  413. 201 .loc 2 129 27 view .LVU52
  414. 202 .LBB41:
  415. 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  416. 203 .loc 2 131 3 view .LVU53
  417. 204 .syntax unified
  418. 205 @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  419. 206 004e 62B6 cpsie i
  420. 207 @ 0 "" 2
  421. 208 .thumb
  422. 209 .syntax unified
  423. 210 .LBE41:
  424. 211 .LBE40:
  425. 53:user_src/soft_flash.c **** return WRITE_FAIL;
  426. 212 .loc 1 53 13 view .LVU54
  427. 213 .loc 1 53 20 is_stmt 0 view .LVU55
  428. 214 0050 0220 movs r0, #2
  429. 215 .LBE42:
  430. 216 .LBE38:
  431. 54:user_src/soft_flash.c **** }
  432. 55:user_src/soft_flash.c **** }
  433. 56:user_src/soft_flash.c **** HAL_FLASH_Lock();
  434. 57:user_src/soft_flash.c **** __enable_irq();
  435. 58:user_src/soft_flash.c **** flash_count++;
  436. 59:user_src/soft_flash.c ****
  437. 60:user_src/soft_flash.c **** return WRITE_SUCCESS;
  438. 61:user_src/soft_flash.c **** }
  439. 217 .loc 1 61 1 view .LVU56
  440. 218 0052 04B0 add sp, sp, #16
  441. 219 .LCFI5:
  442. 220 .cfi_remember_state
  443. 221 .cfi_def_cfa_offset 24
  444. 222 @ sp needed
  445. 223 0054 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  446. 224 .LVL12:
  447. 225 .L5:
  448. 226 .LCFI6:
  449. 227 .cfi_restore_state
  450. 40:user_src/soft_flash.c **** flash_count = 1;
  451. 228 .loc 1 40 9 is_stmt 1 view .LVU57
  452. 229 .LBB43:
  453. 230 .LBI43:
  454. 10:user_src/soft_flash.c **** {
  455. 231 .loc 1 10 6 view .LVU58
  456. 232 .LBB44:
  457. 12:user_src/soft_flash.c **** FLASH_EraseInitTypeDef f;
  458. 233 .loc 1 12 5 view .LVU59
  459. 13:user_src/soft_flash.c **** f.TypeErase = FLASH_TYPEERASE_PAGES;
  460. 234 .loc 1 13 5 view .LVU60
  461. 14:user_src/soft_flash.c **** f.PageAddress = addr;
  462. 235 .loc 1 14 5 view .LVU61
  463. 14:user_src/soft_flash.c **** f.PageAddress = addr;
  464. 236 .loc 1 14 17 is_stmt 0 view .LVU62
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 9
  466. 237 0058 0023 movs r3, #0
  467. 16:user_src/soft_flash.c ****
  468. 238 .loc 1 16 15 view .LVU63
  469. 239 005a 0124 movs r4, #1
  470. 20:user_src/soft_flash.c ****
  471. 240 .loc 1 20 20 view .LVU64
  472. 241 005c 6946 mov r1, sp
  473. 242 005e 01A8 add r0, sp, #4
  474. 18:user_src/soft_flash.c ****
  475. 243 .loc 1 18 14 view .LVU65
  476. 244 0060 CDE90033 strd r3, r3, [sp]
  477. 15:user_src/soft_flash.c **** f.NbPages = 1;
  478. 245 .loc 1 15 19 view .LVU66
  479. 246 0064 CDF80880 str r8, [sp, #8]
  480. 16:user_src/soft_flash.c ****
  481. 247 .loc 1 16 5 is_stmt 1 view .LVU67
  482. 16:user_src/soft_flash.c ****
  483. 248 .loc 1 16 15 is_stmt 0 view .LVU68
  484. 249 0068 0394 str r4, [sp, #12]
  485. 18:user_src/soft_flash.c ****
  486. 250 .loc 1 18 5 is_stmt 1 view .LVU69
  487. 20:user_src/soft_flash.c ****
  488. 251 .loc 1 20 5 view .LVU70
  489. 20:user_src/soft_flash.c ****
  490. 252 .loc 1 20 20 is_stmt 0 view .LVU71
  491. 253 006a FFF7FEFF bl HAL_FLASHEx_Erase
  492. 254 .LVL13:
  493. 22:user_src/soft_flash.c **** {
  494. 255 .loc 1 22 5 is_stmt 1 view .LVU72
  495. 24:user_src/soft_flash.c **** }
  496. 256 .loc 1 24 5 view .LVU73
  497. 24:user_src/soft_flash.c **** }
  498. 257 .loc 1 24 5 is_stmt 0 view .LVU74
  499. 258 .LBE44:
  500. 259 .LBE43:
  501. 41:user_src/soft_flash.c **** }
  502. 260 .loc 1 41 9 is_stmt 1 view .LVU75
  503. 41:user_src/soft_flash.c **** }
  504. 261 .loc 1 41 21 is_stmt 0 view .LVU76
  505. 262 006e 3460 str r4, [r6]
  506. 263 0070 D7E7 b .L6
  507. 264 .LVL14:
  508. 265 .L7:
  509. 56:user_src/soft_flash.c **** __enable_irq();
  510. 266 .loc 1 56 5 is_stmt 1 view .LVU77
  511. 267 0072 FFF7FEFF bl HAL_FLASH_Lock
  512. 268 .LVL15:
  513. 57:user_src/soft_flash.c **** flash_count++;
  514. 269 .loc 1 57 5 view .LVU78
  515. 270 .LBB45:
  516. 271 .LBI45:
  517. 129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  518. 272 .loc 2 129 27 view .LVU79
  519. 273 .LBB46:
  520. 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  521. 274 .loc 2 131 3 view .LVU80
  522. 275 .syntax unified
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 10
  524. 276 @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  525. 277 0076 62B6 cpsie i
  526. 278 @ 0 "" 2
  527. 279 .thumb
  528. 280 .syntax unified
  529. 281 .LBE46:
  530. 282 .LBE45:
  531. 58:user_src/soft_flash.c ****
  532. 283 .loc 1 58 5 view .LVU81
  533. 58:user_src/soft_flash.c ****
  534. 284 .loc 1 58 16 is_stmt 0 view .LVU82
  535. 285 0078 3368 ldr r3, [r6]
  536. 60:user_src/soft_flash.c **** }
  537. 286 .loc 1 60 12 view .LVU83
  538. 287 007a 0320 movs r0, #3
  539. 58:user_src/soft_flash.c ****
  540. 288 .loc 1 58 16 view .LVU84
  541. 289 007c 0133 adds r3, r3, #1
  542. 290 007e 3360 str r3, [r6]
  543. 60:user_src/soft_flash.c **** }
  544. 291 .loc 1 60 5 is_stmt 1 view .LVU85
  545. 292 .loc 1 61 1 is_stmt 0 view .LVU86
  546. 293 0080 04B0 add sp, sp, #16
  547. 294 .LCFI7:
  548. 295 .cfi_def_cfa_offset 24
  549. 296 @ sp needed
  550. 297 0082 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  551. 298 .LVL16:
  552. 299 .L20:
  553. 300 .loc 1 61 1 view .LVU87
  554. 301 0086 00BF .align 2
  555. 302 .L19:
  556. 303 0088 00200240 .word 1073881088
  557. 304 008c 00000000 .word .LANCHOR0
  558. 305 .cfi_endproc
  559. 306 .LFE131:
  560. 308 .section .text.wirte_update_flag,"ax",%progbits
  561. 309 .align 1
  562. 310 .p2align 2,,3
  563. 311 .global wirte_update_flag
  564. 312 .syntax unified
  565. 313 .thumb
  566. 314 .thumb_func
  567. 316 wirte_update_flag:
  568. 317 .LFB132:
  569. 62:user_src/soft_flash.c ****
  570. 63:user_src/soft_flash.c ****
  571. 64:user_src/soft_flash.c **** bool wirte_update_flag()
  572. 65:user_src/soft_flash.c **** {
  573. 318 .loc 1 65 1 is_stmt 1 view -0
  574. 319 .cfi_startproc
  575. 320 @ args = 0, pretend = 0, frame = 16
  576. 321 @ frame_needed = 0, uses_anonymous_args = 0
  577. 66:user_src/soft_flash.c **** HAL_StatusTypeDef status;
  578. 322 .loc 1 66 5 view .LVU89
  579. 67:user_src/soft_flash.c **** __disable_irq();
  580. 323 .loc 1 67 5 view .LVU90
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 11
  582. 324 .LBB53:
  583. 325 .LBI53:
  584. 140:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  585. 326 .loc 2 140 27 view .LVU91
  586. 327 .LBB54:
  587. 328 .loc 2 142 3 view .LVU92
  588. 329 .LBE54:
  589. 330 .LBE53:
  590. 65:user_src/soft_flash.c **** HAL_StatusTypeDef status;
  591. 331 .loc 1 65 1 is_stmt 0 view .LVU93
  592. 332 0000 30B5 push {r4, r5, lr}
  593. 333 .LCFI8:
  594. 334 .cfi_def_cfa_offset 12
  595. 335 .cfi_offset 4, -12
  596. 336 .cfi_offset 5, -8
  597. 337 .cfi_offset 14, -4
  598. 338 0002 85B0 sub sp, sp, #20
  599. 339 .LCFI9:
  600. 340 .cfi_def_cfa_offset 32
  601. 341 .LBB56:
  602. 342 .LBB55:
  603. 343 .loc 2 142 3 view .LVU94
  604. 344 .syntax unified
  605. 345 @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  606. 346 0004 72B6 cpsid i
  607. 347 @ 0 "" 2
  608. 348 .thumb
  609. 349 .syntax unified
  610. 350 .LBE55:
  611. 351 .LBE56:
  612. 68:user_src/soft_flash.c **** HAL_FLASH_Unlock();
  613. 352 .loc 1 68 5 is_stmt 1 view .LVU95
  614. 353 0006 FFF7FEFF bl HAL_FLASH_Unlock
  615. 354 .LVL17:
  616. 69:user_src/soft_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGERR);
  617. 355 .loc 1 69 5 view .LVU96
  618. 356 000a 0E4B ldr r3, .L23
  619. 357 .LBB57:
  620. 358 .LBB58:
  621. 15:user_src/soft_flash.c **** f.NbPages = 1;
  622. 359 .loc 1 15 19 is_stmt 0 view .LVU97
  623. 360 000c 0E4D ldr r5, .L23+4
  624. 361 .LBE58:
  625. 362 .LBE57:
  626. 363 .loc 1 69 5 view .LVU98
  627. 364 000e 3422 movs r2, #52
  628. 365 0010 DA60 str r2, [r3, #12]
  629. 70:user_src/soft_flash.c ****
  630. 71:user_src/soft_flash.c **** flash_erase(FLASH_UPDATE_ADDR);
  631. 366 .loc 1 71 5 is_stmt 1 view .LVU99
  632. 367 .LVL18:
  633. 368 .LBB60:
  634. 369 .LBI57:
  635. 10:user_src/soft_flash.c **** {
  636. 370 .loc 1 10 6 view .LVU100
  637. 371 .LBB59:
  638. 12:user_src/soft_flash.c **** FLASH_EraseInitTypeDef f;
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 12
  640. 372 .loc 1 12 5 view .LVU101
  641. 13:user_src/soft_flash.c **** f.TypeErase = FLASH_TYPEERASE_PAGES;
  642. 373 .loc 1 13 5 view .LVU102
  643. 14:user_src/soft_flash.c **** f.PageAddress = addr;
  644. 374 .loc 1 14 5 view .LVU103
  645. 16:user_src/soft_flash.c ****
  646. 375 .loc 1 16 15 is_stmt 0 view .LVU104
  647. 376 0012 0124 movs r4, #1
  648. 14:user_src/soft_flash.c **** f.PageAddress = addr;
  649. 377 .loc 1 14 17 view .LVU105
  650. 378 0014 0023 movs r3, #0
  651. 20:user_src/soft_flash.c ****
  652. 379 .loc 1 20 20 view .LVU106
  653. 380 0016 6946 mov r1, sp
  654. 381 0018 01A8 add r0, sp, #4
  655. 15:user_src/soft_flash.c **** f.NbPages = 1;
  656. 382 .loc 1 15 19 view .LVU107
  657. 383 001a CDE90135 strd r3, r5, [sp, #4]
  658. 16:user_src/soft_flash.c ****
  659. 384 .loc 1 16 5 is_stmt 1 view .LVU108
  660. 16:user_src/soft_flash.c ****
  661. 385 .loc 1 16 15 is_stmt 0 view .LVU109
  662. 386 001e 0394 str r4, [sp, #12]
  663. 18:user_src/soft_flash.c ****
  664. 387 .loc 1 18 5 is_stmt 1 view .LVU110
  665. 18:user_src/soft_flash.c ****
  666. 388 .loc 1 18 14 is_stmt 0 view .LVU111
  667. 389 0020 0093 str r3, [sp]
  668. 20:user_src/soft_flash.c ****
  669. 390 .loc 1 20 5 is_stmt 1 view .LVU112
  670. 20:user_src/soft_flash.c ****
  671. 391 .loc 1 20 20 is_stmt 0 view .LVU113
  672. 392 0022 FFF7FEFF bl HAL_FLASHEx_Erase
  673. 393 .LVL19:
  674. 22:user_src/soft_flash.c **** {
  675. 394 .loc 1 22 5 is_stmt 1 view .LVU114
  676. 24:user_src/soft_flash.c **** }
  677. 395 .loc 1 24 5 view .LVU115
  678. 24:user_src/soft_flash.c **** }
  679. 396 .loc 1 24 5 is_stmt 0 view .LVU116
  680. 397 .LBE59:
  681. 398 .LBE60:
  682. 72:user_src/soft_flash.c ****
  683. 73:user_src/soft_flash.c **** status = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, FLASH_UPDATE_ADDR, 0XF);
  684. 399 .loc 1 73 5 is_stmt 1 view .LVU117
  685. 400 .loc 1 73 14 is_stmt 0 view .LVU118
  686. 401 0026 0F22 movs r2, #15
  687. 402 0028 0023 movs r3, #0
  688. 403 002a 2946 mov r1, r5
  689. 404 002c 2046 mov r0, r4
  690. 405 002e FFF7FEFF bl HAL_FLASH_Program
  691. 406 .LVL20:
  692. 407 0032 0446 mov r4, r0
  693. 408 .LVL21:
  694. 74:user_src/soft_flash.c **** HAL_FLASH_Lock();
  695. 409 .loc 1 74 5 is_stmt 1 view .LVU119
  696. 410 0034 FFF7FEFF bl HAL_FLASH_Lock
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 13
  698. 411 .LVL22:
  699. 75:user_src/soft_flash.c **** __enable_irq();
  700. 412 .loc 1 75 5 view .LVU120
  701. 413 .LBB61:
  702. 414 .LBI61:
  703. 129:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  704. 415 .loc 2 129 27 view .LVU121
  705. 416 .LBB62:
  706. 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  707. 417 .loc 2 131 3 view .LVU122
  708. 418 .syntax unified
  709. 419 @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  710. 420 0038 62B6 cpsie i
  711. 421 @ 0 "" 2
  712. 422 .thumb
  713. 423 .syntax unified
  714. 424 .LBE62:
  715. 425 .LBE61:
  716. 76:user_src/soft_flash.c ****
  717. 77:user_src/soft_flash.c **** if(status == HAL_OK)
  718. 426 .loc 1 77 5 view .LVU123
  719. 78:user_src/soft_flash.c **** return true;
  720. 79:user_src/soft_flash.c **** else
  721. 80:user_src/soft_flash.c **** return false;
  722. 81:user_src/soft_flash.c **** }
  723. 427 .loc 1 81 1 is_stmt 0 view .LVU124
  724. 428 003a B4FA84F0 clz r0, r4
  725. 429 003e 4009 lsrs r0, r0, #5
  726. 430 0040 05B0 add sp, sp, #20
  727. 431 .LCFI10:
  728. 432 .cfi_def_cfa_offset 12
  729. 433 @ sp needed
  730. 434 0042 30BD pop {r4, r5, pc}
  731. 435 .LVL23:
  732. 436 .L24:
  733. 437 .loc 1 81 1 view .LVU125
  734. 438 .align 2
  735. 439 .L23:
  736. 440 0044 00200240 .word 1073881088
  737. 441 0048 00600008 .word 134242304
  738. 442 .cfi_endproc
  739. 443 .LFE132:
  740. 445 .section .text.ReadFlashNBtye,"ax",%progbits
  741. 446 .align 1
  742. 447 .p2align 2,,3
  743. 448 .global ReadFlashNBtye
  744. 449 .syntax unified
  745. 450 .thumb
  746. 451 .thumb_func
  747. 453 ReadFlashNBtye:
  748. 454 .LVL24:
  749. 455 .LFB133:
  750. 82:user_src/soft_flash.c ****
  751. 83:user_src/soft_flash.c ****
  752. 84:user_src/soft_flash.c **** //FLASH读地址
  753. 85:user_src/soft_flash.c **** uint16_t ReadFlashNBtye(uint32_t ReadAddress, uint16_t *ReadBuf, int32_t ReadNum)
  754. 86:user_src/soft_flash.c **** {
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 14
  756. 456 .loc 1 86 1 is_stmt 1 view -0
  757. 457 .cfi_startproc
  758. 458 @ args = 0, pretend = 0, frame = 0
  759. 459 @ frame_needed = 0, uses_anonymous_args = 0
  760. 460 @ link register save eliminated.
  761. 87:user_src/soft_flash.c **** int DataNum = 0;
  762. 461 .loc 1 87 5 view .LVU127
  763. 88:user_src/soft_flash.c **** uint16_t up_flag = 0;
  764. 462 .loc 1 88 5 view .LVU128
  765. 89:user_src/soft_flash.c ****
  766. 90:user_src/soft_flash.c **** *ReadBuf = *(__IO uint16_t *)ReadAddress;
  767. 463 .loc 1 90 5 view .LVU129
  768. 464 .loc 1 90 16 is_stmt 0 view .LVU130
  769. 465 0000 0088 ldrh r0, [r0]
  770. 466 .LVL25:
  771. 467 .loc 1 90 16 view .LVU131
  772. 468 0002 80B2 uxth r0, r0
  773. 469 .loc 1 90 14 view .LVU132
  774. 470 0004 0880 strh r0, [r1] @ movhi
  775. 91:user_src/soft_flash.c **** up_flag = *ReadBuf;
  776. 471 .loc 1 91 5 is_stmt 1 view .LVU133
  777. 472 .LVL26:
  778. 92:user_src/soft_flash.c **** DataNum++;
  779. 473 .loc 1 92 5 view .LVU134
  780. 93:user_src/soft_flash.c ****
  781. 94:user_src/soft_flash.c **** return up_flag;
  782. 474 .loc 1 94 5 view .LVU135
  783. 95:user_src/soft_flash.c **** }
  784. 475 .loc 1 95 1 is_stmt 0 view .LVU136
  785. 476 0006 7047 bx lr
  786. 477 .cfi_endproc
  787. 478 .LFE133:
  788. 480 .section .text.flash_read_updata_flag,"ax",%progbits
  789. 481 .align 1
  790. 482 .p2align 2,,3
  791. 483 .global flash_read_updata_flag
  792. 484 .syntax unified
  793. 485 .thumb
  794. 486 .thumb_func
  795. 488 flash_read_updata_flag:
  796. 489 .LFB134:
  797. 96:user_src/soft_flash.c **** //读取标志位
  798. 97:user_src/soft_flash.c **** uint32_t flash_read_updata_flag(void)
  799. 98:user_src/soft_flash.c **** {
  800. 490 .loc 1 98 1 is_stmt 1 view -0
  801. 491 .cfi_startproc
  802. 492 @ args = 0, pretend = 0, frame = 0
  803. 493 @ frame_needed = 0, uses_anonymous_args = 0
  804. 494 @ link register save eliminated.
  805. 99:user_src/soft_flash.c **** uint16_t temp_buff = 0;
  806. 495 .loc 1 99 5 view .LVU138
  807. 496 .LVL27:
  808. 100:user_src/soft_flash.c **** uint32_t Address = 0;
  809. 497 .loc 1 100 5 view .LVU139
  810. 101:user_src/soft_flash.c ****
  811. 102:user_src/soft_flash.c **** temp_buff = ReadFlashNBtye(FLASH_UPDATE_ADDR, (uint16_t *)&Address, 1);
  812. 498 .loc 1 102 5 view .LVU140
  813. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 15
  814. 499 .LBB63:
  815. 500 .LBI63:
  816. 85:user_src/soft_flash.c **** {
  817. 501 .loc 1 85 10 view .LVU141
  818. 502 .LBB64:
  819. 87:user_src/soft_flash.c **** uint16_t up_flag = 0;
  820. 503 .loc 1 87 5 view .LVU142
  821. 88:user_src/soft_flash.c ****
  822. 504 .loc 1 88 5 view .LVU143
  823. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  824. 505 .loc 1 90 5 view .LVU144
  825. 91:user_src/soft_flash.c **** DataNum++;
  826. 506 .loc 1 91 5 view .LVU145
  827. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  828. 507 .loc 1 90 16 is_stmt 0 view .LVU146
  829. 508 0000 014B ldr r3, .L27
  830. 509 0002 1888 ldrh r0, [r3]
  831. 510 .LVL28:
  832. 92:user_src/soft_flash.c ****
  833. 511 .loc 1 92 5 is_stmt 1 view .LVU147
  834. 94:user_src/soft_flash.c **** }
  835. 512 .loc 1 94 5 view .LVU148
  836. 94:user_src/soft_flash.c **** }
  837. 513 .loc 1 94 5 is_stmt 0 view .LVU149
  838. 514 .LBE64:
  839. 515 .LBE63:
  840. 103:user_src/soft_flash.c ****
  841. 104:user_src/soft_flash.c **** return temp_buff;
  842. 516 .loc 1 104 5 is_stmt 1 view .LVU150
  843. 105:user_src/soft_flash.c **** }
  844. 517 .loc 1 105 1 is_stmt 0 view .LVU151
  845. 518 0004 80B2 uxth r0, r0
  846. 519 .loc 1 105 1 view .LVU152
  847. 520 0006 7047 bx lr
  848. 521 .L28:
  849. 522 .align 2
  850. 523 .L27:
  851. 524 0008 00600008 .word 134242304
  852. 525 .cfi_endproc
  853. 526 .LFE134:
  854. 528 .section .text.flash_ready_SN_and_VERSION,"ax",%progbits
  855. 529 .align 1
  856. 530 .p2align 2,,3
  857. 531 .global flash_ready_SN_and_VERSION
  858. 532 .syntax unified
  859. 533 .thumb
  860. 534 .thumb_func
  861. 536 flash_ready_SN_and_VERSION:
  862. 537 .LFB135:
  863. 106:user_src/soft_flash.c ****
  864. 107:user_src/soft_flash.c **** int pmu_sn = 0;
  865. 108:user_src/soft_flash.c **** int pmu_hardversion = 0;
  866. 109:user_src/soft_flash.c **** void flash_ready_SN_and_VERSION(void)
  867. 110:user_src/soft_flash.c **** {
  868. 538 .loc 1 110 1 is_stmt 1 view -0
  869. 539 .cfi_startproc
  870. 540 @ args = 0, pretend = 0, frame = 8
  871. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 16
  872. 541 @ frame_needed = 0, uses_anonymous_args = 0
  873. 542 @ link register save eliminated.
  874. 111:user_src/soft_flash.c **** uint16_t temp_buff = 0,temp_buff2 = 0;
  875. 543 .loc 1 111 5 view .LVU154
  876. 544 .LVL29:
  877. 112:user_src/soft_flash.c **** uint32_t Address = 0;
  878. 545 .loc 1 112 5 view .LVU155
  879. 113:user_src/soft_flash.c ****
  880. 114:user_src/soft_flash.c **** temp_buff = ReadFlashNBtye(FLASH_APP_PAR_ADDR + 10, (uint16_t *)&Address, 1);
  881. 546 .loc 1 114 5 view .LVU156
  882. 547 .LBB65:
  883. 548 .LBB66:
  884. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  885. 549 .loc 1 90 16 is_stmt 0 view .LVU157
  886. 550 0000 0C4A ldr r2, .L31
  887. 551 .LBE66:
  888. 552 .LBE65:
  889. 115:user_src/soft_flash.c **** temp_buff2 = ReadFlashNBtye(FLASH_APP_PAR_ADDR + 12, (uint16_t *)&Address, 1);
  890. 116:user_src/soft_flash.c ****
  891. 117:user_src/soft_flash.c **** pmu_sn = temp_buff + (temp_buff2 << 16);
  892. 553 .loc 1 117 12 view .LVU158
  893. 554 0002 0D48 ldr r0, .L31+4
  894. 555 .LBB69:
  895. 556 .LBB67:
  896. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  897. 557 .loc 1 90 16 view .LVU159
  898. 558 0004 5389 ldrh r3, [r2, #10]
  899. 559 .LBE67:
  900. 560 .LBE69:
  901. 110:user_src/soft_flash.c **** uint16_t temp_buff = 0,temp_buff2 = 0;
  902. 561 .loc 1 110 1 view .LVU160
  903. 562 0006 82B0 sub sp, sp, #8
  904. 563 .LCFI11:
  905. 564 .cfi_def_cfa_offset 8
  906. 565 .LVL30:
  907. 566 .LBB70:
  908. 567 .LBI65:
  909. 85:user_src/soft_flash.c **** {
  910. 568 .loc 1 85 10 is_stmt 1 view .LVU161
  911. 569 .LBB68:
  912. 87:user_src/soft_flash.c **** uint16_t up_flag = 0;
  913. 570 .loc 1 87 5 view .LVU162
  914. 88:user_src/soft_flash.c ****
  915. 571 .loc 1 88 5 view .LVU163
  916. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  917. 572 .loc 1 90 5 view .LVU164
  918. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  919. 573 .loc 1 90 16 is_stmt 0 view .LVU165
  920. 574 0008 9BB2 uxth r3, r3
  921. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  922. 575 .loc 1 90 14 view .LVU166
  923. 576 000a ADF80430 strh r3, [sp, #4] @ movhi
  924. 91:user_src/soft_flash.c **** DataNum++;
  925. 577 .loc 1 91 5 is_stmt 1 view .LVU167
  926. 578 .LVL31:
  927. 92:user_src/soft_flash.c ****
  928. 579 .loc 1 92 5 view .LVU168
  929. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 17
  930. 94:user_src/soft_flash.c **** }
  931. 580 .loc 1 94 5 view .LVU169
  932. 94:user_src/soft_flash.c **** }
  933. 581 .loc 1 94 5 is_stmt 0 view .LVU170
  934. 582 .LBE68:
  935. 583 .LBE70:
  936. 115:user_src/soft_flash.c ****
  937. 584 .loc 1 115 5 is_stmt 1 view .LVU171
  938. 585 .LBB71:
  939. 586 .LBI71:
  940. 85:user_src/soft_flash.c **** {
  941. 587 .loc 1 85 10 view .LVU172
  942. 588 .LBB72:
  943. 87:user_src/soft_flash.c **** uint16_t up_flag = 0;
  944. 589 .loc 1 87 5 view .LVU173
  945. 88:user_src/soft_flash.c ****
  946. 590 .loc 1 88 5 view .LVU174
  947. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  948. 591 .loc 1 90 5 view .LVU175
  949. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  950. 592 .loc 1 90 16 is_stmt 0 view .LVU176
  951. 593 000e 9189 ldrh r1, [r2, #12]
  952. 594 0010 89B2 uxth r1, r1
  953. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  954. 595 .loc 1 90 14 view .LVU177
  955. 596 0012 ADF80410 strh r1, [sp, #4] @ movhi
  956. 597 .LBE72:
  957. 598 .LBE71:
  958. 599 .loc 1 117 25 view .LVU178
  959. 600 0016 03EB0143 add r3, r3, r1, lsl #16
  960. 601 .LVL32:
  961. 602 .LBB74:
  962. 603 .LBB73:
  963. 91:user_src/soft_flash.c **** DataNum++;
  964. 604 .loc 1 91 5 is_stmt 1 view .LVU179
  965. 92:user_src/soft_flash.c ****
  966. 605 .loc 1 92 5 view .LVU180
  967. 94:user_src/soft_flash.c **** }
  968. 606 .loc 1 94 5 view .LVU181
  969. 94:user_src/soft_flash.c **** }
  970. 607 .loc 1 94 5 is_stmt 0 view .LVU182
  971. 608 .LBE73:
  972. 609 .LBE74:
  973. 610 .loc 1 117 5 is_stmt 1 view .LVU183
  974. 611 .loc 1 117 12 is_stmt 0 view .LVU184
  975. 612 001a 0360 str r3, [r0]
  976. 118:user_src/soft_flash.c ****
  977. 119:user_src/soft_flash.c **** temp_buff = ReadFlashNBtye(FLASH_APP_PAR_ADDR + 14, (uint16_t *)&Address, 1);
  978. 613 .loc 1 119 5 is_stmt 1 view .LVU185
  979. 614 .LVL33:
  980. 615 .LBB75:
  981. 616 .LBI75:
  982. 85:user_src/soft_flash.c **** {
  983. 617 .loc 1 85 10 view .LVU186
  984. 618 .LBB76:
  985. 87:user_src/soft_flash.c **** uint16_t up_flag = 0;
  986. 619 .loc 1 87 5 view .LVU187
  987. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 18
  988. 88:user_src/soft_flash.c ****
  989. 620 .loc 1 88 5 view .LVU188
  990. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  991. 621 .loc 1 90 5 view .LVU189
  992. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  993. 622 .loc 1 90 16 is_stmt 0 view .LVU190
  994. 623 001c D389 ldrh r3, [r2, #14]
  995. 624 .LBE76:
  996. 625 .LBE75:
  997. 120:user_src/soft_flash.c **** temp_buff2 = ReadFlashNBtye(FLASH_APP_PAR_ADDR + 16, (uint16_t *)&Address, 1);
  998. 121:user_src/soft_flash.c ****
  999. 122:user_src/soft_flash.c **** pmu_hardversion = temp_buff + (temp_buff2 << 16);
  1000. 626 .loc 1 122 21 view .LVU191
  1001. 627 001e 0749 ldr r1, .L31+8
  1002. 628 .LVL34:
  1003. 629 .LBB78:
  1004. 630 .LBB77:
  1005. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  1006. 631 .loc 1 90 16 view .LVU192
  1007. 632 0020 9BB2 uxth r3, r3
  1008. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  1009. 633 .loc 1 90 14 view .LVU193
  1010. 634 0022 ADF80430 strh r3, [sp, #4] @ movhi
  1011. 91:user_src/soft_flash.c **** DataNum++;
  1012. 635 .loc 1 91 5 is_stmt 1 view .LVU194
  1013. 636 .LVL35:
  1014. 92:user_src/soft_flash.c ****
  1015. 637 .loc 1 92 5 view .LVU195
  1016. 94:user_src/soft_flash.c **** }
  1017. 638 .loc 1 94 5 view .LVU196
  1018. 94:user_src/soft_flash.c **** }
  1019. 639 .loc 1 94 5 is_stmt 0 view .LVU197
  1020. 640 .LBE77:
  1021. 641 .LBE78:
  1022. 120:user_src/soft_flash.c ****
  1023. 642 .loc 1 120 5 is_stmt 1 view .LVU198
  1024. 643 .LBB79:
  1025. 644 .LBI79:
  1026. 85:user_src/soft_flash.c **** {
  1027. 645 .loc 1 85 10 view .LVU199
  1028. 646 .LBB80:
  1029. 87:user_src/soft_flash.c **** uint16_t up_flag = 0;
  1030. 647 .loc 1 87 5 view .LVU200
  1031. 88:user_src/soft_flash.c ****
  1032. 648 .loc 1 88 5 view .LVU201
  1033. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  1034. 649 .loc 1 90 5 view .LVU202
  1035. 91:user_src/soft_flash.c **** DataNum++;
  1036. 650 .loc 1 91 5 view .LVU203
  1037. 90:user_src/soft_flash.c **** up_flag = *ReadBuf;
  1038. 651 .loc 1 90 16 is_stmt 0 view .LVU204
  1039. 652 0026 128A ldrh r2, [r2, #16]
  1040. 653 .LVL36:
  1041. 92:user_src/soft_flash.c ****
  1042. 654 .loc 1 92 5 is_stmt 1 view .LVU205
  1043. 94:user_src/soft_flash.c **** }
  1044. 655 .loc 1 94 5 view .LVU206
  1045. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 19
  1046. 94:user_src/soft_flash.c **** }
  1047. 656 .loc 1 94 5 is_stmt 0 view .LVU207
  1048. 657 .LBE80:
  1049. 658 .LBE79:
  1050. 659 .loc 1 122 5 is_stmt 1 view .LVU208
  1051. 660 .loc 1 122 34 is_stmt 0 view .LVU209
  1052. 661 0028 03EB0243 add r3, r3, r2, lsl #16
  1053. 662 .LVL37:
  1054. 663 .loc 1 122 21 view .LVU210
  1055. 664 002c 0B60 str r3, [r1]
  1056. 123:user_src/soft_flash.c **** }
  1057. 665 .loc 1 123 1 view .LVU211
  1058. 666 002e 02B0 add sp, sp, #8
  1059. 667 .LCFI12:
  1060. 668 .cfi_def_cfa_offset 0
  1061. 669 .LVL38:
  1062. 670 .loc 1 123 1 view .LVU212
  1063. 671 @ sp needed
  1064. 672 0030 7047 bx lr
  1065. 673 .L32:
  1066. 674 0032 00BF .align 2
  1067. 675 .L31:
  1068. 676 0034 00680008 .word 134244352
  1069. 677 0038 00000000 .word .LANCHOR1
  1070. 678 003c 00000000 .word .LANCHOR2
  1071. 679 .cfi_endproc
  1072. 680 .LFE135:
  1073. 682 .global pmu_hardversion
  1074. 683 .global pmu_sn
  1075. 684 .section .bss.flash_count.0,"aw",%nobits
  1076. 685 .align 2
  1077. 686 .set .LANCHOR0,. + 0
  1078. 689 flash_count.0:
  1079. 690 0000 00000000 .space 4
  1080. 691 .section .bss.pmu_hardversion,"aw",%nobits
  1081. 692 .align 2
  1082. 693 .set .LANCHOR2,. + 0
  1083. 696 pmu_hardversion:
  1084. 697 0000 00000000 .space 4
  1085. 698 .section .bss.pmu_sn,"aw",%nobits
  1086. 699 .align 2
  1087. 700 .set .LANCHOR1,. + 0
  1088. 703 pmu_sn:
  1089. 704 0000 00000000 .space 4
  1090. 705 .text
  1091. 706 .Letext0:
  1092. 707 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  1093. 708 .file 4 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  1094. 709 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
  1095. 710 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
  1096. 711 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_flash_ex.h"
  1097. 712 .file 8 "user_inc/soft_flash.h"
  1098. 713 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_flash.h"
  1099. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s page 20
  1100. DEFINED SYMBOLS
  1101. *ABS*:00000000 soft_flash.c
  1102. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:20 .text.flash_erase:00000000 $t
  1103. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:27 .text.flash_erase:00000000 flash_erase
  1104. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:82 .text.Flash_WriteData:00000000 $t
  1105. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:89 .text.Flash_WriteData:00000000 Flash_WriteData
  1106. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:303 .text.Flash_WriteData:00000088 $d
  1107. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:309 .text.wirte_update_flag:00000000 $t
  1108. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:316 .text.wirte_update_flag:00000000 wirte_update_flag
  1109. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:440 .text.wirte_update_flag:00000044 $d
  1110. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:446 .text.ReadFlashNBtye:00000000 $t
  1111. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:453 .text.ReadFlashNBtye:00000000 ReadFlashNBtye
  1112. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:481 .text.flash_read_updata_flag:00000000 $t
  1113. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:488 .text.flash_read_updata_flag:00000000 flash_read_updata_flag
  1114. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:524 .text.flash_read_updata_flag:00000008 $d
  1115. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:529 .text.flash_ready_SN_and_VERSION:00000000 $t
  1116. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:536 .text.flash_ready_SN_and_VERSION:00000000 flash_ready_SN_and_VERSION
  1117. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:676 .text.flash_ready_SN_and_VERSION:00000034 $d
  1118. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:696 .bss.pmu_hardversion:00000000 pmu_hardversion
  1119. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:703 .bss.pmu_sn:00000000 pmu_sn
  1120. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:685 .bss.flash_count.0:00000000 $d
  1121. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:689 .bss.flash_count.0:00000000 flash_count.0
  1122. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:692 .bss.pmu_hardversion:00000000 $d
  1123. C:\Users\zl835\AppData\Local\Temp\ccwGyLEb.s:699 .bss.pmu_sn:00000000 $d
  1124. UNDEFINED SYMBOLS
  1125. HAL_FLASHEx_Erase
  1126. HAL_FLASH_Unlock
  1127. HAL_FLASH_Program
  1128. HAL_FLASH_Lock