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

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

?? stm32f10x_flash.txt

?? ucos2.86版本結合STM板極支持包
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
                  FLASH_ReadOutProtection PROC
;;;532    FLASH_Status FLASH_ReadOutProtection(FunctionalState NewState)
;;;533    {
0002d4  b530              PUSH     {r4,r5,lr}
0002d6  4605              MOV      r5,r0
;;;534      FLASH_Status status = FLASH_COMPLETE;
;;;535    
;;;536      /* Check the parameters */
;;;537      assert(IS_FUNCTIONAL_STATE(NewState));
;;;538    
;;;539      status = FLASH_WaitForLastOperation(EraseTimeout);
0002d8  f640f640          MOV      r0,#0xfff
0002dc  f7fff7ff          BL       FLASH_WaitForLastOperation
;;;540    
;;;541      if(status == FLASH_COMPLETE)
0002e0  2804              CMP      r0,#4
0002e2  d12f              BNE      |L1.836|
;;;542      {
;;;543        /* Authorizes the small information block programming */
;;;544        FLASH->OPTKEYR = FLASH_KEY1;
0002e4  4c43              LDR      r4,|L1.1012|
0002e6  4844              LDR      r0,|L1.1016|
0002e8  60a0              STR      r0,[r4,#8]
;;;545        FLASH->OPTKEYR = FLASH_KEY2;
0002ea  4844              LDR      r0,|L1.1020|
0002ec  60a0              STR      r0,[r4,#8]
;;;546    
;;;547        FLASH->CR |= CR_OPTER_Set;
0002ee  6920              LDR      r0,[r4,#0x10]
0002f0  f040f040          ORR      r0,r0,#0x20
0002f4  6120              STR      r0,[r4,#0x10]
;;;548        FLASH->CR |= CR_STRT_Set;
0002f6  6920              LDR      r0,[r4,#0x10]
0002f8  f040f040          ORR      r0,r0,#0x40
0002fc  6120              STR      r0,[r4,#0x10]
;;;549    
;;;550        /* Wait for last operation to be completed */
;;;551        status = FLASH_WaitForLastOperation(EraseTimeout);
0002fe  f640f640          MOV      r0,#0xfff
000302  f7fff7ff          BL       FLASH_WaitForLastOperation
;;;552    
;;;553        if(status == FLASH_COMPLETE)
000306  f641f641          MOV      r1,#0x1fdf
00030a  2804              CMP      r0,#4
00030c  d11b              BNE      |L1.838|
;;;554        {
;;;555          /* if the erase operation is completed, disable the OPTER Bit */
;;;556          FLASH->CR &= CR_OPTER_Reset;
00030e  6920              LDR      r0,[r4,#0x10]
000310  4008              ANDS     r0,r0,r1
000312  6120              STR      r0,[r4,#0x10]
;;;557    
;;;558          /* Enable the Option Bytes Programming operation */
;;;559          FLASH->CR |= CR_OPTPG_Set; 
000314  6920              LDR      r0,[r4,#0x10]
000316  f040f040          ORR      r0,r0,#0x10
00031a  6120              STR      r0,[r4,#0x10]
;;;560    
;;;561          if(NewState != DISABLE)
00031c  4839              LDR      r0,|L1.1028|
00031e  b11d              CBZ      r5,|L1.808|
;;;562          {
;;;563            OB->RDP = 0x00;
000320  2100              MOVS     r1,#0
000322  f8a0f8a0          STRH     r1,[r0,#0x800]
000326  e002              B        |L1.814|
                  |L1.808|
;;;564          }
;;;565          else
;;;566          {
;;;567            OB->RDP = RDP_Key;  
000328  21a5              MOVS     r1,#0xa5
00032a  f8a0f8a0          STRH     r1,[r0,#0x800]
                  |L1.814|
;;;568          }
;;;569    
;;;570          /* Wait for last operation to be completed */
;;;571          status = FLASH_WaitForLastOperation(EraseTimeout); 
00032e  f640f640          MOV      r0,#0xfff
000332  f7fff7ff          BL       FLASH_WaitForLastOperation
;;;572        
;;;573          if(status != FLASH_BUSY)
000336  2801              CMP      r0,#1
000338  d004              BEQ      |L1.836|
;;;574          {
;;;575            /* if the program operation is completed, disable the OPTPG Bit */
;;;576            FLASH->CR &= CR_OPTPG_Reset;
00033a  6921              LDR      r1,[r4,#0x10]
00033c  f641f641          MOV      r2,#0x1fef
000340  4011              ANDS     r1,r1,r2
000342  6121              STR      r1,[r4,#0x10]
                  |L1.836|
;;;577          }
;;;578        }
;;;579        else 
;;;580        {
;;;581          if(status != FLASH_BUSY)
;;;582          {
;;;583            /* Disable the OPTER Bit */
;;;584            FLASH->CR &= CR_OPTER_Reset;
;;;585          }
;;;586        }
;;;587      }
;;;588      /* Return the protection operation Status */
;;;589      return status;      
;;;590    }
000344  bd30              POP      {r4,r5,pc}
                  |L1.838|
000346  2801              CMP      r0,#1
000348  d0fc              BEQ      |L1.836|
00034a  6922              LDR      r2,[r4,#0x10]
00034c  4011              ANDS     r1,r1,r2
00034e  6121              STR      r1,[r4,#0x10]
000350  bd30              POP      {r4,r5,pc}
;;;591      	
                          ENDP

                  FLASH_UserOptionByteConfig PROC
;;;613    FLASH_Status FLASH_UserOptionByteConfig(u16 OB_IWDG, u16 OB_STOP, u16 OB_STDBY)
;;;614    {
000352  b5f0              PUSH     {r4-r7,lr}
000354  4605              MOV      r5,r0
000356  460e              MOV      r6,r1
000358  4617              MOV      r7,r2
;;;615      FLASH_Status status = FLASH_COMPLETE; 
;;;616    
;;;617      /* Check the parameters */
;;;618      assert(IS_OB_IWDG_SOURCE(OB_IWDG));
;;;619      assert(IS_OB_STOP_SOURCE(OB_STOP));
;;;620      assert(IS_OB_STDBY_SOURCE(OB_STDBY));
;;;621    
;;;622      /* Authorize the small information block programming */
;;;623      FLASH->OPTKEYR = FLASH_KEY1;
00035a  4c26              LDR      r4,|L1.1012|
00035c  4826              LDR      r0,|L1.1016|
00035e  60a0              STR      r0,[r4,#8]
;;;624      FLASH->OPTKEYR = FLASH_KEY2;
000360  4826              LDR      r0,|L1.1020|
000362  60a0              STR      r0,[r4,#8]
;;;625      
;;;626      /* Wait for last operation to be completed */
;;;627      status = FLASH_WaitForLastOperation(ProgramTimeout);
000364  200f              MOVS     r0,#0xf
000366  f7fff7ff          BL       FLASH_WaitForLastOperation
;;;628      
;;;629      if(status == FLASH_COMPLETE)
00036a  2804              CMP      r0,#4
00036c  d114              BNE      |L1.920|
;;;630      {  
;;;631        /* Enable the Option Bytes Programming operation */
;;;632        FLASH->CR |= CR_OPTPG_Set; 
00036e  6920              LDR      r0,[r4,#0x10]
000370  f040f040          ORR      r0,r0,#0x10
000374  6120              STR      r0,[r4,#0x10]
;;;633               
;;;634        OB->USER = ( OB_IWDG | OB_STOP |OB_STDBY) | (u16)0xF8; 
000376  ea45ea45          ORR      r0,r5,r6
00037a  4338              ORRS     r0,r0,r7
00037c  4922              LDR      r1,|L1.1032|
00037e  f040f040          ORR      r0,r0,#0xf8
000382  8008              STRH     r0,[r1,#0]
;;;635      
;;;636        /* Wait for last operation to be completed */
;;;637        status = FLASH_WaitForLastOperation(ProgramTimeout);
000384  200f              MOVS     r0,#0xf
000386  f7fff7ff          BL       FLASH_WaitForLastOperation
;;;638    
;;;639        if(status != FLASH_BUSY)
00038a  2801              CMP      r0,#1
00038c  d004              BEQ      |L1.920|
;;;640        {
;;;641          /* if the program operation is completed, disable the OPTPG Bit */
;;;642          FLASH->CR &= CR_OPTPG_Reset;
00038e  6921              LDR      r1,[r4,#0x10]
000390  f641f641          MOV      r2,#0x1fef
000394  4011              ANDS     r1,r1,r2
000396  6121              STR      r1,[r4,#0x10]
                  |L1.920|
;;;643        }
;;;644      }    
;;;645      /* Return the Option Byte program Status */
;;;646      return status;
;;;647    }
000398  bdf0              POP      {r4-r7,pc}
;;;648    
                          ENDP

                  FLASH_GetUserOptionByte PROC
;;;659      /* Return the User Option Byte */
;;;660      return (u32)(FLASH->OBR >> 2);
00039a  4816              LDR      r0,|L1.1012|
00039c  69c0              LDR      r0,[r0,#0x1c]
00039e  0880              LSRS     r0,r0,#2
;;;661    }
0003a0  4770              BX       lr
;;;662    
                          ENDP

                  FLASH_GetWriteProtectionOptionByte PROC
;;;672      /* Return the Falsh write protection Register value */
;;;673      return (u32)(FLASH->WRPR);
0003a2  4814              LDR      r0,|L1.1012|
0003a4  6a00              LDR      r0,[r0,#0x20]
;;;674    }
0003a6  4770              BX       lr
;;;675    
                          ENDP

                  FLASH_GetReadOutProtectionStatus PROC
;;;685    {
;;;686      FlagStatus readoutstatus = RESET;
0003a8  2000              MOVS     r0,#0
;;;687    
;;;688      if ((FLASH->OBR & RDPRT_Mask) != (u32)RESET)
0003aa  4912              LDR      r1,|L1.1012|
0003ac  69c9              LDR      r1,[r1,#0x1c]
0003ae  f011f011          TST      r1,#2
0003b2  d000              BEQ      |L1.950|
;;;689      {
;;;690        readoutstatus = SET;
0003b4  2001              MOVS     r0,#1
                  |L1.950|
;;;691      }
;;;692      else
;;;693      {
;;;694        readoutstatus = RESET;
;;;695      }
;;;696      return readoutstatus;
;;;697    }
0003b6  4770              BX       lr
;;;698    
                          ENDP

                  FLASH_GetPrefetchBufferStatus PROC
;;;707    {
;;;708      FlagStatus bitstatus = RESET;
0003b8  2000              MOVS     r0,#0
;;;709      
;;;710      if ((FLASH->ACR & ACR_PRFTBS_Mask) != (u32)RESET)
0003ba  490e              LDR      r1,|L1.1012|
0003bc  6809              LDR      r1,[r1,#0]
0003be  f011f011          TST      r1,#0x20
0003c2  d000              BEQ      |L1.966|
;;;711      {
;;;712        bitstatus = SET;
0003c4  2001              MOVS     r0,#1
                  |L1.966|
;;;713      }
;;;714      else
;;;715      {
;;;716        bitstatus = RESET;
;;;717      }
;;;718      /* Return the new state of FLASH Prefetch Buffer Status (SET or RESET) */
;;;719      return bitstatus; 
;;;720    }
0003c6  4770              BX       lr
;;;721    
                          ENDP

                  FLASH_ITConfig PROC
;;;738    
;;;739      if(NewState != DISABLE)
0003c8  4a0a              LDR      r2,|L1.1012|
0003ca  b119              CBZ      r1,|L1.980|
;;;740      {
;;;741        /* Enable the interrupt sources */
;;;742        FLASH->CR |= FLASH_IT;
0003cc  6911              LDR      r1,[r2,#0x10]
0003ce  4308              ORRS     r0,r0,r1
0003d0  6110              STR      r0,[r2,#0x10]
;;;743      }
;;;744      else
;;;745      {
;;;746        /* Disable the interrupt sources */
;;;747        FLASH->CR &= ~(u32)FLASH_IT;
;;;748      }
;;;749    }
0003d2  4770              BX       lr
                  |L1.980|
0003d4  6911              LDR      r1,[r2,#0x10]
0003d6  ea21ea21          BIC      r0,r1,r0
0003da  6110              STR      r0,[r2,#0x10]
0003dc  4770              BX       lr
;;;750    
                          ENDP

                  FLASH_GetFlagStatus PROC
;;;764    FlagStatus FLASH_GetFlagStatus(u16 FLASH_FLAG)
;;;765    {
0003de  4601              MOV      r1,r0
;;;766      FlagStatus bitstatus = RESET;
0003e0  2000              MOVS     r0,#0
;;;767    
;;;768      /* Check the parameters */
;;;769      assert(IS_FLASH_GET_FLAG(FLASH_FLAG)) ;
;;;770    
;;;771      if(FLASH_FLAG == FLASH_FLAG_OPTERR) 
0003e2  4a04              LDR      r2,|L1.1012|
0003e4  2901              CMP      r1,#1
0003e6  d111              BNE      |L1.1036|
;;;772      {
;;;773        if((FLASH->OBR & FLASH_FLAG_OPTERR) != (u32)RESET)
0003e8  69d1              LDR      r1,[r2,#0x1c]
0003ea  f011f011          TST      r1,#1
0003ee  d000              BEQ      |L1.1010|
;;;774        {
;;;775          bitstatus = SET;
0003f0  2001              MOVS     r0,#1
                  |L1.1010|
0003f2  4770              BX       lr
                  |L1.1012|
0003f4  40022000          DCD      0x40022000
                  |L1.1016|
0003f8  45670123          DCD      0x45670123
                  |L1.1020|
0003fc  cdef89ab          DCD      0xcdef89ab
                  |L1.1024|
000400  1ffff800          DCD      0x1ffff800
                  |L1.1028|
000404  1ffff000          DCD      0x1ffff000
                  |L1.1032|
000408  1ffff802          DCD      0x1ffff802
                  |L1.1036|
;;;776        }
;;;777        else
;;;778        {
;;;779          bitstatus = RESET;
;;;780        }
;;;781      }
;;;782      else
;;;783      {
;;;784       if((FLASH->SR & FLASH_FLAG) != (u32)RESET)
00040c  68d2              LDR      r2,[r2,#0xc]
00040e  420a              TST      r2,r1
000410  d0ef              BEQ      |L1.1010|
;;;785        {
;;;786          bitstatus = SET;
000412  2001              MOVS     r0,#1
000414  e7ed              B        |L1.1010|
;;;787        }
;;;788        else
;;;789        {
;;;790          bitstatus = RESET;
;;;791        }
;;;792      }
;;;793      /* Return the new state of FLASH_FLAG (SET or RESET) */
;;;794      return bitstatus;
;;;795    }
;;;796    
                          ENDP

                  FLASH_ClearFlag PROC
;;;814      /* Clear the flags */
;;;815      FLASH->SR = FLASH_FLAG;
000416  4901              LDR      r1,|L1.1052|
000418  60c8              STR      r0,[r1,#0xc]
;;;816    }
00041a  4770              BX       lr
;;;817    
                          ENDP

                  |L1.1052|
00041c  40022000          DCD      0x40022000

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国精产品一区一区三区mba视频 | 一区二区三区高清| 欧美高清hd18日本| 国产成人精品在线看| 亚洲sss视频在线视频| 国产欧美精品一区二区色综合| 欧美系列亚洲系列| av午夜精品一区二区三区| 裸体健美xxxx欧美裸体表演| 亚洲一卡二卡三卡四卡无卡久久 | 国产精品一区二区三区网站| 亚洲午夜精品一区二区三区他趣| 久久日一线二线三线suv| 欧美日韩亚洲综合一区二区三区| 成人h版在线观看| 国产乱理伦片在线观看夜一区| 亚洲成av人片| 亚洲一区二区3| 亚洲日本乱码在线观看| 中文字幕亚洲在| www精品美女久久久tv| 欧美一级免费观看| 欧美日韩国产一级片| 一本大道av一区二区在线播放| 成人丝袜高跟foot| 国产jizzjizz一区二区| 久草精品在线观看| 麻豆国产精品一区二区三区| 日韩在线a电影| 午夜一区二区三区在线观看| 亚洲一二三区在线观看| 亚洲综合免费观看高清在线观看| 亚洲乱码国产乱码精品精98午夜 | 91福利国产精品| 色综合久久六月婷婷中文字幕| zzijzzij亚洲日本少妇熟睡| 成人午夜精品在线| 成人av网站在线观看| 波多野结衣视频一区| 99久久久无码国产精品| 99这里只有久久精品视频| 成人福利视频在线| 99精品黄色片免费大全| 91亚洲精华国产精华精华液| 色av一区二区| 在线免费一区三区| 欧美日韩另类一区| 欧美一区二区视频观看视频| 精品久久一区二区三区| 久久五月婷婷丁香社区| 国产色91在线| 亚洲男女毛片无遮挡| 亚洲成人精品一区二区| 青青草国产精品97视觉盛宴| 久久99在线观看| 国产精品一品视频| eeuss鲁一区二区三区| 一本一本大道香蕉久在线精品| 欧美视频三区在线播放| 欧美一区二区三区免费视频| 精品国产乱码久久久久久久| 久久精品亚洲精品国产欧美| 亚洲人吸女人奶水| 日本亚洲电影天堂| 国产91精品一区二区麻豆网站| 91麻豆免费看片| 欧美一区二区三区系列电影| 国产蜜臀97一区二区三区| 一区二区三区在线免费播放 | a亚洲天堂av| 欧美区在线观看| 精品成人在线观看| 国产精品久久久久影院色老大| 一区二区三区日韩精品| 免费在线看成人av| jlzzjlzz亚洲日本少妇| 欧美日韩国产不卡| 中文av一区二区| 天天做天天摸天天爽国产一区| 国产一区二区精品久久91| 99视频一区二区三区| 欧美一级日韩一级| 亚洲视频香蕉人妖| 久久精品国产亚洲a| 91碰在线视频| 日韩欧美一区二区三区在线| 国产精品不卡视频| 六月丁香婷婷久久| 在线这里只有精品| 国产亚洲一二三区| 日产精品久久久久久久性色| 国产 欧美在线| 777a∨成人精品桃花网| 亚洲婷婷综合色高清在线| 久久99精品久久只有精品| 91精品福利视频| 久久嫩草精品久久久久| 水蜜桃久久夜色精品一区的特点| 成人网在线播放| 精品国产91久久久久久久妲己| 亚洲精品久久7777| 国产精品综合在线视频| 欧美一区二区精品| 亚洲国产日韩a在线播放性色| 国产精品18久久久久久久网站| 欧美私人免费视频| 最近日韩中文字幕| 国产高清一区日本| 精品国产乱码久久久久久老虎| 亚洲九九爱视频| av电影在线观看不卡| 国产亚洲精品bt天堂精选| 麻豆freexxxx性91精品| 欧美日韩一区二区三区在线| 国产精品成人在线观看| 高潮精品一区videoshd| 精品精品国产高清一毛片一天堂| 三级在线观看一区二区 | 国产欧美一区二区精品仙草咪| 日韩电影免费在线| 欧美最猛性xxxxx直播| 1区2区3区欧美| 成人福利视频在线| 国产精品乱码妇女bbbb| 国产成人免费在线观看| 久久久久国产精品麻豆| 激情深爱一区二区| 日韩女同互慰一区二区| 蜜乳av一区二区| 日韩欧美成人一区| 经典三级在线一区| 精品国产乱码久久久久久1区2区| 久久激五月天综合精品| 精品国产一区二区在线观看| 老司机免费视频一区二区三区| 欧美一级黄色大片| 麻豆视频一区二区| 久久久久久电影| av不卡一区二区三区| 亚洲欧美日韩系列| 欧美性受xxxx黑人xyx| 日韩中文字幕麻豆| 欧美精品777| 久久精品国产**网站演员| 亚洲精品一区二区三区99| 国产成人综合在线观看| 国产精品卡一卡二| 欧美伊人久久久久久久久影院| 亚洲国产毛片aaaaa无费看| 日韩一区二区精品在线观看| 美女在线观看视频一区二区| 国产午夜精品一区二区三区嫩草| 懂色av一区二区在线播放| 亚洲人精品午夜| 欧美男男青年gay1069videost| 久久99国产精品久久| 国产欧美一区二区精品仙草咪| www.欧美亚洲| 亚洲va在线va天堂| 精品处破学生在线二十三| 91美女片黄在线| 视频一区二区中文字幕| 精品1区2区在线观看| 色悠悠久久综合| 日本不卡一区二区三区| 中文字幕免费不卡| 欧美性一区二区| 国产在线一区二区| 亚洲精品中文字幕乱码三区| 日韩一区二区中文字幕| 成人性色生活片免费看爆迷你毛片| 亚洲欧美偷拍三级| 日韩欧美亚洲另类制服综合在线| 高清久久久久久| 日韩高清在线不卡| 国产精品国产自产拍高清av| 欧美精品一二三四| 成人高清免费观看| 日韩av在线发布| 日韩美女精品在线| 精品国产露脸精彩对白| 在线亚洲一区二区| 国产资源精品在线观看| 亚洲福利视频导航| 久久精品视频免费| 51久久夜色精品国产麻豆| 波多野洁衣一区| 久久精品99国产精品日本| 伊人一区二区三区| 久久久久国产精品免费免费搜索| 欧美日韩国产小视频| 高清视频一区二区| 另类成人小视频在线| 亚洲综合在线观看视频| 亚洲国产精品二十页| 日韩欧美一区二区不卡| 色就色 综合激情| 国产.欧美.日韩| 久久69国产一区二区蜜臀| 亚洲午夜久久久久|