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

📄 app.txt

📁 针对STM32F103的UCOS移植
💻 TXT
📖 第 1 页 / 共 5 页
字号:
00031a  466a              MOV      r2,sp
00031c  210a              MOVS     r1,#0xa
00031e  68b0              LDR      r0,[r6,#8]  ; AppUserIFMbox
000320  f7fffffe          BL       OSMboxPend
;;;381            if (err == OS_NO_ERR) {
000324  f89d1000          LDRB     r1,[sp,#0]
000328  b901              CBNZ     r1,|L1.812|
;;;382                nstate = (CPU_INT32U)msg;
00032a  4604              MOV      r4,r0
                  |L1.812|
;;;383            }
;;;384    
;;;385            if (nstate != pstate) {
00032c  42ac              CMP      r4,r5
00032e  d002              BEQ      |L1.822|
;;;386                LCD_Clear();
000330  f7fffffe          BL       LCD_Clear
;;;387                pstate  = nstate;
000334  4625              MOV      r5,r4
                  |L1.822|
;;;388            }
;;;389    
;;;390            switch (nstate) {
000336  2c02              CMP      r4,#2
000338  d102              BNE      |L1.832|
;;;391                case 2:
;;;392                    AppDispScr_TaskNames();
00033a  f7fffffe          BL       AppDispScr_TaskNames
;;;393                    break;
00033e  e7ec              B        |L1.794|
                  |L1.832|
;;;394    
;;;395                case 1:
;;;396                default:
;;;397                    AppDispScr_SignOn();
000340  f7fffffe          BL       AppDispScr_SignOn
;;;398                    break;
000344  e7e9              B        |L1.794|
;;;399            }
;;;400        }
;;;401    }
;;;402    
                          ENDP

                  AppTaskCreate PROC
;;;297    static  void  AppTaskCreate (void)
;;;298    {
000346  b500              PUSH     {lr}
000348  b087              SUB      sp,sp,#0x1c
;;;299        CPU_INT08U      err;
;;;300    
;;;301    
;;;302        OSTaskCreateExt(AppTaskUserIF,
00034a  2303              MOVS     r3,#3
00034c  2200              MOVS     r2,#0
00034e  e9cd2303          STRD     r2,r3,[sp,#0xc]
000352  f44f7180          MOV      r1,#0x100
000356  4889              LDR      r0,|L1.1404|
000358  9102              STR      r1,[sp,#8]
00035a  2305              MOVS     r3,#5
00035c  9001              STR      r0,[sp,#4]
00035e  f500727f          ADD      r2,r0,#0x3fc
000362  2100              MOVS     r1,#0
000364  f2af0065          ADR      r0,AppTaskUserIF + 1
000368  9300              STR      r3,[sp,#0]
00036a  f7fffffe          BL       OSTaskCreateExt
;;;303                        (void *)0,
;;;304                        (OS_STK *)&AppTaskUserIFStk[APP_TASK_USER_IF_STK_SIZE - 1],
;;;305                        APP_TASK_USER_IF_PRIO,
;;;306                        APP_TASK_USER_IF_PRIO,
;;;307                        (OS_STK *)&AppTaskUserIFStk[0],
;;;308                        APP_TASK_USER_IF_STK_SIZE,
;;;309                        (void *)0,
;;;310                        OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
;;;311    
;;;312    #if (OS_TASK_NAME_SIZE > 8)
;;;313        OSTaskNameSet(APP_TASK_USER_IF_PRIO, "User I/F", &err);
00036e  aa06              ADD      r2,sp,#0x18
000370  a183              ADR      r1,|L1.1408|
000372  2005              MOVS     r0,#5
000374  f7fffffe          BL       OSTaskNameSet
;;;314    #endif
;;;315    
;;;316        OSTaskCreateExt(AppTaskKbd,
000378  2303              MOVS     r3,#3
00037a  2200              MOVS     r2,#0
00037c  e9cd2303          STRD     r2,r3,[sp,#0xc]
000380  f44f7180          MOV      r1,#0x100
000384  4881              LDR      r0,|L1.1420|
000386  9102              STR      r1,[sp,#8]
000388  2304              MOVS     r3,#4
00038a  9001              STR      r0,[sp,#4]
00038c  f500727f          ADD      r2,r0,#0x3fc
000390  2100              MOVS     r1,#0
000392  f2af3023          ADR      r0,AppTaskKbd + 1
000396  9300              STR      r3,[sp,#0]
000398  f7fffffe          BL       OSTaskCreateExt
;;;317                        (void *)0,
;;;318                        (OS_STK *)&AppTaskKbdStk[APP_TASK_KBD_STK_SIZE - 1],
;;;319                        APP_TASK_KBD_PRIO,
;;;320                        APP_TASK_KBD_PRIO,
;;;321                        (OS_STK *)&AppTaskKbdStk[0],
;;;322                        APP_TASK_KBD_STK_SIZE,
;;;323                        (void *)0,
;;;324                        OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
;;;325    
;;;326    #if (OS_TASK_NAME_SIZE > 8)
;;;327        OSTaskNameSet(APP_TASK_KBD_PRIO, "Keyboard", &err);
00039c  aa06              ADD      r2,sp,#0x18
00039e  a17c              ADR      r1,|L1.1424|
0003a0  2004              MOVS     r0,#4
0003a2  f7fffffe          BL       OSTaskNameSet
;;;328    #endif
;;;329    
;;;330    #if (uC_PROBE_COM_MODULE   > 0) && \
;;;331        (PROBE_COM_SUPPORT_STR > 0)
;;;332    
;;;333        OSTaskCreateExt(AppTaskProbeStr,
0003a6  2303              MOVS     r3,#3
0003a8  2200              MOVS     r2,#0
0003aa  e9cd2303          STRD     r2,r3,[sp,#0xc]
0003ae  f44f7180          MOV      r1,#0x100
0003b2  487a              LDR      r0,|L1.1436|
0003b4  9102              STR      r1,[sp,#8]
0003b6  2306              MOVS     r3,#6
0003b8  9001              STR      r0,[sp,#4]
0003ba  f500727f          ADD      r2,r0,#0x3fc
0003be  2100              MOVS     r1,#0
0003c0  f2af3085          ADR      r0,AppTaskProbeStr + 1
0003c4  9300              STR      r3,[sp,#0]
0003c6  f7fffffe          BL       OSTaskCreateExt
;;;334                        (void *)0,
;;;335                        (OS_STK *)&AppTaskProbeStrStk[APP_TASK_PROBE_STR_STK_SIZE - 1],
;;;336                        APP_TASK_PROBE_STR_PRIO,
;;;337                        APP_TASK_PROBE_STR_PRIO,
;;;338                        (OS_STK *)&AppTaskProbeStrStk[0],
;;;339                        APP_TASK_PROBE_STR_STK_SIZE,
;;;340                        (void *)0,
;;;341                        OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
;;;342    
;;;343    #if (OS_TASK_NAME_SIZE > 9)
;;;344        OSTaskNameSet(APP_TASK_PROBE_STR_PRIO, "Probe Str", &err);
0003ca  aa06              ADD      r2,sp,#0x18
0003cc  a174              ADR      r1,|L1.1440|
0003ce  2006              MOVS     r0,#6
0003d0  f7fffffe          BL       OSTaskNameSet
;;;345    #endif
;;;346    #endif
;;;347    }
0003d4  b007              ADD      sp,sp,#0x1c
0003d6  bd00              POP      {pc}
;;;348    
                          ENDP

                  AppProbeCallback PROC
;;;662    static  void  AppProbeCallback (void)
;;;663    {
0003d8  e92d4ff8          PUSH     {r3-r11,lr}
;;;664    #if (uC_PROBE_COM_MODULE   > 0) && \
;;;665        (PROBE_COM_STAT_EN     > 0)
;;;666        CPU_INT32U  ctr_curr;
;;;667        CPU_INT32U  rx_curr;
;;;668        CPU_INT32U  tx_curr;
;;;669        CPU_INT32U  rxpkt_curr;
;;;670        CPU_INT32U  txpkt_curr;
;;;671        CPU_INT32U  sym_curr;
;;;672        CPU_INT32U  symbyte_curr;
;;;673    #endif
;;;674        CPU_INT32U  joystick;
;;;675    
;;;676    
;;;677        Probe_Counts++;
0003dc  4c18              LDR      r4,|L1.1088|
0003de  68e0              LDR      r0,[r4,#0xc]  ; Probe_Counts
0003e0  1c40              ADDS     r0,r0,#1
0003e2  60e0              STR      r0,[r4,#0xc]  ; Probe_Counts
;;;678    
;;;679        Probe_B1 = PB_GetStatus(1);
0003e4  2001              MOVS     r0,#1
0003e6  f7fffffe          BL       PB_GetStatus
0003ea  7020              STRB     r0,[r4,#0]  ; Probe_B1
;;;680    
;;;681        joystick = Joystick_GetStatus();
0003ec  f7fffffe          BL       Joystick_GetStatus
;;;682    
;;;683        if ((joystick & JOYSTICK_LEFT) == JOYSTICK_LEFT) {
0003f0  f0100f04          TST      r0,#4
0003f4  f04f0101          MOV      r1,#1
0003f8  f04f0200          MOV      r2,#0
0003fc  d001              BEQ      |L1.1026|
;;;684            Probe_JoyLeft = DEF_TRUE;
0003fe  7061              STRB     r1,[r4,#1]  ; Probe_JoyLeft
000400  e000              B        |L1.1028|
                  |L1.1026|
;;;685        } else {
;;;686            Probe_JoyLeft = DEF_FALSE;
000402  7062              STRB     r2,[r4,#1]  ; Probe_JoyLeft
                  |L1.1028|
;;;687        }
;;;688    
;;;689        if ((joystick & JOYSTICK_RIGHT) == JOYSTICK_RIGHT) {
000404  f0100f08          TST      r0,#8
000408  d001              BEQ      |L1.1038|
;;;690            Probe_JoyRight = DEF_TRUE;
00040a  70a1              STRB     r1,[r4,#2]  ; Probe_JoyRight
00040c  e000              B        |L1.1040|
                  |L1.1038|
;;;691        } else {
;;;692            Probe_JoyRight = DEF_FALSE;
00040e  70a2              STRB     r2,[r4,#2]  ; Probe_JoyRight
                  |L1.1040|
;;;693        }
;;;694    
;;;695        if ((joystick & JOYSTICK_UP) == JOYSTICK_UP) {
000410  f0100f01          TST      r0,#1
000414  d001              BEQ      |L1.1050|
;;;696            Probe_JoyUp = DEF_TRUE;
000416  70e1              STRB     r1,[r4,#3]  ; Probe_JoyUp
000418  e000              B        |L1.1052|
                  |L1.1050|
;;;697        } else {
;;;698            Probe_JoyUp = DEF_FALSE;
00041a  70e2              STRB     r2,[r4,#3]  ; Probe_JoyUp
                  |L1.1052|
;;;699        }
;;;700    
;;;701        if ((joystick & JOYSTICK_DOWN) == JOYSTICK_DOWN) {
00041c  f0100f02          TST      r0,#2
000420  d001              BEQ      |L1.1062|
;;;702            Probe_JoyDown = DEF_TRUE;
000422  7121              STRB     r1,[r4,#4]  ; Probe_JoyDown
000424  e0c3              B        |L1.1454|
                  |L1.1062|
000426  e0c1              B        |L1.1452|
                  |L1.1064|
000428  00000000          DCD      ||.bss||
                  |L1.1068|
00042c  537472696e67205478202378787878780a00        DCB      "String Tx #xxxxx\n",0
00043e  00                DCB      0
00043f  00                DCB      0
                  |L1.1088|
000440  00000000          DCD      ||.data||
                  |L1.1092|
000444  20204d69637269756d2075432f4f532d4949202000        DCB      "  Micrium uC/OS-II  ",0
000459  00                DCB      0
00045a  00                DCB      0
00045b  00                DCB      0
                  |L1.1116|
00045c  00000c40          DCD      ||.bss||+0xc40
                  |L1.1120|
000460  53542053544d33322028436f727465782d4d332900        DCB      "ST STM32 (Cortex-M3)",0
000475  00                DCB      0
000476  00                DCB      0
000477  00                DCB      0
                  |L1.1144|
000478  00000c55          DCD      ||.bss||+0xc55
                  |L1.1148|
00047c  202020202020202020202020202020202020202000        DCB      "                    ",0
000491  00                DCB      0
000492  00                DCB      0
000493  00                DCB      0
                  |L1.1172|
000494  00000c6a          DCD      ||.bss||+0xc6a
                  |L1.1176|
000498  202075432f4f532d49493a202056782e7979202000        DCB      "  uC/OS-II:  Vx.yy  ",0
0004ad  00                DCB      0
0004ae  00                DCB      0
0004af  00                DCB      0
                  |L1.1200|
0004b0  00000c7f          DCD      ||.bss||+0xc7f
                  |L1.1204|
0004b4  20205469636b526174653a20202078787878202000        DCB      "  TickRate:   xxxx  ",0
0004c9  00                DCB      0
0004ca  00                DCB      0
0004cb  00                DCB      0
                  |L1.1228|
0004cc  00000ca2          DCD      ||.bss||+0xca2
                  |L1.1232|
0004d0  20204350552055736167653a787820252020202000        DCB      "  CPU Usage:xx %    ",0
0004e5  00                DCB      0
0004e6  00                DCB      0
0004e7  00                DCB      0
                  |L1.1256|
0004e8  00000ca9          DCD      ||.bss||+0xca9
                  |L1.1260|
0004ec  00000000          DCD      OSCPUUsage
                  |L1.1264|
0004f0  20204350552053706565643a7878204d487a202000        DCB      "  CPU Speed:xx MHz  ",0
000505  00                DCB      0
000506  00                DCB      0

⌨️ 快捷键说明

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