📄 os_cpu_c.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART 13/Mar/2009 16:00:58 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = thumb #
# Endian = little #
# Stack alignment = 4 #
# Source file = E:\UC_OS\Micrium\Software\uCOS-II\Ports\ARM-Cortex-M #
# 3\Generic\IAR\os_cpu_c.c #
# Command line = E:\UC_OS\Micrium\Software\uCOS-II\Ports\ARM-Cortex-M #
# 3\Generic\IAR\os_cpu_c.c -lCN #
# E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
# L\IAR\OS-Probe\Flash\List\ -o #
# E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
# L\IAR\OS-Probe\Flash\Obj\ -z6 --no_unroll #
# --no_inline --no_tbaa --no_scheduling --debug #
# --cpu_mode thumb --endian little --cpu cortex-M3 #
# --stack_align 4 -e --fpu None --dlib_config #
# "C:\Program Files\IAR Systems\Embedded Workbench #
# 4.0 Kickstart\arm\LIB\dl7mptnnl8n.h" -I #
# E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
# L\IAR\OS-Probe\ -I E:\UC_OS\Micrium\Software\EvalBoa #
# rds\ST\STM3210B-EVAL\IAR\OS-Probe\..\..\..\..\..\uco #
# s-ii\ports\arm-cortex-m3\generic\iar\ -I #
# E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
# L\IAR\OS-Probe\..\..\..\..\..\ucos-ii\source\ -I #
# E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
# L\IAR\OS-Probe\..\..\..\..\..\uc-lib\ -I #
# E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
# L\IAR\OS-Probe\..\..\..\..\..\uc-cpu\ -I #
# E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
# L\IAR\OS-Probe\..\..\..\..\..\uc-cpu\ARM-Cortex-M3\I #
# AR\ -I E:\UC_OS\Micrium\Software\EvalBoards\ST\STM32 #
# 10B-EVAL\IAR\OS-Probe\..\..\..\..\..\cpu\st\stm32\in #
# c\ -I E:\UC_OS\Micrium\Software\EvalBoards\ST\STM321 #
# 0B-EVAL\IAR\OS-Probe\..\BSP\ -I #
# E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
# L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Commun #
# ication\Generic\RS-232\Source\ -I #
# E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
# L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Commun #
# ication\Generic\RS-232\Ports\ST\STM32\ -I #
# E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
# L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Commun #
# ication\Generic\Source\ -I #
# E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
# L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Plugin #
# s\uCOS-II\ -I "C:\Program Files\IAR #
# Systems\Embedded Workbench 4.0 Kickstart\arm\INC\" #
# List file = E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
# L\IAR\OS-Probe\Flash\List\os_cpu_c.lst #
# Object file = E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
# L\IAR\OS-Probe\Flash\Obj\os_cpu_c.r79 #
# #
# #
##############################################################################
E:\UC_OS\Micrium\Software\uCOS-II\Ports\ARM-Cortex-M3\Generic\IAR\os_cpu_c.c
1 /*
2 *********************************************************************************************************
3 * uC/OS-II
4 * The Real-Time Kernel
5 *
6 *
7 * (c) Copyright 2006, Micrium, Weston, FL
8 * All Rights Reserved
9 *
10 * Generic ARM Port
11 *
12 * File : OS_CPU_C.C
13 * Version : V2.84
14 * By : Jean J. Labrosse
15 *
16 * For : ARMv7M Cortex-M3
17 * Mode : Thumb2
18 * Toolchain : IAR EWARM
19 *********************************************************************************************************
20 */
21
22 #define OS_CPU_GLOBALS
23 #include <ucos_ii.h>
24
25 /*
26 *********************************************************************************************************
27 * LOCAL VARIABLES
28 *********************************************************************************************************
29 */
30
31 #if OS_TMR_EN > 0
\ In segment DATA_Z, align 2, align-sorted
32 static INT16U OSTmrCtr;
\ OSTmrCtr:
\ 00000000 DS8 2
33 #endif
34
35 /*
36 *********************************************************************************************************
37 * OS INITIALIZATION HOOK
38 * (BEGINNING)
39 *
40 * Description: This function is called by OSInit() at the beginning of OSInit().
41 *
42 * Arguments : none
43 *
44 * Note(s) : 1) Interrupts should be disabled during this call.
45 *********************************************************************************************************
46 */
47 #if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203
\ In segment CODE, align 4, keep-with-next
48 void OSInitHookBegin (void)
49 {
50 #if OS_TMR_EN > 0
51 OSTmrCtr = 0;
\ OSInitHookBegin:
\ 00000000 .... LDR.N R0,??DataTable1 ;; OSTmrCtr
\ 00000002 0021 MOVS R1,#+0
\ 00000004 0180 STRH R1,[R0, #+0]
52 #endif
53 }
\ 00000006 7047 BX LR ;; return
54 #endif
55
56 /*
57 *********************************************************************************************************
58 * OS INITIALIZATION HOOK
59 * (END)
60 *
61 * Description: This function is called by OSInit() at the end of OSInit().
62 *
63 * Arguments : none
64 *
65 * Note(s) : 1) Interrupts should be disabled during this call.
66 *********************************************************************************************************
67 */
68 #if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203
\ In segment CODE, align 4, keep-with-next
69 void OSInitHookEnd (void)
70 {
71 }
\ OSInitHookEnd:
\ 00000000 7047 BX LR ;; return
72 #endif
73
74 /*
75 *********************************************************************************************************
76 * TASK CREATION HOOK
77 *
78 * Description: This function is called when a task is created.
79 *
80 * Arguments : ptcb is a pointer to the task control block of the task being created.
81 *
82 * Note(s) : 1) Interrupts are disabled during this call.
83 *********************************************************************************************************
84 */
85 #if OS_CPU_HOOKS_EN > 0
\ In segment CODE, align 4, keep-with-next
86 void OSTaskCreateHook (OS_TCB *ptcb)
87 {
\ OSTaskCreateHook:
\ 00000000 00B5 PUSH {LR}
88 #if OS_APP_HOOKS_EN > 0
89 App_TaskCreateHook(ptcb);
\ 00000002 ........ _BLF App_TaskCreateHook,??App_TaskCreateHook??rT
90 #else
91 (void)ptcb; /* Prevent compiler warning */
92 #endif
93 }
\ 00000006 00BD POP {PC} ;; return
94 #endif
95
96
97 /*
98 *********************************************************************************************************
99 * TASK DELETION HOOK
100 *
101 * Description: This function is called when a task is deleted.
102 *
103 * Arguments : ptcb is a pointer to the task control block of the task being deleted.
104 *
105 * Note(s) : 1) Interrupts are disabled during this call.
106 *********************************************************************************************************
107 */
108 #if OS_CPU_HOOKS_EN > 0
\ In segment CODE, align 4, keep-with-next
109 void OSTaskDelHook (OS_TCB *ptcb)
110 {
\ OSTaskDelHook:
\ 00000000 00B5 PUSH {LR}
111 #if OS_APP_HOOKS_EN > 0
112 App_TaskDelHook(ptcb);
\ 00000002 ........ _BLF App_TaskDelHook,??App_TaskDelHook??rT
113 #else
114 (void)ptcb; /* Prevent compiler warning */
115 #endif
116 }
\ 00000006 00BD POP {PC} ;; return
117 #endif
118
119 /*
120 *********************************************************************************************************
121 * IDLE TASK HOOK
122 *
123 * Description: This function is called by the idle task. This hook has been added to allow you to do
124 * such things as STOP the CPU to conserve power.
125 *
126 * Arguments : none
127 *
128 * Note(s) : 1) Interrupts are enabled during this call.
129 *********************************************************************************************************
130 */
131 #if OS_CPU_HOOKS_EN > 0 && OS_VERSION >= 251
\ In segment CODE, align 4, keep-with-next
132 void OSTaskIdleHook (void)
133 {
\ OSTaskIdleHook:
\ 00000000 00B5 PUSH {LR}
134 #if OS_APP_HOOKS_EN > 0
135 App_TaskIdleHook();
\ 00000002 ........ _BLF App_TaskIdleHook,??App_TaskIdleHook??rT
136 #endif
137 }
\ 00000006 00BD POP {PC} ;; return
138 #endif
139
140 /*
141 *********************************************************************************************************
142 * STATISTIC TASK HOOK
143 *
144 * Description: This function is called every second by uC/OS-II's statistics task. This allows your
145 * application to add functionality to the statistics task.
146 *
147 * Arguments : none
148 *********************************************************************************************************
149 */
150
151 #if OS_CPU_HOOKS_EN > 0
\ In segment CODE, align 4, keep-with-next
152 void OSTaskStatHook (void)
153 {
\ OSTaskStatHook:
\ 00000000 00B5 PUSH {LR}
154 #if OS_APP_HOOKS_EN > 0
155 App_TaskStatHook();
\ 00000002 ........ _BLF App_TaskStatHook,??App_TaskStatHook??rT
156 #endif
157 }
\ 00000006 00BD POP {PC} ;; return
158 #endif
159
160 /*
161 *********************************************************************************************************
162 * INITIALIZE A TASK'S STACK
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -