📄 os_cpu_c.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART 26/Dec/2008 18:22:02 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = thumb #
# Endian = little #
# Stack alignment = 4 #
# Source file = F:\PROJECT\STM32_UCOSII\uCOS-II\Ports\ARM-Cortex-M3\ #
# Generic\IAR\os_cpu_c.c #
# Command line = F:\PROJECT\STM32_UCOSII\uCOS-II\Ports\ARM-Cortex-M3\ #
# Generic\IAR\os_cpu_c.c -lCN #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\Flash\List\ -o #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# 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 "E:\Program Files\IAR #
# Systems\Embedded Workbench 4.0 #
# Kickstart\arm\LIB\dl7mptnnl8n.h" -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ #
# ST\STM3210E-EVAL\IAR\OS-Probe\..\BSP\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\CPU\ST\STM32\inc\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uC-CPU\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uC-CPU\ARM-Cortex-M3\IAR #
# \ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E- #
# EVAL\IAR\OS-Probe\..\..\..\..\..\uC-LCD\Source\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uC-LIB\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uCOS-II\Ports\ARM-Cortex #
# -M3\Generic\IAR\ -I F:\PROJECT\STM32_UCOSII\EvalBoar #
# ds\ST\STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\..\uCOS #
# -II\Source\ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ST #
# \STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\..\uC-Probe\ #
# Target\Communication\Generic\RS-232\Source\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Communic #
# ation\Generic\RS-232\Ports\ST\STM32\ -I #
# F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Communic #
# ation\Generic\Source\ -I F:\PROJECT\STM32_UCOSII\Eva #
# lBoards\ST\STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\.. #
# \uC-Probe\Target\Plugins\uCOS-II\ -I "E:\Program #
# Files\IAR Systems\Embedded Workbench 4.0 #
# Kickstart\arm\INC\" #
# List file = F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\Flash\List\os_cpu_c.lst #
# Object file = F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\Flash\Obj\os_cpu_c.r79 #
# #
# #
##############################################################################
F:\PROJECT\STM32_UCOSII\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 * ARM Cortex-M3 Port
11 *
12 * File : OS_CPU_C.C
13 * Version : V2.86
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
32 static INT16U OSTmrCtr;
33 #endif
34
35 /*
36 *********************************************************************************************************
37 * SYS TICK DEFINES
38 *********************************************************************************************************
39 */
40
41 #define OS_CPU_CM3_NVIC_ST_CTRL (*((volatile INT32U *)0xE000E010)) /* SysTick Ctrl & Status Reg. */
42 #define OS_CPU_CM3_NVIC_ST_RELOAD (*((volatile INT32U *)0xE000E014)) /* SysTick Reload Value Reg. */
43 #define OS_CPU_CM3_NVIC_ST_CURRENT (*((volatile INT32U *)0xE000E018)) /* SysTick Current Value Reg. */
44 #define OS_CPU_CM3_NVIC_ST_CAL (*((volatile INT32U *)0xE000E01C)) /* SysTick Cal Value Reg. */
45
46 #define OS_CPU_CM3_NVIC_ST_CTRL_COUNT 0x00010000 /* Count flag. */
47 #define OS_CPU_CM3_NVIC_ST_CTRL_CLK_SRC 0x00000004 /* Clock Source. */
48 #define OS_CPU_CM3_NVIC_ST_CTRL_INTEN 0x00000002 /* Interrupt enable. */
49 #define OS_CPU_CM3_NVIC_ST_CTRL_ENABLE 0x00000001 /* Counter mode. */
50
51 /*
52 *********************************************************************************************************
53 * OS INITIALIZATION HOOK
54 * (BEGINNING)
55 *
56 * Description: This function is called by OSInit() at the beginning of OSInit().
57 *
58 * Arguments : none
59 *
60 * Note(s) : 1) Interrupts should be disabled during this call.
61 *********************************************************************************************************
62 */
63 #if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203
\ In segment CODE, align 4, keep-with-next
64 void OSInitHookBegin (void)
65 {
66 #if OS_TMR_EN > 0
67 OSTmrCtr = 0;
68 #endif
69 }
\ OSInitHookBegin:
\ 00000000 7047 BX LR ;; return
70 #endif
71
72 /*
73 *********************************************************************************************************
74 * OS INITIALIZATION HOOK
75 * (END)
76 *
77 * Description: This function is called by OSInit() at the end of OSInit().
78 *
79 * Arguments : none
80 *
81 * Note(s) : 1) Interrupts should be disabled during this call.
82 *********************************************************************************************************
83 */
84 #if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203
\ In segment CODE, align 4, keep-with-next
85 void OSInitHookEnd (void)
86 {
87 }
\ OSInitHookEnd:
\ 00000000 7047 BX LR ;; return
88 #endif
89
90 /*
91 *********************************************************************************************************
92 * TASK CREATION HOOK
93 *
94 * Description: This function is called when a task is created.
95 *
96 * Arguments : ptcb is a pointer to the task control block of the task being created.
97 *
98 * Note(s) : 1) Interrupts are disabled during this call.
99 *********************************************************************************************************
100 */
101 #if OS_CPU_HOOKS_EN > 0
\ In segment CODE, align 4, keep-with-next
102 void OSTaskCreateHook (OS_TCB *ptcb)
103 {
\ OSTaskCreateHook:
\ 00000000 00B5 PUSH {LR}
104 #if OS_APP_HOOKS_EN > 0
105 App_TaskCreateHook(ptcb);
\ 00000002 ........ _BLF App_TaskCreateHook,??App_TaskCreateHook??rT
106 #else
107 (void)ptcb; /* Prevent compiler warning */
108 #endif
109 }
\ 00000006 00BD POP {PC} ;; return
110 #endif
111
112
113 /*
114 *********************************************************************************************************
115 * TASK DELETION HOOK
116 *
117 * Description: This function is called when a task is deleted.
118 *
119 * Arguments : ptcb is a pointer to the task control block of the task being deleted.
120 *
121 * Note(s) : 1) Interrupts are disabled during this call.
122 *********************************************************************************************************
123 */
124 #if OS_CPU_HOOKS_EN > 0
\ In segment CODE, align 4, keep-with-next
125 void OSTaskDelHook (OS_TCB *ptcb)
126 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -