⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stm32f10x_flash.lst

📁 STM32 "kickstart" program with newlib/stdio like sprintf&printf
💻 LST
📖 第 1 页 / 共 5 页
字号:
 142 0010 00200240 		.word	1073881088
 143 0014 23016745 		.word	1164378403
 144              	.LFE29:
 146              		.section	.text.FLASH_Lock,"ax",%progbits
 147              		.align	2
 148              		.global	FLASH_Lock
 149              		.thumb
 150              		.thumb_func
 152              	FLASH_Lock:
 153              	.LFB30:
 190:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** 
 191:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** /**
 192:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   * @brief  Locks the FLASH Program Erase Controller.
 193:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   * @param  None
 194:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   * @retval : None
 195:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   */
 196:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** void FLASH_Lock(void)
 197:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** {
 154              		.loc 1 197 0
 155              		@ args = 0, pretend = 0, frame = 0
 156              		@ frame_needed = 0, uses_anonymous_args = 0
 157              		@ link register save eliminated.
 198:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   /* Set the Lock Bit to lock the FPEC and the FCR */
 199:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   FLASH->CR |= CR_LOCK_Set;
 158              		.loc 1 199 0
 159 0000 024A     		ldr	r2, .L19
 160 0002 1369     		ldr	r3, [r2, #16]
 161 0004 43F08003 		orr	r3, r3, #128
 162 0008 1361     		str	r3, [r2, #16]
 200:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** }
 163              		.loc 1 200 0
 164 000a 7047     		bx	lr
 165              	.L20:
 166              		.align	2
 167              	.L19:
 168 000c 00200240 		.word	1073881088
 169              	.LFE30:
 171              		.section	.text.FLASH_GetUserOptionByte,"ax",%progbits
 172              		.align	2
 173              		.global	FLASH_GetUserOptionByte
 174              		.thumb
 175              		.thumb_func
 177              	FLASH_GetUserOptionByte:
 178              	.LFB40:
 201:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** 
 202:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** /**
 203:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   * @brief  Erases a specified FLASH page.
 204:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   * @param Page_Address: The page address to be erased.
 205:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   * @retval : FLASH Status: The returned value can be: FLASH_BUSY, 
 206:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   *   FLASH_ERROR_PG, FLASH_ERROR_WRP, FLASH_COMPLETE or 
 207:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   *   FLASH_TIMEOUT.
 208:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   */
 209:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** FLASH_Status FLASH_ErasePage(uint32_t Page_Address)
 210:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** {
 211:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 212:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   /* Check the parameters */
 213:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   assert_param(IS_FLASH_ADDRESS(Page_Address));
 214:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   /* Wait for last operation to be completed */
 215:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   status = FLASH_WaitForLastOperation(EraseTimeout);
 216:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   
 217:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   if(status == FLASH_COMPLETE)
 218:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   { 
 219:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     /* if the previous operation is completed, proceed to erase the page */
 220:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     FLASH->CR|= CR_PER_Set;
 221:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     FLASH->AR = Page_Address; 
 222:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     FLASH->CR|= CR_STRT_Set;
 223:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     
 224:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     /* Wait for last operation to be completed */
 225:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     status = FLASH_WaitForLastOperation(EraseTimeout);
 226:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     if(status != FLASH_BUSY)
 227:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     {
 228:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       /* if the erase operation is completed, disable the PER Bit */
 229:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       FLASH->CR &= CR_PER_Reset;
 230:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     }
 231:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   }
 232:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   /* Return the Erase Status */
 233:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   return status;
 234:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** }
 235:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** 
 236:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** /**
 237:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   * @brief  Erases all FLASH pages.
 238:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   * @param  None
 239:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   * @retval : FLASH Status: The returned value can be: FLASH_BUSY, 
 240:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   *   FLASH_ERROR_PG, FLASH_ERROR_WRP, FLASH_COMPLETE or 
 241:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   *   FLASH_TIMEOUT.
 242:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   */
 243:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** FLASH_Status FLASH_EraseAllPages(void)
 244:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** {
 245:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 246:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   /* Wait for last operation to be completed */
 247:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   status = FLASH_WaitForLastOperation(EraseTimeout);
 248:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   
 249:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   if(status == FLASH_COMPLETE)
 250:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   {
 251:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     /* if the previous operation is completed, proceed to erase all pages */
 252:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****      FLASH->CR |= CR_MER_Set;
 253:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****      FLASH->CR |= CR_STRT_Set;
 254:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     
 255:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     /* Wait for last operation to be completed */
 256:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     status = FLASH_WaitForLastOperation(EraseTimeout);
 257:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     if(status != FLASH_BUSY)
 258:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     {
 259:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       /* if the erase operation is completed, disable the MER Bit */
 260:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       FLASH->CR &= CR_MER_Reset;
 261:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     }
 262:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   }	   
 263:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   /* Return the Erase Status */
 264:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   return status;
 265:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** }
 266:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** 
 267:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** /**
 268:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   * @brief  Erases the FLASH option bytes.
 269:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   * @param  None
 270:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   * @retval : FLASH Status: The returned value can be: FLASH_BUSY, 
 271:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   *   FLASH_ERROR_PG, FLASH_ERROR_WRP, FLASH_COMPLETE or 
 272:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   *   FLASH_TIMEOUT.
 273:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   */
 274:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** FLASH_Status FLASH_EraseOptionBytes(void)
 275:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c **** {
 276:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   FLASH_Status status = FLASH_COMPLETE;
 277:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   
 278:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   /* Wait for last operation to be completed */
 279:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   status = FLASH_WaitForLastOperation(EraseTimeout);
 280:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   if(status == FLASH_COMPLETE)
 281:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****   {
 282:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     /* Authorize the small information block programming */
 283:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     FLASH->OPTKEYR = FLASH_KEY1;
 284:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     FLASH->OPTKEYR = FLASH_KEY2;
 285:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     
 286:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     /* if the previous operation is completed, proceed to erase the option bytes */
 287:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     FLASH->CR |= CR_OPTER_Set;
 288:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     FLASH->CR |= CR_STRT_Set;
 289:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     /* Wait for last operation to be completed */
 290:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     status = FLASH_WaitForLastOperation(EraseTimeout);
 291:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     
 292:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     if(status == FLASH_COMPLETE)
 293:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     {
 294:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       /* if the erase operation is completed, disable the OPTER Bit */
 295:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       FLASH->CR &= CR_OPTER_Reset;
 296:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****        
 297:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       /* Enable the Option Bytes Programming operation */
 298:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       FLASH->CR |= CR_OPTPG_Set;
 299:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       /* Enable the readout access */
 300:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       OB->RDP= RDP_Key; 
 301:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       /* Wait for last operation to be completed */
 302:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       status = FLASH_WaitForLastOperation(ProgramTimeout);
 303:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****  
 304:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       if(status != FLASH_BUSY)
 305:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       {
 306:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****         /* if the program operation is completed, disable the OPTPG Bit */
 307:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****         FLASH->CR &= CR_OPTPG_Reset;
 308:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       }
 309:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     }
 310:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     else
 311:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****     {
 312:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       if (status != FLASH_BUSY)
 313:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****       {
 314:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c ****         /* Disable the OPTPG Bit */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -