📄 stm32f10x_systick.lst
字号:
###############################################################################
# #
# 30/Jul/2008 14:37:40 #
# IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION #
# Copyright 1999-2007 IAR Systems. All rights reserved. #
# #
# Cpu mode = thumb #
# Endian = little #
# Source file = E:\library\src\stm32f10x_systick.c #
# Command line = E:\library\src\stm32f10x_systick.c -D EMB_FLASH -lCN #
# E:\ELE\yten\pro\Debug\List\ -lb #
# E:\ELE\yten\pro\Debug\List\ -o #
# E:\ELE\yten\pro\Debug\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 "C:\Program Files\IAR #
# Systems\Embedded Workbench 5.0 #
# Evaluation\ARM\INC\DLib_Config_Normal.h" -I #
# E:\ELE\yten\pro\ -I E:\ELE\yten\pro\..\LIBRARY\INC\ -I #
# "C:\Program Files\IAR Systems\Embedded Workbench 5.0 #
# Evaluation\ARM\INC\" --section .text=.XML -On #
# List file = E:\ELE\yten\pro\Debug\List\stm32f10x_systick.lst #
# Object file = E:\ELE\yten\pro\Debug\Obj\stm32f10x_systick.o #
# #
# #
###############################################################################
E:\library\src\stm32f10x_systick.c
1 /******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
2 * File Name : stm32f10x_systick.c
3 * Author : MCD Application Team
4 * Version : V1.0
5 * Date : 10/08/2007
6 * Description : This file provides all the SysTick firmware functions.
7 ********************************************************************************
8 * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
9 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
10 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
11 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
12 * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
13 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
14 *******************************************************************************/
15
16 /* Includes ------------------------------------------------------------------*/
17 #include "stm32f10x_systick.h"
18
19 /* Private typedef -----------------------------------------------------------*/
20 /* Private define ------------------------------------------------------------*/
21 /* ---------------------- SysTick registers bit mask -------------------- */
22 /* CTRL TICKINT Mask */
23 #define CTRL_TICKINT_Set ((u32)0x00000002)
24 #define CTRL_TICKINT_Reset ((u32)0xFFFFFFFD)
25
26 /* SysTick Flag Mask */
27 #define FLAG_Mask ((u8)0x1F)
28
29 /* Private macro -------------------------------------------------------------*/
30 /* Private variables ---------------------------------------------------------*/
31 /* Private function prototypes -----------------------------------------------*/
32 /* Private functions ---------------------------------------------------------*/
33
34 /*******************************************************************************
35 * Function Name : SysTick_CLKSourceConfig
36 * Description : Configures the SysTick clock source.
37 * Input : - SysTick_CLKSource: specifies the SysTick clock source.
38 * This parameter can be one of the following values:
39 * - SysTick_CLKSource_HCLK_Div8: AHB clock divided by 8
40 * selected as SysTick clock source.
41 * - SysTick_CLKSource_HCLK: AHB clock selected as
42 * SysTick clock source.
43 * Output : None
44 * Return : None
45 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
46 void SysTick_CLKSourceConfig(u32 SysTick_CLKSource)
47 {
48 /* Check the parameters */
49 assert_param(IS_SYSTICK_CLK_SOURCE(SysTick_CLKSource));
50
51 if (SysTick_CLKSource == SysTick_CLKSource_HCLK)
\ SysTick_CLKSourceConfig:
\ 00000000 0428 CMP R0,#+4
\ 00000002 06D1 BNE.N ??SysTick_CLKSourceConfig_0
52 {
53 SysTick->CTRL |= SysTick_CLKSource_HCLK;
\ 00000004 .... LDR.N R1,??DataTable14 ;; 0xe000e010
\ 00000006 0968 LDR R1,[R1, #+0]
\ 00000008 51F00401 ORRS R1,R1,#0x4
\ 0000000C .... LDR.N R2,??DataTable14 ;; 0xe000e010
\ 0000000E 1160 STR R1,[R2, #+0]
\ 00000010 05E0 B.N ??SysTick_CLKSourceConfig_1
54 }
55 else
56 {
57 SysTick->CTRL &= SysTick_CLKSource_HCLK_Div8;
\ ??SysTick_CLKSourceConfig_0:
\ 00000012 .... LDR.N R1,??DataTable14 ;; 0xe000e010
\ 00000014 0968 LDR R1,[R1, #+0]
\ 00000016 0422 MOVS R2,#+4
\ 00000018 9143 BICS R1,R1,R2
\ 0000001A .... LDR.N R2,??DataTable14 ;; 0xe000e010
\ 0000001C 1160 STR R1,[R2, #+0]
58 }
59 }
\ ??SysTick_CLKSourceConfig_1:
\ 0000001E 7047 BX LR ;; return
60
61 /*******************************************************************************
62 * Function Name : SysTick_SetReload
63 * Description : Sets SysTick Reload value.
64 * Input : - Reload: SysTick Reload new value.
65 * This parameter must be a number between 1 and 0xFFFFFF.
66 * Output : None
67 * Return : None
68 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
69 void SysTick_SetReload(u32 Reload)
70 {
71 /* Check the parameters */
72 assert_param(IS_SYSTICK_RELOAD(Reload));
73
74 SysTick->LOAD = Reload;
\ SysTick_SetReload:
\ 00000000 0149 LDR.N R1,??SysTick_SetReload_0 ;; 0xe000e014
\ 00000002 0860 STR R0,[R1, #+0]
75 }
\ 00000004 7047 BX LR ;; return
\ 00000006 00BF Nop
\ ??SysTick_SetReload_0:
\ 00000008 14E000E0 DC32 0xe000e014
76
77 /*******************************************************************************
78 * Function Name : SysTick_CounterCmd
79 * Description : Enables or disables the SysTick counter.
80 * Input : - SysTick_Counter: new state of the SysTick counter.
81 * This parameter can be one of the following values:
82 * - SysTick_Counter_Disable: Disable counter
83 * - SysTick_Counter_Enable: Enable counter
84 * - SysTick_Counter_Clear: Clear counter value to 0
85 * Output : None
86 * Return : None
87 *******************************************************************************/
\ In section .XML, align 4, keep-with-next
88 void SysTick_CounterCmd(u32 SysTick_Counter)
89 {
90 /* Check the parameters */
91 assert_param(IS_SYSTICK_COUNTER(SysTick_Counter));
92
93 if (SysTick_Counter == SysTick_Counter_Clear)
\ SysTick_CounterCmd:
\ 00000000 0028 CMP R0,#+0
\ 00000002 03D1 BNE.N ??SysTick_CounterCmd_0
94 {
95 SysTick->VAL = SysTick_Counter_Clear;
\ 00000004 .... LDR.N R1,??DataTable13 ;; 0xe000e018
\ 00000006 0022 MOVS R2,#+0
\ 00000008 0A60 STR R2,[R1, #+0]
\ 0000000A 0EE0 B.N ??SysTick_CounterCmd_1
96 }
97 else
98 {
99 if (SysTick_Counter == SysTick_Counter_Enable)
\ ??SysTick_CounterCmd_0:
\ 0000000C 0128 CMP R0,#+1
\ 0000000E 06D1 BNE.N ??SysTick_CounterCmd_2
100 {
101 SysTick->CTRL |= SysTick_Counter_Enable;
\ 00000010 .... LDR.N R1,??DataTable14 ;; 0xe000e010
\ 00000012 0968 LDR R1,[R1, #+0]
\ 00000014 51F00101 ORRS R1,R1,#0x1
\ 00000018 .... LDR.N R2,??DataTable14 ;; 0xe000e010
\ 0000001A 1160 STR R1,[R2, #+0]
\ 0000001C 05E0 B.N ??SysTick_CounterCmd_1
102 }
103 else
104 {
105 SysTick->CTRL &= SysTick_Counter_Disable;
\ ??SysTick_CounterCmd_2:
\ 0000001E .... LDR.N R1,??DataTable14 ;; 0xe000e010
\ 00000020 0968 LDR R1,[R1, #+0]
\ 00000022 0122 MOVS R2,#+1
\ 00000024 9143 BICS R1,R1,R2
\ 00000026 .... LDR.N R2,??DataTable14 ;; 0xe000e010
\ 00000028 1160 STR R1,[R2, #+0]
106 }
107 }
108 }
\ ??SysTick_CounterCmd_1:
\ 0000002A 7047 BX LR ;; return
109
110 /*******************************************************************************
111 * Function Name : SysTick_ITConfig
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -