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

📄 probe_com_os.txt

📁 针对STM32F103的UCOS移植
💻 TXT
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 942] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\rvmdk\probe_com_os.o --depend=.\rvmdk\probe_com_os.d --device=DARMSTM --apcs=interwork -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 -IC:\Keil\ARM\INC\ST\STM32F10x ..\..\..\..\..\uC-Probe\Target\Communication\Generic\OS\uCOS-II\probe_com_os.c]
                          THUMB

                          AREA ||.text||, CODE, READONLY, ALIGN=2

                  ProbeCom_OS_Init PROC
;;;115    void  ProbeCom_OS_Init (void)
;;;116    {
000000  b508              PUSH     {r3,lr}
;;;117    #if (OS_EVENT_NAME_SIZE > 10) && (OS_SEM_EN > 0)
;;;118        CPU_INT08U  err;
;;;119    #endif
;;;120    
;;;121    
;;;122    #if (OS_SEM_EN > 0)
;;;123        ProbeCom_OS_Sem = OSSemCreate(1);
000002  2001              MOVS     r0,#1
000004  f7fffffe          BL       OSSemCreate
000008  4913              LDR      r1,|L1.88|
00000a  6008              STR      r0,[r1,#0]  ; ProbeCom_OS_Sem
;;;124    #if (OS_EVENT_NAME_SIZE > 13)
;;;125        OSEventNameSet(ProbeCom_OS_Sem, (CPU_INT08U *)"uC/Probe Com", &err);
00000c  466a              MOV      r2,sp
00000e  a113              ADR      r1,|L1.92|
000010  f7fffffe          BL       OSEventNameSet
;;;126    #else
;;;127    #if (OS_EVENT_NAME_SIZE > 10)
;;;128        OSEventNameSet(ProbeCom_OS_Sem, (CPU_INT08U *)"Probe Com", &err);
;;;129    #endif
;;;130    #endif
;;;131    #endif
;;;132    }
000014  bd08              POP      {r3,pc}
;;;133    #endif
                          ENDP

                  ProbeCom_OS_Dly PROC
;;;149    {
;;;150        OSTimeDly(dly);
000016  f7ffbffe          B.W      OSTimeDly
;;;151    }
;;;152    #endif
                          ENDP

                  ProbeCom_OS_Pend PROC
;;;171    CPU_BOOLEAN  ProbeCom_OS_Pend (CPU_BOOLEAN wait)
;;;172    {
00001a  b508              PUSH     {r3,lr}
;;;173    #if (OS_SEM_EN > 0)
;;;174        CPU_INT08U  tmp;
;;;175    
;;;176    
;;;177        if (wait == DEF_TRUE) {
00001c  4601              MOV      r1,r0
00001e  480e              LDR      r0,|L1.88|
000020  2901              CMP      r1,#1
000022  6800              LDR      r0,[r0,#0]
000024  d10a              BNE      |L1.60|
;;;178            OSSemPend(ProbeCom_OS_Sem, 0, &tmp);                        /* Wait for string buffer to be released                */
000026  466a              MOV      r2,sp
000028  2100              MOVS     r1,#0
00002a  f7fffffe          BL       OSSemPend
;;;179    
;;;180            if (tmp != OS_NO_ERR) {
00002e  f89d0000          LDRB     r0,[sp,#0]
000032  b108              CBZ      r0,|L1.56|
;;;181                return (DEF_FALSE);
000034  2000              MOVS     r0,#0
;;;182            } else {
;;;183                return (DEF_TRUE);
;;;184            }
;;;185        } else {
;;;186            tmp = OSSemAccept(ProbeCom_OS_Sem);                         /* Wait for string buffer to be released                */
;;;187    
;;;188            if (tmp == 0) {
;;;189                return (DEF_FALSE);
;;;190            } else {
;;;191                return (DEF_TRUE);
;;;192            }
;;;193        }
;;;194    #else
;;;195        return (DEF_TRUE);
;;;196    #endif
;;;197    }
000036  bd08              POP      {r3,pc}
                  |L1.56|
000038  2001              MOVS     r0,#1                 ;183
00003a  bd08              POP      {r3,pc}
                  |L1.60|
00003c  f7fffffe          BL       OSSemAccept
000040  b2c0              UXTB     r0,r0                 ;186
000042  9000              STR      r0,[sp,#0]            ;186
000044  b908              CBNZ     r0,|L1.74|
000046  2000              MOVS     r0,#0                 ;189
000048  bd08              POP      {r3,pc}
                  |L1.74|
00004a  2001              MOVS     r0,#1                 ;191
00004c  bd08              POP      {r3,pc}
;;;198    #endif
                          ENDP

                  ProbeCom_OS_Post PROC
;;;216    #if (OS_SEM_EN > 0)
;;;217        OSSemPost(ProbeCom_OS_Sem);                                     /* String buffer is being released                      */
00004e  4802              LDR      r0,|L1.88|
000050  6800              LDR      r0,[r0,#0]  ; ProbeCom_OS_Sem
000052  f7ffbffe          B.W      OSSemPost
;;;218    #endif
;;;219    }
;;;220    #endif
                          ENDP

000056  0000              DCW      0x0000
                  |L1.88|
000058  00000000          DCD      ||.data||
                  |L1.92|
00005c  75432f50726f626520436f6d00        DCB      "uC/Probe Com",0
000069  00                DCB      0
00006a  00                DCB      0
00006b  00                DCB      0

                          AREA ||.data||, DATA, ALIGN=2

                  ProbeCom_OS_Sem
000000  00000000          DCD      0x00000000

⌨️ 快捷键说明

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