soft_adc.lst 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.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_adc.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .global ADC_value
  21. 20 .section .bss.ADC_value,"aw",%nobits
  22. 21 .align 1
  23. 24 ADC_value:
  24. 25 0000 0000 .space 2
  25. 26 .global aver_value
  26. 27 .section .bss.aver_value,"aw",%nobits
  27. 28 .align 2
  28. 31 aver_value:
  29. 32 0000 00000000 .space 4
  30. 33 .global adc_cnt
  31. 34 .section .bss.adc_cnt,"aw",%nobits
  32. 37 adc_cnt:
  33. 38 0000 00 .space 1
  34. 39 .global ADC_flag
  35. 40 .section .bss.ADC_flag,"aw",%nobits
  36. 41 .align 2
  37. 44 ADC_flag:
  38. 45 0000 00000000 .space 4
  39. 46 .section .text.HAL_ADC_ConvCpltCallback,"ax",%progbits
  40. 47 .align 1
  41. 48 .global HAL_ADC_ConvCpltCallback
  42. 49 .syntax unified
  43. 50 .thumb
  44. 51 .thumb_func
  45. 53 HAL_ADC_ConvCpltCallback:
  46. 54 .LFB130:
  47. 55 .file 1 "user_src/soft_adc.c"
  48. 1:user_src/soft_adc.c **** #include "adc.h"
  49. 2:user_src/soft_adc.c **** #include "soft_adc.h"
  50. 3:user_src/soft_adc.c **** #include "stm32f3xx_hal_adc_ex.h"
  51. 4:user_src/soft_adc.c ****
  52. 5:user_src/soft_adc.c **** uint16_t ADC_value = 0;
  53. 6:user_src/soft_adc.c **** float aver_value = 0;
  54. 7:user_src/soft_adc.c **** uint8_t adc_cnt = 0;
  55. 8:user_src/soft_adc.c **** uint32_t ADC_flag = 0;
  56. 9:user_src/soft_adc.c **** /*********************AD中断回调*******************/
  57. 10:user_src/soft_adc.c **** void HAL_ADC_ConvCpltCallback( ADC_HandleTypeDef *hadc )
  58. 11:user_src/soft_adc.c **** {
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s page 2
  60. 56 .loc 1 11 1
  61. 57 .cfi_startproc
  62. 58 @ args = 0, pretend = 0, frame = 8
  63. 59 @ frame_needed = 1, uses_anonymous_args = 0
  64. 60 @ link register save eliminated.
  65. 61 0000 80B4 push {r7}
  66. 62 .LCFI0:
  67. 63 .cfi_def_cfa_offset 4
  68. 64 .cfi_offset 7, -4
  69. 65 0002 83B0 sub sp, sp, #12
  70. 66 .LCFI1:
  71. 67 .cfi_def_cfa_offset 16
  72. 68 0004 00AF add r7, sp, #0
  73. 69 .LCFI2:
  74. 70 .cfi_def_cfa_register 7
  75. 71 0006 7860 str r0, [r7, #4]
  76. 12:user_src/soft_adc.c **** ADC_flag = 1;
  77. 72 .loc 1 12 14
  78. 73 0008 044B ldr r3, .L2
  79. 74 000a 0122 movs r2, #1
  80. 75 000c 1A60 str r2, [r3]
  81. 13:user_src/soft_adc.c **** }
  82. 76 .loc 1 13 1
  83. 77 000e 00BF nop
  84. 78 0010 0C37 adds r7, r7, #12
  85. 79 .LCFI3:
  86. 80 .cfi_def_cfa_offset 4
  87. 81 0012 BD46 mov sp, r7
  88. 82 .LCFI4:
  89. 83 .cfi_def_cfa_register 13
  90. 84 @ sp needed
  91. 85 0014 5DF8047B ldr r7, [sp], #4
  92. 86 .LCFI5:
  93. 87 .cfi_restore 7
  94. 88 .cfi_def_cfa_offset 0
  95. 89 0018 7047 bx lr
  96. 90 .L3:
  97. 91 001a 00BF .align 2
  98. 92 .L2:
  99. 93 001c 00000000 .word ADC_flag
  100. 94 .cfi_endproc
  101. 95 .LFE130:
  102. 97 .section .text.buf_sort,"ax",%progbits
  103. 98 .align 1
  104. 99 .global buf_sort
  105. 100 .syntax unified
  106. 101 .thumb
  107. 102 .thumb_func
  108. 104 buf_sort:
  109. 105 .LFB131:
  110. 14:user_src/soft_adc.c ****
  111. 15:user_src/soft_adc.c **** /**
  112. 16:user_src/soft_adc.c **** * @file buf_sort
  113. 17:user_src/soft_adc.c **** * @brief 冒泡 从小到大
  114. 18:user_src/soft_adc.c **** * @param arr, length
  115. 19:user_src/soft_adc.c **** * @details
  116. 20:user_src/soft_adc.c **** * @author Zhang Sir
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s page 3
  118. 21:user_src/soft_adc.c **** **/
  119. 22:user_src/soft_adc.c **** void buf_sort( float *arr, uint32_t length )
  120. 23:user_src/soft_adc.c **** {
  121. 106 .loc 1 23 1
  122. 107 .cfi_startproc
  123. 108 @ args = 0, pretend = 0, frame = 24
  124. 109 @ frame_needed = 1, uses_anonymous_args = 0
  125. 110 @ link register save eliminated.
  126. 111 0000 80B4 push {r7}
  127. 112 .LCFI6:
  128. 113 .cfi_def_cfa_offset 4
  129. 114 .cfi_offset 7, -4
  130. 115 0002 87B0 sub sp, sp, #28
  131. 116 .LCFI7:
  132. 117 .cfi_def_cfa_offset 32
  133. 118 0004 00AF add r7, sp, #0
  134. 119 .LCFI8:
  135. 120 .cfi_def_cfa_register 7
  136. 121 0006 7860 str r0, [r7, #4]
  137. 122 0008 3960 str r1, [r7]
  138. 24:user_src/soft_adc.c **** if ( length < 2 )
  139. 123 .loc 1 24 8
  140. 124 000a 3B68 ldr r3, [r7]
  141. 125 000c 012B cmp r3, #1
  142. 126 000e 46D9 bls .L14
  143. 25:user_src/soft_adc.c **** {
  144. 26:user_src/soft_adc.c **** return;
  145. 27:user_src/soft_adc.c **** }
  146. 28:user_src/soft_adc.c **** uint32_t num = 0, num1 = 0;
  147. 127 .loc 1 28 14
  148. 128 0010 0023 movs r3, #0
  149. 129 0012 7B61 str r3, [r7, #20]
  150. 130 .loc 1 28 23
  151. 131 0014 0023 movs r3, #0
  152. 132 0016 3B61 str r3, [r7, #16]
  153. 29:user_src/soft_adc.c **** float tmp = 0;
  154. 133 .loc 1 29 11
  155. 134 0018 4FF00003 mov r3, #0
  156. 135 001c FB60 str r3, [r7, #12] @ float
  157. 30:user_src/soft_adc.c **** for ( num = length - 1; num >= 1; num-- )
  158. 136 .loc 1 30 15
  159. 137 001e 3B68 ldr r3, [r7]
  160. 138 0020 013B subs r3, r3, #1
  161. 139 0022 7B61 str r3, [r7, #20]
  162. 140 .loc 1 30 5
  163. 141 0024 37E0 b .L7
  164. 142 .L12:
  165. 31:user_src/soft_adc.c **** {
  166. 32:user_src/soft_adc.c **** for ( num1 = 0; num1 <= num - 1; num1++ )
  167. 143 .loc 1 32 20
  168. 144 0026 0023 movs r3, #0
  169. 145 0028 3B61 str r3, [r7, #16]
  170. 146 .loc 1 32 9
  171. 147 002a 2CE0 b .L8
  172. 148 .L11:
  173. 33:user_src/soft_adc.c **** {
  174. 34:user_src/soft_adc.c **** if ( *( arr + num1 ) > *( arr + num1 + 1 ) )
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s page 4
  176. 149 .loc 1 34 25
  177. 150 002c 3B69 ldr r3, [r7, #16]
  178. 151 002e 9B00 lsls r3, r3, #2
  179. 152 0030 7A68 ldr r2, [r7, #4]
  180. 153 0032 1344 add r3, r3, r2
  181. 154 .loc 1 34 18
  182. 155 0034 93ED007A vldr.32 s14, [r3]
  183. 156 .loc 1 34 50
  184. 157 0038 3B69 ldr r3, [r7, #16]
  185. 158 003a 0133 adds r3, r3, #1
  186. 159 003c 9B00 lsls r3, r3, #2
  187. 160 003e 7A68 ldr r2, [r7, #4]
  188. 161 0040 1344 add r3, r3, r2
  189. 162 .loc 1 34 36
  190. 163 0042 D3ED007A vldr.32 s15, [r3]
  191. 164 .loc 1 34 16
  192. 165 0046 B4EEE77A vcmpe.f32 s14, s15
  193. 166 004a F1EE10FA vmrs APSR_nzcv, FPSCR
  194. 167 004e 17DD ble .L9
  195. 35:user_src/soft_adc.c **** {
  196. 36:user_src/soft_adc.c **** tmp = *( arr + num1 );
  197. 168 .loc 1 36 30
  198. 169 0050 3B69 ldr r3, [r7, #16]
  199. 170 0052 9B00 lsls r3, r3, #2
  200. 171 0054 7A68 ldr r2, [r7, #4]
  201. 172 0056 1344 add r3, r3, r2
  202. 173 .loc 1 36 21
  203. 174 0058 1B68 ldr r3, [r3] @ float
  204. 175 005a FB60 str r3, [r7, #12] @ float
  205. 37:user_src/soft_adc.c **** *( arr + num1 ) = *( arr + num1 + 1 );
  206. 176 .loc 1 37 49
  207. 177 005c 3B69 ldr r3, [r7, #16]
  208. 178 005e 0133 adds r3, r3, #1
  209. 179 0060 9B00 lsls r3, r3, #2
  210. 180 0062 7A68 ldr r2, [r7, #4]
  211. 181 0064 1A44 add r2, r2, r3
  212. 182 .loc 1 37 24
  213. 183 0066 3B69 ldr r3, [r7, #16]
  214. 184 0068 9B00 lsls r3, r3, #2
  215. 185 006a 7968 ldr r1, [r7, #4]
  216. 186 006c 0B44 add r3, r3, r1
  217. 187 .loc 1 37 35
  218. 188 006e 1268 ldr r2, [r2] @ float
  219. 189 .loc 1 37 33
  220. 190 0070 1A60 str r2, [r3] @ float
  221. 38:user_src/soft_adc.c **** *( arr + num1 + 1 ) = tmp;
  222. 191 .loc 1 38 31
  223. 192 0072 3B69 ldr r3, [r7, #16]
  224. 193 0074 0133 adds r3, r3, #1
  225. 194 0076 9B00 lsls r3, r3, #2
  226. 195 0078 7A68 ldr r2, [r7, #4]
  227. 196 007a 1344 add r3, r3, r2
  228. 197 .loc 1 38 37
  229. 198 007c FA68 ldr r2, [r7, #12] @ float
  230. 199 007e 1A60 str r2, [r3] @ float
  231. 200 .L9:
  232. 32:user_src/soft_adc.c **** {
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s page 5
  234. 201 .loc 1 32 46 discriminator 2
  235. 202 0080 3B69 ldr r3, [r7, #16]
  236. 203 0082 0133 adds r3, r3, #1
  237. 204 0084 3B61 str r3, [r7, #16]
  238. 205 .L8:
  239. 32:user_src/soft_adc.c **** {
  240. 206 .loc 1 32 37 discriminator 1
  241. 207 0086 7B69 ldr r3, [r7, #20]
  242. 208 0088 013B subs r3, r3, #1
  243. 32:user_src/soft_adc.c **** {
  244. 209 .loc 1 32 9 discriminator 1
  245. 210 008a 3A69 ldr r2, [r7, #16]
  246. 211 008c 9A42 cmp r2, r3
  247. 212 008e CDD9 bls .L11
  248. 30:user_src/soft_adc.c **** {
  249. 213 .loc 1 30 42 discriminator 2
  250. 214 0090 7B69 ldr r3, [r7, #20]
  251. 215 0092 013B subs r3, r3, #1
  252. 216 0094 7B61 str r3, [r7, #20]
  253. 217 .L7:
  254. 30:user_src/soft_adc.c **** {
  255. 218 .loc 1 30 5 discriminator 1
  256. 219 0096 7B69 ldr r3, [r7, #20]
  257. 220 0098 002B cmp r3, #0
  258. 221 009a C4D1 bne .L12
  259. 222 009c 00E0 b .L4
  260. 223 .L14:
  261. 26:user_src/soft_adc.c **** }
  262. 224 .loc 1 26 9
  263. 225 009e 00BF nop
  264. 226 .L4:
  265. 39:user_src/soft_adc.c **** }
  266. 40:user_src/soft_adc.c **** }
  267. 41:user_src/soft_adc.c **** }
  268. 42:user_src/soft_adc.c **** }
  269. 227 .loc 1 42 1
  270. 228 00a0 1C37 adds r7, r7, #28
  271. 229 .LCFI9:
  272. 230 .cfi_def_cfa_offset 4
  273. 231 00a2 BD46 mov sp, r7
  274. 232 .LCFI10:
  275. 233 .cfi_def_cfa_register 13
  276. 234 @ sp needed
  277. 235 00a4 5DF8047B ldr r7, [sp], #4
  278. 236 .LCFI11:
  279. 237 .cfi_restore 7
  280. 238 .cfi_def_cfa_offset 0
  281. 239 00a8 7047 bx lr
  282. 240 .cfi_endproc
  283. 241 .LFE131:
  284. 243 .section .text.Get_ADCChannelValue,"ax",%progbits
  285. 244 .align 1
  286. 245 .global Get_ADCChannelValue
  287. 246 .syntax unified
  288. 247 .thumb
  289. 248 .thumb_func
  290. 250 Get_ADCChannelValue:
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s page 6
  292. 251 .LFB132:
  293. 43:user_src/soft_adc.c **** /**
  294. 44:user_src/soft_adc.c **** * @file Get_ADCChannelValue
  295. 45:user_src/soft_adc.c **** * @brief 获取不同通道ad采集
  296. 46:user_src/soft_adc.c **** * @param None
  297. 47:user_src/soft_adc.c **** * @details
  298. 48:user_src/soft_adc.c **** * @author Zhang Sir
  299. 49:user_src/soft_adc.c **** **/
  300. 50:user_src/soft_adc.c **** uint16_t Get_ADCChannelValue(ADC_HandleTypeDef *hadc, uint32_t channel)
  301. 51:user_src/soft_adc.c **** {
  302. 252 .loc 1 51 1
  303. 253 .cfi_startproc
  304. 254 @ args = 0, pretend = 0, frame = 40
  305. 255 @ frame_needed = 1, uses_anonymous_args = 0
  306. 256 0000 80B5 push {r7, lr}
  307. 257 .LCFI12:
  308. 258 .cfi_def_cfa_offset 8
  309. 259 .cfi_offset 7, -8
  310. 260 .cfi_offset 14, -4
  311. 261 0002 8AB0 sub sp, sp, #40
  312. 262 .LCFI13:
  313. 263 .cfi_def_cfa_offset 48
  314. 264 0004 00AF add r7, sp, #0
  315. 265 .LCFI14:
  316. 266 .cfi_def_cfa_register 7
  317. 267 0006 7860 str r0, [r7, #4]
  318. 268 0008 3960 str r1, [r7]
  319. 52:user_src/soft_adc.c **** uint16_t temp_adc = 0;
  320. 269 .loc 1 52 11
  321. 270 000a 0023 movs r3, #0
  322. 271 000c FB84 strh r3, [r7, #38] @ movhi
  323. 53:user_src/soft_adc.c **** ADC_ChannelConfTypeDef ADC_ChanConf;
  324. 54:user_src/soft_adc.c ****
  325. 55:user_src/soft_adc.c **** ADC_ChanConf.Channel = channel;
  326. 272 .loc 1 55 23
  327. 273 000e 3B68 ldr r3, [r7]
  328. 274 0010 FB60 str r3, [r7, #12]
  329. 56:user_src/soft_adc.c **** ADC_ChanConf.Rank = ADC_REGULAR_RANK_1;
  330. 275 .loc 1 56 20
  331. 276 0012 0123 movs r3, #1
  332. 277 0014 3B61 str r3, [r7, #16]
  333. 57:user_src/soft_adc.c **** ADC_ChanConf.SamplingTime = ADC_SAMPLETIME_61CYCLES_5;
  334. 278 .loc 1 57 28
  335. 279 0016 0523 movs r3, #5
  336. 280 0018 7B61 str r3, [r7, #20]
  337. 58:user_src/soft_adc.c **** if (HAL_ADC_ConfigChannel(hadc, &ADC_ChanConf) != HAL_OK)
  338. 281 .loc 1 58 6
  339. 282 001a 07F10C03 add r3, r7, #12
  340. 283 001e 1946 mov r1, r3
  341. 284 0020 7868 ldr r0, [r7, #4]
  342. 285 0022 FFF7FEFF bl HAL_ADC_ConfigChannel
  343. 286 0026 0346 mov r3, r0
  344. 287 .loc 1 58 5
  345. 288 0028 002B cmp r3, #0
  346. 289 002a 01D0 beq .L16
  347. 59:user_src/soft_adc.c **** {
  348. 60:user_src/soft_adc.c **** Error_Handler();
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s page 7
  350. 290 .loc 1 60 3
  351. 291 002c FFF7FEFF bl Error_Handler
  352. 292 .L16:
  353. 61:user_src/soft_adc.c **** }
  354. 62:user_src/soft_adc.c ****
  355. 63:user_src/soft_adc.c **** HAL_ADC_Start_IT(hadc);
  356. 293 .loc 1 63 2
  357. 294 0030 7868 ldr r0, [r7, #4]
  358. 295 0032 FFF7FEFF bl HAL_ADC_Start_IT
  359. 64:user_src/soft_adc.c **** HAL_ADC_PollForConversion(hadc, 1);
  360. 296 .loc 1 64 2
  361. 297 0036 0121 movs r1, #1
  362. 298 0038 7868 ldr r0, [r7, #4]
  363. 299 003a FFF7FEFF bl HAL_ADC_PollForConversion
  364. 65:user_src/soft_adc.c ****
  365. 66:user_src/soft_adc.c **** temp_adc = HAL_ADC_GetValue(hadc);
  366. 300 .loc 1 66 13
  367. 301 003e 7868 ldr r0, [r7, #4]
  368. 302 0040 FFF7FEFF bl HAL_ADC_GetValue
  369. 303 0044 0346 mov r3, r0
  370. 304 .loc 1 66 11
  371. 305 0046 FB84 strh r3, [r7, #38] @ movhi
  372. 67:user_src/soft_adc.c **** return temp_adc;
  373. 306 .loc 1 67 10
  374. 307 0048 FB8C ldrh r3, [r7, #38]
  375. 68:user_src/soft_adc.c **** }
  376. 308 .loc 1 68 1
  377. 309 004a 1846 mov r0, r3
  378. 310 004c 2837 adds r7, r7, #40
  379. 311 .LCFI15:
  380. 312 .cfi_def_cfa_offset 8
  381. 313 004e BD46 mov sp, r7
  382. 314 .LCFI16:
  383. 315 .cfi_def_cfa_register 13
  384. 316 @ sp needed
  385. 317 0050 80BD pop {r7, pc}
  386. 318 .cfi_endproc
  387. 319 .LFE132:
  388. 321 .section .bss.ADC_buf,"aw",%nobits
  389. 322 .align 2
  390. 325 ADC_buf:
  391. 326 0000 00000000 .space 80
  392. 326 00000000
  393. 326 00000000
  394. 326 00000000
  395. 326 00000000
  396. 327 .global ADC_temp
  397. 328 .section .bss.ADC_temp,"aw",%nobits
  398. 329 .align 2
  399. 332 ADC_temp:
  400. 333 0000 00000000 .space 4
  401. 334 .section .text.adc_gather_hz,"ax",%progbits
  402. 335 .align 1
  403. 336 .global adc_gather_hz
  404. 337 .syntax unified
  405. 338 .thumb
  406. 339 .thumb_func
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s page 8
  408. 341 adc_gather_hz:
  409. 342 .LFB133:
  410. 69:user_src/soft_adc.c ****
  411. 70:user_src/soft_adc.c **** /**
  412. 71:user_src/soft_adc.c **** * @file adc_gather_hz
  413. 72:user_src/soft_adc.c **** * @brief AD电压采集
  414. 73:user_src/soft_adc.c **** * @param None
  415. 74:user_src/soft_adc.c **** * @details
  416. 75:user_src/soft_adc.c **** * @author Zhang Sir
  417. 76:user_src/soft_adc.c **** **/
  418. 77:user_src/soft_adc.c **** static float ADC_buf[20];
  419. 78:user_src/soft_adc.c **** float ADC_temp = 0.0f;
  420. 79:user_src/soft_adc.c **** void adc_gather_hz()
  421. 80:user_src/soft_adc.c **** {
  422. 343 .loc 1 80 1
  423. 344 .cfi_startproc
  424. 345 @ args = 0, pretend = 0, frame = 0
  425. 346 @ frame_needed = 1, uses_anonymous_args = 0
  426. 347 0000 80B5 push {r7, lr}
  427. 348 .LCFI17:
  428. 349 .cfi_def_cfa_offset 8
  429. 350 .cfi_offset 7, -8
  430. 351 .cfi_offset 14, -4
  431. 352 0002 00AF add r7, sp, #0
  432. 353 .LCFI18:
  433. 354 .cfi_def_cfa_register 7
  434. 81:user_src/soft_adc.c **** static uint32_t adc_time = 0;
  435. 82:user_src/soft_adc.c **** if ( HAL_GetTick() - adc_time > 20 )
  436. 355 .loc 1 82 10
  437. 356 0004 FFF7FEFF bl HAL_GetTick
  438. 357 0008 0246 mov r2, r0
  439. 358 .loc 1 82 24
  440. 359 000a 164B ldr r3, .L22
  441. 360 000c 1B68 ldr r3, [r3]
  442. 361 000e D31A subs r3, r2, r3
  443. 362 .loc 1 82 8
  444. 363 0010 142B cmp r3, #20
  445. 364 0012 24D9 bls .L21
  446. 83:user_src/soft_adc.c **** {
  447. 84:user_src/soft_adc.c **** ADC_buf[adc_cnt] = Get_ADCChannelValue(&hadc1, ADC_CHANNEL_1);
  448. 365 .loc 1 84 28
  449. 366 0014 0121 movs r1, #1
  450. 367 0016 1448 ldr r0, .L22+4
  451. 368 0018 FFF7FEFF bl Get_ADCChannelValue
  452. 369 001c 0346 mov r3, r0
  453. 370 001e 07EE903A vmov s15, r3 @ int
  454. 371 .loc 1 84 16
  455. 372 0022 124B ldr r3, .L22+8
  456. 373 0024 1B78 ldrb r3, [r3] @ zero_extendqisi2
  457. 374 .loc 1 84 26
  458. 375 0026 F8EE677A vcvt.f32.u32 s15, s15
  459. 376 002a 114A ldr r2, .L22+12
  460. 377 002c 9B00 lsls r3, r3, #2
  461. 378 002e 1344 add r3, r3, r2
  462. 379 0030 C3ED007A vstr.32 s15, [r3]
  463. 85:user_src/soft_adc.c **** HAL_ADC_Stop(&hadc1);
  464. 380 .loc 1 85 9
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s page 9
  466. 381 0034 0C48 ldr r0, .L22+4
  467. 382 0036 FFF7FEFF bl HAL_ADC_Stop
  468. 86:user_src/soft_adc.c ****
  469. 87:user_src/soft_adc.c **** adc_cnt++;
  470. 383 .loc 1 87 16
  471. 384 003a 0C4B ldr r3, .L22+8
  472. 385 003c 1B78 ldrb r3, [r3] @ zero_extendqisi2
  473. 386 003e 0133 adds r3, r3, #1
  474. 387 0040 DAB2 uxtb r2, r3
  475. 388 0042 0A4B ldr r3, .L22+8
  476. 389 0044 1A70 strb r2, [r3]
  477. 88:user_src/soft_adc.c **** if ( adc_cnt >= 20 )
  478. 390 .loc 1 88 22
  479. 391 0046 094B ldr r3, .L22+8
  480. 392 0048 1B78 ldrb r3, [r3] @ zero_extendqisi2
  481. 393 .loc 1 88 12
  482. 394 004a 132B cmp r3, #19
  483. 395 004c 02D9 bls .L20
  484. 89:user_src/soft_adc.c **** {
  485. 90:user_src/soft_adc.c **** adc_cnt = 0;
  486. 396 .loc 1 90 21
  487. 397 004e 074B ldr r3, .L22+8
  488. 398 0050 0022 movs r2, #0
  489. 399 0052 1A70 strb r2, [r3]
  490. 400 .L20:
  491. 91:user_src/soft_adc.c **** }
  492. 92:user_src/soft_adc.c **** adc_time = HAL_GetTick();
  493. 401 .loc 1 92 20
  494. 402 0054 FFF7FEFF bl HAL_GetTick
  495. 403 0058 0346 mov r3, r0
  496. 404 .loc 1 92 18
  497. 405 005a 024A ldr r2, .L22
  498. 406 005c 1360 str r3, [r2]
  499. 407 .L21:
  500. 93:user_src/soft_adc.c **** }
  501. 94:user_src/soft_adc.c **** }
  502. 408 .loc 1 94 1
  503. 409 005e 00BF nop
  504. 410 0060 80BD pop {r7, pc}
  505. 411 .L23:
  506. 412 0062 00BF .align 2
  507. 413 .L22:
  508. 414 0064 00000000 .word adc_time.0
  509. 415 0068 00000000 .word hadc1
  510. 416 006c 00000000 .word adc_cnt
  511. 417 0070 00000000 .word ADC_buf
  512. 418 .cfi_endproc
  513. 419 .LFE133:
  514. 421 .section .text.ADC_gather,"ax",%progbits
  515. 422 .align 1
  516. 423 .global ADC_gather
  517. 424 .syntax unified
  518. 425 .thumb
  519. 426 .thumb_func
  520. 428 ADC_gather:
  521. 429 .LFB134:
  522. 95:user_src/soft_adc.c ****
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s page 10
  524. 96:user_src/soft_adc.c ****
  525. 97:user_src/soft_adc.c **** /**
  526. 98:user_src/soft_adc.c **** * @file ADC_gather
  527. 99:user_src/soft_adc.c **** * @brief AD采集转换成电压
  528. 100:user_src/soft_adc.c **** * @param None
  529. 101:user_src/soft_adc.c **** * @details
  530. 102:user_src/soft_adc.c **** * @author Zhang Sir
  531. 103:user_src/soft_adc.c **** **/
  532. 104:user_src/soft_adc.c **** float ADC_gather( void )
  533. 105:user_src/soft_adc.c **** {
  534. 430 .loc 1 105 1
  535. 431 .cfi_startproc
  536. 432 @ args = 0, pretend = 0, frame = 8
  537. 433 @ frame_needed = 1, uses_anonymous_args = 0
  538. 434 0000 80B5 push {r7, lr}
  539. 435 .LCFI19:
  540. 436 .cfi_def_cfa_offset 8
  541. 437 .cfi_offset 7, -8
  542. 438 .cfi_offset 14, -4
  543. 439 0002 82B0 sub sp, sp, #8
  544. 440 .LCFI20:
  545. 441 .cfi_def_cfa_offset 16
  546. 442 0004 00AF add r7, sp, #0
  547. 443 .LCFI21:
  548. 444 .cfi_def_cfa_register 7
  549. 106:user_src/soft_adc.c **** float real_value = 0;
  550. 445 .loc 1 106 11
  551. 446 0006 4FF00003 mov r3, #0
  552. 447 000a 7B60 str r3, [r7, #4] @ float
  553. 107:user_src/soft_adc.c **** if ( ADC_flag == 1 )
  554. 448 .loc 1 107 19
  555. 449 000c 204B ldr r3, .L29
  556. 450 000e 1B68 ldr r3, [r3]
  557. 451 .loc 1 107 8
  558. 452 0010 012B cmp r3, #1
  559. 453 0012 34D1 bne .L25
  560. 108:user_src/soft_adc.c **** {
  561. 109:user_src/soft_adc.c **** ADC_flag = 0;
  562. 454 .loc 1 109 18
  563. 455 0014 1E4B ldr r3, .L29
  564. 456 0016 0022 movs r2, #0
  565. 457 0018 1A60 str r2, [r3]
  566. 110:user_src/soft_adc.c **** buf_sort( ADC_buf, 20 );
  567. 458 .loc 1 110 9
  568. 459 001a 1421 movs r1, #20
  569. 460 001c 1D48 ldr r0, .L29+4
  570. 461 001e FFF7FEFF bl buf_sort
  571. 462 .LBB2:
  572. 111:user_src/soft_adc.c **** for ( uint8_t ib = 1; ib < 19; ib++ )
  573. 463 .loc 1 111 23
  574. 464 0022 0123 movs r3, #1
  575. 465 0024 FB70 strb r3, [r7, #3]
  576. 466 .loc 1 111 9
  577. 467 0026 0EE0 b .L26
  578. 468 .L27:
  579. 112:user_src/soft_adc.c **** {
  580. 113:user_src/soft_adc.c **** real_value += ADC_buf[ib];
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s page 11
  582. 469 .loc 1 113 34 discriminator 3
  583. 470 0028 FB78 ldrb r3, [r7, #3] @ zero_extendqisi2
  584. 471 002a 1A4A ldr r2, .L29+4
  585. 472 002c 9B00 lsls r3, r3, #2
  586. 473 002e 1344 add r3, r3, r2
  587. 474 0030 D3ED007A vldr.32 s15, [r3]
  588. 475 .loc 1 113 24 discriminator 3
  589. 476 0034 97ED017A vldr.32 s14, [r7, #4]
  590. 477 0038 77EE277A vadd.f32 s15, s14, s15
  591. 478 003c C7ED017A vstr.32 s15, [r7, #4]
  592. 111:user_src/soft_adc.c **** for ( uint8_t ib = 1; ib < 19; ib++ )
  593. 479 .loc 1 111 42 discriminator 3
  594. 480 0040 FB78 ldrb r3, [r7, #3] @ zero_extendqisi2
  595. 481 0042 0133 adds r3, r3, #1
  596. 482 0044 FB70 strb r3, [r7, #3]
  597. 483 .L26:
  598. 111:user_src/soft_adc.c **** for ( uint8_t ib = 1; ib < 19; ib++ )
  599. 484 .loc 1 111 9 discriminator 1
  600. 485 0046 FB78 ldrb r3, [r7, #3] @ zero_extendqisi2
  601. 486 0048 122B cmp r3, #18
  602. 487 004a EDD9 bls .L27
  603. 488 .LBE2:
  604. 114:user_src/soft_adc.c **** }
  605. 115:user_src/soft_adc.c **** //aver_value = real_value / 4096 * 3.3f / 18 * 28 * 1000; //Mv 4096*3 真实电压 , 取18
  606. 116:user_src/soft_adc.c **** //12bit 4095 超过94V 28分频不够
  607. 117:user_src/soft_adc.c **** aver_value = real_value / 4096 * 3.226f / 18 * 31 * 1000; //Mv 4096*3 真实电压 , 取18
  608. 489 .loc 1 117 33
  609. 490 004c 97ED017A vldr.32 s14, [r7, #4]
  610. 491 0050 DFED116A vldr.32 s13, .L29+8
  611. 492 0054 C7EE267A vdiv.f32 s15, s14, s13
  612. 493 .loc 1 117 40
  613. 494 0058 9FED107A vldr.32 s14, .L29+12
  614. 495 005c 27EE877A vmul.f32 s14, s15, s14
  615. 496 .loc 1 117 49
  616. 497 0060 F3EE026A vmov.f32 s13, #1.8e+1
  617. 498 0064 C7EE267A vdiv.f32 s15, s14, s13
  618. 499 .loc 1 117 54
  619. 500 0068 B3EE0F7A vmov.f32 s14, #3.1e+1
  620. 501 006c 67EE877A vmul.f32 s15, s15, s14
  621. 502 .loc 1 117 59
  622. 503 0070 9FED0B7A vldr.32 s14, .L29+16
  623. 504 0074 67EE877A vmul.f32 s15, s15, s14
  624. 505 .loc 1 117 20
  625. 506 0078 0A4B ldr r3, .L29+20
  626. 507 007a C3ED007A vstr.32 s15, [r3]
  627. 508 .L25:
  628. 118:user_src/soft_adc.c **** }
  629. 119:user_src/soft_adc.c ****
  630. 120:user_src/soft_adc.c **** return aver_value;
  631. 509 .loc 1 120 12
  632. 510 007e 094B ldr r3, .L29+20
  633. 511 0080 1B68 ldr r3, [r3] @ float
  634. 512 0082 07EE903A vmov s15, r3
  635. 121:user_src/soft_adc.c **** }
  636. 513 .loc 1 121 1
  637. 514 0086 B0EE670A vmov.f32 s0, s15
  638. 515 008a 0837 adds r7, r7, #8
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s page 12
  640. 516 .LCFI22:
  641. 517 .cfi_def_cfa_offset 8
  642. 518 008c BD46 mov sp, r7
  643. 519 .LCFI23:
  644. 520 .cfi_def_cfa_register 13
  645. 521 @ sp needed
  646. 522 008e 80BD pop {r7, pc}
  647. 523 .L30:
  648. 524 .align 2
  649. 525 .L29:
  650. 526 0090 00000000 .word ADC_flag
  651. 527 0094 00000000 .word ADC_buf
  652. 528 0098 00008045 .word 1166016512
  653. 529 009c C9764E40 .word 1078884041
  654. 530 00a0 00007A44 .word 1148846080
  655. 531 00a4 00000000 .word aver_value
  656. 532 .cfi_endproc
  657. 533 .LFE134:
  658. 535 .section .text.ADC_read_temptrue,"ax",%progbits
  659. 536 .align 1
  660. 537 .global ADC_read_temptrue
  661. 538 .syntax unified
  662. 539 .thumb
  663. 540 .thumb_func
  664. 542 ADC_read_temptrue:
  665. 543 .LFB135:
  666. 122:user_src/soft_adc.c ****
  667. 123:user_src/soft_adc.c ****
  668. 124:user_src/soft_adc.c **** /**
  669. 125:user_src/soft_adc.c **** * @file ADC_read_temptrue
  670. 126:user_src/soft_adc.c **** * @brief ad温度采集
  671. 127:user_src/soft_adc.c **** * @param None
  672. 128:user_src/soft_adc.c **** * @details
  673. 129:user_src/soft_adc.c **** * @author Zhang Sir
  674. 130:user_src/soft_adc.c **** **/
  675. 131:user_src/soft_adc.c **** uint16_t ADC_read_temptrue()
  676. 132:user_src/soft_adc.c **** {
  677. 544 .loc 1 132 1
  678. 545 .cfi_startproc
  679. 546 @ args = 0, pretend = 0, frame = 8
  680. 547 @ frame_needed = 1, uses_anonymous_args = 0
  681. 548 0000 80B5 push {r7, lr}
  682. 549 .LCFI24:
  683. 550 .cfi_def_cfa_offset 8
  684. 551 .cfi_offset 7, -8
  685. 552 .cfi_offset 14, -4
  686. 553 0002 82B0 sub sp, sp, #8
  687. 554 .LCFI25:
  688. 555 .cfi_def_cfa_offset 16
  689. 556 0004 00AF add r7, sp, #0
  690. 557 .LCFI26:
  691. 558 .cfi_def_cfa_register 7
  692. 133:user_src/soft_adc.c **** uint16_t mcu_temp = 0;
  693. 559 .loc 1 133 11
  694. 560 0006 0023 movs r3, #0
  695. 561 0008 FB80 strh r3, [r7, #6] @ movhi
  696. 134:user_src/soft_adc.c **** float mcu_temp1 = 0;
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s page 13
  698. 562 .loc 1 134 11
  699. 563 000a 4FF00003 mov r3, #0
  700. 564 000e 3B60 str r3, [r7] @ float
  701. 135:user_src/soft_adc.c ****
  702. 136:user_src/soft_adc.c **** mcu_temp = Get_ADCChannelValue(&hadctemp, ADC_CHANNEL_16);
  703. 565 .loc 1 136 16
  704. 566 0010 1021 movs r1, #16
  705. 567 0012 1B48 ldr r0, .L33
  706. 568 0014 FFF7FEFF bl Get_ADCChannelValue
  707. 569 0018 0346 mov r3, r0
  708. 570 001a FB80 strh r3, [r7, #6] @ movhi
  709. 137:user_src/soft_adc.c **** HAL_ADC_Stop(&hadctemp);
  710. 571 .loc 1 137 5
  711. 572 001c 1848 ldr r0, .L33
  712. 573 001e FFF7FEFF bl HAL_ADC_Stop
  713. 138:user_src/soft_adc.c ****
  714. 139:user_src/soft_adc.c **** mcu_temp1 = ( int )( ( 1.43f - mcu_temp * 3.3f / 4096 ) / 0.00043f + 250 ) / 10.0f;
  715. 574 .loc 1 139 45
  716. 575 0022 FB88 ldrh r3, [r7, #6]
  717. 576 0024 07EE903A vmov s15, r3 @ int
  718. 577 0028 F8EEE77A vcvt.f32.s32 s15, s15
  719. 578 002c 9FED157A vldr.32 s14, .L33+4
  720. 579 0030 27EE877A vmul.f32 s14, s15, s14
  721. 580 .loc 1 139 52
  722. 581 0034 DFED146A vldr.32 s13, .L33+8
  723. 582 0038 C7EE267A vdiv.f32 s15, s14, s13
  724. 583 .loc 1 139 34
  725. 584 003c 9FED137A vldr.32 s14, .L33+12
  726. 585 0040 37EE677A vsub.f32 s14, s14, s15
  727. 586 .loc 1 139 61
  728. 587 0044 DFED126A vldr.32 s13, .L33+16
  729. 588 0048 C7EE267A vdiv.f32 s15, s14, s13
  730. 589 .loc 1 139 72
  731. 590 004c 9FED117A vldr.32 s14, .L33+20
  732. 591 0050 77EE877A vadd.f32 s15, s15, s14
  733. 592 .loc 1 139 17
  734. 593 0054 FDEEE77A vcvt.s32.f32 s15, s15
  735. 594 .loc 1 139 80
  736. 595 0058 B8EEE77A vcvt.f32.s32 s14, s15
  737. 596 .loc 1 139 15
  738. 597 005c F2EE046A vmov.f32 s13, #1.0e+1
  739. 598 0060 C7EE267A vdiv.f32 s15, s14, s13
  740. 599 0064 C7ED007A vstr.32 s15, [r7]
  741. 140:user_src/soft_adc.c ****
  742. 141:user_src/soft_adc.c **** return mcu_temp1;
  743. 600 .loc 1 141 12
  744. 601 0068 D7ED007A vldr.32 s15, [r7]
  745. 602 006c FCEEE77A vcvt.u32.f32 s15, s15
  746. 603 0070 17EE903A vmov r3, s15 @ int
  747. 604 0074 9BB2 uxth r3, r3
  748. 142:user_src/soft_adc.c **** }
  749. 605 .loc 1 142 1
  750. 606 0076 1846 mov r0, r3
  751. 607 0078 0837 adds r7, r7, #8
  752. 608 .LCFI27:
  753. 609 .cfi_def_cfa_offset 8
  754. 610 007a BD46 mov sp, r7
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s page 14
  756. 611 .LCFI28:
  757. 612 .cfi_def_cfa_register 13
  758. 613 @ sp needed
  759. 614 007c 80BD pop {r7, pc}
  760. 615 .L34:
  761. 616 007e 00BF .align 2
  762. 617 .L33:
  763. 618 0080 00000000 .word hadctemp
  764. 619 0084 33335340 .word 1079194419
  765. 620 0088 00008045 .word 1166016512
  766. 621 008c 3D0AB73F .word 1068960317
  767. 622 0090 9F71E139 .word 971075999
  768. 623 0094 00007A43 .word 1132068864
  769. 624 .cfi_endproc
  770. 625 .LFE135:
  771. 627 .section .bss.adc_time.0,"aw",%nobits
  772. 628 .align 2
  773. 631 adc_time.0:
  774. 632 0000 00000000 .space 4
  775. 633 .text
  776. 634 .Letext0:
  777. 635 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  778. 636 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  779. 637 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
  780. 638 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
  781. 639 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
  782. 640 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h"
  783. 641 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_adc_ex.h"
  784. 642 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_adc.h"
  785. 643 .file 10 "Core/Inc/adc.h"
  786. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s page 15
  787. DEFINED SYMBOLS
  788. *ABS*:00000000 soft_adc.c
  789. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:24 .bss.ADC_value:00000000 ADC_value
  790. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:21 .bss.ADC_value:00000000 $d
  791. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:31 .bss.aver_value:00000000 aver_value
  792. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:28 .bss.aver_value:00000000 $d
  793. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:37 .bss.adc_cnt:00000000 adc_cnt
  794. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:38 .bss.adc_cnt:00000000 $d
  795. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:44 .bss.ADC_flag:00000000 ADC_flag
  796. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:41 .bss.ADC_flag:00000000 $d
  797. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:47 .text.HAL_ADC_ConvCpltCallback:00000000 $t
  798. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:53 .text.HAL_ADC_ConvCpltCallback:00000000 HAL_ADC_ConvCpltCallback
  799. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:93 .text.HAL_ADC_ConvCpltCallback:0000001c $d
  800. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:98 .text.buf_sort:00000000 $t
  801. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:104 .text.buf_sort:00000000 buf_sort
  802. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:244 .text.Get_ADCChannelValue:00000000 $t
  803. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:250 .text.Get_ADCChannelValue:00000000 Get_ADCChannelValue
  804. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:322 .bss.ADC_buf:00000000 $d
  805. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:325 .bss.ADC_buf:00000000 ADC_buf
  806. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:332 .bss.ADC_temp:00000000 ADC_temp
  807. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:329 .bss.ADC_temp:00000000 $d
  808. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:335 .text.adc_gather_hz:00000000 $t
  809. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:341 .text.adc_gather_hz:00000000 adc_gather_hz
  810. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:414 .text.adc_gather_hz:00000064 $d
  811. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:631 .bss.adc_time.0:00000000 adc_time.0
  812. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:422 .text.ADC_gather:00000000 $t
  813. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:428 .text.ADC_gather:00000000 ADC_gather
  814. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:526 .text.ADC_gather:00000090 $d
  815. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:536 .text.ADC_read_temptrue:00000000 $t
  816. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:542 .text.ADC_read_temptrue:00000000 ADC_read_temptrue
  817. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:618 .text.ADC_read_temptrue:00000080 $d
  818. C:\Users\zl835\AppData\Local\Temp\ccdrowJQ.s:628 .bss.adc_time.0:00000000 $d
  819. UNDEFINED SYMBOLS
  820. HAL_ADC_ConfigChannel
  821. Error_Handler
  822. HAL_ADC_Start_IT
  823. HAL_ADC_PollForConversion
  824. HAL_ADC_GetValue
  825. HAL_GetTick
  826. HAL_ADC_Stop
  827. hadc1
  828. hadctemp