main.lst 72 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584
  1. ARM GAS /tmp/ccO5fmWO.s page 1
  2. 1 .cpu cortex-m4
  3. 2 .eabi_attribute 27, 1
  4. 3 .eabi_attribute 28, 1
  5. 4 .eabi_attribute 20, 1
  6. 5 .eabi_attribute 21, 1
  7. 6 .eabi_attribute 23, 3
  8. 7 .eabi_attribute 24, 1
  9. 8 .eabi_attribute 25, 1
  10. 9 .eabi_attribute 26, 1
  11. 10 .eabi_attribute 30, 1
  12. 11 .eabi_attribute 34, 1
  13. 12 .eabi_attribute 18, 4
  14. 13 .file "main.c"
  15. 14 .text
  16. 15 .Ltext0:
  17. 16 .cfi_sections .debug_frame
  18. 17 .section .text.SystemClock_Config,"ax",%progbits
  19. 18 .align 1
  20. 19 .global SystemClock_Config
  21. 20 .syntax unified
  22. 21 .thumb
  23. 22 .thumb_func
  24. 23 .fpu fpv4-sp-d16
  25. 25 SystemClock_Config:
  26. 26 .LFB131:
  27. 27 .file 1 "Src/main.c"
  28. 1:Src/main.c **** /* USER CODE BEGIN Header */
  29. 2:Src/main.c **** /**
  30. 3:Src/main.c **** ******************************************************************************
  31. 4:Src/main.c **** * @file : main.c
  32. 5:Src/main.c **** * @brief : Main program body
  33. 6:Src/main.c **** ******************************************************************************
  34. 7:Src/main.c **** * @attention
  35. 8:Src/main.c **** *
  36. 9:Src/main.c **** * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
  37. 10:Src/main.c **** * All rights reserved.</center></h2>
  38. 11:Src/main.c **** *
  39. 12:Src/main.c **** * This software component is licensed by ST under Ultimate Liberty license
  40. 13:Src/main.c **** * SLA0044, the "License"; You may not use this file except in compliance with
  41. 14:Src/main.c **** * the License. You may obtain a copy of the License at:
  42. 15:Src/main.c **** * www.st.com/SLA0044
  43. 16:Src/main.c **** *
  44. 17:Src/main.c **** ******************************************************************************
  45. 18:Src/main.c **** */
  46. 19:Src/main.c **** /* USER CODE END Header */
  47. 20:Src/main.c ****
  48. 21:Src/main.c **** /* Includes ------------------------------------------------------------------*/
  49. 22:Src/main.c **** #include "main.h"
  50. 23:Src/main.c **** #include "usart.h"
  51. 24:Src/main.c **** #include "gpio.h"
  52. 25:Src/main.c **** /* Private includes ----------------------------------------------------------*/
  53. 26:Src/main.c **** /* USER CODE BEGIN Includes */
  54. 27:Src/main.c ****
  55. 28:Src/main.c **** /* USER CODE END Includes */
  56. 29:Src/main.c ****
  57. 30:Src/main.c **** /* Private typedef -----------------------------------------------------------*/
  58. 31:Src/main.c **** /* USER CODE BEGIN PTD */
  59. ARM GAS /tmp/ccO5fmWO.s page 2
  60. 32:Src/main.c ****
  61. 33:Src/main.c **** /* USER CODE END PTD */
  62. 34:Src/main.c ****
  63. 35:Src/main.c **** /* Private define ------------------------------------------------------------*/
  64. 36:Src/main.c **** /* USER CODE BEGIN PD */
  65. 37:Src/main.c ****
  66. 38:Src/main.c **** /* USER CODE END PD */
  67. 39:Src/main.c ****
  68. 40:Src/main.c **** /* Private macro -------------------------------------------------------------*/
  69. 41:Src/main.c **** /* USER CODE BEGIN PM */
  70. 42:Src/main.c ****
  71. 43:Src/main.c **** /* USER CODE END PM */
  72. 44:Src/main.c ****
  73. 45:Src/main.c **** /* Private variables ---------------------------------------------------------*/
  74. 46:Src/main.c ****
  75. 47:Src/main.c **** #define ApplicationAddress 0x8010000
  76. 48:Src/main.c **** #define VECT_TAB_OFFSET 0x10000
  77. 49:Src/main.c ****
  78. 50:Src/main.c **** int i;
  79. 51:Src/main.c **** /* USER CODE BEGIN PV */
  80. 52:Src/main.c **** uint8_t msg[7]={0xFF,0xFF,0x00,0x00,0x00,0x00,0x0D};
  81. 53:Src/main.c **** uint8_t NACK[1]={0x79};
  82. 54:Src/main.c **** int rf=0;
  83. 55:Src/main.c **** int row=0;
  84. 56:Src/main.c **** int data_count=0;
  85. 57:Src/main.c **** uint32_t temp[10000];
  86. 58:Src/main.c **** uint32_t FlashData1[10000];
  87. 59:Src/main.c **** uint8_t FlashData[16];
  88. 60:Src/main.c **** uint8_t com[7]={0xFF,0xFF,0x00,0x00,0x00,0x01,0x0D};
  89. 61:Src/main.c **** uint8_t com1[7]={0xFF,0xFF,0x00,0x00,0x00,0x02,0x0D};
  90. 62:Src/main.c **** uint8_t start[7]={0xFF,0xFF,0x00,0x00,0x00,0x03,0x0D};
  91. 63:Src/main.c ****
  92. 64:Src/main.c **** /* USER CODE END PV */
  93. 65:Src/main.c ****
  94. 66:Src/main.c **** /* Private function prototypes -----------------------------------------------*/
  95. 67:Src/main.c **** void SystemClock_Config(void);
  96. 68:Src/main.c **** void UserAppStart(void);
  97. 69:Src/main.c **** void writeFlashTest(void);
  98. 70:Src/main.c **** void printFlashTest(void);
  99. 71:Src/main.c **** /* USER CODE BEGIN PFP */
  100. 72:Src/main.c ****
  101. 73:Src/main.c **** /* USER CODE END PFP */
  102. 74:Src/main.c ****
  103. 75:Src/main.c **** /* Private user code ---------------------------------------------------------*/
  104. 76:Src/main.c **** /* USER CODE BEGIN 0 */
  105. 77:Src/main.c ****
  106. 78:Src/main.c **** /* USER CODE END 0 */
  107. 79:Src/main.c ****
  108. 80:Src/main.c **** /**
  109. 81:Src/main.c **** * @brief The application entry point.
  110. 82:Src/main.c **** * @retval int
  111. 83:Src/main.c **** */
  112. 84:Src/main.c **** int main(void)
  113. 85:Src/main.c **** {
  114. 86:Src/main.c **** /* USER CODE BEGIN 1 */
  115. 87:Src/main.c **** /* USER CODE END 1 */
  116. 88:Src/main.c ****
  117. ARM GAS /tmp/ccO5fmWO.s page 3
  118. 89:Src/main.c **** /* MCU Configuration--------------------------------------------------------*/
  119. 90:Src/main.c ****
  120. 91:Src/main.c **** /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  121. 92:Src/main.c **** HAL_Init();
  122. 93:Src/main.c **** /* USER CODE BEGIN Init */
  123. 94:Src/main.c ****
  124. 95:Src/main.c **** /* USER CODE END Init */
  125. 96:Src/main.c **** /* Configure the system clock */
  126. 97:Src/main.c **** SystemClock_Config();
  127. 98:Src/main.c ****
  128. 99:Src/main.c **** /* USER CODE BEGIN SysInit */
  129. 100:Src/main.c ****
  130. 101:Src/main.c **** /* USER CODE END SysInit */
  131. 102:Src/main.c ****
  132. 103:Src/main.c **** /* Initialize all configured peripherals */
  133. 104:Src/main.c **** MX_GPIO_Init();
  134. 105:Src/main.c **** MX_USART2_UART_Init();
  135. 106:Src/main.c **** MX_UART4_Init();
  136. 107:Src/main.c **** MX_USART1_UART_Init();
  137. 108:Src/main.c **** /* USER CODE BEGIN 2 */
  138. 109:Src/main.c **** SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET;
  139. 110:Src/main.c **** /*------Zigbee setup-----------------------------------------------*/
  140. 111:Src/main.c **** HAL_UART_Transmit(&huart4,(uint8_t*)start,sizeof(start),10);
  141. 112:Src/main.c **** HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14, GPIO_PIN_SET);
  142. 113:Src/main.c **** /*-----------------------------------------------------*/
  143. 114:Src/main.c **** /* USER CODE END 2 */
  144. 115:Src/main.c **** /* Infinite loop */
  145. 116:Src/main.c **** /* USER CODE BEGIN WHILE */
  146. 117:Src/main.c **** while (1)
  147. 118:Src/main.c **** {
  148. 119:Src/main.c **** /* USER CODE END WHILE */
  149. 120:Src/main.c **** if(rf==0)
  150. 121:Src/main.c **** {
  151. 122:Src/main.c **** HAL_UART_Receive_IT(&huart4, (uint8_t *)msg,sizeof(msg));
  152. 123:Src/main.c **** }
  153. 124:Src/main.c **** else
  154. 125:Src/main.c **** {
  155. 126:Src/main.c **** HAL_UART_Receive_IT(&huart4, (uint8_t *)FlashData,sizeof(FlashData));
  156. 127:Src/main.c **** }
  157. 128:Src/main.c ****
  158. 129:Src/main.c ****
  159. 130:Src/main.c ****
  160. 131:Src/main.c ****
  161. 132:Src/main.c **** //HAL_UART_Receive_IT(&huart4, (uint8_t *)msg,sizeof(msg));
  162. 133:Src/main.c ****
  163. 134:Src/main.c ****
  164. 135:Src/main.c **** /* USER CODE BEGIN 3 */
  165. 136:Src/main.c **** }
  166. 137:Src/main.c **** /* USER CODE END 3 */
  167. 138:Src/main.c **** }
  168. 139:Src/main.c ****
  169. 140:Src/main.c **** /**
  170. 141:Src/main.c **** * @brief System Clock Configuration
  171. 142:Src/main.c **** * @retval None
  172. 143:Src/main.c **** */
  173. 144:Src/main.c **** void SystemClock_Config(void)
  174. 145:Src/main.c **** {
  175. ARM GAS /tmp/ccO5fmWO.s page 4
  176. 28 .loc 1 145 0
  177. 29 .cfi_startproc
  178. 30 @ args = 0, pretend = 0, frame = 80
  179. 31 @ frame_needed = 0, uses_anonymous_args = 0
  180. 32 0000 30B5 push {r4, r5, lr}
  181. 33 .LCFI0:
  182. 34 .cfi_def_cfa_offset 12
  183. 35 .cfi_offset 4, -12
  184. 36 .cfi_offset 5, -8
  185. 37 .cfi_offset 14, -4
  186. 38 0002 95B0 sub sp, sp, #84
  187. 39 .LCFI1:
  188. 40 .cfi_def_cfa_offset 96
  189. 146:Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  190. 41 .loc 1 146 0
  191. 42 0004 3022 movs r2, #48
  192. 43 0006 0021 movs r1, #0
  193. 44 0008 08A8 add r0, sp, #32
  194. 45 000a FFF7FEFF bl memset
  195. 46 .LVL0:
  196. 147:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
  197. 47 .loc 1 147 0
  198. 48 000e 0024 movs r4, #0
  199. 49 0010 0394 str r4, [sp, #12]
  200. 50 0012 0494 str r4, [sp, #16]
  201. 51 0014 0594 str r4, [sp, #20]
  202. 52 0016 0694 str r4, [sp, #24]
  203. 53 0018 0794 str r4, [sp, #28]
  204. 54 .LBB4:
  205. 148:Src/main.c ****
  206. 149:Src/main.c **** /** Configure the main internal regulator output voltage
  207. 150:Src/main.c **** */
  208. 151:Src/main.c **** __HAL_RCC_PWR_CLK_ENABLE();
  209. 55 .loc 1 151 0
  210. 56 001a 0194 str r4, [sp, #4]
  211. 57 001c 1A4B ldr r3, .L3
  212. 58 001e 1A6C ldr r2, [r3, #64]
  213. 59 0020 42F08052 orr r2, r2, #268435456
  214. 60 0024 1A64 str r2, [r3, #64]
  215. 61 0026 1B6C ldr r3, [r3, #64]
  216. 62 0028 03F08053 and r3, r3, #268435456
  217. 63 002c 0193 str r3, [sp, #4]
  218. 64 002e 019B ldr r3, [sp, #4]
  219. 65 .LBE4:
  220. 66 .LBB5:
  221. 152:Src/main.c **** __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
  222. 67 .loc 1 152 0
  223. 68 0030 0294 str r4, [sp, #8]
  224. 69 0032 164B ldr r3, .L3+4
  225. 70 0034 1A68 ldr r2, [r3]
  226. 71 0036 42F48042 orr r2, r2, #16384
  227. 72 003a 1A60 str r2, [r3]
  228. 73 003c 1B68 ldr r3, [r3]
  229. 74 003e 03F48043 and r3, r3, #16384
  230. 75 0042 0293 str r3, [sp, #8]
  231. 76 0044 029B ldr r3, [sp, #8]
  232. 77 .LBE5:
  233. ARM GAS /tmp/ccO5fmWO.s page 5
  234. 153:Src/main.c **** /** Initializes the CPU, AHB and APB busses clocks
  235. 154:Src/main.c **** */
  236. 155:Src/main.c **** RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
  237. 78 .loc 1 155 0
  238. 79 0046 0225 movs r5, #2
  239. 80 0048 0895 str r5, [sp, #32]
  240. 156:Src/main.c **** RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  241. 81 .loc 1 156 0
  242. 82 004a 0123 movs r3, #1
  243. 83 004c 0B93 str r3, [sp, #44]
  244. 157:Src/main.c **** RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
  245. 84 .loc 1 157 0
  246. 85 004e 1023 movs r3, #16
  247. 86 0050 0C93 str r3, [sp, #48]
  248. 158:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  249. 87 .loc 1 158 0
  250. 88 0052 0E95 str r5, [sp, #56]
  251. 159:Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
  252. 89 .loc 1 159 0
  253. 90 0054 0F94 str r4, [sp, #60]
  254. 160:Src/main.c **** RCC_OscInitStruct.PLL.PLLM = 8;
  255. 91 .loc 1 160 0
  256. 92 0056 0823 movs r3, #8
  257. 93 0058 1093 str r3, [sp, #64]
  258. 161:Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 72;
  259. 94 .loc 1 161 0
  260. 95 005a 4823 movs r3, #72
  261. 96 005c 1193 str r3, [sp, #68]
  262. 162:Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
  263. 97 .loc 1 162 0
  264. 98 005e 1295 str r5, [sp, #72]
  265. 163:Src/main.c **** RCC_OscInitStruct.PLL.PLLQ = 3;
  266. 99 .loc 1 163 0
  267. 100 0060 0323 movs r3, #3
  268. 101 0062 1393 str r3, [sp, #76]
  269. 164:Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  270. 102 .loc 1 164 0
  271. 103 0064 08A8 add r0, sp, #32
  272. 104 0066 FFF7FEFF bl HAL_RCC_OscConfig
  273. 105 .LVL1:
  274. 165:Src/main.c **** {
  275. 166:Src/main.c **** Error_Handler();
  276. 167:Src/main.c **** }
  277. 168:Src/main.c **** /** Initializes the CPU, AHB and APB busses clocks
  278. 169:Src/main.c **** */
  279. 170:Src/main.c **** RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
  280. 106 .loc 1 170 0
  281. 107 006a 0F23 movs r3, #15
  282. 108 006c 0393 str r3, [sp, #12]
  283. 171:Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
  284. 172:Src/main.c **** RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  285. 109 .loc 1 172 0
  286. 110 006e 0495 str r5, [sp, #16]
  287. 173:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  288. 111 .loc 1 173 0
  289. 112 0070 0594 str r4, [sp, #20]
  290. 174:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
  291. ARM GAS /tmp/ccO5fmWO.s page 6
  292. 113 .loc 1 174 0
  293. 114 0072 4FF48053 mov r3, #4096
  294. 115 0076 0693 str r3, [sp, #24]
  295. 175:Src/main.c **** RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
  296. 116 .loc 1 175 0
  297. 117 0078 0794 str r4, [sp, #28]
  298. 176:Src/main.c ****
  299. 177:Src/main.c **** if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
  300. 118 .loc 1 177 0
  301. 119 007a 2946 mov r1, r5
  302. 120 007c 03A8 add r0, sp, #12
  303. 121 007e FFF7FEFF bl HAL_RCC_ClockConfig
  304. 122 .LVL2:
  305. 178:Src/main.c **** {
  306. 179:Src/main.c **** Error_Handler();
  307. 180:Src/main.c **** }
  308. 181:Src/main.c **** }
  309. 123 .loc 1 181 0
  310. 124 0082 15B0 add sp, sp, #84
  311. 125 .LCFI2:
  312. 126 .cfi_def_cfa_offset 12
  313. 127 @ sp needed
  314. 128 0084 30BD pop {r4, r5, pc}
  315. 129 .L4:
  316. 130 0086 00BF .align 2
  317. 131 .L3:
  318. 132 0088 00380240 .word 1073887232
  319. 133 008c 00700040 .word 1073770496
  320. 134 .cfi_endproc
  321. 135 .LFE131:
  322. 137 .section .text.main,"ax",%progbits
  323. 138 .align 1
  324. 139 .global main
  325. 140 .syntax unified
  326. 141 .thumb
  327. 142 .thumb_func
  328. 143 .fpu fpv4-sp-d16
  329. 145 main:
  330. 146 .LFB130:
  331. 85:Src/main.c **** /* USER CODE BEGIN 1 */
  332. 147 .loc 1 85 0
  333. 148 .cfi_startproc
  334. 149 @ Volatile: function does not return.
  335. 150 @ args = 0, pretend = 0, frame = 0
  336. 151 @ frame_needed = 0, uses_anonymous_args = 0
  337. 152 0000 08B5 push {r3, lr}
  338. 153 .LCFI3:
  339. 154 .cfi_def_cfa_offset 8
  340. 155 .cfi_offset 3, -8
  341. 156 .cfi_offset 14, -4
  342. 92:Src/main.c **** /* USER CODE BEGIN Init */
  343. 157 .loc 1 92 0
  344. 158 0002 FFF7FEFF bl HAL_Init
  345. 159 .LVL3:
  346. 97:Src/main.c ****
  347. 160 .loc 1 97 0
  348. 161 0006 FFF7FEFF bl SystemClock_Config
  349. ARM GAS /tmp/ccO5fmWO.s page 7
  350. 162 .LVL4:
  351. 104:Src/main.c **** MX_USART2_UART_Init();
  352. 163 .loc 1 104 0
  353. 164 000a FFF7FEFF bl MX_GPIO_Init
  354. 165 .LVL5:
  355. 105:Src/main.c **** MX_UART4_Init();
  356. 166 .loc 1 105 0
  357. 167 000e FFF7FEFF bl MX_USART2_UART_Init
  358. 168 .LVL6:
  359. 106:Src/main.c **** MX_USART1_UART_Init();
  360. 169 .loc 1 106 0
  361. 170 0012 FFF7FEFF bl MX_UART4_Init
  362. 171 .LVL7:
  363. 107:Src/main.c **** /* USER CODE BEGIN 2 */
  364. 172 .loc 1 107 0
  365. 173 0016 FFF7FEFF bl MX_USART1_UART_Init
  366. 174 .LVL8:
  367. 109:Src/main.c **** /*------Zigbee setup-----------------------------------------------*/
  368. 175 .loc 1 109 0
  369. 176 001a 0F4A ldr r2, .L10
  370. 177 001c 0F4B ldr r3, .L10+4
  371. 178 001e 9A60 str r2, [r3, #8]
  372. 111:Src/main.c **** HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14, GPIO_PIN_SET);
  373. 179 .loc 1 111 0
  374. 180 0020 0A23 movs r3, #10
  375. 181 0022 0722 movs r2, #7
  376. 182 0024 0E49 ldr r1, .L10+8
  377. 183 0026 0F48 ldr r0, .L10+12
  378. 184 0028 FFF7FEFF bl HAL_UART_Transmit
  379. 185 .LVL9:
  380. 112:Src/main.c **** /*-----------------------------------------------------*/
  381. 186 .loc 1 112 0
  382. 187 002c 0122 movs r2, #1
  383. 188 002e 4FF48041 mov r1, #16384
  384. 189 0032 0D48 ldr r0, .L10+16
  385. 190 0034 FFF7FEFF bl HAL_GPIO_WritePin
  386. 191 .LVL10:
  387. 192 0038 04E0 b .L6
  388. 193 .L7:
  389. 126:Src/main.c **** }
  390. 194 .loc 1 126 0
  391. 195 003a 1022 movs r2, #16
  392. 196 003c 0B49 ldr r1, .L10+20
  393. 197 003e 0948 ldr r0, .L10+12
  394. 198 0040 FFF7FEFF bl HAL_UART_Receive_IT
  395. 199 .LVL11:
  396. 200 .L6:
  397. 120:Src/main.c **** {
  398. 201 .loc 1 120 0
  399. 202 0044 0A4B ldr r3, .L10+24
  400. 203 0046 1B68 ldr r3, [r3]
  401. 204 0048 002B cmp r3, #0
  402. 205 004a F6D1 bne .L7
  403. 122:Src/main.c **** }
  404. 206 .loc 1 122 0
  405. 207 004c 0722 movs r2, #7
  406. 208 004e 0949 ldr r1, .L10+28
  407. ARM GAS /tmp/ccO5fmWO.s page 8
  408. 209 0050 0448 ldr r0, .L10+12
  409. 210 0052 FFF7FEFF bl HAL_UART_Receive_IT
  410. 211 .LVL12:
  411. 212 0056 F5E7 b .L6
  412. 213 .L11:
  413. 214 .align 2
  414. 215 .L10:
  415. 216 0058 00000108 .word 134283264
  416. 217 005c 00ED00E0 .word -536810240
  417. 218 0060 00000000 .word .LANCHOR0
  418. 219 0064 00000000 .word huart4
  419. 220 0068 000C0240 .word 1073875968
  420. 221 006c 00000000 .word FlashData
  421. 222 0070 00000000 .word .LANCHOR1
  422. 223 0074 00000000 .word .LANCHOR2
  423. 224 .cfi_endproc
  424. 225 .LFE130:
  425. 227 .section .text.UserAppStart,"ax",%progbits
  426. 228 .align 1
  427. 229 .global UserAppStart
  428. 230 .syntax unified
  429. 231 .thumb
  430. 232 .thumb_func
  431. 233 .fpu fpv4-sp-d16
  432. 235 UserAppStart:
  433. 236 .LFB133:
  434. 182:Src/main.c ****
  435. 183:Src/main.c **** /* USER CODE BEGIN 4 */
  436. 184:Src/main.c **** void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
  437. 185:Src/main.c **** {
  438. 186:Src/main.c **** if(huart->Instance == UART4)
  439. 187:Src/main.c **** {
  440. 188:Src/main.c **** if(rf==1)
  441. 189:Src/main.c **** {
  442. 190:Src/main.c **** //printf("row:%d\r\n",row);
  443. 191:Src/main.c **** for(i=0;i<4;i++)
  444. 192:Src/main.c **** {
  445. 193:Src/main.c **** FlashData1[(4*row)+i]=(FlashData[4*i]<<24)+(FlashData[1+(4*i)]<<16)+(FlashData[2+(4*i)]<<8)+F
  446. 194:Src/main.c **** //printf("%x\r\n",FlashData1[(4*row)+i]);
  447. 195:Src/main.c **** }
  448. 196:Src/main.c **** if(row==(data_count-1))
  449. 197:Src/main.c **** {
  450. 198:Src/main.c **** writeFlashTest();
  451. 199:Src/main.c **** printFlashTest();
  452. 200:Src/main.c **** UserAppStart();
  453. 201:Src/main.c **** rf=0;
  454. 202:Src/main.c **** data_count=0;
  455. 203:Src/main.c **** row=0;
  456. 204:Src/main.c **** }
  457. 205:Src/main.c **** row=row+1;
  458. 206:Src/main.c ****
  459. 207:Src/main.c **** }
  460. 208:Src/main.c **** else if(rf==0)
  461. 209:Src/main.c **** {
  462. 210:Src/main.c ****
  463. 211:Src/main.c **** if(msg[0]==0xFF && msg[1]==0x01 && msg[6]==0x0D)
  464. 212:Src/main.c **** {
  465. ARM GAS /tmp/ccO5fmWO.s page 9
  466. 213:Src/main.c **** HAL_UART_Transmit(&huart4, (uint8_t *)NACK,1,0xFFFF);
  467. 214:Src/main.c **** rf=1;
  468. 215:Src/main.c **** data_count=msg[2]*100+msg[3];
  469. 216:Src/main.c **** }
  470. 217:Src/main.c **** if(msg[0]==0xFF && msg[1]==0x02 && msg[6]==0x0D)
  471. 218:Src/main.c **** {
  472. 219:Src/main.c **** HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14, GPIO_PIN_SET);
  473. 220:Src/main.c **** HAL_UART_Transmit(&huart4,(uint8_t*)com,sizeof(com),10);
  474. 221:Src/main.c **** }
  475. 222:Src/main.c **** if(msg[0]==0xFF && msg[1]==0x03 && msg[6]==0x0D)
  476. 223:Src/main.c **** {
  477. 224:Src/main.c **** HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14, GPIO_PIN_RESET);
  478. 225:Src/main.c **** HAL_UART_Transmit(&huart4,(uint8_t*)com1,sizeof(com1),10);
  479. 226:Src/main.c **** }
  480. 227:Src/main.c ****
  481. 228:Src/main.c **** }
  482. 229:Src/main.c ****
  483. 230:Src/main.c **** }
  484. 231:Src/main.c **** }
  485. 232:Src/main.c ****
  486. 233:Src/main.c ****
  487. 234:Src/main.c **** void UserAppStart(void)
  488. 235:Src/main.c **** { typedef void (*pFunction)(void);
  489. 237 .loc 1 235 0
  490. 238 .cfi_startproc
  491. 239 @ args = 0, pretend = 0, frame = 0
  492. 240 @ frame_needed = 0, uses_anonymous_args = 0
  493. 241 0000 08B5 push {r3, lr}
  494. 242 .LCFI4:
  495. 243 .cfi_def_cfa_offset 8
  496. 244 .cfi_offset 3, -8
  497. 245 .cfi_offset 14, -4
  498. 236:Src/main.c **** pFunction Jump_To_Application;
  499. 237:Src/main.c **** uint32_t JumpAddress;
  500. 238:Src/main.c **** if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)
  501. 246 .loc 1 238 0
  502. 247 0002 084B ldr r3, .L16
  503. 248 0004 1A68 ldr r2, [r3]
  504. 249 0006 084B ldr r3, .L16+4
  505. 250 0008 1340 ands r3, r3, r2
  506. 251 000a B3F1005F cmp r3, #536870912
  507. 252 000e 00D0 beq .L15
  508. 253 .L12:
  509. 254 0010 08BD pop {r3, pc}
  510. 255 .L15:
  511. 239:Src/main.c **** {
  512. 240:Src/main.c **** /* Jump to user application */
  513. 241:Src/main.c **** JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);
  514. 256 .loc 1 241 0
  515. 257 0012 064B ldr r3, .L16+8
  516. 258 0014 1B68 ldr r3, [r3]
  517. 259 .LVL13:
  518. 242:Src/main.c **** Jump_To_Application = (pFunction) JumpAddress;
  519. 243:Src/main.c **** /* Initialize user application's Stack Pointer */
  520. 244:Src/main.c **** __set_MSP(*(__IO uint32_t*) ApplicationAddress);
  521. 260 .loc 1 244 0
  522. 261 0016 034A ldr r2, .L16
  523. ARM GAS /tmp/ccO5fmWO.s page 10
  524. 262 0018 1268 ldr r2, [r2]
  525. 263 .LVL14:
  526. 264 .LBB6:
  527. 265 .LBB7:
  528. 266 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
  529. 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
  530. 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
  531. 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
  532. 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
  533. 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
  534. 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
  535. 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
  536. 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
  537. 9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  538. 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
  539. 11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  540. 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
  541. 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
  542. 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
  543. 15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  544. 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
  545. 17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  546. 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
  547. 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  548. 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  549. 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
  550. 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
  551. 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  552. 24:Drivers/CMSIS/Include/cmsis_gcc.h ****
  553. 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
  554. 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
  555. 27:Drivers/CMSIS/Include/cmsis_gcc.h ****
  556. 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
  557. 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  558. 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
  559. 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
  560. 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
  561. 33:Drivers/CMSIS/Include/cmsis_gcc.h ****
  562. 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
  563. 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
  564. 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
  565. 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  566. 38:Drivers/CMSIS/Include/cmsis_gcc.h ****
  567. 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
  568. 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
  569. 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
  570. 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  571. 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
  572. 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
  573. 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  574. 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
  575. 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
  576. 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  577. 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
  578. 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
  579. 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  580. 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
  581. ARM GAS /tmp/ccO5fmWO.s page 11
  582. 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
  583. 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  584. 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
  585. 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
  586. 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  587. 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
  588. 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
  589. 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  590. 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
  591. 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
  592. 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  593. 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
  594. 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
  595. 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  596. 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
  597. 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
  598. 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  599. 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
  600. 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  601. 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  602. 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  603. 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
  604. 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  605. 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
  606. 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  607. 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
  608. 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  609. 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  610. 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  611. 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
  612. 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  613. 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
  614. 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  615. 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
  616. 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  617. 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  618. 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  619. 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
  620. 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  621. 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
  622. 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  623. 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
  624. 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  625. 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  626. 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  627. 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
  628. 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  629. 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
  630. 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  631. 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
  632. 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  633. 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  634. 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  635. 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
  636. 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  637. 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
  638. 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  639. ARM GAS /tmp/ccO5fmWO.s page 12
  640. 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
  641. 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
  642. 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  643. 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
  644. 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
  645. 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  646. 116:Drivers/CMSIS/Include/cmsis_gcc.h ****
  647. 117:Drivers/CMSIS/Include/cmsis_gcc.h ****
  648. 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
  649. 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
  650. 120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
  651. 121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
  652. 122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  653. 123:Drivers/CMSIS/Include/cmsis_gcc.h ****
  654. 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  655. 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
  656. 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
  657. 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  658. 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  659. 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
  660. 130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  661. 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
  662. 132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  663. 133:Drivers/CMSIS/Include/cmsis_gcc.h ****
  664. 134:Drivers/CMSIS/Include/cmsis_gcc.h ****
  665. 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  666. 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
  667. 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
  668. 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  669. 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  670. 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
  671. 141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  672. 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
  673. 143:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  674. 144:Drivers/CMSIS/Include/cmsis_gcc.h ****
  675. 145:Drivers/CMSIS/Include/cmsis_gcc.h ****
  676. 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  677. 147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register
  678. 148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register.
  679. 149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value
  680. 150:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  681. 151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
  682. 152:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  683. 153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  684. 154:Drivers/CMSIS/Include/cmsis_gcc.h ****
  685. 155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) );
  686. 156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  687. 157:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  688. 158:Drivers/CMSIS/Include/cmsis_gcc.h ****
  689. 159:Drivers/CMSIS/Include/cmsis_gcc.h ****
  690. 160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  691. 161:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  692. 162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure)
  693. 163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode.
  694. 164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value
  695. 165:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  696. 166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
  697. ARM GAS /tmp/ccO5fmWO.s page 13
  698. 167:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  699. 168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  700. 169:Drivers/CMSIS/Include/cmsis_gcc.h ****
  701. 170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
  702. 171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  703. 172:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  704. 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  705. 174:Drivers/CMSIS/Include/cmsis_gcc.h ****
  706. 175:Drivers/CMSIS/Include/cmsis_gcc.h ****
  707. 176:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  708. 177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register
  709. 178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register.
  710. 179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
  711. 180:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  712. 181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
  713. 182:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  714. 183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
  715. 184:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  716. 185:Drivers/CMSIS/Include/cmsis_gcc.h ****
  717. 186:Drivers/CMSIS/Include/cmsis_gcc.h ****
  718. 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  719. 188:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  720. 189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure)
  721. 190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state.
  722. 191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
  723. 192:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  724. 193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
  725. 194:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  726. 195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
  727. 196:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  728. 197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  729. 198:Drivers/CMSIS/Include/cmsis_gcc.h ****
  730. 199:Drivers/CMSIS/Include/cmsis_gcc.h ****
  731. 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  732. 201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register
  733. 202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register.
  734. 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value
  735. 204:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  736. 205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
  737. 206:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  738. 207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  739. 208:Drivers/CMSIS/Include/cmsis_gcc.h ****
  740. 209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
  741. 210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  742. 211:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  743. 212:Drivers/CMSIS/Include/cmsis_gcc.h ****
  744. 213:Drivers/CMSIS/Include/cmsis_gcc.h ****
  745. 214:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  746. 215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register
  747. 216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register.
  748. 217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value
  749. 218:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  750. 219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
  751. 220:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  752. 221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  753. 222:Drivers/CMSIS/Include/cmsis_gcc.h ****
  754. 223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) );
  755. ARM GAS /tmp/ccO5fmWO.s page 14
  756. 224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  757. 225:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  758. 226:Drivers/CMSIS/Include/cmsis_gcc.h ****
  759. 227:Drivers/CMSIS/Include/cmsis_gcc.h ****
  760. 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  761. 229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register
  762. 230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register.
  763. 231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value
  764. 232:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  765. 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
  766. 234:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  767. 235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  768. 236:Drivers/CMSIS/Include/cmsis_gcc.h ****
  769. 237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
  770. 238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  771. 239:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  772. 240:Drivers/CMSIS/Include/cmsis_gcc.h ****
  773. 241:Drivers/CMSIS/Include/cmsis_gcc.h ****
  774. 242:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  775. 243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer
  776. 244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP).
  777. 245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
  778. 246:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  779. 247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
  780. 248:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  781. 249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  782. 250:Drivers/CMSIS/Include/cmsis_gcc.h ****
  783. 251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) );
  784. 252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  785. 253:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  786. 254:Drivers/CMSIS/Include/cmsis_gcc.h ****
  787. 255:Drivers/CMSIS/Include/cmsis_gcc.h ****
  788. 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  789. 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  790. 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure)
  791. 259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
  792. 260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
  793. 261:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  794. 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
  795. 263:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  796. 264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  797. 265:Drivers/CMSIS/Include/cmsis_gcc.h ****
  798. 266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) );
  799. 267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  800. 268:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  801. 269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  802. 270:Drivers/CMSIS/Include/cmsis_gcc.h ****
  803. 271:Drivers/CMSIS/Include/cmsis_gcc.h ****
  804. 272:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  805. 273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer
  806. 274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP).
  807. 275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
  808. 276:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  809. 277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
  810. 278:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  811. 279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
  812. 280:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  813. ARM GAS /tmp/ccO5fmWO.s page 15
  814. 281:Drivers/CMSIS/Include/cmsis_gcc.h ****
  815. 282:Drivers/CMSIS/Include/cmsis_gcc.h ****
  816. 283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  817. 284:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  818. 285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
  819. 286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
  820. 287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
  821. 288:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  822. 289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
  823. 290:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  824. 291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
  825. 292:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  826. 293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  827. 294:Drivers/CMSIS/Include/cmsis_gcc.h ****
  828. 295:Drivers/CMSIS/Include/cmsis_gcc.h ****
  829. 296:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  830. 297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer
  831. 298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP).
  832. 299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
  833. 300:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  834. 301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
  835. 302:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  836. 303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  837. 304:Drivers/CMSIS/Include/cmsis_gcc.h ****
  838. 305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) );
  839. 306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  840. 307:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  841. 308:Drivers/CMSIS/Include/cmsis_gcc.h ****
  842. 309:Drivers/CMSIS/Include/cmsis_gcc.h ****
  843. 310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  844. 311:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  845. 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure)
  846. 313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
  847. 314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
  848. 315:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  849. 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
  850. 317:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  851. 318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  852. 319:Drivers/CMSIS/Include/cmsis_gcc.h ****
  853. 320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
  854. 321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  855. 322:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  856. 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  857. 324:Drivers/CMSIS/Include/cmsis_gcc.h ****
  858. 325:Drivers/CMSIS/Include/cmsis_gcc.h ****
  859. 326:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  860. 327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer
  861. 328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP).
  862. 329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
  863. 330:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  864. 331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
  865. 332:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  866. 333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
  867. 267 .loc 2 333 0
  868. 268 .syntax unified
  869. 269 @ 333 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  870. 270 001a 82F30888 MSR msp, r2
  871. ARM GAS /tmp/ccO5fmWO.s page 16
  872. 271 @ 0 "" 2
  873. 272 .LVL15:
  874. 273 .thumb
  875. 274 .syntax unified
  876. 275 .LBE7:
  877. 276 .LBE6:
  878. 245:Src/main.c **** Jump_To_Application();
  879. 277 .loc 1 245 0
  880. 278 001e 9847 blx r3
  881. 279 .LVL16:
  882. 246:Src/main.c **** }
  883. 247:Src/main.c **** }
  884. 280 .loc 1 247 0
  885. 281 0020 F6E7 b .L12
  886. 282 .L17:
  887. 283 0022 00BF .align 2
  888. 284 .L16:
  889. 285 0024 00000108 .word 134283264
  890. 286 0028 0000FE2F .word 805175296
  891. 287 002c 04000108 .word 134283268
  892. 288 .cfi_endproc
  893. 289 .LFE133:
  894. 291 .section .text.writeFlashTest,"ax",%progbits
  895. 292 .align 1
  896. 293 .global writeFlashTest
  897. 294 .syntax unified
  898. 295 .thumb
  899. 296 .thumb_func
  900. 297 .fpu fpv4-sp-d16
  901. 299 writeFlashTest:
  902. 300 .LFB134:
  903. 248:Src/main.c ****
  904. 249:Src/main.c ****
  905. 250:Src/main.c **** void writeFlashTest(void)
  906. 251:Src/main.c **** {
  907. 301 .loc 1 251 0
  908. 302 .cfi_startproc
  909. 303 @ args = 0, pretend = 0, frame = 24
  910. 304 @ frame_needed = 0, uses_anonymous_args = 0
  911. 305 0000 10B5 push {r4, lr}
  912. 306 .LCFI5:
  913. 307 .cfi_def_cfa_offset 8
  914. 308 .cfi_offset 4, -8
  915. 309 .cfi_offset 14, -4
  916. 310 0002 86B0 sub sp, sp, #24
  917. 311 .LCFI6:
  918. 312 .cfi_def_cfa_offset 32
  919. 252:Src/main.c **** FLASH_EraseInitTypeDef pEraseInit;
  920. 253:Src/main.c ****
  921. 254:Src/main.c **** HAL_FLASH_Unlock();
  922. 313 .loc 1 254 0
  923. 314 0004 FFF7FEFF bl HAL_FLASH_Unlock
  924. 315 .LVL17:
  925. 255:Src/main.c ****
  926. 256:Src/main.c **** pEraseInit.TypeErase = FLASH_TYPEERASE_SECTORS;
  927. 316 .loc 1 256 0
  928. 317 0008 0024 movs r4, #0
  929. ARM GAS /tmp/ccO5fmWO.s page 17
  930. 318 000a 0194 str r4, [sp, #4]
  931. 257:Src/main.c **** pEraseInit.VoltageRange = FLASH_VOLTAGE_RANGE_3;
  932. 319 .loc 1 257 0
  933. 320 000c 0223 movs r3, #2
  934. 321 000e 0593 str r3, [sp, #20]
  935. 258:Src/main.c **** pEraseInit.Sector = FLASH_SECTOR_4;
  936. 322 .loc 1 258 0
  937. 323 0010 0423 movs r3, #4
  938. 324 0012 0393 str r3, [sp, #12]
  939. 259:Src/main.c **** pEraseInit.NbSectors = 1;
  940. 325 .loc 1 259 0
  941. 326 0014 0123 movs r3, #1
  942. 327 0016 0493 str r3, [sp, #16]
  943. 260:Src/main.c **** uint32_t PageError=0;
  944. 328 .loc 1 260 0
  945. 329 0018 06A9 add r1, sp, #24
  946. 330 001a 41F8184D str r4, [r1, #-24]!
  947. 261:Src/main.c **** HAL_FLASHEx_Erase(&pEraseInit,&PageError);
  948. 331 .loc 1 261 0
  949. 332 001e 01A8 add r0, sp, #4
  950. 333 0020 FFF7FEFF bl HAL_FLASHEx_Erase
  951. 334 .LVL18:
  952. 262:Src/main.c **** for(i=0;i<(data_count*4);i++)
  953. 335 .loc 1 262 0
  954. 336 0024 0E4B ldr r3, .L22
  955. 337 0026 1C60 str r4, [r3]
  956. 338 0028 0FE0 b .L19
  957. 339 .L20:
  958. 263:Src/main.c **** {
  959. 264:Src/main.c ****
  960. 265:Src/main.c **** HAL_FLASH_Program(TYPEPROGRAM_WORD,ApplicationAddress+(i*4),FlashData1[i]);
  961. 340 .loc 1 265 0 discriminator 3
  962. 341 002a 03F10071 add r1, r3, #33554432
  963. 342 002e 01F58041 add r1, r1, #16384
  964. 343 0032 0C4A ldr r2, .L22+4
  965. 344 0034 52F82320 ldr r2, [r2, r3, lsl #2]
  966. 345 0038 0023 movs r3, #0
  967. 346 003a 8900 lsls r1, r1, #2
  968. 347 003c 0220 movs r0, #2
  969. 348 003e FFF7FEFF bl HAL_FLASH_Program
  970. 349 .LVL19:
  971. 262:Src/main.c **** for(i=0;i<(data_count*4);i++)
  972. 350 .loc 1 262 0 discriminator 3
  973. 351 0042 074A ldr r2, .L22
  974. 352 0044 1368 ldr r3, [r2]
  975. 353 0046 0133 adds r3, r3, #1
  976. 354 0048 1360 str r3, [r2]
  977. 355 .L19:
  978. 262:Src/main.c **** for(i=0;i<(data_count*4);i++)
  979. 356 .loc 1 262 0 is_stmt 0 discriminator 1
  980. 357 004a 074B ldr r3, .L22+8
  981. 358 004c 1A68 ldr r2, [r3]
  982. 359 004e 044B ldr r3, .L22
  983. 360 0050 1B68 ldr r3, [r3]
  984. 361 0052 B3EB820F cmp r3, r2, lsl #2
  985. 362 0056 E8DB blt .L20
  986. 266:Src/main.c ****
  987. ARM GAS /tmp/ccO5fmWO.s page 18
  988. 267:Src/main.c **** }
  989. 268:Src/main.c ****
  990. 269:Src/main.c ****
  991. 270:Src/main.c ****
  992. 271:Src/main.c **** HAL_FLASH_Lock();
  993. 363 .loc 1 271 0 is_stmt 1
  994. 364 0058 FFF7FEFF bl HAL_FLASH_Lock
  995. 365 .LVL20:
  996. 272:Src/main.c **** }
  997. 366 .loc 1 272 0
  998. 367 005c 06B0 add sp, sp, #24
  999. 368 .LCFI7:
  1000. 369 .cfi_def_cfa_offset 8
  1001. 370 @ sp needed
  1002. 371 005e 10BD pop {r4, pc}
  1003. 372 .L23:
  1004. 373 .align 2
  1005. 374 .L22:
  1006. 375 0060 00000000 .word i
  1007. 376 0064 00000000 .word FlashData1
  1008. 377 0068 00000000 .word .LANCHOR3
  1009. 378 .cfi_endproc
  1010. 379 .LFE134:
  1011. 381 .section .text.printFlashTest,"ax",%progbits
  1012. 382 .align 1
  1013. 383 .global printFlashTest
  1014. 384 .syntax unified
  1015. 385 .thumb
  1016. 386 .thumb_func
  1017. 387 .fpu fpv4-sp-d16
  1018. 389 printFlashTest:
  1019. 390 .LFB135:
  1020. 273:Src/main.c **** void printFlashTest(void)
  1021. 274:Src/main.c **** {
  1022. 391 .loc 1 274 0
  1023. 392 .cfi_startproc
  1024. 393 @ args = 0, pretend = 0, frame = 0
  1025. 394 @ frame_needed = 0, uses_anonymous_args = 0
  1026. 395 @ link register save eliminated.
  1027. 275:Src/main.c **** for(i=0;i<(data_count*4);i++)
  1028. 396 .loc 1 275 0
  1029. 397 0000 0022 movs r2, #0
  1030. 398 0002 0B4B ldr r3, .L27
  1031. 399 0004 1A60 str r2, [r3]
  1032. 400 0006 0BE0 b .L25
  1033. 401 .L26:
  1034. 276:Src/main.c **** {
  1035. 277:Src/main.c **** temp[i] = *(__IO uint32_t*)(ApplicationAddress+(i*4));
  1036. 402 .loc 1 277 0 discriminator 3
  1037. 403 0008 03F10072 add r2, r3, #33554432
  1038. 404 000c 02F58042 add r2, r2, #16384
  1039. 405 0010 9200 lsls r2, r2, #2
  1040. 406 0012 1168 ldr r1, [r2]
  1041. 407 0014 074A ldr r2, .L27+4
  1042. 408 0016 42F82310 str r1, [r2, r3, lsl #2]
  1043. 275:Src/main.c **** for(i=0;i<(data_count*4);i++)
  1044. 409 .loc 1 275 0 discriminator 3
  1045. ARM GAS /tmp/ccO5fmWO.s page 19
  1046. 410 001a 0133 adds r3, r3, #1
  1047. 411 001c 044A ldr r2, .L27
  1048. 412 001e 1360 str r3, [r2]
  1049. 413 .L25:
  1050. 275:Src/main.c **** for(i=0;i<(data_count*4);i++)
  1051. 414 .loc 1 275 0 is_stmt 0 discriminator 1
  1052. 415 0020 054B ldr r3, .L27+8
  1053. 416 0022 1A68 ldr r2, [r3]
  1054. 417 0024 024B ldr r3, .L27
  1055. 418 0026 1B68 ldr r3, [r3]
  1056. 419 0028 B3EB820F cmp r3, r2, lsl #2
  1057. 420 002c ECDB blt .L26
  1058. 278:Src/main.c **** //printf("addr:0x%x, data:0x%x\r\n",ApplicationAddress+(i*4), temp[i]);
  1059. 279:Src/main.c **** //printf("%x\r\n", temp[i]);
  1060. 280:Src/main.c ****
  1061. 281:Src/main.c **** }
  1062. 282:Src/main.c **** }
  1063. 421 .loc 1 282 0 is_stmt 1
  1064. 422 002e 7047 bx lr
  1065. 423 .L28:
  1066. 424 .align 2
  1067. 425 .L27:
  1068. 426 0030 00000000 .word i
  1069. 427 0034 00000000 .word temp
  1070. 428 0038 00000000 .word .LANCHOR3
  1071. 429 .cfi_endproc
  1072. 430 .LFE135:
  1073. 432 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits
  1074. 433 .align 1
  1075. 434 .global HAL_UART_RxCpltCallback
  1076. 435 .syntax unified
  1077. 436 .thumb
  1078. 437 .thumb_func
  1079. 438 .fpu fpv4-sp-d16
  1080. 440 HAL_UART_RxCpltCallback:
  1081. 441 .LFB132:
  1082. 185:Src/main.c **** if(huart->Instance == UART4)
  1083. 442 .loc 1 185 0
  1084. 443 .cfi_startproc
  1085. 444 @ args = 0, pretend = 0, frame = 0
  1086. 445 @ frame_needed = 0, uses_anonymous_args = 0
  1087. 446 .LVL21:
  1088. 447 0000 38B5 push {r3, r4, r5, lr}
  1089. 448 .LCFI8:
  1090. 449 .cfi_def_cfa_offset 16
  1091. 450 .cfi_offset 3, -16
  1092. 451 .cfi_offset 4, -12
  1093. 452 .cfi_offset 5, -8
  1094. 453 .cfi_offset 14, -4
  1095. 186:Src/main.c **** {
  1096. 454 .loc 1 186 0
  1097. 455 0002 0268 ldr r2, [r0]
  1098. 456 0004 4B4B ldr r3, .L43
  1099. 457 0006 9A42 cmp r2, r3
  1100. 458 0008 00D0 beq .L38
  1101. 459 .LVL22:
  1102. 460 .L29:
  1103. ARM GAS /tmp/ccO5fmWO.s page 20
  1104. 461 000a 38BD pop {r3, r4, r5, pc}
  1105. 462 .LVL23:
  1106. 463 .L38:
  1107. 188:Src/main.c **** {
  1108. 464 .loc 1 188 0
  1109. 465 000c 4A4B ldr r3, .L43+4
  1110. 466 000e 1B68 ldr r3, [r3]
  1111. 467 0010 012B cmp r3, #1
  1112. 468 0012 22D0 beq .L39
  1113. 208:Src/main.c **** {
  1114. 469 .loc 1 208 0
  1115. 470 0014 002B cmp r3, #0
  1116. 471 0016 F8D1 bne .L29
  1117. 211:Src/main.c **** {
  1118. 472 .loc 1 211 0
  1119. 473 0018 484B ldr r3, .L43+8
  1120. 474 001a 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1121. 475 001c FF2B cmp r3, #255
  1122. 476 001e 58D0 beq .L40
  1123. 477 .LVL24:
  1124. 478 .L35:
  1125. 217:Src/main.c **** {
  1126. 479 .loc 1 217 0
  1127. 480 0020 464B ldr r3, .L43+8
  1128. 481 0022 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1129. 482 0024 FF2B cmp r3, #255
  1130. 483 0026 6FD0 beq .L41
  1131. 484 .L36:
  1132. 222:Src/main.c **** {
  1133. 485 .loc 1 222 0
  1134. 486 0028 444B ldr r3, .L43+8
  1135. 487 002a 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1136. 488 002c FF2B cmp r3, #255
  1137. 489 002e ECD1 bne .L29
  1138. 222:Src/main.c **** {
  1139. 490 .loc 1 222 0 is_stmt 0 discriminator 1
  1140. 491 0030 424B ldr r3, .L43+8
  1141. 492 0032 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2
  1142. 493 0034 032B cmp r3, #3
  1143. 494 0036 E8D1 bne .L29
  1144. 222:Src/main.c **** {
  1145. 495 .loc 1 222 0 discriminator 2
  1146. 496 0038 404B ldr r3, .L43+8
  1147. 497 003a 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2
  1148. 498 003c 0D2B cmp r3, #13
  1149. 499 003e E4D1 bne .L29
  1150. 224:Src/main.c **** HAL_UART_Transmit(&huart4,(uint8_t*)com1,sizeof(com1),10);
  1151. 500 .loc 1 224 0 is_stmt 1
  1152. 501 0040 0022 movs r2, #0
  1153. 502 0042 4FF48041 mov r1, #16384
  1154. 503 0046 3E48 ldr r0, .L43+12
  1155. 504 0048 FFF7FEFF bl HAL_GPIO_WritePin
  1156. 505 .LVL25:
  1157. 225:Src/main.c **** }
  1158. 506 .loc 1 225 0
  1159. 507 004c 0A23 movs r3, #10
  1160. 508 004e 0722 movs r2, #7
  1161. ARM GAS /tmp/ccO5fmWO.s page 21
  1162. 509 0050 3C49 ldr r1, .L43+16
  1163. 510 0052 3D48 ldr r0, .L43+20
  1164. 511 0054 FFF7FEFF bl HAL_UART_Transmit
  1165. 512 .LVL26:
  1166. 231:Src/main.c ****
  1167. 513 .loc 1 231 0
  1168. 514 0058 D7E7 b .L29
  1169. 515 .LVL27:
  1170. 516 .L39:
  1171. 191:Src/main.c **** {
  1172. 517 .loc 1 191 0
  1173. 518 005a 0022 movs r2, #0
  1174. 519 005c 3B4B ldr r3, .L43+24
  1175. 520 005e 1A60 str r2, [r3]
  1176. 521 0060 19E0 b .L32
  1177. 522 .LVL28:
  1178. 523 .L33:
  1179. 193:Src/main.c **** //printf("%x\r\n",FlashData1[(4*row)+i]);
  1180. 524 .loc 1 193 0 discriminator 3
  1181. 525 0062 3B4B ldr r3, .L43+28
  1182. 526 0064 1C68 ldr r4, [r3]
  1183. 527 0066 02EB8404 add r4, r2, r4, lsl #2
  1184. 528 006a 9100 lsls r1, r2, #2
  1185. 529 006c 3948 ldr r0, .L43+32
  1186. 530 006e 10F82250 ldrb r5, [r0, r2, lsl #2] @ zero_extendqisi2
  1187. 531 0072 4B1C adds r3, r1, #1
  1188. 532 0074 C35C ldrb r3, [r0, r3] @ zero_extendqisi2
  1189. 533 0076 1B04 lsls r3, r3, #16
  1190. 534 0078 03EB0563 add r3, r3, r5, lsl #24
  1191. 535 007c 8D1C adds r5, r1, #2
  1192. 536 007e 455D ldrb r5, [r0, r5] @ zero_extendqisi2
  1193. 537 0080 03EB0523 add r3, r3, r5, lsl #8
  1194. 538 0084 0331 adds r1, r1, #3
  1195. 539 0086 415C ldrb r1, [r0, r1] @ zero_extendqisi2
  1196. 540 0088 0B44 add r3, r3, r1
  1197. 541 008a 3349 ldr r1, .L43+36
  1198. 542 008c 41F82430 str r3, [r1, r4, lsl #2]
  1199. 191:Src/main.c **** {
  1200. 543 .loc 1 191 0 discriminator 3
  1201. 544 0090 0132 adds r2, r2, #1
  1202. 545 0092 2E4B ldr r3, .L43+24
  1203. 546 0094 1A60 str r2, [r3]
  1204. 547 .L32:
  1205. 191:Src/main.c **** {
  1206. 548 .loc 1 191 0 is_stmt 0 discriminator 1
  1207. 549 0096 2D4B ldr r3, .L43+24
  1208. 550 0098 1A68 ldr r2, [r3]
  1209. 551 009a 032A cmp r2, #3
  1210. 552 009c E1DD ble .L33
  1211. 196:Src/main.c **** {
  1212. 553 .loc 1 196 0 is_stmt 1
  1213. 554 009e 2F4B ldr r3, .L43+40
  1214. 555 00a0 1B68 ldr r3, [r3]
  1215. 556 00a2 013B subs r3, r3, #1
  1216. 557 00a4 2A4A ldr r2, .L43+28
  1217. 558 00a6 1268 ldr r2, [r2]
  1218. 559 00a8 9342 cmp r3, r2
  1219. ARM GAS /tmp/ccO5fmWO.s page 22
  1220. 560 00aa 04D0 beq .L42
  1221. 561 .L34:
  1222. 205:Src/main.c ****
  1223. 562 .loc 1 205 0
  1224. 563 00ac 284A ldr r2, .L43+28
  1225. 564 00ae 1368 ldr r3, [r2]
  1226. 565 00b0 0133 adds r3, r3, #1
  1227. 566 00b2 1360 str r3, [r2]
  1228. 567 00b4 38BD pop {r3, r4, r5, pc}
  1229. 568 .L42:
  1230. 198:Src/main.c **** printFlashTest();
  1231. 569 .loc 1 198 0
  1232. 570 00b6 FFF7FEFF bl writeFlashTest
  1233. 571 .LVL29:
  1234. 199:Src/main.c **** UserAppStart();
  1235. 572 .loc 1 199 0
  1236. 573 00ba FFF7FEFF bl printFlashTest
  1237. 574 .LVL30:
  1238. 200:Src/main.c **** rf=0;
  1239. 575 .loc 1 200 0
  1240. 576 00be FFF7FEFF bl UserAppStart
  1241. 577 .LVL31:
  1242. 201:Src/main.c **** data_count=0;
  1243. 578 .loc 1 201 0
  1244. 579 00c2 0023 movs r3, #0
  1245. 580 00c4 1C4A ldr r2, .L43+4
  1246. 581 00c6 1360 str r3, [r2]
  1247. 202:Src/main.c **** row=0;
  1248. 582 .loc 1 202 0
  1249. 583 00c8 244A ldr r2, .L43+40
  1250. 584 00ca 1360 str r3, [r2]
  1251. 203:Src/main.c **** }
  1252. 585 .loc 1 203 0
  1253. 586 00cc 204A ldr r2, .L43+28
  1254. 587 00ce 1360 str r3, [r2]
  1255. 588 00d0 ECE7 b .L34
  1256. 589 .LVL32:
  1257. 590 .L40:
  1258. 211:Src/main.c **** {
  1259. 591 .loc 1 211 0 discriminator 1
  1260. 592 00d2 1A4B ldr r3, .L43+8
  1261. 593 00d4 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2
  1262. 594 00d6 012B cmp r3, #1
  1263. 595 00d8 A2D1 bne .L35
  1264. 211:Src/main.c **** {
  1265. 596 .loc 1 211 0 is_stmt 0 discriminator 2
  1266. 597 00da 184B ldr r3, .L43+8
  1267. 598 00dc 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2
  1268. 599 00de 0D2B cmp r3, #13
  1269. 600 00e0 9ED1 bne .L35
  1270. 213:Src/main.c **** rf=1;
  1271. 601 .loc 1 213 0 is_stmt 1
  1272. 602 00e2 4FF6FF73 movw r3, #65535
  1273. 603 00e6 0122 movs r2, #1
  1274. 604 00e8 1D49 ldr r1, .L43+44
  1275. 605 00ea 1748 ldr r0, .L43+20
  1276. 606 .LVL33:
  1277. ARM GAS /tmp/ccO5fmWO.s page 23
  1278. 607 00ec FFF7FEFF bl HAL_UART_Transmit
  1279. 608 .LVL34:
  1280. 214:Src/main.c **** data_count=msg[2]*100+msg[3];
  1281. 609 .loc 1 214 0
  1282. 610 00f0 0122 movs r2, #1
  1283. 611 00f2 114B ldr r3, .L43+4
  1284. 612 00f4 1A60 str r2, [r3]
  1285. 215:Src/main.c **** }
  1286. 613 .loc 1 215 0
  1287. 614 00f6 114A ldr r2, .L43+8
  1288. 615 00f8 9378 ldrb r3, [r2, #2] @ zero_extendqisi2
  1289. 616 00fa D278 ldrb r2, [r2, #3] @ zero_extendqisi2
  1290. 617 00fc 6421 movs r1, #100
  1291. 618 00fe 01FB0323 mla r3, r1, r3, r2
  1292. 619 0102 164A ldr r2, .L43+40
  1293. 620 0104 1360 str r3, [r2]
  1294. 621 0106 8BE7 b .L35
  1295. 622 .L41:
  1296. 217:Src/main.c **** {
  1297. 623 .loc 1 217 0 discriminator 1
  1298. 624 0108 0C4B ldr r3, .L43+8
  1299. 625 010a 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2
  1300. 626 010c 022B cmp r3, #2
  1301. 627 010e 8BD1 bne .L36
  1302. 217:Src/main.c **** {
  1303. 628 .loc 1 217 0 is_stmt 0 discriminator 2
  1304. 629 0110 0A4B ldr r3, .L43+8
  1305. 630 0112 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2
  1306. 631 0114 0D2B cmp r3, #13
  1307. 632 0116 87D1 bne .L36
  1308. 219:Src/main.c **** HAL_UART_Transmit(&huart4,(uint8_t*)com,sizeof(com),10);
  1309. 633 .loc 1 219 0 is_stmt 1
  1310. 634 0118 0122 movs r2, #1
  1311. 635 011a 4FF48041 mov r1, #16384
  1312. 636 011e 0848 ldr r0, .L43+12
  1313. 637 0120 FFF7FEFF bl HAL_GPIO_WritePin
  1314. 638 .LVL35:
  1315. 220:Src/main.c **** }
  1316. 639 .loc 1 220 0
  1317. 640 0124 0A23 movs r3, #10
  1318. 641 0126 0722 movs r2, #7
  1319. 642 0128 0E49 ldr r1, .L43+48
  1320. 643 012a 0748 ldr r0, .L43+20
  1321. 644 012c FFF7FEFF bl HAL_UART_Transmit
  1322. 645 .LVL36:
  1323. 646 0130 7AE7 b .L36
  1324. 647 .L44:
  1325. 648 0132 00BF .align 2
  1326. 649 .L43:
  1327. 650 0134 004C0040 .word 1073761280
  1328. 651 0138 00000000 .word .LANCHOR1
  1329. 652 013c 00000000 .word .LANCHOR2
  1330. 653 0140 000C0240 .word 1073875968
  1331. 654 0144 00000000 .word .LANCHOR7
  1332. 655 0148 00000000 .word huart4
  1333. 656 014c 00000000 .word i
  1334. 657 0150 00000000 .word .LANCHOR4
  1335. ARM GAS /tmp/ccO5fmWO.s page 24
  1336. 658 0154 00000000 .word FlashData
  1337. 659 0158 00000000 .word FlashData1
  1338. 660 015c 00000000 .word .LANCHOR3
  1339. 661 0160 00000000 .word .LANCHOR5
  1340. 662 0164 00000000 .word .LANCHOR6
  1341. 663 .cfi_endproc
  1342. 664 .LFE132:
  1343. 666 .section .text.Error_Handler,"ax",%progbits
  1344. 667 .align 1
  1345. 668 .global Error_Handler
  1346. 669 .syntax unified
  1347. 670 .thumb
  1348. 671 .thumb_func
  1349. 672 .fpu fpv4-sp-d16
  1350. 674 Error_Handler:
  1351. 675 .LFB136:
  1352. 283:Src/main.c ****
  1353. 284:Src/main.c ****
  1354. 285:Src/main.c **** /* USER CODE END 4 */
  1355. 286:Src/main.c ****
  1356. 287:Src/main.c **** /**
  1357. 288:Src/main.c **** * @brief This function is executed in case of error occurrence.
  1358. 289:Src/main.c **** * @retval None
  1359. 290:Src/main.c **** */
  1360. 291:Src/main.c **** void Error_Handler(void)
  1361. 292:Src/main.c **** {
  1362. 676 .loc 1 292 0
  1363. 677 .cfi_startproc
  1364. 678 @ args = 0, pretend = 0, frame = 0
  1365. 679 @ frame_needed = 0, uses_anonymous_args = 0
  1366. 680 @ link register save eliminated.
  1367. 681 0000 7047 bx lr
  1368. 682 .cfi_endproc
  1369. 683 .LFE136:
  1370. 685 .global start
  1371. 686 .global com1
  1372. 687 .global com
  1373. 688 .comm FlashData,16,4
  1374. 689 .comm FlashData1,40000,4
  1375. 690 .comm temp,40000,4
  1376. 691 .global data_count
  1377. 692 .global row
  1378. 693 .global rf
  1379. 694 .global NACK
  1380. 695 .global msg
  1381. 696 .comm i,4,4
  1382. 697 .section .bss.data_count,"aw",%nobits
  1383. 698 .align 2
  1384. 699 .set .LANCHOR3,. + 0
  1385. 702 data_count:
  1386. 703 0000 00000000 .space 4
  1387. 704 .section .bss.rf,"aw",%nobits
  1388. 705 .align 2
  1389. 706 .set .LANCHOR1,. + 0
  1390. 709 rf:
  1391. 710 0000 00000000 .space 4
  1392. 711 .section .bss.row,"aw",%nobits
  1393. ARM GAS /tmp/ccO5fmWO.s page 25
  1394. 712 .align 2
  1395. 713 .set .LANCHOR4,. + 0
  1396. 716 row:
  1397. 717 0000 00000000 .space 4
  1398. 718 .section .data.NACK,"aw",%progbits
  1399. 719 .align 2
  1400. 720 .set .LANCHOR5,. + 0
  1401. 723 NACK:
  1402. 724 0000 79 .byte 121
  1403. 725 .section .data.com,"aw",%progbits
  1404. 726 .align 2
  1405. 727 .set .LANCHOR6,. + 0
  1406. 730 com:
  1407. 731 0000 FF .byte -1
  1408. 732 0001 FF .byte -1
  1409. 733 0002 00 .byte 0
  1410. 734 0003 00 .byte 0
  1411. 735 0004 00 .byte 0
  1412. 736 0005 01 .byte 1
  1413. 737 0006 0D .byte 13
  1414. 738 .section .data.com1,"aw",%progbits
  1415. 739 .align 2
  1416. 740 .set .LANCHOR7,. + 0
  1417. 743 com1:
  1418. 744 0000 FF .byte -1
  1419. 745 0001 FF .byte -1
  1420. 746 0002 00 .byte 0
  1421. 747 0003 00 .byte 0
  1422. 748 0004 00 .byte 0
  1423. 749 0005 02 .byte 2
  1424. 750 0006 0D .byte 13
  1425. 751 .section .data.msg,"aw",%progbits
  1426. 752 .align 2
  1427. 753 .set .LANCHOR2,. + 0
  1428. 756 msg:
  1429. 757 0000 FF .byte -1
  1430. 758 0001 FF .byte -1
  1431. 759 0002 00 .byte 0
  1432. 760 0003 00 .byte 0
  1433. 761 0004 00 .byte 0
  1434. 762 0005 00 .byte 0
  1435. 763 0006 0D .byte 13
  1436. 764 .section .data.start,"aw",%progbits
  1437. 765 .align 2
  1438. 766 .set .LANCHOR0,. + 0
  1439. 769 start:
  1440. 770 0000 FF .byte -1
  1441. 771 0001 FF .byte -1
  1442. 772 0002 00 .byte 0
  1443. 773 0003 00 .byte 0
  1444. 774 0004 00 .byte 0
  1445. 775 0005 03 .byte 3
  1446. 776 0006 0D .byte 13
  1447. 777 .text
  1448. 778 .Letext0:
  1449. 779 .file 3 "/usr/include/newlib/machine/_default_types.h"
  1450. 780 .file 4 "/usr/include/newlib/sys/_stdint.h"
  1451. ARM GAS /tmp/ccO5fmWO.s page 26
  1452. 781 .file 5 "Drivers/CMSIS/Include/core_cm4.h"
  1453. 782 .file 6 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h"
  1454. 783 .file 7 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h"
  1455. 784 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
  1456. 785 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h"
  1457. 786 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h"
  1458. 787 .file 11 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h"
  1459. 788 .file 12 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"
  1460. 789 .file 13 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h"
  1461. 790 .file 14 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h"
  1462. 791 .file 15 "Inc/usart.h"
  1463. 792 .file 16 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h"
  1464. 793 .file 17 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h"
  1465. 794 .file 18 "Inc/gpio.h"
  1466. ARM GAS /tmp/ccO5fmWO.s page 27
  1467. DEFINED SYMBOLS
  1468. *ABS*:0000000000000000 main.c
  1469. /tmp/ccO5fmWO.s:18 .text.SystemClock_Config:0000000000000000 $t
  1470. /tmp/ccO5fmWO.s:25 .text.SystemClock_Config:0000000000000000 SystemClock_Config
  1471. /tmp/ccO5fmWO.s:132 .text.SystemClock_Config:0000000000000088 $d
  1472. /tmp/ccO5fmWO.s:138 .text.main:0000000000000000 $t
  1473. /tmp/ccO5fmWO.s:145 .text.main:0000000000000000 main
  1474. /tmp/ccO5fmWO.s:216 .text.main:0000000000000058 $d
  1475. *COM*:0000000000000010 FlashData
  1476. /tmp/ccO5fmWO.s:228 .text.UserAppStart:0000000000000000 $t
  1477. /tmp/ccO5fmWO.s:235 .text.UserAppStart:0000000000000000 UserAppStart
  1478. /tmp/ccO5fmWO.s:285 .text.UserAppStart:0000000000000024 $d
  1479. /tmp/ccO5fmWO.s:292 .text.writeFlashTest:0000000000000000 $t
  1480. /tmp/ccO5fmWO.s:299 .text.writeFlashTest:0000000000000000 writeFlashTest
  1481. /tmp/ccO5fmWO.s:375 .text.writeFlashTest:0000000000000060 $d
  1482. *COM*:0000000000000004 i
  1483. *COM*:0000000000009c40 FlashData1
  1484. /tmp/ccO5fmWO.s:382 .text.printFlashTest:0000000000000000 $t
  1485. /tmp/ccO5fmWO.s:389 .text.printFlashTest:0000000000000000 printFlashTest
  1486. /tmp/ccO5fmWO.s:426 .text.printFlashTest:0000000000000030 $d
  1487. *COM*:0000000000009c40 temp
  1488. /tmp/ccO5fmWO.s:433 .text.HAL_UART_RxCpltCallback:0000000000000000 $t
  1489. /tmp/ccO5fmWO.s:440 .text.HAL_UART_RxCpltCallback:0000000000000000 HAL_UART_RxCpltCallback
  1490. /tmp/ccO5fmWO.s:650 .text.HAL_UART_RxCpltCallback:0000000000000134 $d
  1491. /tmp/ccO5fmWO.s:667 .text.Error_Handler:0000000000000000 $t
  1492. /tmp/ccO5fmWO.s:674 .text.Error_Handler:0000000000000000 Error_Handler
  1493. /tmp/ccO5fmWO.s:769 .data.start:0000000000000000 start
  1494. /tmp/ccO5fmWO.s:743 .data.com1:0000000000000000 com1
  1495. /tmp/ccO5fmWO.s:730 .data.com:0000000000000000 com
  1496. /tmp/ccO5fmWO.s:702 .bss.data_count:0000000000000000 data_count
  1497. /tmp/ccO5fmWO.s:716 .bss.row:0000000000000000 row
  1498. /tmp/ccO5fmWO.s:709 .bss.rf:0000000000000000 rf
  1499. /tmp/ccO5fmWO.s:723 .data.NACK:0000000000000000 NACK
  1500. /tmp/ccO5fmWO.s:756 .data.msg:0000000000000000 msg
  1501. /tmp/ccO5fmWO.s:698 .bss.data_count:0000000000000000 $d
  1502. /tmp/ccO5fmWO.s:705 .bss.rf:0000000000000000 $d
  1503. /tmp/ccO5fmWO.s:712 .bss.row:0000000000000000 $d
  1504. /tmp/ccO5fmWO.s:719 .data.NACK:0000000000000000 $d
  1505. /tmp/ccO5fmWO.s:726 .data.com:0000000000000000 $d
  1506. /tmp/ccO5fmWO.s:739 .data.com1:0000000000000000 $d
  1507. /tmp/ccO5fmWO.s:752 .data.msg:0000000000000000 $d
  1508. /tmp/ccO5fmWO.s:765 .data.start:0000000000000000 $d
  1509. .debug_frame:0000000000000010 $d
  1510. UNDEFINED SYMBOLS
  1511. memset
  1512. HAL_RCC_OscConfig
  1513. HAL_RCC_ClockConfig
  1514. HAL_Init
  1515. MX_GPIO_Init
  1516. MX_USART2_UART_Init
  1517. MX_UART4_Init
  1518. MX_USART1_UART_Init
  1519. HAL_UART_Transmit
  1520. HAL_GPIO_WritePin
  1521. HAL_UART_Receive_IT
  1522. huart4
  1523. ARM GAS /tmp/ccO5fmWO.s page 28
  1524. HAL_FLASH_Unlock
  1525. HAL_FLASHEx_Erase
  1526. HAL_FLASH_Program
  1527. HAL_FLASH_Lock