亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stm32f10x_flash.txt

?? ucos2.86版本結合STM板極支持包
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 914] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\rvmdk\stm32f10x_flash.o --depend=.\rvmdk\stm32f10x_flash.d --device=DARMSTM -O1 -Otime -I. -I..\BSP -I..\..\..\..\..\uCOS-II\Ports\arm-cortex-m3\Generic\RealView -I..\..\..\..\..\uCOS-II\Source -I..\..\..\..\..\CPU\ST\STM32\inc -I..\..\..\..\..\uC-CPU -I..\..\..\..\..\uC-CPU\Arm-Cortex-M3\RealView -I..\..\..\..\..\uC-LIB -I..\..\..\..\..\uC-Probe\Target\Plugins\uCOS-II -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\Source -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Ports\ST\STM32 -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Source -ID:\Keil\ARM\INC\ST\STM32F10x ..\..\..\..\..\CPU\ST\STM32\src\stm32f10x_flash.c]
                          THUMB

                          AREA ||.text||, CODE, READONLY, ALIGN=2

                  FLASH_SetLatency PROC
;;;93       /* Sets the Latency value */
;;;94       FLASH->ACR &= ACR_LATENCY_Mask;
000000  49fc              LDR      r1,|L1.1012|
000002  680a              LDR      r2,[r1,#0]
000004  f002f002          AND      r2,r2,#0x38
000008  600a              STR      r2,[r1,#0]
;;;95       FLASH->ACR |= FLASH_Latency;
00000a  680a              LDR      r2,[r1,#0]
00000c  4310              ORRS     r0,r0,r2
00000e  6008              STR      r0,[r1,#0]
;;;96     }
000010  4770              BX       lr
;;;97     
                          ENDP

                  FLASH_HalfCycleAccessCmd PROC
;;;113      /* Enable or disable the Half cycle access */
;;;114      FLASH->ACR &= ACR_HLFCYA_Mask;
000012  49f8              LDR      r1,|L1.1012|
000014  680a              LDR      r2,[r1,#0]
000016  f022f022          BIC      r2,r2,#8
00001a  600a              STR      r2,[r1,#0]
;;;115      FLASH->ACR |= FLASH_HalfCycleAccess;
00001c  680a              LDR      r2,[r1,#0]
00001e  4310              ORRS     r0,r0,r2
000020  6008              STR      r0,[r1,#0]
;;;116    }
000022  4770              BX       lr
;;;117    
                          ENDP

                  FLASH_PrefetchBufferCmd PROC
;;;133      /* Enable or disable the Prefetch Buffer */
;;;134      FLASH->ACR &= ACR_PRFTBE_Mask;
000024  49f3              LDR      r1,|L1.1012|
000026  680a              LDR      r2,[r1,#0]
000028  f022f022          BIC      r2,r2,#0x10
00002c  600a              STR      r2,[r1,#0]
;;;135      FLASH->ACR |= FLASH_PrefetchBuffer;
00002e  680a              LDR      r2,[r1,#0]
000030  4310              ORRS     r0,r0,r2
000032  6008              STR      r0,[r1,#0]
;;;136    }
000034  4770              BX       lr
;;;137    
                          ENDP

                  FLASH_Unlock PROC
;;;148      /* Authorize the FPEC Access */
;;;149      FLASH->KEYR = FLASH_KEY1;
000036  48ef              LDR      r0,|L1.1012|
000038  49ef              LDR      r1,|L1.1016|
00003a  6041              STR      r1,[r0,#4]
;;;150      FLASH->KEYR = FLASH_KEY2;
00003c  49ef              LDR      r1,|L1.1020|
00003e  6041              STR      r1,[r0,#4]
;;;151    }
000040  4770              BX       lr
;;;152    
                          ENDP

                  FLASH_Lock PROC
;;;162      /* Set the Lock Bit to lock the FPEC and the FCR */
;;;163      FLASH->CR |= CR_LOCK_Set;
000042  48ec              LDR      r0,|L1.1012|
000044  6901              LDR      r1,[r0,#0x10]
000046  f041f041          ORR      r1,r1,#0x80
00004a  6101              STR      r1,[r0,#0x10]
;;;164    }
00004c  4770              BX       lr
;;;165    
                          ENDP

                  FLASH_GetStatus PROC
;;;827    {
;;;828      FLASH_Status flashstatus = FLASH_COMPLETE;
00004e  2004              MOVS     r0,#4
;;;829      
;;;830      if((FLASH->SR & FLASH_FLAG_BSY) == FLASH_FLAG_BSY) 
000050  49e8              LDR      r1,|L1.1012|
000052  68ca              LDR      r2,[r1,#0xc]
000054  f012f012          TST      r2,#1
000058  d001              BEQ      |L1.94|
;;;831      {
;;;832        flashstatus = FLASH_BUSY;
00005a  2001              MOVS     r0,#1
;;;833      }
;;;834      else 
;;;835      {  
;;;836        if(FLASH->SR & FLASH_FLAG_PGERR)
;;;837        { 
;;;838          flashstatus = FLASH_ERROR_PG;
;;;839        }
;;;840        else 
;;;841        {
;;;842          if(FLASH->SR & FLASH_FLAG_WRPRTERR)
;;;843          {
;;;844            flashstatus = FLASH_ERROR_WRP;
;;;845          }
;;;846          else
;;;847          {
;;;848            flashstatus = FLASH_COMPLETE;
;;;849          }
;;;850        }
;;;851      }
;;;852      /* Return the Flash Status */
;;;853      return flashstatus;
;;;854    }
00005c  4770              BX       lr
                  |L1.94|
00005e  68ca              LDR      r2,[r1,#0xc]
000060  f012f012          TST      r2,#4
000064  d001              BEQ      |L1.106|
000066  2002              MOVS     r0,#2
                  |L1.104|
000068  4770              BX       lr
                  |L1.106|
00006a  68c9              LDR      r1,[r1,#0xc]
00006c  f011f011          TST      r1,#0x10
000070  d0fa              BEQ      |L1.104|
000072  2003              MOVS     r0,#3
000074  4770              BX       lr
;;;855    
                          ENDP

                  delay PROC
;;;899    
;;;900      for(i = 0xFF; i != 0; i--)
000076  20ff              MOVS     r0,#0xff
                  |L1.120|
000078  1e40              SUBS     r0,r0,#1
00007a  2800              CMP      r0,#0
00007c  d1fc              BNE      |L1.120|
;;;901      {
;;;902      }
;;;903    }
00007e  4770              BX       lr
;;;904    #endif
                          ENDP

                  FLASH_WaitForLastOperation PROC
;;;865    FLASH_Status FLASH_WaitForLastOperation(u32 Timeout)
;;;866    { 
000080  b500              PUSH     {lr}
000082  4603              MOV      r3,r0
;;;867      FLASH_Status status = FLASH_COMPLETE;
;;;868       
;;;869      /* Check for the Flash Status */
;;;870      status = FLASH_GetStatus();
000084  f7fff7ff          BL       FLASH_GetStatus
;;;871    
;;;872      /* Wait for a Flash operation to complete or a TIMEOUT to occur */
;;;873      while((status == FLASH_BUSY) && (Timeout != 0x00))
000088  e004              B        |L1.148|
                  |L1.138|
;;;874      {
;;;875        delay();
00008a  f7fff7ff          BL       delay
;;;876        status = FLASH_GetStatus();
00008e  f7fff7ff          BL       FLASH_GetStatus
;;;877        Timeout--;
000092  1e5b              SUBS     r3,r3,#1
                  |L1.148|
000094  2801              CMP      r0,#1
000096  d101              BNE      |L1.156|
000098  2b00              CMP      r3,#0
00009a  d1f6              BNE      |L1.138|
                  |L1.156|
;;;878      }
;;;879    
;;;880      if(Timeout == 0x00 )
00009c  2b00              CMP      r3,#0
00009e  d100              BNE      |L1.162|
;;;881      {
;;;882        status = FLASH_TIMEOUT;
0000a0  2005              MOVS     r0,#5
                  |L1.162|
;;;883      }
;;;884    
;;;885      /* Return the operation status */
;;;886      return status;
;;;887    }
0000a2  bd00              POP      {pc}
;;;888    
                          ENDP

                  FLASH_ErasePage PROC
;;;175    FLASH_Status FLASH_ErasePage(u32 Page_Address)
;;;176    {
0000a4  b530              PUSH     {r4,r5,lr}
0000a6  4605              MOV      r5,r0
;;;177      FLASH_Status status = FLASH_COMPLETE;
;;;178    
;;;179      /* Check the parameters */
;;;180      assert(IS_FLASH_ADDRESS(Page_Address));
;;;181    
;;;182      /* Wait for last operation to be completed */
;;;183      status = FLASH_WaitForLastOperation(EraseTimeout);
0000a8  f640f640          MOV      r0,#0xfff
0000ac  f7fff7ff          BL       FLASH_WaitForLastOperation
;;;184      
;;;185      if(status == FLASH_COMPLETE)
0000b0  2804              CMP      r0,#4
0000b2  d114              BNE      |L1.222|
;;;186      { 
;;;187        /* if the previous operation is completed, proceed to erase the page */
;;;188        FLASH->CR|= CR_PER_Set;
0000b4  4ccf              LDR      r4,|L1.1012|
0000b6  6920              LDR      r0,[r4,#0x10]
0000b8  f040f040          ORR      r0,r0,#2
0000bc  6120              STR      r0,[r4,#0x10]
;;;189        FLASH->AR = Page_Address; 
0000be  6165              STR      r5,[r4,#0x14]
;;;190        FLASH->CR|= CR_STRT_Set;
0000c0  6920              LDR      r0,[r4,#0x10]
0000c2  f040f040          ORR      r0,r0,#0x40
0000c6  6120              STR      r0,[r4,#0x10]
;;;191        
;;;192        /* Wait for last operation to be completed */
;;;193        status = FLASH_WaitForLastOperation(EraseTimeout);
0000c8  f640f640          MOV      r0,#0xfff
0000cc  f7fff7ff          BL       FLASH_WaitForLastOperation
;;;194    
;;;195        if(status != FLASH_BUSY)
0000d0  2801              CMP      r0,#1
0000d2  d004              BEQ      |L1.222|
;;;196        {
;;;197          /* if the erase operation is completed, disable the PER Bit */
;;;198          FLASH->CR &= CR_PER_Reset;
0000d4  6921              LDR      r1,[r4,#0x10]
0000d6  f641f641          MOV      r2,#0x1ffd
0000da  4011              ANDS     r1,r1,r2
0000dc  6121              STR      r1,[r4,#0x10]
                  |L1.222|
;;;199        }
;;;200      }
;;;201      /* Return the Erase Status */
;;;202      return status;
;;;203    }
0000de  bd30              POP      {r4,r5,pc}
;;;204    
                          ENDP

                  FLASH_EraseAllPages PROC
;;;214    FLASH_Status FLASH_EraseAllPages(void)
;;;215    {
0000e0  b510              PUSH     {r4,lr}
;;;216      FLASH_Status status = FLASH_COMPLETE;
;;;217    
;;;218      /* Wait for last operation to be completed */
;;;219      status = FLASH_WaitForLastOperation(EraseTimeout);
0000e2  f640f640          MOV      r0,#0xfff
0000e6  f7fff7ff          BL       FLASH_WaitForLastOperation
;;;220      
;;;221      if(status == FLASH_COMPLETE)
0000ea  2804              CMP      r0,#4
0000ec  d113              BNE      |L1.278|
;;;222      {
;;;223        /* if the previous operation is completed, proceed to erase all pages */
;;;224         FLASH->CR |= CR_MER_Set;
0000ee  4cc1              LDR      r4,|L1.1012|
0000f0  6920              LDR      r0,[r4,#0x10]
0000f2  f040f040          ORR      r0,r0,#4
0000f6  6120              STR      r0,[r4,#0x10]
;;;225         FLASH->CR |= CR_STRT_Set;
0000f8  6920              LDR      r0,[r4,#0x10]
0000fa  f040f040          ORR      r0,r0,#0x40
0000fe  6120              STR      r0,[r4,#0x10]
;;;226        
;;;227        /* Wait for last operation to be completed */
;;;228        status = FLASH_WaitForLastOperation(EraseTimeout);
000100  f640f640          MOV      r0,#0xfff
000104  f7fff7ff          BL       FLASH_WaitForLastOperation
;;;229    
;;;230        if(status != FLASH_BUSY)
000108  2801              CMP      r0,#1
00010a  d004              BEQ      |L1.278|
;;;231        {
;;;232          /* if the erase operation is completed, disable the MER Bit */
;;;233          FLASH->CR &= CR_MER_Reset;
00010c  6921              LDR      r1,[r4,#0x10]
00010e  f641f641          MOV      r2,#0x1ffb
000112  4011              ANDS     r1,r1,r2
000114  6121              STR      r1,[r4,#0x10]
                  |L1.278|
;;;234        }
;;;235      }	   
;;;236      /* Return the Erase Status */
;;;237      return status;
;;;238    }
000116  bd10              POP      {r4,pc}
;;;239    
                          ENDP

                  FLASH_EraseOptionBytes PROC
;;;249    FLASH_Status FLASH_EraseOptionBytes(void)
;;;250    {
000118  b530              PUSH     {r4,r5,lr}
;;;251      FLASH_Status status = FLASH_COMPLETE;
;;;252      
;;;253      /* Wait for last operation to be completed */
;;;254      status = FLASH_WaitForLastOperation(EraseTimeout);
00011a  f640f640          MOV      r0,#0xfff
00011e  f7fff7ff          BL       FLASH_WaitForLastOperation
;;;255    
;;;256      if(status == FLASH_COMPLETE)
000122  2804              CMP      r0,#4
000124  d128              BNE      |L1.376|
;;;257      {
;;;258        /* Authorize the small information block programming */
;;;259        FLASH->OPTKEYR = FLASH_KEY1;
000126  4cb3              LDR      r4,|L1.1012|
000128  48b3              LDR      r0,|L1.1016|
00012a  60a0              STR      r0,[r4,#8]
;;;260        FLASH->OPTKEYR = FLASH_KEY2;
00012c  48b3              LDR      r0,|L1.1020|
00012e  60a0              STR      r0,[r4,#8]
;;;261        
;;;262        /* if the previous operation is completed, proceed to erase the option bytes */
;;;263        FLASH->CR |= CR_OPTER_Set;
000130  6920              LDR      r0,[r4,#0x10]
000132  f040f040          ORR      r0,r0,#0x20
000136  6120              STR      r0,[r4,#0x10]
;;;264        FLASH->CR |= CR_STRT_Set;
000138  6920              LDR      r0,[r4,#0x10]
00013a  f040f040          ORR      r0,r0,#0x40
00013e  6120              STR      r0,[r4,#0x10]
;;;265    
;;;266        /* Wait for last operation to be completed */
;;;267        status = FLASH_WaitForLastOperation(EraseTimeout);
000140  f640f640          MOV      r0,#0xfff
000144  f7fff7ff          BL       FLASH_WaitForLastOperation
;;;268        
;;;269        if(status == FLASH_COMPLETE)
000148  f641f641          MOV      r5,#0x1fef
00014c  2804              CMP      r0,#4
00014e  d114              BNE      |L1.378|
;;;270        {
;;;271          /* if the erase operation is completed, disable the OPTER Bit */
;;;272          FLASH->CR &= CR_OPTER_Reset;
000150  6920              LDR      r0,[r4,#0x10]
000152  f641f641          MOV      r1,#0x1fdf
000156  4008              ANDS     r0,r0,r1
000158  6120              STR      r0,[r4,#0x10]
;;;273           
;;;274          /* Enable the Option Bytes Programming operation */
;;;275          FLASH->CR |= CR_OPTPG_Set;
00015a  6920              LDR      r0,[r4,#0x10]
00015c  f040f040          ORR      r0,r0,#0x10
000160  6120              STR      r0,[r4,#0x10]
;;;276    
;;;277          /* Enable the readout access */
;;;278          OB->RDP= RDP_Key; 
000162  49a7              LDR      r1,|L1.1024|
000164  20a5              MOVS     r0,#0xa5
000166  8008              STRH     r0,[r1,#0]
;;;279    
;;;280          /* Wait for last operation to be completed */
;;;281          status = FLASH_WaitForLastOperation(ProgramTimeout);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩—二三区免费观看av| 国产精品羞羞答答xxdd| 美国精品在线观看| 成人免费高清在线观看| 欧美精品高清视频| 亚洲天堂av老司机| 六月婷婷色综合| 欧美色精品在线视频| 国产农村妇女毛片精品久久麻豆| 香蕉成人伊视频在线观看| 成人免费的视频| 久久久精品tv| 激情国产一区二区| 91精品在线一区二区| 一区二区三区资源| 99re8在线精品视频免费播放| 日韩欧美国产一区在线观看| 一区二区三区成人| 成人理论电影网| 久久久久久久久久看片| 日韩成人精品在线观看| 色国产综合视频| 亚洲免费观看高清在线观看| 成人自拍视频在线| 国产日韩欧美高清在线| 国产专区综合网| 久久一留热品黄| 精品中文字幕一区二区小辣椒| 67194成人在线观看| 亚洲国产欧美在线| 欧美日韩一区二区三区在线看| 亚洲人成精品久久久久| 成人动漫一区二区| 国产精品色一区二区三区| 国产sm精品调教视频网站| 精品福利一区二区三区| 精品一区二区在线看| 日韩欧美国产一区二区在线播放| 美女视频网站黄色亚洲| 日韩欧美国产不卡| 狠狠色狠狠色综合系列| 久久久久九九视频| av色综合久久天堂av综合| 综合婷婷亚洲小说| 欧美性极品少妇| 免费观看一级特黄欧美大片| 精品国产乱码久久久久久夜甘婷婷 | 国内成人精品2018免费看| 久久夜色精品国产噜噜av| 国产福利一区二区三区视频在线 | 欧美人与性动xxxx| 日韩成人一级大片| 久久综合久色欧美综合狠狠| 国产一区二区三区在线观看免费 | 国产电影一区二区三区| 国产香蕉久久精品综合网| 成人高清视频在线观看| 亚洲午夜三级在线| 日韩欧美一二三四区| 成人午夜激情影院| 亚洲综合999| 欧美大白屁股肥臀xxxxxx| 国产乱国产乱300精品| 国产精品欧美久久久久无广告 | 国产91丝袜在线播放0| 自拍偷拍亚洲欧美日韩| 欧美精品 日韩| 国产一区啦啦啦在线观看| 国产精品区一区二区三区| 欧美视频精品在线观看| 国产在线观看一区二区| 一区二区三区在线免费播放 | 国产综合久久久久久久久久久久| 国产精品污网站| 欧美日韩国产免费| 成人黄色综合网站| 图片区小说区国产精品视频| 久久精品在这里| 欧美久久久久中文字幕| 国产精品1区2区| 日韩国产欧美一区二区三区| 中文字幕av免费专区久久| 91精品国产全国免费观看| 99在线精品观看| 国产一区二区不卡在线 | 欧美一区午夜精品| 色综合咪咪久久| 国产一区二区三区在线看麻豆| 久久69国产一区二区蜜臀| 亚洲一区二区中文在线| 国产精品网站在线观看| 欧美电视剧免费观看| 欧美色老头old∨ideo| 97se亚洲国产综合自在线观| 国产二区国产一区在线观看| 久久99蜜桃精品| 奇米色777欧美一区二区| 亚洲第一二三四区| 亚洲专区一二三| 亚洲欧美日韩国产成人精品影院| 国产亚洲欧美一区在线观看| 欧美第一区第二区| 欧美大尺度电影在线| 日韩欧美在线网站| 日韩欧美专区在线| 欧美一二三区精品| 欧美精品免费视频| 欧美日韩日日骚| 欧美日韩一区二区三区四区五区 | 亚洲小说春色综合另类电影| 国产精品久久免费看| 国产精品丝袜91| 国产欧美一区二区三区在线看蜜臀| 精品国产自在久精品国产| 欧美一区二区成人| 日韩欧美专区在线| 久久久久久综合| 国产欧美日产一区| 麻豆久久久久久久| 久久99在线观看| 国产麻豆91精品| 福利91精品一区二区三区| 成人小视频免费观看| 99久久久国产精品免费蜜臀| 色诱视频网站一区| 欧美乱妇15p| 日韩精品一区二区三区四区视频 | 欧美挠脚心视频网站| 6080yy午夜一二三区久久| 欧美精品高清视频| 日韩三级高清在线| 久久品道一品道久久精品| 国产欧美日韩视频在线观看| 国产精品久久精品日日| 夜色激情一区二区| 天天做天天摸天天爽国产一区 | 日韩精品专区在线| 国产亚洲欧美日韩日本| 亚洲欧洲另类国产综合| 香蕉久久夜色精品国产使用方法| 亚洲国产精品久久久久婷婷884| 丝袜美腿成人在线| 国产精品一区在线| 在线一区二区三区四区| 欧美日韩高清不卡| 久久人人97超碰com| 一区二区三区鲁丝不卡| 免费在线视频一区| 99re在线精品| 欧美大片免费久久精品三p| 中文字幕精品综合| 亚洲超碰97人人做人人爱| 国产精品一二三四区| 欧美中文字幕一区二区三区亚洲| 日韩一区二区免费电影| 国产精品国产精品国产专区不蜜 | 亚洲国产欧美日韩另类综合| 久久99精品久久久久久国产越南| av成人免费在线观看| 欧美一级生活片| 亚洲男人天堂av网| 国产美女精品在线| 欧美性猛交xxxx乱大交退制版| 国产午夜精品一区二区三区四区| 亚洲影视资源网| eeuss鲁片一区二区三区 | 青青草国产成人99久久| 91小视频在线观看| 久久久久99精品一区| 日韩中文字幕不卡| 一本久久a久久精品亚洲| 久久久国际精品| 日韩黄色免费电影| 久久精品夜色噜噜亚洲aⅴ| 丝袜国产日韩另类美女| 91一区一区三区| 欧美激情一区二区三区不卡| 蜜桃av一区二区在线观看| 欧美亚洲禁片免费| 国产精品美女久久久久久| 国产精品亚洲第一区在线暖暖韩国 | 日韩午夜电影av| 亚洲国产视频一区二区| 一本大道av一区二区在线播放| 国产欧美日韩另类一区| 韩日av一区二区| 欧美一级视频精品观看| 亚洲超碰精品一区二区| 在线免费一区三区| 一区二区在线看| 91麻豆国产在线观看| 中文字幕精品—区二区四季| 国产又粗又猛又爽又黄91精品| 日韩区在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎 | 色综合天天视频在线观看| 亚洲欧美在线观看| 91日韩在线专区| 亚洲四区在线观看| 色婷婷综合久久久久中文|