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

📄 os_cpu_a.lst

📁 ucos在avr上的移植代码
💻 LST
📖 第 1 页 / 共 4 页
字号:
###############################################################################
#                                                                             #
#     IAR Systems A90 Assembler V1.40C/386 22/Jun/1999  13:23:29              #
#                                                                             #
#           Internal versions FE1.25U CO1.11K BE1.40C                         #
#                                                                             #
#           Target option =  Relative jumps reach entire addr space           #
#           Source file   =  os_cpu_a.s90                                     #
#           List file     =  ..\lst\os_cpu_a.lst                              #
#           Object file   =  ..\obj\os_cpu_a.r90                              #
#           Command line  =  -v1 -r -o ..\obj\os_cpu_a.r90 -l                 #
#                            ..\lst\os_cpu_a os_cpu_a.s90                     #
#                                                                             #
#                                              (c) Copyright IAR Systems 1998 #
###############################################################################

      1    00000000              ;*********************************************
                                 **********************************************
                                 *************
      2    00000000              ;                                             
                                   uC/OS-II
      3    00000000              ;                                         The
                                  Real-Time Kernel
      4    00000000              ;
      5    00000000              ;                                          AVR
                                  Specific code
      6    00000000              ;                                           
                                  (IAR V1.40)
      7    00000000              ;
      8    00000000              ;
      9    00000000              ; File         : OS_CPU_A.S90
     10    00000000              ; By           : Ole Saether
     11    00000000              ; Port Version : V1.01
     12    00000000              ;*********************************************
                                 **********************************************
                                 *************
     13    00000000              
     14    00000000              ;*********************************************
                                 **********************************************
                                 *************
     15    00000000              ;                                          
                                  I/O PORT ADDRESSES
     16    00000000              ;*********************************************
                                 **********************************************
                                 *************
     17    00000000              
     18    0000003F              SREG    = 0x3F
     19    0000003E              SPH     = 0x3E
     20    0000003D              SPL     = 0x3D
     21    00000032              TCNT0   = 0x32
     22    00000000              
     23    00000000              ;*********************************************
                                 **********************************************
                                 *************
     24    00000000              ;                                         
                                  PUBLIC DECLARATIONS
     25    00000000              ;*********************************************
                                 **********************************************
                                 *************
     26    00000000              
     27    00000000                              MODULE  OS_CPU_A
     28    00000000                              PUBLIC  OSStartHighRdy
     29    00000000                              PUBLIC  OSCtxSw
     30    00000000                              PUBLIC  OSIntCtxSw
     31    00000000                              PUBLIC  OSTickISR
     32    00000000              
     33    00000000              ;*********************************************
                                 **********************************************
                                 *************
     34    00000000              ;                                        
                                  EXTERNAL DECLARATIONS
     35    00000000              ;*********************************************
                                 **********************************************
                                 *************
     36    00000000              
     37    00000000                              EXTERN  OSIntExit
     38    00000000                              EXTERN  OSIntNesting
     39    00000000                              EXTERN  OSPrioCur
     40    00000000                              EXTERN  OSPrioHighRdy
     41    00000000                              EXTERN  OSRunning
     42    00000000                              EXTERN  OSTaskSwHook
     43    00000000                              EXTERN  OSTCBCur
     44    00000000                              EXTERN  OSTCBHighRdy
     45    00000000                              EXTERN  OSTimeTick
     46    00000000              
     47    00000000              ;*********************************************
                                 **********************************************
                                 *************
     48    00000000              ;                                        
                                  MACROS
     49    00000000              ;*********************************************
                                 **********************************************
                                 *************
     50    00000000              
     85    00000000              
    120    00000000              
    127    00000000              
    134    00000000              
    135    00000000                              RSEG    CODE
    136    00000000              
    137    00000000              ;*********************************************
                                 **********************************************
                                 *************
    138    00000000              ;                               START HIGHEST
                                  PRIORITY TASK READY-TO-RUN
    139    00000000              ;
    140    00000000              ; Description : This function is called by
                                  OSStart() to start the highest priority task
                                  that was created
    141    00000000              ;               by your application before
                                  calling OSStart().
    142    00000000              ;
    143    00000000              ; Note(s)     : 1) The (data)stack frame is
                                  assumed to look as follows:
    144    00000000              ;
    145    00000000              ;                  OSTCBHighRdy->OSTCBStkPtr
                                  --> LSB of (return) stack pointer          
                                  (Low memory)
    146    00000000              ;                                             
                                    SPH of (return) stack pointer
    147    00000000              ;                                             
                                    Flags to load in status register
    148    00000000              ;                                             
                                    R31
    149    00000000              ;                                             
                                    R30
    150    00000000              ;                                             
                                    R7
    151    00000000              ;                                             
                                    .
    152    00000000              ;                                             
                                    .
    153    00000000              ;                                             
                                    .
    154    00000000              ;                                             
                                    R0                                     
                                  (High memory)
    155    00000000              ;
    156    00000000              ;                  where the stack pointer
                                  points to the task start address.
    157    00000000              ;
    158    00000000              ;
    159    00000000              ;               2) OSStartHighRdy() MUST:
    160    00000000              ;                      a) Call OSTaskSwHook()
                                  then,
    161    00000000              ;                      b) Set OSRunning to
                                  TRUE,
    162    00000000              ;                      c) Switch to the
                                  highest priority task.
    163    00000000              ;*********************************************
                                 **********************************************
                                 *************
    164    00000000              
    165    00000000 ....         OSStartHighRdy: RCALL   OSTaskSwHook          
       ; Invoke user defined context switch hook
    166    00000002 0091....                     LDS     R16,OSRunning         
                                                                   ; Indicate
                                                              that we are
                                                              multitasking
    167    00000006 0395                         INC     R16                   
       ;
    168    00000008 0093....                     STS     OSRunning,R16         
                                                                        
                                                                    ;
    169    0000000C              
    170    0000000C E091....                     LDS     R30,OSTCBHighRdy      
                                                                   ; Let Z
                                                              point to TCB of
                                                              highest priority
                                                              task
    171    00000010 F091....                     LDS     R31,OSTCBHighRdy+1    
                                                                   ; ready to
                                                              run
    172    00000014 C191                         LD      R28,Z+                
                                                                   ; Load Y
                                                              (R29:R28)
                                                              pointer
    173    00000016 D191                         LD      R29,Z+                
                                                                   ;
    174    00000018              
    175    00000018                              POPSP                         
                                       ; Pop stack pointer

⌨️ 快捷键说明

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