📄 cpu_core.lst
字号:
###############################################################################
# #
# IAR ANSI C/C++ Compiler V6.10.2.52244/W32 for ARM 07/Aug/2011 12:10:24 #
# Copyright 1999-2010 IAR Systems AB. #
# #
# Cpu mode = thumb #
# Endian = little #
# Source file = F:\stm32\我的程序\Micrium\Software\uC-CPU\cpu_core.c #
# Command line = F:\stm32\我的程序\Micrium\Software\uC-CPU\cpu_core.c -D #
# USE_STDPERIPH_DRIVER -D STM32F10X_CL -lCN #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Flash\Lis #
# t\ -o F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Fla #
# sh\Obj\ --no_cse --no_unroll --no_inline #
# --no_code_motion --no_tbaa --no_clustering #
# --no_scheduling --debug --endian=little --cpu=Cortex-M3 #
# -e --fpu=None --dlib_config #
# D:\arm\INC\c\DLib_Config_Normal.h -I #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\APP\ -I #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\ #
# -I F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP #
# \ST\CMSIS\CM3\CoreSupport\ -I #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\ST #
# \CMSIS\CM3\DeviceSupport\ST\STM32F10x\ -I #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\ST #
# \STM32F10x_StdPeriph_Driver\inc\ -I #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\uC #
# OS-II\ -I F:\stm32\我的程序\Micrium\Software\EWARM\OS-II #
# \..\..\uCOS-II\Ports\ARM-Cortex-M3\Generic\IAR\ -I #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\..\uCO #
# S-II\Source\ -I F:\stm32\我的程序\Micrium\Software\EWARM #
# \OS-II\..\..\uC-LIB\ -I F:\stm32\我的程序\Micrium\Softwa #
# re\EWARM\OS-II\..\..\uC-LIB\Ports\ARM-Cortex-M3\IAR\ -I #
# F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\..\uC- #
# CPU\ -I F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\. #
# .\..\uC-CPU\ARM-Cortex-M3\IAR\ -On --use_c++_inline #
# List file = F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Flash\Lis #
# t\cpu_core.lst #
# Object file = F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Flash\Obj #
# \cpu_core.o #
# #
# #
###############################################################################
F:\stm32\我的程序\Micrium\Software\uC-CPU\cpu_core.c
1 /*
2 *********************************************************************************************************
3 * uC/CPU
4 * CPU CONFIGURATION & PORT LAYER
5 *
6 * (c) Copyright 2004-2010; Micrium, Inc.; Weston, FL
7 *
8 * All rights reserved. Protected by international copyright laws.
9 *
10 * uC/CPU is provided in source form to registered licensees ONLY. It is
11 * illegal to distribute this source code to any third party unless you receive
12 * written permission by an authorized Micrium representative. Knowledge of
13 * the source code may NOT be used to develop a similar product.
14 *
15 * Please help us continue to provide the Embedded community with the finest
16 * software available. Your honesty is greatly appreciated.
17 *
18 * You can contact us at www.micrium.com.
19 *********************************************************************************************************
20 */
21
22 /*
23 *********************************************************************************************************
24 *
25 * CORE CPU MODULE
26 *
27 * Filename : cpu_core.c
28 * Version : V1.27
29 * Programmer(s) : SR
30 * ITJ
31 *********************************************************************************************************
32 */
33
34
35 /*
36 *********************************************************************************************************
37 * INCLUDE FILES
38 *********************************************************************************************************
39 */
40
41 #define CPU_CORE_MODULE
42 #include <cpu_core.h>
\ In section .bss, align 4
\ __absolute char CPU_Name[16U]
\ CPU_Name:
\ 00000000 DS8 16
43
44
45 /*$PAGE*/
46 /*
47 *********************************************************************************************************
48 * LOCAL DEFINES
49 *********************************************************************************************************
50 */
51
52
53 /*
54 *********************************************************************************************************
55 * LOCAL CONSTANTS
56 *********************************************************************************************************
57 */
58
59
60 /*
61 *********************************************************************************************************
62 * LOCAL DATA TYPES
63 *********************************************************************************************************
64 */
65
66
67 /*
68 *********************************************************************************************************
69 * LOCAL TABLES
70 *********************************************************************************************************
71 */
72
73 /*
74 *********************************************************************************************************
75 * CPU COUNT LEAD ZEROs LOOKUP TABLE
76 *
77 * Note(s) : (1) Index into bit pattern table determines the number of leading zeros in an 8-bit value :
78 *
79 * b07 b06 b05 b04 b03 b02 b01 b00 # Leading Zeros
80 * --- --- --- --- --- --- --- --- ---------------
81 * 1 x x x x x x x 0
82 * 0 1 x x x x x x 1
83 * 0 0 1 x x x x x 2
84 * 0 0 0 1 x x x x 3
85 * 0 0 0 0 1 x x x 4
86 * 0 0 0 0 0 1 x x 5
87 * 0 0 0 0 0 0 1 x 6
88 * 0 0 0 0 0 0 0 1 7
89 * 0 0 0 0 0 0 0 0 8
90 *********************************************************************************************************
91 */
92
93 #ifndef CPU_CFG_LEAD_ZEROS_ASM_PRESENT
94 static const CPU_INT08U CPU_CntLeadZerosTbl[256] = { /* Data vals : */
95 /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */
96 8u, 7u, 6u, 6u, 5u, 5u, 5u, 5u, 4u, 4u, 4u, 4u, 4u, 4u, 4u, 4u, /* 0x00 to 0x0F */
97 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, 3u, /* 0x10 to 0x1F */
98 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, /* 0x20 to 0x2F */
99 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, /* 0x30 to 0x3F */
100 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, /* 0x40 to 0x4F */
101 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, /* 0x50 to 0x5F */
102 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, /* 0x60 to 0x6F */
103 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, /* 0x70 to 0x7F */
104 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, /* 0x80 to 0x8F */
105 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, /* 0x90 to 0x9F */
106 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, /* 0xA0 to 0xAF */
107 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, /* 0xB0 to 0xBF */
108 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, /* 0xC0 to 0xCF */
109 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, /* 0xD0 to 0xDF */
110 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, /* 0xE0 to 0xEF */
111 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u /* 0xF0 to 0xFF */
112 };
113 #endif
114
115
116 /*$PAGE*/
117 /*
118 *********************************************************************************************************
119 * LOCAL GLOBAL VARIABLES
120 *********************************************************************************************************
121 */
122
123
124 /*
125 *********************************************************************************************************
126 * LOCAL FUNCTION PROTOTYPES
127 *********************************************************************************************************
128 */
129
130 #if (CPU_CFG_NAME_EN == DEF_ENABLED) /* ---------------- CPU NAME FNCTS ---------------- */
131 static void CPU_NameInit (void);
132 #endif
133
134
135 /* ----------------- CPU TS FNCTS ----------------- */
136 #if ((CPU_CFG_TS_EN == DEF_ENABLED) || \
137 (CPU_CFG_TS_TMR_EN == DEF_ENABLED))
138 static void CPU_TS_Init (void);
139 #endif
140
141
142 #ifdef CPU_CFG_INT_DIS_MEAS_EN /* ---------- CPU INT DIS TIME MEAS FNCTS --------- */
143 static void CPU_IntDisMeasInit (void);
144
145 static CPU_TS_TMR CPU_IntDisMeasMaxCalc(CPU_TS_TMR time_tot_cnts);
146 #endif
147
148
149 /*
150 *********************************************************************************************************
151 * LOCAL CONFIGURATION ERRORS
152 *********************************************************************************************************
153 */
154
155
156 /*$PAGE*/
157 /*
158 *********************************************************************************************************
159 * CPU_Init()
160 *
161 * Description : (1) Initialize CPU module :
162 *
163 * (a) Initialize CPU timestamps
164 * (b) Initialize CPU interrupts disabled time measurements
165 * (c) Initialize CPU host name
166 *
167 *
168 * Argument(s) : none.
169 *
170 * Return(s) : none.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -