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

📄 bsp.s79

📁 ARM仿真案例
💻 S79
📖 第 1 页 / 共 5 页
字号:
//  164              IOSET = 1 << 4;
??LED_On_5:
        LDR      R0,??LED_On_18   ;; 0xe0028004
        MOVS     R1,#+16
        STR      R1,[R0, #+0]
        B        ??LED_On_17
//  165              break;
//  166 
//  167         case 6:
//  168              IOSET = 1 << 5;
??LED_On_6:
        LDR      R0,??LED_On_18   ;; 0xe0028004
        MOVS     R1,#+32
        STR      R1,[R0, #+0]
        B        ??LED_On_17
//  169              break;
//  170 
//  171         case 7:
//  172              IOSET = 1 << 6;
??LED_On_7:
        LDR      R0,??LED_On_18   ;; 0xe0028004
        MOVS     R1,#+64
        STR      R1,[R0, #+0]
        B        ??LED_On_17
//  173              break;
//  174 
//  175         case 8:
//  176              IOSET = 1 << 7;
??LED_On_8:
        LDR      R0,??LED_On_18   ;; 0xe0028004
        MOVS     R1,#+128
        STR      R1,[R0, #+0]
        B        ??LED_On_17
//  177              break;
//  178 
//  179         case 9:
//  180              IOSET = 1 << 8;
??LED_On_9:
        LDR      R0,??LED_On_18   ;; 0xe0028004
        MOVS     R1,#+128
        LSLS     R1,R1,#+1        ;; #+256
        STR      R1,[R0, #+0]
        B        ??LED_On_17
//  181              break;
//  182 
//  183         case 10:
//  184              IOSET = 1 << 9;
??LED_On_10:
        LDR      R0,??LED_On_18   ;; 0xe0028004
        MOVS     R1,#+128
        LSLS     R1,R1,#+2        ;; #+512
        STR      R1,[R0, #+0]
        B        ??LED_On_17
//  185              break;
//  186 
//  187         case 11:
//  188              IOSET = 1 << 10;
??LED_On_11:
        LDR      R0,??LED_On_18   ;; 0xe0028004
        MOVS     R1,#+128
        LSLS     R1,R1,#+3        ;; #+1024
        STR      R1,[R0, #+0]
        B        ??LED_On_17
//  189              break;
//  190 
//  191         case 12:
//  192              IOSET = 1 << 11;
??LED_On_12:
        LDR      R0,??LED_On_18   ;; 0xe0028004
        MOVS     R1,#+128
        LSLS     R1,R1,#+4        ;; #+2048
        STR      R1,[R0, #+0]
        B        ??LED_On_17
//  193              break;
//  194 
//  195         case 13:
//  196              IOSET = 1 << 12;
??LED_On_13:
        LDR      R0,??LED_On_18   ;; 0xe0028004
        MOVS     R1,#+128
        LSLS     R1,R1,#+5        ;; #+4096
        STR      R1,[R0, #+0]
        B        ??LED_On_17
//  197              break;
//  198 
//  199         case 14:
//  200              IOSET = 1 << 13;
??LED_On_14:
        LDR      R0,??LED_On_18   ;; 0xe0028004
        MOVS     R1,#+128
        LSLS     R1,R1,#+6        ;; #+8192
        STR      R1,[R0, #+0]
        B        ??LED_On_17
//  201              break;
//  202 
//  203         case 15:
//  204              IOSET = 1 << 14;
??LED_On_15:
        LDR      R0,??LED_On_18   ;; 0xe0028004
        MOVS     R1,#+128
        LSLS     R1,R1,#+7        ;; #+16384
        STR      R1,[R0, #+0]
        B        ??LED_On_17
//  205              break;
//  206 
//  207         case 16:
//  208              IOSET = 1 << 15;
??LED_On_16:
        LDR      R0,??LED_On_18   ;; 0xe0028004
        MOVS     R1,#+128
        LSLS     R1,R1,#+8        ;; #+32768
        STR      R1,[R0, #+0]
//  209              break;
//  210     }
//  211 }
??LED_On_17:
        POP      {R0}
        BX       R0               ;; return
        Nop      
        DATA
??LED_On_18:
        DC32     0xe0028004
        CFI EndBlock cfiBlock5

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock6 Using cfiCommon0
        CFI NoFunction
        ARM
??LED_Off??rA:
        ADD      R12,PC,#+1
        BX       R12
        CFI EndBlock cfiBlock6
        REQUIRE LED_Off
//  212 
//  213 /*
//  214 *********************************************************************************************************
//  215 *                                             LED OFF
//  216 *
//  217 * Description : This function is used to control any or all the LEDs on the board.
//  218 *               
//  219 * Arguments   : led    is the number of the LED to turn OFF
//  220 *                      0    indicates that you want ALL the LEDs to be OFF
//  221 *                      1    turns OFF LED1 on the board
//  222 *                      .
//  223 *                      .
//  224 *                      8    turns OFF LED8 on the board
//  225 *********************************************************************************************************
//  226 */
//  227 

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock7 Using cfiCommon1
        CFI Function LED_Off
        THUMB
//  228 void  LED_Off (INT8U led)
//  229 {
LED_Off:
        PUSH     {LR}
        CFI ?RET Frame(CFA, -4)
        CFI CFA R13+4
//  230     switch (led) {
        CMP      R0,#+0
        BEQ      ??LED_Off_0
        CMP      R0,#+1
        BEQ      ??LED_Off_1
        CMP      R0,#+2
        BEQ      ??LED_Off_2
        CMP      R0,#+3
        BEQ      ??LED_Off_3
        CMP      R0,#+4
        BEQ      ??LED_Off_4
        CMP      R0,#+5
        BEQ      ??LED_Off_5
        CMP      R0,#+6
        BEQ      ??LED_Off_6
        CMP      R0,#+7
        BEQ      ??LED_Off_7
        CMP      R0,#+8
        BEQ      ??LED_Off_8
        CMP      R0,#+9
        BEQ      ??LED_Off_9
        CMP      R0,#+10
        BEQ      ??LED_Off_10
        CMP      R0,#+11
        BEQ      ??LED_Off_11
        CMP      R0,#+12
        BEQ      ??LED_Off_12
        CMP      R0,#+13
        BEQ      ??LED_Off_13
        CMP      R0,#+14
        BEQ      ??LED_Off_14
        CMP      R0,#+15
        BEQ      ??LED_Off_15
        CMP      R0,#+16
        BEQ      ??LED_Off_16
        B        ??LED_Off_17
//  231         case 0:
//  232              IOCLR = 0x0000FFFF;
??LED_Off_0:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        LDR      R1,??DataTable2  ;; 0xffff
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  233              break;
//  234 
//  235         case 1:
//  236              IOCLR = 1 << 0;
??LED_Off_1:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+1
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  237              break;
//  238 
//  239         case 2:
//  240              IOCLR = 1 << 1;
??LED_Off_2:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+2
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  241              break;
//  242 
//  243         case 3:
//  244              IOCLR = 1 << 2;
??LED_Off_3:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+4
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  245              break;
//  246 
//  247         case 4:
//  248              IOCLR = 1 << 3;
??LED_Off_4:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+8
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  249              break;
//  250 
//  251         case 5:
//  252              IOCLR = 1 << 4;
??LED_Off_5:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+16
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  253              break;
//  254 
//  255         case 6:
//  256              IOCLR = 1 << 5;
??LED_Off_6:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+32
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  257              break;
//  258 
//  259         case 7:
//  260              IOCLR = 1 << 6;
??LED_Off_7:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+64
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  261              break;
//  262 
//  263         case 8:
//  264              IOCLR = 1 << 7;
??LED_Off_8:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+128
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  265              break;
//  266 
//  267         case 9:
//  268              IOCLR = 1 << 8;
??LED_Off_9:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+128
        LSLS     R1,R1,#+1        ;; #+256
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  269              break;
//  270 
//  271         case 10:
//  272              IOCLR = 1 << 9;
??LED_Off_10:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+128
        LSLS     R1,R1,#+2        ;; #+512
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  273              break;
//  274 
//  275         case 11:
//  276              IOCLR = 1 << 10;
??LED_Off_11:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+128
        LSLS     R1,R1,#+3        ;; #+1024
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  277              break;
//  278 
//  279         case 12:
//  280              IOCLR = 1 << 11;
??LED_Off_12:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+128
        LSLS     R1,R1,#+4        ;; #+2048
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  281              break;
//  282 
//  283         case 13:
//  284              IOCLR = 1 << 12;
??LED_Off_13:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+128
        LSLS     R1,R1,#+5        ;; #+4096
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  285              break;
//  286 
//  287         case 14:
//  288              IOCLR = 1 << 13;
??LED_Off_14:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+128
        LSLS     R1,R1,#+6        ;; #+8192
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  289              break;
//  290 
//  291         case 15:
//  292              IOCLR = 1 << 14;
??LED_Off_15:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+128
        LSLS     R1,R1,#+7        ;; #+16384
        STR      R1,[R0, #+0]
        B        ??LED_Off_17
//  293              break;
//  294 
//  295         case 16:
//  296              IOCLR = 1 << 15;
??LED_Off_16:
        LDR      R0,??LED_Off_18  ;; 0xe002800c
        MOVS     R1,#+128
        LSLS     R1,R1,#+8        ;; #+32768
        STR      R1,[R0, #+0]
//  297              break;
//  298     }
//  299 }
??LED_Off_17:
        POP      {R0}
        BX       R0               ;; return
        Nop      
        DATA
??LED_Off_18:
        DC32     0xe002800c
        CFI EndBlock cfiBlock7

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable2:
        DC32     0xffff

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock8 Using cfiCommon0
        CFI NoFunction
        ARM
??Tmr_TickInit??rA:
        ADD      R12,PC,#+1
        BX       R12
        CFI EndBlock cfiBlock8
        REQUIRE Tmr_TickInit
//  300 
//  301 /*
//  302 *********************************************************************************************************
//  303 *                                       TICKER INITIALIZATION
//  304 *
//  305 * Description : This function is called to initialize uC/OS-II's tick source (typically a timer generating
//  306 *               interrupts every 1 to 100 mS).
//  307 *               
//  308 * Arguments   : none
//  309 *********************************************************************************************************
//  310 */
//  311 

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock9 Using cfiCommon1

⌨️ 快捷键说明

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