soft_flash.lst 57 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.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, 6
  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 .global write_aboutage_information
  21. 20 .section .bss.write_aboutage_information,"aw",%nobits
  22. 23 write_aboutage_information:
  23. 24 0000 00 .space 1
  24. 25 .global read_aboutage_information
  25. 26 .section .bss.read_aboutage_information,"aw",%nobits
  26. 29 read_aboutage_information:
  27. 30 0000 00 .space 1
  28. 31 .global set_cali_voltage
  29. 32 .section .bss.set_cali_voltage,"aw",%nobits
  30. 33 .align 1
  31. 36 set_cali_voltage:
  32. 37 0000 0000 .space 2
  33. 38 .global set_pmu_serail
  34. 39 .section .bss.set_pmu_serail,"aw",%nobits
  35. 40 .align 2
  36. 43 set_pmu_serail:
  37. 44 0000 00000000 .space 4
  38. 45 .global flash_pmu_par
  39. 46 .section .bss.flash_pmu_par,"aw",%nobits
  40. 47 .align 2
  41. 50 flash_pmu_par:
  42. 51 0000 00000000 .space 18
  43. 51 00000000
  44. 51 00000000
  45. 51 00000000
  46. 51 0000
  47. 52 .global current_pmu_par
  48. 53 .section .bss.current_pmu_par,"aw",%nobits
  49. 54 .align 2
  50. 57 current_pmu_par:
  51. 58 0000 00000000 .space 16
  52. 58 00000000
  53. 58 00000000
  54. 58 00000000
  55. 59 .global write_flash_flag
  56. 60 .section .bss.write_flash_flag,"aw",%nobits
  57. 63 write_flash_flag:
  58. 64 0000 00 .space 1
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 2
  60. 65 .section .text.ReadFlashNBtye,"ax",%progbits
  61. 66 .align 1
  62. 67 .global ReadFlashNBtye
  63. 68 .syntax unified
  64. 69 .thumb
  65. 70 .thumb_func
  66. 72 ReadFlashNBtye:
  67. 73 .LFB133:
  68. 74 .file 1 "user_src/soft_flash.c"
  69. 1:user_src/soft_flash.c **** #include "soft_flash.h"
  70. 2:user_src/soft_flash.c **** #include <string.h>
  71. 3:user_src/soft_flash.c **** #include "main.h"
  72. 4:user_src/soft_flash.c **** #include "soft_flow.h"
  73. 5:user_src/soft_flash.c **** #include "soft_p_2_c.h"
  74. 6:user_src/soft_flash.c **** #include "config.h"
  75. 7:user_src/soft_flash.c **** #include "soft_version.h"
  76. 8:user_src/soft_flash.c ****
  77. 9:user_src/soft_flash.c ****
  78. 10:user_src/soft_flash.c ****
  79. 11:user_src/soft_flash.c ****
  80. 12:user_src/soft_flash.c **** bool write_aboutage_information = false;
  81. 13:user_src/soft_flash.c **** bool read_aboutage_information = false;
  82. 14:user_src/soft_flash.c ****
  83. 15:user_src/soft_flash.c **** short set_cali_voltage = 0;
  84. 16:user_src/soft_flash.c **** uint32_t set_pmu_serail = 0;
  85. 17:user_src/soft_flash.c ****
  86. 18:user_src/soft_flash.c **** _F_PMU_PAR flash_pmu_par;
  87. 19:user_src/soft_flash.c **** _C_PMU_PAR current_pmu_par;
  88. 20:user_src/soft_flash.c **** bool write_flash_flag = false;
  89. 21:user_src/soft_flash.c **** /**
  90. 22:user_src/soft_flash.c **** * @file ReadFlashNBtye
  91. 23:user_src/soft_flash.c **** * @brief 读flash
  92. 24:user_src/soft_flash.c **** * @param none
  93. 25:user_src/soft_flash.c **** * @details
  94. 26:user_src/soft_flash.c **** * @author Zhang Sir
  95. 27:user_src/soft_flash.c **** **/
  96. 28:user_src/soft_flash.c **** void ReadFlashNBtye(uint32_t addr, uint8_t *pdata, uint16_t size)
  97. 29:user_src/soft_flash.c **** {
  98. 75 .loc 1 29 1
  99. 76 .cfi_startproc
  100. 77 @ args = 0, pretend = 0, frame = 24
  101. 78 @ frame_needed = 1, uses_anonymous_args = 0
  102. 79 @ link register save eliminated.
  103. 80 0000 80B4 push {r7}
  104. 81 .LCFI0:
  105. 82 .cfi_def_cfa_offset 4
  106. 83 .cfi_offset 7, -4
  107. 84 0002 87B0 sub sp, sp, #28
  108. 85 .LCFI1:
  109. 86 .cfi_def_cfa_offset 32
  110. 87 0004 00AF add r7, sp, #0
  111. 88 .LCFI2:
  112. 89 .cfi_def_cfa_register 7
  113. 90 0006 F860 str r0, [r7, #12]
  114. 91 0008 B960 str r1, [r7, #8]
  115. 92 000a 1346 mov r3, r2
  116. 93 000c FB80 strh r3, [r7, #6] @ movhi
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 3
  118. 94 .LBB7:
  119. 30:user_src/soft_flash.c **** for (size_t i = 0; i < size; i++)
  120. 95 .loc 1 30 17
  121. 96 000e 0023 movs r3, #0
  122. 97 0010 7B61 str r3, [r7, #20]
  123. 98 .loc 1 30 5
  124. 99 0012 0CE0 b .L2
  125. 100 .L3:
  126. 31:user_src/soft_flash.c **** {
  127. 32:user_src/soft_flash.c **** *(pdata + i) = *((__IO uint8_t *)addr + i);
  128. 101 .loc 1 32 46 discriminator 3
  129. 102 0014 7A69 ldr r2, [r7, #20]
  130. 103 0016 FB68 ldr r3, [r7, #12]
  131. 104 0018 1344 add r3, r3, r2
  132. 105 001a 1946 mov r1, r3
  133. 106 .loc 1 32 16 discriminator 3
  134. 107 001c BA68 ldr r2, [r7, #8]
  135. 108 001e 7B69 ldr r3, [r7, #20]
  136. 109 0020 1344 add r3, r3, r2
  137. 110 .loc 1 32 23 discriminator 3
  138. 111 0022 0A78 ldrb r2, [r1]
  139. 112 0024 D2B2 uxtb r2, r2
  140. 113 .loc 1 32 21 discriminator 3
  141. 114 0026 1A70 strb r2, [r3]
  142. 30:user_src/soft_flash.c **** for (size_t i = 0; i < size; i++)
  143. 115 .loc 1 30 35 discriminator 3
  144. 116 0028 7B69 ldr r3, [r7, #20]
  145. 117 002a 0133 adds r3, r3, #1
  146. 118 002c 7B61 str r3, [r7, #20]
  147. 119 .L2:
  148. 30:user_src/soft_flash.c **** for (size_t i = 0; i < size; i++)
  149. 120 .loc 1 30 26 discriminator 1
  150. 121 002e FB88 ldrh r3, [r7, #6]
  151. 30:user_src/soft_flash.c **** for (size_t i = 0; i < size; i++)
  152. 122 .loc 1 30 5 discriminator 1
  153. 123 0030 7A69 ldr r2, [r7, #20]
  154. 124 0032 9A42 cmp r2, r3
  155. 125 0034 EED3 bcc .L3
  156. 126 .LBE7:
  157. 33:user_src/soft_flash.c **** }
  158. 34:user_src/soft_flash.c **** }
  159. 127 .loc 1 34 1
  160. 128 0036 00BF nop
  161. 129 0038 00BF nop
  162. 130 003a 1C37 adds r7, r7, #28
  163. 131 .LCFI3:
  164. 132 .cfi_def_cfa_offset 4
  165. 133 003c BD46 mov sp, r7
  166. 134 .LCFI4:
  167. 135 .cfi_def_cfa_register 13
  168. 136 @ sp needed
  169. 137 003e 5DF8047B ldr r7, [sp], #4
  170. 138 .LCFI5:
  171. 139 .cfi_restore 7
  172. 140 .cfi_def_cfa_offset 0
  173. 141 0042 7047 bx lr
  174. 142 .cfi_endproc
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 4
  176. 143 .LFE133:
  177. 145 .section .text.WriteFlashNBtye,"ax",%progbits
  178. 146 .align 1
  179. 147 .global WriteFlashNBtye
  180. 148 .syntax unified
  181. 149 .thumb
  182. 150 .thumb_func
  183. 152 WriteFlashNBtye:
  184. 153 .LFB134:
  185. 35:user_src/soft_flash.c ****
  186. 36:user_src/soft_flash.c ****
  187. 37:user_src/soft_flash.c **** /**
  188. 38:user_src/soft_flash.c **** * @file WriteFlashNBtye
  189. 39:user_src/soft_flash.c **** * @brief 写flash
  190. 40:user_src/soft_flash.c **** * @param none
  191. 41:user_src/soft_flash.c **** * @details
  192. 42:user_src/soft_flash.c **** * @author Zhang Sir
  193. 43:user_src/soft_flash.c **** **/
  194. 44:user_src/soft_flash.c **** HAL_StatusTypeDef WriteFlashNBtye(uint32_t addr, uint8_t *pdata, uint16_t size)
  195. 45:user_src/soft_flash.c **** {
  196. 154 .loc 1 45 1
  197. 155 .cfi_startproc
  198. 156 @ args = 0, pretend = 0, frame = 40
  199. 157 @ frame_needed = 1, uses_anonymous_args = 0
  200. 158 0000 B0B5 push {r4, r5, r7, lr}
  201. 159 .LCFI6:
  202. 160 .cfi_def_cfa_offset 16
  203. 161 .cfi_offset 4, -16
  204. 162 .cfi_offset 5, -12
  205. 163 .cfi_offset 7, -8
  206. 164 .cfi_offset 14, -4
  207. 165 0002 8AB0 sub sp, sp, #40
  208. 166 .LCFI7:
  209. 167 .cfi_def_cfa_offset 56
  210. 168 0004 00AF add r7, sp, #0
  211. 169 .LCFI8:
  212. 170 .cfi_def_cfa_register 7
  213. 171 0006 F860 str r0, [r7, #12]
  214. 172 0008 B960 str r1, [r7, #8]
  215. 173 000a 1346 mov r3, r2
  216. 174 000c FB80 strh r3, [r7, #6] @ movhi
  217. 46:user_src/soft_flash.c **** HAL_StatusTypeDef write_status = HAL_OK;
  218. 175 .loc 1 46 23
  219. 176 000e 0023 movs r3, #0
  220. 177 0010 87F82730 strb r3, [r7, #39]
  221. 178 .LBB8:
  222. 179 .LBB9:
  223. 180 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
  224. 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
  225. 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
  226. 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
  227. 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
  228. 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
  229. 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
  230. 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
  231. 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
  232. 9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 5
  234. 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
  235. 11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  236. 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
  237. 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
  238. 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
  239. 15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  240. 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
  241. 17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  242. 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
  243. 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  244. 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  245. 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
  246. 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
  247. 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  248. 24:Drivers/CMSIS/Include/cmsis_gcc.h ****
  249. 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
  250. 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
  251. 27:Drivers/CMSIS/Include/cmsis_gcc.h ****
  252. 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
  253. 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  254. 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
  255. 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
  256. 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
  257. 33:Drivers/CMSIS/Include/cmsis_gcc.h ****
  258. 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
  259. 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
  260. 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
  261. 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  262. 38:Drivers/CMSIS/Include/cmsis_gcc.h ****
  263. 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
  264. 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
  265. 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
  266. 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  267. 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
  268. 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
  269. 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  270. 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
  271. 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
  272. 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  273. 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
  274. 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
  275. 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  276. 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
  277. 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
  278. 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  279. 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
  280. 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
  281. 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  282. 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
  283. 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
  284. 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  285. 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
  286. 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
  287. 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  288. 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
  289. 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
  290. 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 6
  292. 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
  293. 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
  294. 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  295. 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
  296. 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  297. 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  298. 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  299. 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
  300. 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  301. 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
  302. 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  303. 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
  304. 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  305. 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  306. 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  307. 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
  308. 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  309. 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
  310. 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  311. 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
  312. 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  313. 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  314. 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  315. 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
  316. 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  317. 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
  318. 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  319. 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
  320. 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  321. 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  322. 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  323. 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
  324. 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  325. 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
  326. 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  327. 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
  328. 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  329. 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  330. 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  331. 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
  332. 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  333. 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
  334. 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  335. 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
  336. 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
  337. 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  338. 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
  339. 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
  340. 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  341. 116:Drivers/CMSIS/Include/cmsis_gcc.h ****
  342. 117:Drivers/CMSIS/Include/cmsis_gcc.h ****
  343. 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
  344. 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
  345. 120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
  346. 121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
  347. 122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  348. 123:Drivers/CMSIS/Include/cmsis_gcc.h ****
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 7
  350. 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  351. 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
  352. 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
  353. 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  354. 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  355. 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
  356. 130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  357. 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
  358. 132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  359. 133:Drivers/CMSIS/Include/cmsis_gcc.h ****
  360. 134:Drivers/CMSIS/Include/cmsis_gcc.h ****
  361. 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  362. 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
  363. 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
  364. 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  365. 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  366. 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
  367. 141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  368. 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
  369. 181 .loc 2 142 3
  370. 182 .syntax unified
  371. 183 @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  372. 184 0014 72B6 cpsid i
  373. 185 @ 0 "" 2
  374. 143:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  375. 186 .loc 2 143 1
  376. 187 .thumb
  377. 188 .syntax unified
  378. 189 0016 00BF nop
  379. 190 .LBE9:
  380. 191 .LBE8:
  381. 47:user_src/soft_flash.c ****
  382. 48:user_src/soft_flash.c **** __disable_irq();
  383. 49:user_src/soft_flash.c **** HAL_FLASH_Unlock();
  384. 192 .loc 1 49 5
  385. 193 0018 FFF7FEFF bl HAL_FLASH_Unlock
  386. 50:user_src/soft_flash.c ****
  387. 51:user_src/soft_flash.c **** //擦1页flash 1页2kb
  388. 52:user_src/soft_flash.c **** FLASH_EraseInitTypeDef f;
  389. 53:user_src/soft_flash.c **** f.TypeErase = FLASH_TYPEERASE_PAGES;
  390. 194 .loc 1 53 17
  391. 195 001c 0023 movs r3, #0
  392. 196 001e 7B61 str r3, [r7, #20]
  393. 54:user_src/soft_flash.c **** f.PageAddress = addr;
  394. 197 .loc 1 54 19
  395. 198 0020 FB68 ldr r3, [r7, #12]
  396. 199 0022 BB61 str r3, [r7, #24]
  397. 55:user_src/soft_flash.c **** f.NbPages = 1;
  398. 200 .loc 1 55 15
  399. 201 0024 0123 movs r3, #1
  400. 202 0026 FB61 str r3, [r7, #28]
  401. 56:user_src/soft_flash.c **** uint32_t PageError = 0;
  402. 203 .loc 1 56 14
  403. 204 0028 0023 movs r3, #0
  404. 205 002a 3B61 str r3, [r7, #16]
  405. 57:user_src/soft_flash.c **** HAL_FLASHEx_Erase(&f, &PageError);
  406. 206 .loc 1 57 5
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 8
  408. 207 002c 07F11002 add r2, r7, #16
  409. 208 0030 07F11403 add r3, r7, #20
  410. 209 0034 1146 mov r1, r2
  411. 210 0036 1846 mov r0, r3
  412. 211 0038 FFF7FEFF bl HAL_FLASHEx_Erase
  413. 58:user_src/soft_flash.c ****
  414. 59:user_src/soft_flash.c **** //写flash 每次写2字节
  415. 60:user_src/soft_flash.c **** uint16_t TempBuf = 0;
  416. 212 .loc 1 60 14
  417. 213 003c 0023 movs r3, #0
  418. 214 003e 7B84 strh r3, [r7, #34] @ movhi
  419. 215 .LBB10:
  420. 61:user_src/soft_flash.c **** for(uint16_t i = 0; i < (size % 2 == 0? size/2 : size/2 +1); i++ )
  421. 216 .loc 1 61 18
  422. 217 0040 0023 movs r3, #0
  423. 218 0042 BB84 strh r3, [r7, #36] @ movhi
  424. 219 .loc 1 61 5
  425. 220 0044 25E0 b .L5
  426. 221 .L8:
  427. 62:user_src/soft_flash.c **** {
  428. 63:user_src/soft_flash.c **** TempBuf = *(pdata + 2 * i) + (*(pdata + 2 * i + 1) << 8);
  429. 222 .loc 1 63 31 discriminator 7
  430. 223 0046 BB8C ldrh r3, [r7, #36]
  431. 224 0048 5B00 lsls r3, r3, #1
  432. 225 004a 1A46 mov r2, r3
  433. 226 .loc 1 63 27 discriminator 7
  434. 227 004c BB68 ldr r3, [r7, #8]
  435. 228 004e 1344 add r3, r3, r2
  436. 229 .loc 1 63 19 discriminator 7
  437. 230 0050 1B78 ldrb r3, [r3] @ zero_extendqisi2
  438. 231 0052 9AB2 uxth r2, r3
  439. 232 .loc 1 63 51 discriminator 7
  440. 233 0054 BB8C ldrh r3, [r7, #36]
  441. 234 0056 5B00 lsls r3, r3, #1
  442. 235 .loc 1 63 55 discriminator 7
  443. 236 0058 0133 adds r3, r3, #1
  444. 237 005a B968 ldr r1, [r7, #8]
  445. 238 005c 0B44 add r3, r3, r1
  446. 239 .loc 1 63 39 discriminator 7
  447. 240 005e 1B78 ldrb r3, [r3] @ zero_extendqisi2
  448. 241 0060 9BB2 uxth r3, r3
  449. 242 .loc 1 63 60 discriminator 7
  450. 243 0062 1B02 lsls r3, r3, #8
  451. 244 0064 9BB2 uxth r3, r3
  452. 245 .loc 1 63 17 discriminator 7
  453. 246 0066 1344 add r3, r3, r2
  454. 247 0068 7B84 strh r3, [r7, #34] @ movhi
  455. 64:user_src/soft_flash.c **** write_status = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, addr + i * 2, TempBuf);
  456. 248 .loc 1 64 79 discriminator 7
  457. 249 006a BB8C ldrh r3, [r7, #36]
  458. 250 006c 5B00 lsls r3, r3, #1
  459. 251 006e 1A46 mov r2, r3
  460. 252 .loc 1 64 24 discriminator 7
  461. 253 0070 FB68 ldr r3, [r7, #12]
  462. 254 0072 D118 adds r1, r2, r3
  463. 255 0074 7B8C ldrh r3, [r7, #34]
  464. 256 0076 0022 movs r2, #0
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 9
  466. 257 0078 1C46 mov r4, r3
  467. 258 007a 1546 mov r5, r2
  468. 259 007c 2246 mov r2, r4
  469. 260 007e 2B46 mov r3, r5
  470. 261 0080 0120 movs r0, #1
  471. 262 0082 FFF7FEFF bl HAL_FLASH_Program
  472. 263 0086 0346 mov r3, r0
  473. 264 0088 87F82730 strb r3, [r7, #39]
  474. 61:user_src/soft_flash.c **** for(uint16_t i = 0; i < (size % 2 == 0? size/2 : size/2 +1); i++ )
  475. 265 .loc 1 61 67 discriminator 7
  476. 266 008c BB8C ldrh r3, [r7, #36]
  477. 267 008e 0133 adds r3, r3, #1
  478. 268 0090 BB84 strh r3, [r7, #36] @ movhi
  479. 269 .L5:
  480. 61:user_src/soft_flash.c **** for(uint16_t i = 0; i < (size % 2 == 0? size/2 : size/2 +1); i++ )
  481. 270 .loc 1 61 27 discriminator 1
  482. 271 0092 BA8C ldrh r2, [r7, #36]
  483. 61:user_src/soft_flash.c **** for(uint16_t i = 0; i < (size % 2 == 0? size/2 : size/2 +1); i++ )
  484. 272 .loc 1 61 39 discriminator 1
  485. 273 0094 FB88 ldrh r3, [r7, #6] @ movhi
  486. 274 0096 03F00103 and r3, r3, #1
  487. 275 009a 9BB2 uxth r3, r3
  488. 61:user_src/soft_flash.c **** for(uint16_t i = 0; i < (size % 2 == 0? size/2 : size/2 +1); i++ )
  489. 276 .loc 1 61 52 discriminator 1
  490. 277 009c 002B cmp r3, #0
  491. 278 009e 03D1 bne .L6
  492. 61:user_src/soft_flash.c **** for(uint16_t i = 0; i < (size % 2 == 0? size/2 : size/2 +1); i++ )
  493. 279 .loc 1 61 49 discriminator 3
  494. 280 00a0 FB88 ldrh r3, [r7, #6]
  495. 281 00a2 5B08 lsrs r3, r3, #1
  496. 282 00a4 9BB2 uxth r3, r3
  497. 283 00a6 03E0 b .L7
  498. 284 .L6:
  499. 61:user_src/soft_flash.c **** for(uint16_t i = 0; i < (size % 2 == 0? size/2 : size/2 +1); i++ )
  500. 285 .loc 1 61 58 discriminator 4
  501. 286 00a8 FB88 ldrh r3, [r7, #6]
  502. 287 00aa 5B08 lsrs r3, r3, #1
  503. 288 00ac 9BB2 uxth r3, r3
  504. 61:user_src/soft_flash.c **** for(uint16_t i = 0; i < (size % 2 == 0? size/2 : size/2 +1); i++ )
  505. 289 .loc 1 61 52 discriminator 4
  506. 290 00ae 0133 adds r3, r3, #1
  507. 291 .L7:
  508. 61:user_src/soft_flash.c **** for(uint16_t i = 0; i < (size % 2 == 0? size/2 : size/2 +1); i++ )
  509. 292 .loc 1 61 5 discriminator 6
  510. 293 00b0 9342 cmp r3, r2
  511. 294 00b2 C8DC bgt .L8
  512. 295 .LBE10:
  513. 65:user_src/soft_flash.c **** }
  514. 66:user_src/soft_flash.c ****
  515. 67:user_src/soft_flash.c **** HAL_FLASH_Lock();
  516. 296 .loc 1 67 5
  517. 297 00b4 FFF7FEFF bl HAL_FLASH_Lock
  518. 298 .LBB11:
  519. 299 .LBB12:
  520. 131:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  521. 300 .loc 2 131 3
  522. 301 .syntax unified
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 10
  524. 302 @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  525. 303 00b8 62B6 cpsie i
  526. 304 @ 0 "" 2
  527. 132:Drivers/CMSIS/Include/cmsis_gcc.h ****
  528. 305 .loc 2 132 1
  529. 306 .thumb
  530. 307 .syntax unified
  531. 308 00ba 00BF nop
  532. 309 .LBE12:
  533. 310 .LBE11:
  534. 68:user_src/soft_flash.c **** __enable_irq();
  535. 69:user_src/soft_flash.c ****
  536. 70:user_src/soft_flash.c **** return write_status;
  537. 311 .loc 1 70 12
  538. 312 00bc 97F82730 ldrb r3, [r7, #39] @ zero_extendqisi2
  539. 71:user_src/soft_flash.c **** }
  540. 313 .loc 1 71 1
  541. 314 00c0 1846 mov r0, r3
  542. 315 00c2 2837 adds r7, r7, #40
  543. 316 .LCFI9:
  544. 317 .cfi_def_cfa_offset 16
  545. 318 00c4 BD46 mov sp, r7
  546. 319 .LCFI10:
  547. 320 .cfi_def_cfa_register 13
  548. 321 @ sp needed
  549. 322 00c6 B0BD pop {r4, r5, r7, pc}
  550. 323 .cfi_endproc
  551. 324 .LFE134:
  552. 326 .section .text.check_flash_par_normal,"ax",%progbits
  553. 327 .align 1
  554. 328 .global check_flash_par_normal
  555. 329 .syntax unified
  556. 330 .thumb
  557. 331 .thumb_func
  558. 333 check_flash_par_normal:
  559. 334 .LFB135:
  560. 72:user_src/soft_flash.c ****
  561. 73:user_src/soft_flash.c ****
  562. 74:user_src/soft_flash.c **** /**
  563. 75:user_src/soft_flash.c **** * @file check_flash_par_normal
  564. 76:user_src/soft_flash.c **** * @brief 检查flash参数是否合法
  565. 77:user_src/soft_flash.c **** * @param none
  566. 78:user_src/soft_flash.c **** * @details
  567. 79:user_src/soft_flash.c **** * @author Zhang Sir
  568. 80:user_src/soft_flash.c **** **/
  569. 81:user_src/soft_flash.c **** short check_flash_par_normal(short par, short min_par, short max_par ,uint8_t par_or_zero)
  570. 82:user_src/soft_flash.c **** {
  571. 335 .loc 1 82 1
  572. 336 .cfi_startproc
  573. 337 @ args = 0, pretend = 0, frame = 8
  574. 338 @ frame_needed = 1, uses_anonymous_args = 0
  575. 339 @ link register save eliminated.
  576. 340 0000 90B4 push {r4, r7}
  577. 341 .LCFI11:
  578. 342 .cfi_def_cfa_offset 8
  579. 343 .cfi_offset 4, -8
  580. 344 .cfi_offset 7, -4
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 11
  582. 345 0002 82B0 sub sp, sp, #8
  583. 346 .LCFI12:
  584. 347 .cfi_def_cfa_offset 16
  585. 348 0004 00AF add r7, sp, #0
  586. 349 .LCFI13:
  587. 350 .cfi_def_cfa_register 7
  588. 351 0006 0446 mov r4, r0
  589. 352 0008 0846 mov r0, r1
  590. 353 000a 1146 mov r1, r2
  591. 354 000c 1A46 mov r2, r3
  592. 355 000e 2346 mov r3, r4 @ movhi
  593. 356 0010 FB80 strh r3, [r7, #6] @ movhi
  594. 357 0012 0346 mov r3, r0 @ movhi
  595. 358 0014 BB80 strh r3, [r7, #4] @ movhi
  596. 359 0016 0B46 mov r3, r1 @ movhi
  597. 360 0018 7B80 strh r3, [r7, #2] @ movhi
  598. 361 001a 1346 mov r3, r2
  599. 362 001c 7B70 strb r3, [r7, #1]
  600. 83:user_src/soft_flash.c **** if(par >= max_par)
  601. 363 .loc 1 83 7
  602. 364 001e B7F90620 ldrsh r2, [r7, #6]
  603. 365 0022 B7F90230 ldrsh r3, [r7, #2]
  604. 366 0026 9A42 cmp r2, r3
  605. 367 0028 07DB blt .L11
  606. 84:user_src/soft_flash.c **** {
  607. 85:user_src/soft_flash.c **** if(par_or_zero == 1)
  608. 368 .loc 1 85 11
  609. 369 002a 7B78 ldrb r3, [r7, #1] @ zero_extendqisi2
  610. 370 002c 012B cmp r3, #1
  611. 371 002e 02D1 bne .L12
  612. 86:user_src/soft_flash.c **** {
  613. 87:user_src/soft_flash.c **** return max_par;
  614. 372 .loc 1 87 20
  615. 373 0030 B7F90230 ldrsh r3, [r7, #2]
  616. 374 0034 11E0 b .L13
  617. 375 .L12:
  618. 88:user_src/soft_flash.c **** }
  619. 89:user_src/soft_flash.c **** else
  620. 90:user_src/soft_flash.c **** {
  621. 91:user_src/soft_flash.c **** return 0;
  622. 376 .loc 1 91 20
  623. 377 0036 0023 movs r3, #0
  624. 378 0038 0FE0 b .L13
  625. 379 .L11:
  626. 92:user_src/soft_flash.c **** }
  627. 93:user_src/soft_flash.c **** }
  628. 94:user_src/soft_flash.c **** else if(par <= min_par)
  629. 380 .loc 1 94 12
  630. 381 003a B7F90620 ldrsh r2, [r7, #6]
  631. 382 003e B7F90430 ldrsh r3, [r7, #4]
  632. 383 0042 9A42 cmp r2, r3
  633. 384 0044 07DC bgt .L14
  634. 95:user_src/soft_flash.c **** {
  635. 96:user_src/soft_flash.c **** if(par_or_zero == 1)
  636. 385 .loc 1 96 11
  637. 386 0046 7B78 ldrb r3, [r7, #1] @ zero_extendqisi2
  638. 387 0048 012B cmp r3, #1
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 12
  640. 388 004a 02D1 bne .L15
  641. 97:user_src/soft_flash.c **** {
  642. 98:user_src/soft_flash.c **** return min_par;
  643. 389 .loc 1 98 20
  644. 390 004c B7F90430 ldrsh r3, [r7, #4]
  645. 391 0050 03E0 b .L13
  646. 392 .L15:
  647. 99:user_src/soft_flash.c **** }
  648. 100:user_src/soft_flash.c **** else
  649. 101:user_src/soft_flash.c **** {
  650. 102:user_src/soft_flash.c **** return 0;
  651. 393 .loc 1 102 20
  652. 394 0052 0023 movs r3, #0
  653. 395 0054 01E0 b .L13
  654. 396 .L14:
  655. 103:user_src/soft_flash.c **** }
  656. 104:user_src/soft_flash.c **** }
  657. 105:user_src/soft_flash.c **** else
  658. 106:user_src/soft_flash.c **** {
  659. 107:user_src/soft_flash.c **** return par;
  660. 397 .loc 1 107 16
  661. 398 0056 B7F90630 ldrsh r3, [r7, #6]
  662. 399 .L13:
  663. 108:user_src/soft_flash.c **** }
  664. 109:user_src/soft_flash.c **** }
  665. 400 .loc 1 109 1
  666. 401 005a 1846 mov r0, r3
  667. 402 005c 0837 adds r7, r7, #8
  668. 403 .LCFI14:
  669. 404 .cfi_def_cfa_offset 8
  670. 405 005e BD46 mov sp, r7
  671. 406 .LCFI15:
  672. 407 .cfi_def_cfa_register 13
  673. 408 @ sp needed
  674. 409 0060 90BC pop {r4, r7}
  675. 410 .LCFI16:
  676. 411 .cfi_restore 7
  677. 412 .cfi_restore 4
  678. 413 .cfi_def_cfa_offset 0
  679. 414 0062 7047 bx lr
  680. 415 .cfi_endproc
  681. 416 .LFE135:
  682. 418 .global reset_reason_temp
  683. 419 .section .bss.reset_reason_temp,"aw",%nobits
  684. 420 .align 1
  685. 423 reset_reason_temp:
  686. 424 0000 0000 .space 2
  687. 425 .section .text.flash_read_funcktion,"ax",%progbits
  688. 426 .align 1
  689. 427 .global flash_read_funcktion
  690. 428 .syntax unified
  691. 429 .thumb
  692. 430 .thumb_func
  693. 432 flash_read_funcktion:
  694. 433 .LFB136:
  695. 110:user_src/soft_flash.c ****
  696. 111:user_src/soft_flash.c ****
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 13
  698. 112:user_src/soft_flash.c ****
  699. 113:user_src/soft_flash.c ****
  700. 114:user_src/soft_flash.c **** /**
  701. 115:user_src/soft_flash.c **** * @file flash_read_vol_funcktion
  702. 116:user_src/soft_flash.c **** * @brief 从flash中读取电压校准的系数
  703. 117:user_src/soft_flash.c **** * @param none
  704. 118:user_src/soft_flash.c **** * @details 125kb地址0x801F800
  705. 119:user_src/soft_flash.c **** * @author Zhang Sir
  706. 120:user_src/soft_flash.c **** **/
  707. 121:user_src/soft_flash.c **** short reset_reason_temp = 0;
  708. 122:user_src/soft_flash.c **** void flash_read_funcktion( void )
  709. 123:user_src/soft_flash.c **** {
  710. 434 .loc 1 123 1
  711. 435 .cfi_startproc
  712. 436 @ args = 0, pretend = 0, frame = 24
  713. 437 @ frame_needed = 1, uses_anonymous_args = 0
  714. 438 0000 80B5 push {r7, lr}
  715. 439 .LCFI17:
  716. 440 .cfi_def_cfa_offset 8
  717. 441 .cfi_offset 7, -8
  718. 442 .cfi_offset 14, -4
  719. 443 0002 86B0 sub sp, sp, #24
  720. 444 .LCFI18:
  721. 445 .cfi_def_cfa_offset 32
  722. 446 0004 00AF add r7, sp, #0
  723. 447 .LCFI19:
  724. 448 .cfi_def_cfa_register 7
  725. 124:user_src/soft_flash.c **** GPIO_InitTypeDef GPIO_InitStruct = {0};
  726. 449 .loc 1 124 22
  727. 450 0006 3B1D adds r3, r7, #4
  728. 451 0008 0022 movs r2, #0
  729. 452 000a 1A60 str r2, [r3]
  730. 453 000c 5A60 str r2, [r3, #4]
  731. 454 000e 9A60 str r2, [r3, #8]
  732. 455 0010 DA60 str r2, [r3, #12]
  733. 456 0012 1A61 str r2, [r3, #16]
  734. 125:user_src/soft_flash.c ****
  735. 126:user_src/soft_flash.c **** ReadFlashNBtye( FLASH_PAR_INFO, ( uint8_t * )&flash_pmu_par, sizeof( _F_PMU_PAR ) );
  736. 457 .loc 1 126 5
  737. 458 0014 1222 movs r2, #18
  738. 459 0016 2149 ldr r1, .L20
  739. 460 0018 2148 ldr r0, .L20+4
  740. 461 001a FFF7FEFF bl ReadFlashNBtye
  741. 127:user_src/soft_flash.c ****
  742. 128:user_src/soft_flash.c **** if(flash_pmu_par.flag != 0xAA)
  743. 462 .loc 1 128 21
  744. 463 001e 1F4B ldr r3, .L20
  745. 464 0020 B3F90030 ldrsh r3, [r3]
  746. 465 .loc 1 128 7
  747. 466 0024 AA2B cmp r3, #170
  748. 467 0026 01D0 beq .L17
  749. 129:user_src/soft_flash.c **** parameter_assignment_default();
  750. 468 .loc 1 129 9
  751. 469 0028 FFF7FEFF bl parameter_assignment_default
  752. 470 .L17:
  753. 130:user_src/soft_flash.c ****
  754. 131:user_src/soft_flash.c **** parameter_copy();
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 14
  756. 471 .loc 1 131 5
  757. 472 002c FFF7FEFF bl parameter_copy
  758. 132:user_src/soft_flash.c ****
  759. 133:user_src/soft_flash.c **** if(current_pmu_par.uavtype == VK_ALL_IN_ONE)
  760. 473 .loc 1 133 23
  761. 474 0030 1C4B ldr r3, .L20+8
  762. 475 0032 B3F90230 ldrsh r3, [r3, #2]
  763. 476 .loc 1 133 7
  764. 477 0036 122B cmp r3, #18
  765. 478 0038 06D1 bne .L18
  766. 134:user_src/soft_flash.c **** {
  767. 135:user_src/soft_flash.c **** init_pwmout(VK_ALL_IN_ONE);
  768. 479 .loc 1 135 9
  769. 480 003a 1220 movs r0, #18
  770. 481 003c FFF7FEFF bl init_pwmout
  771. 136:user_src/soft_flash.c **** init_gpio(VK_ALL_IN_ONE);
  772. 482 .loc 1 136 9
  773. 483 0040 1220 movs r0, #18
  774. 484 0042 FFF7FEFF bl init_gpio
  775. 485 0046 1FE0 b .L19
  776. 486 .L18:
  777. 137:user_src/soft_flash.c **** }
  778. 138:user_src/soft_flash.c **** else
  779. 139:user_src/soft_flash.c **** {
  780. 140:user_src/soft_flash.c **** //先执行上电离心喷头会转
  781. 141:user_src/soft_flash.c ****
  782. 142:user_src/soft_flash.c **** GPIO_InitStruct.Pin = EXIT_1T_Pin|EXIT_2T_Pin;
  783. 487 .loc 1 142 29
  784. 488 0048 C023 movs r3, #192
  785. 489 004a 7B60 str r3, [r7, #4]
  786. 143:user_src/soft_flash.c **** GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING;//GPIO_MODE_IT_RISING;
  787. 490 .loc 1 143 30
  788. 491 004c 4FF44413 mov r3, #3211264
  789. 492 0050 BB60 str r3, [r7, #8]
  790. 144:user_src/soft_flash.c **** GPIO_InitStruct.Pull = GPIO_PULLUP;
  791. 493 .loc 1 144 30
  792. 494 0052 0123 movs r3, #1
  793. 495 0054 FB60 str r3, [r7, #12]
  794. 145:user_src/soft_flash.c **** HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  795. 496 .loc 1 145 9
  796. 497 0056 3B1D adds r3, r7, #4
  797. 498 0058 1946 mov r1, r3
  798. 499 005a 1348 ldr r0, .L20+12
  799. 500 005c FFF7FEFF bl HAL_GPIO_Init
  800. 146:user_src/soft_flash.c ****
  801. 147:user_src/soft_flash.c **** GPIO_InitStruct.Pin = EXIT_3T_Pin|EXIT_4T_Pin;
  802. 501 .loc 1 147 29
  803. 502 0060 4FF44073 mov r3, #768
  804. 503 0064 7B60 str r3, [r7, #4]
  805. 148:user_src/soft_flash.c **** GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  806. 504 .loc 1 148 30
  807. 505 0066 0023 movs r3, #0
  808. 506 0068 BB60 str r3, [r7, #8]
  809. 149:user_src/soft_flash.c **** GPIO_InitStruct.Pull = GPIO_PULLUP;
  810. 507 .loc 1 149 30
  811. 508 006a 0123 movs r3, #1
  812. 509 006c FB60 str r3, [r7, #12]
  813. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 15
  814. 150:user_src/soft_flash.c **** HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  815. 510 .loc 1 150 9
  816. 511 006e 3B1D adds r3, r7, #4
  817. 512 0070 1946 mov r1, r3
  818. 513 0072 0D48 ldr r0, .L20+12
  819. 514 0074 FFF7FEFF bl HAL_GPIO_Init
  820. 151:user_src/soft_flash.c ****
  821. 152:user_src/soft_flash.c ****
  822. 153:user_src/soft_flash.c **** /* EXTI interrupt init*/
  823. 154:user_src/soft_flash.c **** HAL_NVIC_SetPriority(EXTI9_5_IRQn, 0, 0);
  824. 515 .loc 1 154 9
  825. 516 0078 0022 movs r2, #0
  826. 517 007a 0021 movs r1, #0
  827. 518 007c 1720 movs r0, #23
  828. 519 007e FFF7FEFF bl HAL_NVIC_SetPriority
  829. 155:user_src/soft_flash.c **** HAL_NVIC_EnableIRQ(EXTI9_5_IRQn);
  830. 520 .loc 1 155 9
  831. 521 0082 1720 movs r0, #23
  832. 522 0084 FFF7FEFF bl HAL_NVIC_EnableIRQ
  833. 523 .L19:
  834. 156:user_src/soft_flash.c **** }
  835. 157:user_src/soft_flash.c **** HAL_TIM_Base_Start_IT(&htim4);
  836. 524 .loc 1 157 5
  837. 525 0088 0848 ldr r0, .L20+16
  838. 526 008a FFF7FEFF bl HAL_TIM_Base_Start_IT
  839. 158:user_src/soft_flash.c **** HAL_TIM_Base_Start(&htim4);
  840. 527 .loc 1 158 5
  841. 528 008e 0748 ldr r0, .L20+16
  842. 529 0090 FFF7FEFF bl HAL_TIM_Base_Start
  843. 159:user_src/soft_flash.c **** }
  844. 530 .loc 1 159 1
  845. 531 0094 00BF nop
  846. 532 0096 1837 adds r7, r7, #24
  847. 533 .LCFI20:
  848. 534 .cfi_def_cfa_offset 8
  849. 535 0098 BD46 mov sp, r7
  850. 536 .LCFI21:
  851. 537 .cfi_def_cfa_register 13
  852. 538 @ sp needed
  853. 539 009a 80BD pop {r7, pc}
  854. 540 .L21:
  855. 541 .align 2
  856. 542 .L20:
  857. 543 009c 00000000 .word flash_pmu_par
  858. 544 00a0 00680008 .word 134244352
  859. 545 00a4 00000000 .word current_pmu_par
  860. 546 00a8 00040048 .word 1207960576
  861. 547 00ac 00000000 .word htim4
  862. 548 .cfi_endproc
  863. 549 .LFE136:
  864. 551 .section .text.parameter_assignment_default,"ax",%progbits
  865. 552 .align 1
  866. 553 .global parameter_assignment_default
  867. 554 .syntax unified
  868. 555 .thumb
  869. 556 .thumb_func
  870. 558 parameter_assignment_default:
  871. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 16
  872. 559 .LFB137:
  873. 160:user_src/soft_flash.c ****
  874. 161:user_src/soft_flash.c **** /**
  875. 162:user_src/soft_flash.c **** * @file parameter_assignment_default
  876. 163:user_src/soft_flash.c **** * @brief 设置默认参数
  877. 164:user_src/soft_flash.c **** * @param none
  878. 165:user_src/soft_flash.c **** * @details
  879. 166:user_src/soft_flash.c **** * @author Zhang Sir
  880. 167:user_src/soft_flash.c **** **/
  881. 168:user_src/soft_flash.c **** void parameter_assignment_default(void)
  882. 169:user_src/soft_flash.c **** {
  883. 560 .loc 1 169 1
  884. 561 .cfi_startproc
  885. 562 @ args = 0, pretend = 0, frame = 0
  886. 563 @ frame_needed = 1, uses_anonymous_args = 0
  887. 564 0000 80B5 push {r7, lr}
  888. 565 .LCFI22:
  889. 566 .cfi_def_cfa_offset 8
  890. 567 .cfi_offset 7, -8
  891. 568 .cfi_offset 14, -4
  892. 569 0002 00AF add r7, sp, #0
  893. 570 .LCFI23:
  894. 571 .cfi_def_cfa_register 7
  895. 170:user_src/soft_flash.c **** flash_pmu_par.flag = 0xAA;
  896. 572 .loc 1 170 24
  897. 573 0004 124B ldr r3, .L23
  898. 574 0006 AA22 movs r2, #170
  899. 575 0008 1A80 strh r2, [r3] @ movhi
  900. 171:user_src/soft_flash.c **** flash_pmu_par._cal_vol = 0;
  901. 576 .loc 1 171 28
  902. 577 000a 114B ldr r3, .L23
  903. 578 000c 0022 movs r2, #0
  904. 579 000e 5A80 strh r2, [r3, #2] @ movhi
  905. 172:user_src/soft_flash.c **** flash_pmu_par._uavtype = 0;
  906. 580 .loc 1 172 28
  907. 581 0010 0F4B ldr r3, .L23
  908. 582 0012 0022 movs r2, #0
  909. 583 0014 9A80 strh r2, [r3, #4] @ movhi
  910. 173:user_src/soft_flash.c **** flash_pmu_par._abnormal_outage_flag = false;
  911. 584 .loc 1 173 41
  912. 585 0016 0E4B ldr r3, .L23
  913. 586 0018 0022 movs r2, #0
  914. 587 001a DA80 strh r2, [r3, #6] @ movhi
  915. 174:user_src/soft_flash.c **** flash_pmu_par._reset_reason = 0;
  916. 588 .loc 1 174 33
  917. 589 001c 0C4B ldr r3, .L23
  918. 590 001e 0022 movs r2, #0
  919. 591 0020 1A81 strh r2, [r3, #8] @ movhi
  920. 175:user_src/soft_flash.c **** flash_pmu_par._SN_L = PMU_SERIAL & 0xffff;
  921. 592 .loc 1 175 25
  922. 593 0022 0B4B ldr r3, .L23
  923. 594 0024 4AF66962 movw r2, #44649
  924. 595 0028 5A81 strh r2, [r3, #10] @ movhi
  925. 176:user_src/soft_flash.c **** flash_pmu_par._SN_H = (PMU_SERIAL >> 16) & 0xffff;
  926. 596 .loc 1 176 25
  927. 597 002a 094B ldr r3, .L23
  928. 598 002c 40F68E72 movw r2, #3982
  929. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 17
  930. 599 0030 9A81 strh r2, [r3, #12] @ movhi
  931. 177:user_src/soft_flash.c **** flash_pmu_par._hardVersion_L = PMU_HARDVERSION & 0xffff;
  932. 600 .loc 1 177 34
  933. 601 0032 074B ldr r3, .L23
  934. 602 0034 40F2E712 movw r2, #487
  935. 603 0038 DA81 strh r2, [r3, #14] @ movhi
  936. 178:user_src/soft_flash.c **** flash_pmu_par._hardVersion_H = (PMU_HARDVERSION >> 16) & 0xffff;
  937. 604 .loc 1 178 34
  938. 605 003a 054B ldr r3, .L23
  939. 606 003c 40F23512 movw r2, #309
  940. 607 0040 1A82 strh r2, [r3, #16] @ movhi
  941. 179:user_src/soft_flash.c ****
  942. 180:user_src/soft_flash.c **** WriteFlashNBtye(FLASH_PAR_INFO,(uint8_t *)&flash_pmu_par,sizeof(_F_PMU_PAR));
  943. 608 .loc 1 180 5
  944. 609 0042 1222 movs r2, #18
  945. 610 0044 0249 ldr r1, .L23
  946. 611 0046 0348 ldr r0, .L23+4
  947. 612 0048 FFF7FEFF bl WriteFlashNBtye
  948. 181:user_src/soft_flash.c **** }
  949. 613 .loc 1 181 1
  950. 614 004c 00BF nop
  951. 615 004e 80BD pop {r7, pc}
  952. 616 .L24:
  953. 617 .align 2
  954. 618 .L23:
  955. 619 0050 00000000 .word flash_pmu_par
  956. 620 0054 00680008 .word 134244352
  957. 621 .cfi_endproc
  958. 622 .LFE137:
  959. 624 .section .text.parameter_copy,"ax",%progbits
  960. 625 .align 1
  961. 626 .global parameter_copy
  962. 627 .syntax unified
  963. 628 .thumb
  964. 629 .thumb_func
  965. 631 parameter_copy:
  966. 632 .LFB138:
  967. 182:user_src/soft_flash.c ****
  968. 183:user_src/soft_flash.c **** /**
  969. 184:user_src/soft_flash.c **** * @file parameter_copy
  970. 185:user_src/soft_flash.c **** * @brief 参数赋值
  971. 186:user_src/soft_flash.c **** * @param none
  972. 187:user_src/soft_flash.c **** * @details
  973. 188:user_src/soft_flash.c **** * @author Zhang Sir
  974. 189:user_src/soft_flash.c **** **/
  975. 190:user_src/soft_flash.c **** void parameter_copy(void)
  976. 191:user_src/soft_flash.c **** {
  977. 633 .loc 1 191 1
  978. 634 .cfi_startproc
  979. 635 @ args = 0, pretend = 0, frame = 0
  980. 636 @ frame_needed = 1, uses_anonymous_args = 0
  981. 637 0000 80B5 push {r7, lr}
  982. 638 .LCFI24:
  983. 639 .cfi_def_cfa_offset 8
  984. 640 .cfi_offset 7, -8
  985. 641 .cfi_offset 14, -4
  986. 642 0002 00AF add r7, sp, #0
  987. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 18
  988. 643 .LCFI25:
  989. 644 .cfi_def_cfa_register 7
  990. 192:user_src/soft_flash.c **** current_pmu_par.cal_vol = check_flash_par_normal(flash_pmu_par._cal_vol,-50,50,0);
  991. 645 .loc 1 192 31
  992. 646 0004 184B ldr r3, .L26
  993. 647 0006 B3F90200 ldrsh r0, [r3, #2]
  994. 648 000a 0023 movs r3, #0
  995. 649 000c 3222 movs r2, #50
  996. 650 000e 6FF03101 mvn r1, #49
  997. 651 0012 FFF7FEFF bl check_flash_par_normal
  998. 652 0016 0346 mov r3, r0
  999. 653 0018 1A46 mov r2, r3
  1000. 654 .loc 1 192 29
  1001. 655 001a 144B ldr r3, .L26+4
  1002. 656 001c 1A80 strh r2, [r3] @ movhi
  1003. 193:user_src/soft_flash.c **** current_pmu_par.uavtype = flash_pmu_par._uavtype;
  1004. 657 .loc 1 193 44
  1005. 658 001e 124B ldr r3, .L26
  1006. 659 0020 B3F90420 ldrsh r2, [r3, #4]
  1007. 660 .loc 1 193 29
  1008. 661 0024 114B ldr r3, .L26+4
  1009. 662 0026 5A80 strh r2, [r3, #2] @ movhi
  1010. 194:user_src/soft_flash.c **** current_pmu_par.abnormal_outage_flag = flash_pmu_par._abnormal_outage_flag;
  1011. 663 .loc 1 194 57
  1012. 664 0028 0F4B ldr r3, .L26
  1013. 665 002a B3F90620 ldrsh r2, [r3, #6]
  1014. 666 .loc 1 194 42
  1015. 667 002e 0F4B ldr r3, .L26+4
  1016. 668 0030 9A80 strh r2, [r3, #4] @ movhi
  1017. 195:user_src/soft_flash.c **** current_pmu_par.reset_reason = flash_pmu_par._reset_reason;
  1018. 669 .loc 1 195 49
  1019. 670 0032 0D4B ldr r3, .L26
  1020. 671 0034 B3F90820 ldrsh r2, [r3, #8]
  1021. 672 .loc 1 195 34
  1022. 673 0038 0C4B ldr r3, .L26+4
  1023. 674 003a DA80 strh r2, [r3, #6] @ movhi
  1024. 196:user_src/soft_flash.c **** current_pmu_par.SN = flash_pmu_par._SN_L + (flash_pmu_par._SN_H << 16);
  1025. 675 .loc 1 196 39
  1026. 676 003c 0A4B ldr r3, .L26
  1027. 677 003e 5B89 ldrh r3, [r3, #10]
  1028. 678 0040 1A46 mov r2, r3
  1029. 679 .loc 1 196 62
  1030. 680 0042 094B ldr r3, .L26
  1031. 681 0044 9B89 ldrh r3, [r3, #12]
  1032. 682 .loc 1 196 69
  1033. 683 0046 1B04 lsls r3, r3, #16
  1034. 684 .loc 1 196 46
  1035. 685 0048 1344 add r3, r3, r2
  1036. 686 .loc 1 196 24
  1037. 687 004a 084A ldr r2, .L26+4
  1038. 688 004c 9360 str r3, [r2, #8]
  1039. 197:user_src/soft_flash.c **** current_pmu_par.hardVersion = flash_pmu_par._hardVersion_L + (flash_pmu_par._hardVersion_H << 1
  1040. 689 .loc 1 197 48
  1041. 690 004e 064B ldr r3, .L26
  1042. 691 0050 B3F90E30 ldrsh r3, [r3, #14]
  1043. 692 0054 1A46 mov r2, r3
  1044. 693 .loc 1 197 80
  1045. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 19
  1046. 694 0056 044B ldr r3, .L26
  1047. 695 0058 B3F91030 ldrsh r3, [r3, #16]
  1048. 696 .loc 1 197 96
  1049. 697 005c 1B04 lsls r3, r3, #16
  1050. 698 .loc 1 197 64
  1051. 699 005e 1344 add r3, r3, r2
  1052. 700 .loc 1 197 33
  1053. 701 0060 024A ldr r2, .L26+4
  1054. 702 0062 D360 str r3, [r2, #12]
  1055. 198:user_src/soft_flash.c **** }
  1056. 703 .loc 1 198 1
  1057. 704 0064 00BF nop
  1058. 705 0066 80BD pop {r7, pc}
  1059. 706 .L27:
  1060. 707 .align 2
  1061. 708 .L26:
  1062. 709 0068 00000000 .word flash_pmu_par
  1063. 710 006c 00000000 .word current_pmu_par
  1064. 711 .cfi_endproc
  1065. 712 .LFE138:
  1066. 714 .section .text.flash_write_pmu_par,"ax",%progbits
  1067. 715 .align 1
  1068. 716 .global flash_write_pmu_par
  1069. 717 .syntax unified
  1070. 718 .thumb
  1071. 719 .thumb_func
  1072. 721 flash_write_pmu_par:
  1073. 722 .LFB139:
  1074. 199:user_src/soft_flash.c ****
  1075. 200:user_src/soft_flash.c **** /**
  1076. 201:user_src/soft_flash.c **** * @file flash_write_pmu_par
  1077. 202:user_src/soft_flash.c **** * @brief 写flash
  1078. 203:user_src/soft_flash.c **** * @param none
  1079. 204:user_src/soft_flash.c **** * @details
  1080. 205:user_src/soft_flash.c **** * @author Zhang Sir
  1081. 206:user_src/soft_flash.c **** **/
  1082. 207:user_src/soft_flash.c **** void flash_write_pmu_par(void)
  1083. 208:user_src/soft_flash.c **** {
  1084. 723 .loc 1 208 1
  1085. 724 .cfi_startproc
  1086. 725 @ args = 0, pretend = 0, frame = 0
  1087. 726 @ frame_needed = 1, uses_anonymous_args = 0
  1088. 727 0000 80B5 push {r7, lr}
  1089. 728 .LCFI26:
  1090. 729 .cfi_def_cfa_offset 8
  1091. 730 .cfi_offset 7, -8
  1092. 731 .cfi_offset 14, -4
  1093. 732 0002 00AF add r7, sp, #0
  1094. 733 .LCFI27:
  1095. 734 .cfi_def_cfa_register 7
  1096. 209:user_src/soft_flash.c **** if(write_flash_flag == true)
  1097. 735 .loc 1 209 25
  1098. 736 0004 094B ldr r3, .L31
  1099. 737 0006 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1100. 738 .loc 1 209 7
  1101. 739 0008 002B cmp r3, #0
  1102. 740 000a 0CD0 beq .L30
  1103. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 20
  1104. 210:user_src/soft_flash.c **** {
  1105. 211:user_src/soft_flash.c **** if(HAL_OK == WriteFlashNBtye(FLASH_PAR_INFO,(uint8_t *)&flash_pmu_par,sizeof(_F_PMU_PAR)))
  1106. 741 .loc 1 211 22
  1107. 742 000c 1222 movs r2, #18
  1108. 743 000e 0849 ldr r1, .L31+4
  1109. 744 0010 0848 ldr r0, .L31+8
  1110. 745 0012 FFF7FEFF bl WriteFlashNBtye
  1111. 746 0016 0346 mov r3, r0
  1112. 747 .loc 1 211 11
  1113. 748 0018 002B cmp r3, #0
  1114. 749 001a 04D1 bne .L30
  1115. 212:user_src/soft_flash.c **** {
  1116. 213:user_src/soft_flash.c **** write_flash_flag = false;
  1117. 750 .loc 1 213 30
  1118. 751 001c 034B ldr r3, .L31
  1119. 752 001e 0022 movs r2, #0
  1120. 753 0020 1A70 strb r2, [r3]
  1121. 214:user_src/soft_flash.c **** parameter_copy();
  1122. 754 .loc 1 214 13
  1123. 755 0022 FFF7FEFF bl parameter_copy
  1124. 756 .L30:
  1125. 215:user_src/soft_flash.c **** }
  1126. 216:user_src/soft_flash.c ****
  1127. 217:user_src/soft_flash.c **** }
  1128. 218:user_src/soft_flash.c **** }
  1129. 757 .loc 1 218 1
  1130. 758 0026 00BF nop
  1131. 759 0028 80BD pop {r7, pc}
  1132. 760 .L32:
  1133. 761 002a 00BF .align 2
  1134. 762 .L31:
  1135. 763 002c 00000000 .word write_flash_flag
  1136. 764 0030 00000000 .word flash_pmu_par
  1137. 765 0034 00680008 .word 134244352
  1138. 766 .cfi_endproc
  1139. 767 .LFE139:
  1140. 769 .text
  1141. 770 .Letext0:
  1142. 771 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  1143. 772 .file 4 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  1144. 773 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
  1145. 774 .file 6 "d:\\arm-gcc\\lib\\gcc\\arm-none-eabi\\10.3.1\\include\\stddef.h"
  1146. 775 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
  1147. 776 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_gpio.h"
  1148. 777 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h"
  1149. 778 .file 10 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_flash_ex.h"
  1150. 779 .file 11 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_tim.h"
  1151. 780 .file 12 "user_inc/soft_flash.h"
  1152. 781 .file 13 "Core/Inc/tim.h"
  1153. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s page 21
  1154. DEFINED SYMBOLS
  1155. *ABS*:00000000 soft_flash.c
  1156. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:23 .bss.write_aboutage_information:00000000 write_aboutage_information
  1157. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:24 .bss.write_aboutage_information:00000000 $d
  1158. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:29 .bss.read_aboutage_information:00000000 read_aboutage_information
  1159. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:30 .bss.read_aboutage_information:00000000 $d
  1160. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:36 .bss.set_cali_voltage:00000000 set_cali_voltage
  1161. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:33 .bss.set_cali_voltage:00000000 $d
  1162. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:43 .bss.set_pmu_serail:00000000 set_pmu_serail
  1163. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:40 .bss.set_pmu_serail:00000000 $d
  1164. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:50 .bss.flash_pmu_par:00000000 flash_pmu_par
  1165. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:47 .bss.flash_pmu_par:00000000 $d
  1166. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:57 .bss.current_pmu_par:00000000 current_pmu_par
  1167. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:54 .bss.current_pmu_par:00000000 $d
  1168. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:63 .bss.write_flash_flag:00000000 write_flash_flag
  1169. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:64 .bss.write_flash_flag:00000000 $d
  1170. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:66 .text.ReadFlashNBtye:00000000 $t
  1171. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:72 .text.ReadFlashNBtye:00000000 ReadFlashNBtye
  1172. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:146 .text.WriteFlashNBtye:00000000 $t
  1173. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:152 .text.WriteFlashNBtye:00000000 WriteFlashNBtye
  1174. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:327 .text.check_flash_par_normal:00000000 $t
  1175. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:333 .text.check_flash_par_normal:00000000 check_flash_par_normal
  1176. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:423 .bss.reset_reason_temp:00000000 reset_reason_temp
  1177. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:420 .bss.reset_reason_temp:00000000 $d
  1178. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:426 .text.flash_read_funcktion:00000000 $t
  1179. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:432 .text.flash_read_funcktion:00000000 flash_read_funcktion
  1180. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:558 .text.parameter_assignment_default:00000000 parameter_assignment_default
  1181. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:631 .text.parameter_copy:00000000 parameter_copy
  1182. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:543 .text.flash_read_funcktion:0000009c $d
  1183. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:552 .text.parameter_assignment_default:00000000 $t
  1184. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:619 .text.parameter_assignment_default:00000050 $d
  1185. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:625 .text.parameter_copy:00000000 $t
  1186. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:709 .text.parameter_copy:00000068 $d
  1187. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:715 .text.flash_write_pmu_par:00000000 $t
  1188. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:721 .text.flash_write_pmu_par:00000000 flash_write_pmu_par
  1189. C:\Users\zl835\AppData\Local\Temp\ccHaMIB0.s:763 .text.flash_write_pmu_par:0000002c $d
  1190. UNDEFINED SYMBOLS
  1191. HAL_FLASH_Unlock
  1192. HAL_FLASHEx_Erase
  1193. HAL_FLASH_Program
  1194. HAL_FLASH_Lock
  1195. init_pwmout
  1196. init_gpio
  1197. HAL_GPIO_Init
  1198. HAL_NVIC_SetPriority
  1199. HAL_NVIC_EnableIRQ
  1200. HAL_TIM_Base_Start_IT
  1201. HAL_TIM_Base_Start
  1202. htim4