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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? common.lst

?? IAPBootLoader源程序是單片機(jī)ARM的在系統(tǒng)編程方法1
?? LST
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
    192          * Function Name  : SerialPutChar
    193          * Description    : Print a character on the HyperTerminal
    194          * Input          : The character to be printed
    195          * Return         : None
    196          *******************************************************************************/

   \                                 In segment CODE_Flash, align 4, keep-with-next
    197          void SerialPutChar(char c)
    198          {
   \                     SerialPutChar:
   \   00000000   01402DE9           PUSH     {R0,LR}
    199            UART_ByteSend(UART0,(u8*)&c);
   \   00000004   0D10B0E1           MOVS     R1,SP
   \   00000008   C004A0E3           MOV      R0,#-1073741824
   \   0000000C   400C80E3           ORR      R0,R0,#0x4000
   \   00000010   ........           _BLF     UART_ByteSend,??UART_ByteSend??rA
    200          }
   \   00000014   04D08DE2           ADD      SP,SP,#+4        ;; stack cleaning
   \   00000018   0080BDE8           POP      {PC}             ;; return
    201          
    202          /*******************************************************************************
    203          * Function Name  : SerialPutString
    204          * Description    : Print a string on the HyperTerminal
    205          * Input          : The string to be printed
    206          * Return         : None
    207          *******************************************************************************/

   \                                 In segment CODE_Flash, align 4, keep-with-next
    208          void SerialPutString(char *s)
    209          {
   \                     SerialPutString:
   \   00000000   10402DE9           PUSH     {R4,LR}
   \   00000004   0040B0E1           MOVS     R4,R0
    210            while (*s != '\0')
   \                     ??SerialPutString_0:
   \   00000008   0000D4E5           LDRB     R0,[R4, #+0]
   \   0000000C   000050E3           CMP      R0,#+0
   \   00000010   0300000A           BEQ      ??SerialPutString_1
    211            {
    212            SerialPutChar(*s);
   \   00000014   0000D4E5           LDRB     R0,[R4, #+0]
   \   00000018   ........           BL       SerialPutChar
    213            s ++;
   \   0000001C   014094E2           ADDS     R4,R4,#+1
   \   00000020   F8FFFFEA           B        ??SerialPutString_0
    214            }
    215          }
   \                     ??SerialPutString_1:
   \   00000024   1080BDE8           POP      {R4,PC}          ;; return
    216          
    217          /*******************************************************************************
    218          * Function Name  : GetInputString	
    219          * Description    : Get Input string from the HyperTerminal
    220          * Input          : The input string
    221          * Return         : None
    222          *******************************************************************************/

   \                                 In segment CODE_Flash, align 4, keep-with-next
    223          void GetInputString (char * buffP)
    224          {
   \                     GetInputString:
   \   00000000   70402DE9           PUSH     {R4-R6,LR}
   \   00000004   0040B0E1           MOVS     R4,R0
    225            u32 bytes_read = 0;
   \   00000008   0000A0E3           MOV      R0,#+0
   \   0000000C   0050B0E1           MOVS     R5,R0
    226            char c;
    227            do
    228             {
    229             c = GetKey();
   \                     ??GetInputString_0:
   \   00000010   ........           BL       GetKey
   \   00000014   0060B0E1           MOVS     R6,R0
    230             if (c == '\r')   	
   \   00000018   0D0056E3           CMP      R6,#+13
   \   0000001C   0400001A           BNE      ??GetInputString_1
    231               break;
    232             if (c == '\b')	/* Backspace */
    233               {
    234               if (bytes_read > 0)
    235                 {
    236                 SerialPutString("\b \b");
    237                 bytes_read --;
    238                 }
    239            continue;
    240             }
    241            if (bytes_read >= CMD_STRING_SIZE )
    242              {
    243              SerialPutString("Command string size overflow\r\n");
    244              bytes_read = 0;
    245              continue;
    246              }
    247            if (c >= 0x20 && c<= 0x7E)
    248              {
    249              buffP[bytes_read++] = c;
    250              SerialPutChar(c);
    251              }	
    252              	
    253            }
    254            while (1);
    255            SerialPutString("\n\r");
   \   00000020   1C0F8FE2           ADR      R0,??GetInputString_2  ;; "\n\r"
   \   00000024   ........           BL       SerialPutString
    256            buffP[bytes_read] = '\0';
   \   00000028   0000A0E3           MOV      R0,#+0
   \   0000002C   0400C5E7           STRB     R0,[R5, +R4]
    257          }
   \   00000030   170000EA           B        ??GetInputString_3
   \                     ??GetInputString_1:
   \   00000034   080056E3           CMP      R6,#+8
   \   00000038   0500001A           BNE      ??GetInputString_4
   \   0000003C   000055E3           CMP      R5,#+0
   \   00000040   F2FFFF0A           BEQ      ??GetInputString_0
   \   00000044   140F8FE2           ADR      R0,??GetInputString_2+0x4  ;; "\b \b"
   \   00000048   ........           BL       SerialPutString
   \   0000004C   015055E2           SUBS     R5,R5,#+1
   \   00000050   EEFFFFEA           B        ??GetInputString_0
   \                     ??GetInputString_4:
   \   00000054   800055E3           CMP      R5,#+128
   \   00000058   0400003A           BCC      ??GetInputString_5
   \   0000005C   3C009FE5           LDR      R0,??GetInputString_2+0x8  ;; `?<Constant "Command string size o...">`
   \   00000060   ........           BL       SerialPutString
   \   00000064   0000A0E3           MOV      R0,#+0
   \   00000068   0050B0E1           MOVS     R5,R0
   \   0000006C   E7FFFFEA           B        ??GetInputString_0
   \                     ??GetInputString_5:
   \   00000070   200056E3           CMP      R6,#+32
   \   00000074   E5FFFF3A           BCC      ??GetInputString_0
   \   00000078   7F0056E3           CMP      R6,#+127
   \   0000007C   E3FFFF2A           BCS      ??GetInputString_0
   \   00000080   0460C5E7           STRB     R6,[R5, +R4]
   \   00000084   015095E2           ADDS     R5,R5,#+1
   \   00000088   0600B0E1           MOVS     R0,R6
   \   0000008C   ........           BL       SerialPutChar
   \   00000090   DEFFFFEA           B        ??GetInputString_0
   \                     ??GetInputString_3:
   \   00000094   7080BDE8           POP      {R4-R6,PC}       ;; return
   \                     ??GetInputString_2:
   \   00000098   0A0D0000           DC8      "\n\r",+0
   \   0000009C   08200800           DC8      "\b \b"
   \   000000A0   ........           DC32     `?<Constant "Command string size o...">`
    258          
    259          /*******************************************************************************
    260          * Function Name  : FLASH_SectorMask
    261          * Description    : Calculate the sectors mask
    262          * Input          : The image size
    263          * Return         : The sectors mask
    264          *******************************************************************************/

   \                                 In segment CODE_Flash, align 4, keep-with-next
    265          u32 FLASH_SectorMask(vu32 Size)
    266          {
   \                     FLASH_SectorMask:
   \   00000000   01002DE9           PUSH     {R0}
    267            if (Size <= 0x2000)
   \   00000004   00009DE5           LDR      R0,[SP, #+0]
   \   00000008   0110A0E3           MOV      R1,#+1
   \   0000000C   801D81E3           ORR      R1,R1,#0x2000
   \   00000010   010050E1           CMP      R0,R1
   \   00000014   0100002A           BCS      ??FLASH_SectorMask_0
    268              return 0x2;
   \   00000018   0200A0E3           MOV      R0,#+2
   \   0000001C   2A0000EA           B        ??FLASH_SectorMask_1
    269            if (Size <= 0x4000)
   \                     ??FLASH_SectorMask_0:
   \   00000020   00009DE5           LDR      R0,[SP, #+0]
   \   00000024   0110A0E3           MOV      R1,#+1
   \   00000028   401C81E3           ORR      R1,R1,#0x4000
   \   0000002C   010050E1           CMP      R0,R1
   \   00000030   0100002A           BCS      ??FLASH_SectorMask_2
    270              return 0x6;
   \   00000034   0600A0E3           MOV      R0,#+6
   \   00000038   230000EA           B        ??FLASH_SectorMask_1
    271            if (Size <= 0x6000)
   \                     ??FLASH_SectorMask_2:
   \   0000003C   00009DE5           LDR      R0,[SP, #+0]
   \   00000040   0110A0E3           MOV      R1,#+1
   \   00000044   601C81E3           ORR      R1,R1,#0x6000
   \   00000048   010050E1           CMP      R0,R1
   \   0000004C   0100002A           BCS      ??FLASH_SectorMask_3
    272              return 0xE;
   \   00000050   0E00A0E3           MOV      R0,#+14
   \   00000054   1C0000EA           B        ??FLASH_SectorMask_1
    273            if (Size <= 0xE000)
   \                     ??FLASH_SectorMask_3:
   \   00000058   00009DE5           LDR      R0,[SP, #+0]
   \   0000005C   0110A0E3           MOV      R1,#+1
   \   00000060   E01C81E3           ORR      R1,R1,#0xE000
   \   00000064   010050E1           CMP      R0,R1
   \   00000068   0100002A           BCS      ??FLASH_SectorMask_4
    274              return 0x1E;
   \   0000006C   1E00A0E3           MOV      R0,#+30
   \   00000070   150000EA           B        ??FLASH_SectorMask_1
    275            if (Size <= 0x1E000)
   \                     ??FLASH_SectorMask_4:
   \   00000074   00009DE5           LDR      R0,[SP, #+0]
   \   00000078   0110A0E3           MOV      R1,#+1
   \   0000007C   781B81E3           ORR      R1,R1,#0x1E000
   \   00000080   010050E1           CMP      R0,R1
   \   00000084   0100002A           BCS      ??FLASH_SectorMask_5
    276              return 0x3E;
   \   00000088   3E00A0E3           MOV      R0,#+62
   \   0000008C   0E0000EA           B        ??FLASH_SectorMask_1
    277            if (Size <= 0x2E000)
   \                     ??FLASH_SectorMask_5:
   \   00000090   00009DE5           LDR      R0,[SP, #+0]
   \   00000094   0110A0E3           MOV      R1,#+1
   \   00000098   B81B81E3           ORR      R1,R1,#0x2E000
   \   0000009C   010050E1           CMP      R0,R1
   \   000000A0   0100002A           BCS      ??FLASH_SectorMask_6
    278              return 0x7E;
   \   000000A4   7E00A0E3           MOV      R0,#+126
   \   000000A8   070000EA           B        ??FLASH_SectorMask_1
    279            if (Size <= 0x3E000)
   \                     ??FLASH_SectorMask_6:
   \   000000AC   00009DE5           LDR      R0,[SP, #+0]
   \   000000B0   0110A0E3           MOV      R1,#+1
   \   000000B4   F81B81E3           ORR      R1,R1,#0x3E000
   \   000000B8   010050E1           CMP      R0,R1
   \   000000BC   0100002A           BCS      ??FLASH_SectorMask_7
    280              return 0xFE;
   \   000000C0   FE00A0E3           MOV      R0,#+254
   \   000000C4   000000EA           B        ??FLASH_SectorMask_1
    281            return 0;
   \                     ??FLASH_SectorMask_7:
   \   000000C8   0000A0E3           MOV      R0,#+0
   \                     ??FLASH_SectorMask_1:
   \   000000CC   04D08DE2           ADD      SP,SP,#+4        ;; stack cleaning
   \   000000D0   0EF0A0E1           MOV      PC,LR            ;; return
    282          }
    283          
    284          /*******************************************************************************
    285          * Function Name  : Main_Menu	
    286          * Description    : Display the  Main Menu on to HyperTerminal
    287          * Input          : None
    288          * Return         : None
    289          *******************************************************************************/

   \                                 In segment CODE_Flash, align 4, keep-with-next
    290          void Main_Menu(void )
    291          {
   \                     Main_Menu:
   \   00000000   10402DE9           PUSH     {R4,LR}
    292            u8 key;
    293          
    294            while(1)
    295            {
    296              SerialPutString("\r\n================== Main Menu ==================\r\n\n");
   \                     ??Main_Menu_0:
   \   00000004   B4009FE5           LDR      R0,??Main_Menu_1  ;; `?<Constant "\\r\\n================== ...">`
   \   00000008   ........           BL       SerialPutString
    297              SerialPutString("  Download Image To Internal Flash ---------- 1\r\n\n");
   \   0000000C   B0009FE5           LDR      R0,??Main_Menu_1+0x4  ;; `?<Constant "  Download Image To I...">`
   \   00000010   ........           BL       SerialPutString
    298              SerialPutString("  Execute The New Program ------------------- 2\r\n\n");
   \   00000014   AC009FE5           LDR      R0,??Main_Menu_1+0x8  ;; `?<Constant "  Execute The New Pro...">`
   \   00000018   ........           BL       SerialPutString
    299              SerialPutString("===============================================\r\n\n");
   \   0000001C   A8009FE5           LDR      R0,??Main_Menu_1+0xC  ;; `?<Constant "=====================...">`
   \   00000020   ........           BL       SerialPutString
    300          
    301              if ((PCU->BOOTCR&0x03)==2)
   \   00000024   5000A0E3           MOV      R0,#+80
   \   00000028   A00480E3           ORR      R0,R0,#0xA0000000
   \   0000002C   B000D0E1           LDRH     R0,[R0, #+0]
   \   00000030   0008A0E1           MOV      R0,R0, LSL #+16
   \   00000034   2008B0E1           MOVS     R0,R0, LSR #+16
   \   00000038   030010E2           ANDS     R0,R0,#0x3
   \   0000003C   020050E3           CMP      R0,#+2
   \   00000040   0100001A           BNE      ??Main_Menu_2
    302                SerialPutString("IAP remap to  RAM \r\n\n");
   \   00000044   84009FE5           LDR      R0,??Main_Menu_1+0x10  ;; `?<Constant "IAP remap to  RAM \\r\\n\\n">`

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国三级在线一区| 久久综合色播五月| 欧美国产激情二区三区| 有码一区二区三区| 美女脱光内衣内裤视频久久影院| 另类欧美日韩国产在线| 91免费观看国产| 亚洲国产高清不卡| 午夜精品久久久久久久99水蜜桃 | 91免费版在线看| 精品久久久久一区二区国产| 亚洲乱码国产乱码精品精小说| 五月天欧美精品| 色综合视频在线观看| 国产清纯白嫩初高生在线观看91 | 国产欧美日韩不卡免费| 亚洲h动漫在线| 91视频www| 中文字幕人成不卡一区| 国产在线不卡视频| 欧美区一区二区三区| 亚洲九九爱视频| 色综合一区二区三区| 中文字幕久久午夜不卡| 国产91综合一区在线观看| 日韩精品一区二区三区swag| 日韩高清在线观看| 欧美日本在线观看| 香蕉久久夜色精品国产使用方法 | 日韩一区二区三区在线| 亚洲高清免费观看高清完整版在线观看| 成人精品在线视频观看| 亚洲精品写真福利| 91精品国产综合久久久久久| 激情综合五月天| 成人欧美一区二区三区视频网页 | 在线成人午夜影院| 日韩精品一级二级 | 奇米888四色在线精品| 精品久久久久久亚洲综合网| youjizz久久| 丝袜美腿亚洲色图| 中文字幕国产一区| 色综合视频一区二区三区高清| 亚洲欧美成人一区二区三区| 欧美一区二区三区四区在线观看 | 美女www一区二区| 亚洲天堂精品视频| 26uuu色噜噜精品一区二区| 一本久久a久久精品亚洲| 国产精品综合一区二区| 一区二区三区日韩欧美| 精品久久久久久最新网址| 欧美丝袜丝交足nylons图片| 国产成人精品一区二区三区四区 | 日韩欧美亚洲另类制服综合在线| av在线不卡电影| 狠狠色狠狠色综合系列| 亚洲.国产.中文慕字在线| 国产精品毛片高清在线完整版| 日韩一级片在线播放| 精品视频一区二区三区免费| 99精品久久免费看蜜臀剧情介绍| 韩国精品主播一区二区在线观看| 亚洲国产精品久久久男人的天堂| 国产精品久久久久久久久动漫| 欧美电影免费观看完整版| 91精品国产欧美一区二区18 | 最新高清无码专区| 欧美激情一区在线| 久久久精品欧美丰满| 精品少妇一区二区三区免费观看 | 一区二区三区免费观看| 亚洲欧美综合在线精品| 亚洲国产精品成人综合色在线婷婷 | jizzjizzjizz欧美| 成人av网址在线观看| 成人h动漫精品一区二| 99国产精品久久久久久久久久 | 热久久一区二区| 日韩av在线播放中文字幕| 视频一区二区三区在线| 午夜欧美电影在线观看| 免费久久99精品国产| 久久福利资源站| 91国产福利在线| 欧美亚洲综合网| 日韩精品一区二区三区四区| 久久久久久99久久久精品网站| 国产精品乱人伦一区二区| 亚洲日本青草视频在线怡红院| 国产精品久久久久久一区二区三区| 久久久久久久免费视频了| 国产精品美女久久久久久久| 一区二区在线免费观看| 亚洲一区二区欧美激情| 麻豆精品视频在线观看视频| 国产东北露脸精品视频| 97精品久久久久中文字幕| 在线电影欧美成精品| 国产亚洲欧美色| 一区二区三区四区五区视频在线观看| 日本vs亚洲vs韩国一区三区二区 | 亚洲精品高清在线| 午夜不卡av免费| 亚洲高清免费观看高清完整版在线观看 | 亚洲天堂精品在线观看| 麻豆中文一区二区| 色婷婷一区二区| 国产日韩精品久久久| 日韩精品一级中文字幕精品视频免费观看| 国产综合色在线| 337p亚洲精品色噜噜| 中文字幕一区二区三区在线不卡| 秋霞电影一区二区| 欧美午夜片在线观看| 成人欧美一区二区三区视频网页| 美女视频一区二区| 3d成人h动漫网站入口| 亚洲国产三级在线| 色美美综合视频| 亚洲色图视频网| 成人丝袜高跟foot| 国产精品午夜电影| 美国毛片一区二区| 7777精品伊人久久久大香线蕉的 | 国产在线播精品第三| 日韩欧美一二三四区| 日本美女一区二区| 91成人网在线| 香蕉成人伊视频在线观看| 欧美视频在线一区二区三区| 中文字幕欧美一| 色婷婷综合久久久| 亚洲最大成人综合| 在线免费精品视频| 午夜免费久久看| 欧美精品tushy高清| 麻豆成人久久精品二区三区红 | 国产精品理论片在线观看| 丁香婷婷综合激情五月色| 亚洲国产经典视频| 在线免费观看不卡av| 欧美mv日韩mv国产网站| 亚洲第一电影网| 亚洲精品在线观| 波多野结衣中文字幕一区| 18欧美亚洲精品| 欧美日韩在线亚洲一区蜜芽| 日日夜夜精品免费视频| 久久久午夜电影| 91免费视频网址| 久久99精品网久久| 亚洲精品国产精品乱码不99| 制服丝袜日韩国产| 丁香五精品蜜臀久久久久99网站| 一区二区三区四区中文字幕| 日本精品视频一区二区| 日韩精品视频网站| 亚洲小说欧美激情另类| 欧美一区2区视频在线观看| 国产成人8x视频一区二区| 亚洲国产日韩在线一区模特| 精品人在线二区三区| 日本电影亚洲天堂一区| 国产在线不卡一卡二卡三卡四卡| 亚洲免费毛片网站| 久久亚洲影视婷婷| 欧美久久婷婷综合色| 99这里只有精品| 国产精品一色哟哟哟| 午夜精品视频一区| 18成人在线观看| 欧美国产欧美亚州国产日韩mv天天看完整| 色悠悠久久综合| 国产成人h网站| 国产精品18久久久久久久久久久久 | 成人精品免费视频| 国产美女精品人人做人人爽| 性感美女极品91精品| 亚洲男人电影天堂| 国产精品国产三级国产有无不卡| 久久综合国产精品| 精品成人私密视频| 91精品国产麻豆| 在线成人免费观看| 欧美精品自拍偷拍| 欧美美女一区二区三区| 欧美亚洲国产bt| 欧美精品久久天天躁| 日本韩国欧美在线| 国产一区二区精品在线观看| 五月激情综合婷婷| 日本三级韩国三级欧美三级| 亚洲一区二区三区四区五区中文| 一区二区三区四区五区视频在线观看| 最新成人av在线| 亚洲国产成人av| 精品在线一区二区三区| 国产成人免费9x9x人网站视频|