亚洲欧美第一页_禁久久精品乱码_粉嫩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网站| 国产精品资源在线| 国产成人av电影在线观看| 精品无人码麻豆乱码1区2区 | 国产精品视频九色porn| 久久嫩草精品久久久精品| 日韩欧美www| 国产喂奶挤奶一区二区三区| 精品国产91乱码一区二区三区 | 亚洲mv在线观看| 一区二区三区四区不卡在线| 亚洲欧洲av色图| 中文字幕佐山爱一区二区免费| 亚洲欧美乱综合| 日韩精品欧美成人高清一区二区| 日韩精品国产欧美| 国产精品一区二区三区99| 不卡区在线中文字幕| 91福利在线导航| 欧美成人r级一区二区三区| 久久老女人爱爱| 亚洲人成人一区二区在线观看| 亚洲观看高清完整版在线观看| 精品写真视频在线观看| 99re8在线精品视频免费播放| 欧美日韩一卡二卡三卡 | 中文字幕一区免费在线观看| |精品福利一区二区三区| 亚洲3atv精品一区二区三区| 捆绑变态av一区二区三区| www.亚洲人| 日韩欧美卡一卡二| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 精品久久久久久久久久久久久久久 | 欧美日本韩国一区二区三区视频| 日韩欧美一区二区免费| 亚洲女子a中天字幕| 久久99最新地址| 欧美日精品一区视频| 国产欧美一区二区精品婷婷| 亚洲第一成年网| 成人午夜激情片| 日韩一区二区精品| 亚洲综合免费观看高清在线观看| 国内精品伊人久久久久av一坑| 色综合天天综合网天天看片| 欧美精品一区二区久久久| 亚洲一级片在线观看| 成人精品小蝌蚪| 精品日韩一区二区三区免费视频| 一区二区三区在线视频观看| 国产成人精品免费一区二区| 日韩免费一区二区| 亚洲综合色丁香婷婷六月图片| 高清beeg欧美| 国产日韩精品一区二区三区在线| 亚洲国产成人91porn| 国产传媒久久文化传媒| 日韩欧美国产1| 蜜臀av一区二区在线观看 | 精品少妇一区二区三区日产乱码 | 91精品免费观看| 亚洲超丰满肉感bbw| 99re热这里只有精品视频| 国产欧美一区二区在线| 国产又黄又大久久| 国产亚洲欧洲997久久综合| 裸体在线国模精品偷拍| 日韩一区二区高清| 久久99热狠狠色一区二区| 日韩欧美卡一卡二| 日本不卡视频一二三区| 欧美一区二区三区不卡| 亚洲午夜电影在线| 极品少妇xxxx精品少妇| 欧美精品久久久久久久多人混战| 成人污污视频在线观看| 久久精品人人做人人爽人人| 毛片av一区二区三区| 日韩欧美的一区| 精品一区二区日韩| 2017欧美狠狠色| 亚洲国产一二三| 欧美精品久久99久久在免费线| 日韩国产成人精品| 亚洲精品一区二区三区四区高清| 精品一区二区三区免费观看| 久久久久久久久久久久久久久99 | 日韩一区二区中文字幕| 麻豆精品视频在线观看| 精品国产1区二区| 成人激情免费电影网址| 亚洲欧美色图小说| 欧美精品亚洲一区二区在线播放| 麻豆精品久久久| 国产精品久久久久久久久快鸭| 欧美在线免费观看亚洲| 欧美aⅴ一区二区三区视频| 欧美精品一区二区三| 白白色 亚洲乱淫| 日韩中文字幕一区二区三区| 日韩午夜激情免费电影| 成人网在线免费视频| 亚洲一区在线观看免费| 精品处破学生在线二十三| 91免费国产视频网站| 免费av网站大全久久| 国产精品国产自产拍高清av王其| 欧美午夜一区二区| 国产乱码字幕精品高清av | 国产在线视视频有精品| 亚洲女同一区二区| 精品美女被调教视频大全网站| 成人自拍视频在线| 午夜亚洲福利老司机| 国产蜜臀97一区二区三区| 欧美日韩国产经典色站一区二区三区| 久久97超碰国产精品超碰| 亚洲人吸女人奶水| 久久综合丝袜日本网| 91国产精品成人| 成人午夜激情影院| 日韩av一区二区三区四区| 一区在线播放视频| 久久久电影一区二区三区| 欧美亚州韩日在线看免费版国语版| 国产精品一区在线| 日本vs亚洲vs韩国一区三区二区| 国产精品九色蝌蚪自拍| 久久久久久久一区| 欧美成人aa大片| 欧亚洲嫩模精品一区三区| 成人视屏免费看| 国内精品第一页| 日韩精品福利网| 亚洲最大的成人av| 国产精品女同一区二区三区| 26uuu国产电影一区二区| 51精品秘密在线观看| 欧美精品乱人伦久久久久久| 欧美少妇一区二区| 91久久一区二区| 91久久一区二区| 99re8在线精品视频免费播放| 国产精品一品视频| 国产一区二区伦理片| 麻豆免费看一区二区三区| 天天色综合天天| 亚洲国产成人精品视频| 亚洲综合网站在线观看| 亚洲免费色视频| 亚洲欧美日韩人成在线播放| 自拍偷拍亚洲欧美日韩| 亚洲精品日韩一| 亚洲精品菠萝久久久久久久| 一区二区三区在线播| 一级中文字幕一区二区| 五月婷婷激情综合网| 五月婷婷综合网| 蜜桃一区二区三区在线观看| 精品一区二区三区免费毛片爱 | 欧美国产精品劲爆| 亚洲视频一二三区| 亚洲高清免费观看 | aaa国产一区| 欧美亚洲动漫精品| 日韩一区二区视频在线观看| 欧美精品一区二区三区蜜桃| 亚洲国产成人午夜在线一区| 日韩一区在线看| 午夜日韩在线观看| 国产一区二区在线看| 国产成人自拍高清视频在线免费播放| 成人av网站在线观看| 欧美怡红院视频| 精品国产欧美一区二区| 国产精品每日更新| 亚洲电影视频在线| 国产精品中文有码| 色老汉一区二区三区| 日韩欧美成人一区二区| 亚洲欧美一区二区三区极速播放 | 欧美mv日韩mv亚洲| 亚洲色图20p| 男女男精品视频| 国产成人aaaa| 宅男在线国产精品| 亚洲猫色日本管| 狠狠久久亚洲欧美| 欧美日韩在线三级| 国产色婷婷亚洲99精品小说| 亚洲午夜精品网| 91麻豆国产在线观看| 国产激情视频一区二区在线观看| 在线观看一区二区视频| 国产午夜精品久久久久久免费视| 亚洲黄色片在线观看| 国产在线精品一区二区夜色|