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

📄 os_cpu_c.s79

📁 ARM仿真案例
💻 S79
📖 第 1 页 / 共 2 页
字号:
//////////////////////////////////////////////////////////////////////////////
//                                                                           /
// IAR ARM ANSI C/C++ Compiler V4.40A/W32 EVALUATION   21/Jul/2006  16:27:49 /
// Copyright 1999-2005 IAR Systems. All rights reserved.                     /
// Time limited license: 22 days left                                        /
//                                                                           /
//    Cpu mode        =  interwork                                           /
//    Endian          =  little                                              /
//    Stack alignment =  4                                                   /
//    Source file     =  E:\Project\ucos-ii\spi\ARM\os_cpu_c.c               /
//    Command line    =  E:\Project\ucos-ii\spi\ARM\os_cpu_c.c -lCN          /
//                       E:\Project\ucos-ii\spi\Debug\List\ -lA              /
//                       E:\Project\ucos-ii\spi\Debug\List\ -o               /
//                       E:\Project\ucos-ii\spi\Debug\Obj\ -s9 --no_cse      /
//                       --no_unroll --no_inline --no_code_motion --no_tbaa  /
//                       --no_clustering --no_scheduling --debug --cpu_mode  /
//                       thumb --endian little --cpu ARM7TDMI-S              /
//                       --stack_align 4 --interwork -e --fpu None           /
//                       --dlib_config "e:\Program Files\IAR                 /
//                       Systems\Embedded Workbench 4.0                      /
//                       Evaluation\ARM\LIB\dl4tptinl8n.h" -I                /
//                       E:\Project\ucos-ii\spi\ -I                          /
//                       E:\Project\ucos-ii\spi\App\ -I                      /
//                       E:\Project\ucos-ii\spi\ARM\ -I                      /
//                       E:\Project\ucos-ii\spi\BSP\ -I                      /
//                       E:\Project\ucos-ii\spi\uCOS-II\ -I "e:\Program      /
//                       Files\IAR Systems\Embedded Workbench 4.0            /
//                       Evaluation\ARM\INC\"                                /
//    List file       =  E:\Project\ucos-ii\spi\Debug\List\os_cpu_c.s79      /
//                                                                           /
//                                                                           /
//////////////////////////////////////////////////////////////////////////////

        NAME os_cpu_c

        RTMODEL "StackAlign4", "USED"
        RTMODEL "__cpu_mode", "__pcs__interwork"
        RTMODEL "__data_model", "absolute"
        RTMODEL "__endian", "little"
        RTMODEL "__rt_version", "6"

        RSEG CSTACK:DATA:NOROOT(2)

        MULTWEAK ??OSInitHookBegin??rA
        MULTWEAK ??OSInitHookEnd??rA
        MULTWEAK ??OSTCBInitHook??rA
        MULTWEAK ??OSTaskCreateHook??rA
        MULTWEAK ??OSTaskDelHook??rA
        MULTWEAK ??OSTaskIdleHook??rA
        MULTWEAK ??OSTaskStatHook??rA
        MULTWEAK ??OSTaskStkInit??rA
        MULTWEAK ??OSTaskSwHook??rA
        MULTWEAK ??OSTimeTickHook??rA
        PUBLIC OSInitHookBegin
        FUNCTION OSInitHookBegin,0203H
        PUBLIC OSInitHookEnd
        FUNCTION OSInitHookEnd,0203H
        PUBLIC OSTCBInitHook
        FUNCTION OSTCBInitHook,0203H
        PUBLIC OSTaskCreateHook
        FUNCTION OSTaskCreateHook,0203H
        PUBLIC OSTaskDelHook
        FUNCTION OSTaskDelHook,0203H
        PUBLIC OSTaskIdleHook
        FUNCTION OSTaskIdleHook,0203H
        PUBLIC OSTaskStatHook
        FUNCTION OSTaskStatHook,0203H
        PUBLIC OSTaskStkInit
        FUNCTION OSTaskStkInit,0203H
        PUBLIC OSTaskSwHook
        FUNCTION OSTaskSwHook,0203H
        PUBLIC OSTimeTickHook
        FUNCTION OSTimeTickHook,0203H
        
        CFI Names cfiNames0
        CFI StackFrame CFA R13 HUGEDATA
        CFI Resource R0:32, R1:32, R2:32, R3:32, R4:32, R5:32, R6:32, R7:32
        CFI Resource R8:32, R9:32, R10:32, R11:32, R12:32, CPSR:32, R13:32
        CFI Resource R14:32, SPSR:32
        CFI VirtualResource ?RET:32
        CFI EndNames cfiNames0
        
        CFI Common cfiCommon0 Using cfiNames0
        CFI CodeAlign 4
        CFI DataAlign 4
        CFI ReturnAddress ?RET CODE
        CFI CFA R13+0
        CFI R0 Undefined
        CFI R1 Undefined
        CFI R2 Undefined
        CFI R3 Undefined
        CFI R4 SameValue
        CFI R5 SameValue
        CFI R6 SameValue
        CFI R7 SameValue
        CFI R8 SameValue
        CFI R9 SameValue
        CFI R10 SameValue
        CFI R11 SameValue
        CFI R12 Undefined
        CFI CPSR SameValue
        CFI R14 Undefined
        CFI SPSR SameValue
        CFI ?RET R14
        CFI EndCommon cfiCommon0
        
        
        CFI Common cfiCommon1 Using cfiNames0
        CFI CodeAlign 2
        CFI DataAlign 4
        CFI ReturnAddress ?RET CODE
        CFI CFA R13+0
        CFI R0 Undefined
        CFI R1 Undefined
        CFI R2 Undefined
        CFI R3 Undefined
        CFI R4 SameValue
        CFI R5 SameValue
        CFI R6 SameValue
        CFI R7 SameValue
        CFI R8 SameValue
        CFI R9 SameValue
        CFI R10 SameValue
        CFI R11 SameValue
        CFI R12 Undefined
        CFI CPSR SameValue
        CFI R14 Undefined
        CFI SPSR SameValue
        CFI ?RET R14
        CFI EndCommon cfiCommon1
        
OSInitHookBegin     SYMBOL "OSInitHookBegin"
??OSInitHookBegin??rA SYMBOL "??rA", OSInitHookBegin
OSInitHookEnd       SYMBOL "OSInitHookEnd"
??OSInitHookEnd??rA SYMBOL "??rA", OSInitHookEnd
OSTCBInitHook       SYMBOL "OSTCBInitHook"
??OSTCBInitHook??rA SYMBOL "??rA", OSTCBInitHook
OSTaskCreateHook    SYMBOL "OSTaskCreateHook"
??OSTaskCreateHook??rA SYMBOL "??rA", OSTaskCreateHook
OSTaskDelHook       SYMBOL "OSTaskDelHook"
??OSTaskDelHook??rA SYMBOL "??rA", OSTaskDelHook
OSTaskIdleHook      SYMBOL "OSTaskIdleHook"
??OSTaskIdleHook??rA SYMBOL "??rA", OSTaskIdleHook
OSTaskStatHook      SYMBOL "OSTaskStatHook"
??OSTaskStatHook??rA SYMBOL "??rA", OSTaskStatHook
OSTaskStkInit       SYMBOL "OSTaskStkInit"
??OSTaskStkInit??rA SYMBOL "??rA", OSTaskStkInit
OSTaskSwHook        SYMBOL "OSTaskSwHook"
??OSTaskSwHook??rA  SYMBOL "??rA", OSTaskSwHook
OSTimeTickHook      SYMBOL "OSTimeTickHook"
??OSTimeTickHook??rA SYMBOL "??rA", OSTimeTickHook


        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock0 Using cfiCommon0
        CFI NoFunction
        ARM
??OSInitHookBegin??rA:
        ADD      R12,PC,#+1
        BX       R12
        CFI EndBlock cfiBlock0
        REQUIRE OSInitHookBegin
// E:\Project\ucos-ii\spi\ARM\os_cpu_c.c
//    1 /*
//    2 *********************************************************************************************************
//    3 *                                               uC/OS-II
//    4 *                                         The Real-Time Kernel
//    5 *
//    6 *
//    7 *                             (c) Copyright 1992-2004, Micrium, Weston, FL
//    8 *                                          All Rights Reserved
//    9 *
//   10 *                                           Generic ARM Port
//   11 *
//   12 * File      : OS_CPU_C.C
//   13 * Version   : V1.60
//   14 * By        : Jean J. Labrosse
//   15 *
//   16 * For       : ARM7 or ARM9
//   17 * Mode      : ARM or Thumb
//   18 * Toolchain : IAR's EWARM V4.11a and higher
//   19 *********************************************************************************************************
//   20 */
//   21 
//   22 #define  OS_CPU_GLOBALS
//   23 #include <ucos_ii.h>
//   24 
//   25 #if      OS_VIEW_MODULE > 0
//   26 #include <OS_VIEWc.H>
//   27 #include <OS_VIEW.H>
//   28 #endif
//   29 
//   30 #define  ARM_MODE_ARM     0x00000000
//   31 #define  ARM_MODE_THUMB   0x00000020
//   32 
//   33                                                   /* __CPU_MODE__ is an IAR built-in constant indicating whether ... */
//   34                                                   /* ... code of this file was compiled using ARM or Thumb mode      */
//   35 #if __CPU_MODE__ == 1
//   36 #define  ARM_SVC_MODE    (0x00000013L + ARM_MODE_THUMB)
//   37 #else
//   38 #define  ARM_SVC_MODE    (0x00000013L + ARM_MODE_ARM)
//   39 #endif
//   40 
//   41 /*
//   42 *********************************************************************************************************
//   43 *                                       OS INITIALIZATION HOOK
//   44 *                                            (BEGINNING)
//   45 *
//   46 * Description: This function is called by OSInit() at the beginning of OSInit().
//   47 *
//   48 * Arguments  : none
//   49 *
//   50 * Note(s)    : 1) Interrupts should be disabled during this call.
//   51 *********************************************************************************************************
//   52 */
//   53 #if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock1 Using cfiCommon1
        CFI Function OSInitHookBegin
        THUMB
//   54 void  OSInitHookBegin (void)
//   55 {
//   56 }
OSInitHookBegin:
        BX       LR               ;; return
        CFI EndBlock cfiBlock1

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock2 Using cfiCommon0
        CFI NoFunction
        ARM
??OSInitHookEnd??rA:
        ADD      R12,PC,#+1
        BX       R12
        CFI EndBlock cfiBlock2
        REQUIRE OSInitHookEnd
//   57 #endif
//   58 
//   59 /*
//   60 *********************************************************************************************************
//   61 *                                       OS INITIALIZATION HOOK
//   62 *                                               (END)
//   63 *
//   64 * Description: This function is called by OSInit() at the end of OSInit().
//   65 *
//   66 * Arguments  : none
//   67 *
//   68 * Note(s)    : 1) Interrupts should be disabled during this call.
//   69 *********************************************************************************************************
//   70 */
//   71 #if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock3 Using cfiCommon1
        CFI Function OSInitHookEnd
        THUMB
//   72 void  OSInitHookEnd (void)
//   73 {
//   74 #if OS_CPU_INT_DIS_MEAS_EN > 0
//   75     OS_CPU_IntDisMeasInit();
//   76 #endif
//   77 }
OSInitHookEnd:
        BX       LR               ;; return
        CFI EndBlock cfiBlock3

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock4 Using cfiCommon0
        CFI NoFunction
        ARM
??OSTaskCreateHook??rA:
        ADD      R12,PC,#+1
        BX       R12
        CFI EndBlock cfiBlock4
        REQUIRE OSTaskCreateHook
//   78 #endif
//   79 
//   80 /*
//   81 *********************************************************************************************************
//   82 *                                          TASK CREATION HOOK
//   83 *
//   84 * Description: This function is called when a task is created.
//   85 *
//   86 * Arguments  : ptcb   is a pointer to the task control block of the task being created.
//   87 *
//   88 * Note(s)    : 1) Interrupts are disabled during this call.
//   89 *********************************************************************************************************
//   90 */
//   91 #if OS_CPU_HOOKS_EN > 0 

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock5 Using cfiCommon1
        CFI Function OSTaskCreateHook
        THUMB
//   92 void  OSTaskCreateHook (OS_TCB *ptcb)
//   93 {
//   94 #if OS_VIEW_MODULE > 0
//   95     OSView_TaskCreateHook(ptcb);
//   96 #else
//   97     (void)ptcb;                        /* Prevent compiler warning                                     */
//   98 #endif
//   99 }
OSTaskCreateHook:
        BX       LR               ;; return
        CFI EndBlock cfiBlock5

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock6 Using cfiCommon0
        CFI NoFunction
        ARM
??OSTaskDelHook??rA:
        ADD      R12,PC,#+1
        BX       R12
        CFI EndBlock cfiBlock6
        REQUIRE OSTaskDelHook
//  100 #endif
//  101 
//  102 
//  103 /*
//  104 *********************************************************************************************************
//  105 *                                           TASK DELETION HOOK
//  106 *
//  107 * Description: This function is called when a task is deleted.
//  108 *
//  109 * Arguments  : ptcb   is a pointer to the task control block of the task being deleted.
//  110 *
//  111 * Note(s)    : 1) Interrupts are disabled during this call.
//  112 *********************************************************************************************************
//  113 */
//  114 #if OS_CPU_HOOKS_EN > 0 

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock7 Using cfiCommon1
        CFI Function OSTaskDelHook
        THUMB
//  115 void  OSTaskDelHook (OS_TCB *ptcb)
//  116 {
//  117     (void)ptcb;                        /* Prevent compiler warning                                     */
//  118 }
OSTaskDelHook:
        BX       LR               ;; return
        CFI EndBlock cfiBlock7

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock8 Using cfiCommon0
        CFI NoFunction
        ARM
??OSTaskIdleHook??rA:
        ADD      R12,PC,#+1
        BX       R12
        CFI EndBlock cfiBlock8
        REQUIRE OSTaskIdleHook
//  119 #endif
//  120 
//  121 /*
//  122 *********************************************************************************************************
//  123 *                                             IDLE TASK HOOK
//  124 *
//  125 * Description: This function is called by the idle task.  This hook has been added to allow you to do  
//  126 *              such things as STOP the CPU to conserve power.
//  127 *
//  128 * Arguments  : none

⌨️ 快捷键说明

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