📄 cpu_c.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART 26/Dec/2008 18:22:00 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = thumb #
# Endian = little #
# Stack alignment = 4 #
# Source file = F:\PROJECT\STM32_UCOSII\uC-CPU\ARM-Cortex-M3\IAR\cpu #
# _c.c #
# Command line = F:\PROJECT\STM32_UCOSII\uC-CPU\ARM-Cortex-M3\IAR\cpu #
# _c.c -lCN F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3 #
# 210E-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\cpu_c.lst #
# Object file = F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\Flash\Obj\cpu_c.r79 #
# #
# #
##############################################################################
F:\PROJECT\STM32_UCOSII\uC-CPU\ARM-Cortex-M3\IAR\cpu_c.c
1 /*
2 *********************************************************************************************************
3 * uC/CPU
4 * CPU CONFIGURATION & PORT LAYER
5 *
6 * (c) Copyright 2004-2008; Micrium, Inc.; Weston, FL
7 *
8 * All rights reserved. Protected by international copyright laws.
9 *
10 * uC/CPU is provided in source form for FREE evaluation, for educational
11 * use or peaceful research. If you plan on using uC/CPU in a commercial
12 * product you need to contact Micrium to properly license its use in your
13 * product. We provide ALL the source code for your convenience and to
14 * help you experience uC/CPU. The fact that the source code is provided
15 * does NOT mean that you can use it without paying a licensing fee.
16 *
17 * Knowledge of the source code may NOT be used to develop a similar product.
18 *
19 * Please help us continue to provide the Embedded community with the finest
20 * software available. Your honesty is greatly appreciated.
21 *********************************************************************************************************
22 */
23
24 /*
25 *********************************************************************************************************
26 *
27 * CPU PORT FILE
28 *
29 * ARM-Cortex-M3
30 * IAR C Compiler
31 *
32 * Filename : cpu_c.c
33 * Version : V1.19
34 * Programmer(s) : JJL
35 * BAN
36 *********************************************************************************************************
37 */
38
39 /*
40 *********************************************************************************************************
41 * INCLUDE FILES
42 *********************************************************************************************************
43 */
44
45 #include <cpu.h>
46 #include <lib_def.h>
47
48
49 /*
50 *********************************************************************************************************
51 * LOCAL DEFINES
52 *********************************************************************************************************
53 */
54
55 #define CPU_INT_SRC_POS_MAX ((((CPU_REG_NVIC_NVIC + 1) & 0x1F) * 32) + 1)
56
57 #define CPU_BIT_BAND_SRAM_REG_LO 0x20000000
58 #define CPU_BIT_BAND_SRAM_REG_HI 0x200FFFFF
59 #define CPU_BIT_BAND_SRAM_BASE 0x22000000
60
61
62 #define CPU_BIT_BAND_PERIPH_REG_LO 0x40000000
63 #define CPU_BIT_BAND_PERIPH_REG_HI 0x400FFFFF
64 #define CPU_BIT_BAND_PERIPH_BASE 0x42000000
65
66
67 /*
68 *********************************************************************************************************
69 * LOCAL CONSTANTS
70 *********************************************************************************************************
71 */
72
73
74 /*
75 *********************************************************************************************************
76 * LOCAL DATA TYPES
77 *********************************************************************************************************
78 */
79
80
81 /*
82 *********************************************************************************************************
83 * LOCAL TABLES
84 *********************************************************************************************************
85 */
86
87
88 /*
89 *********************************************************************************************************
90 * LOCAL GLOBAL VARIABLES
91 *********************************************************************************************************
92 */
93
94
95 /*
96 *********************************************************************************************************
97 * LOCAL FUNCTION PROTOTYPES
98 *********************************************************************************************************
99 */
100
101
102 /*
103 *********************************************************************************************************
104 * LOCAL CONFIGURATION ERRORS
105 *********************************************************************************************************
106 */
107
108 /*
109 *********************************************************************************************************
110 * CPU_BitBandClr()
111 *
112 * Description : Clear bit in bit-band region.
113 *
114 * Argument(s) : addr Byte address in memory space.
115 *
116 * bit_nbr Bit number in byte.
117 *
118 * Return(s) : none.
119 *
120 * Caller(s) : Application.
121 *
122 * Note(s) : none.
123 *********************************************************************************************************
124 */
125
\ In segment CODE, align 4, keep-with-next
126 void CPU_BitBandClr (CPU_ADDR addr,
127 CPU_INT08U bit_nbr)
128 {
129 CPU_ADDR bit_word_off;
130 CPU_ADDR bit_word_addr;
131
132
133 if ((addr >= CPU_BIT_BAND_SRAM_REG_LO) &&
134 (addr <= CPU_BIT_BAND_SRAM_REG_HI)) {
\ CPU_BitBandClr:
\ 00000000 8900 LSLS R1,R1,#+2
\ 00000002 11EB4011 ADDS R1,R1,R0, LSL #+5
\ 00000006 0022 MOVS R2,#+0
\ 00000008 B0F1005F CMP R0,#+536870912
\ 0000000C 06D3 BCC.N ??CPU_BitBandClr_0
\ 0000000E .... LDR.N R3,??DataTable2 ;; 0x20100000
\ 00000010 9842 CMP R0,R3
\ 00000012 03D2 BCS.N ??CPU_BitBandClr_0
135 bit_word_off = ((addr - CPU_BIT_BAND_SRAM_REG_LO) * 32) + (bit_nbr * 4);
136 bit_word_addr = CPU_BIT_BAND_SRAM_BASE + bit_word_off;
137
138 *(volatile CPU_INT32U *)(bit_word_addr) = 0;
\ 00000014 5FF00850 MOVS R0,#+570425344
\ 00000018 0A50 STR R2,[R1, R0]
\ 0000001A 7047 BX LR
139
140 } else if ((addr >= CPU_BIT_BAND_PERIPH_REG_LO) &&
141 (addr <= CPU_BIT_BAND_PERIPH_REG_HI)) {
\ ??CPU_BitBandClr_0:
\ 0000001C B0F1804F CMP R0,#+1073741824
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -