📄 stm32f10x_systick.lst
字号:
###############################################################################
# #
# IAR ANSI C/C++ Compiler V6.10.1.52143/W32 for ARM 19/Apr/2011 11:08:04 #
# Copyright 1999-2010 IAR Systems AB. #
# #
# Cpu mode = thumb #
# Endian = little #
# Source file = C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\BSP\ST\STM32\src\stm32f10x_systick.c #
# Command line = "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\BSP\ST\STM32\src\stm32f10x_systick.c" #
# -D USE_STDPERIPH_DRIVER -lCN "C:\Customers\Project #
# Updates\ST STM32(Micrium)\Micrium\Software\EvalBoards\Mi #
# crium\uC-Eval-STM32F107\IAR\OS-II\Flash\List\" -o #
# "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\Flash\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 6.0\arm\INC\c\DLib_Config_Nor #
# mal.h" -I "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\" -I "C:\Customers\Project #
# Updates\ST STM32(Micrium)\Micrium\Software\EvalBoards\Mi #
# crium\uC-Eval-STM32F107\IAR\OS-II\..\BSP\" -I #
# "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\..\BSP\ST\STM32\inc\" -I #
# "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\..\BSP\uCOS-II\" -I #
# "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\..\..\..\..\..\uc-lib\" -I #
# "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\..\..\..\..\..\uC-CPU\" -I #
# "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\..\..\..\..\..\uC-CPU\ARM-Cortex- #
# M3\IAR\" -I "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\..\..\..\..\..\ucos-ii\ports\arm- #
# cortex-m3\generic\iar\" -I "C:\Customers\Project #
# Updates\ST STM32(Micrium)\Micrium\Software\EvalBoards\Mi #
# crium\uC-Eval-STM32F107\IAR\OS-II\..\..\..\..\..\ucos-ii #
# \source\" -On --use_c++_inline #
# List file = C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\Flash\List\stm32f10x_systick.lst #
# Object file = C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\Flash\Obj\stm32f10x_systick.o #
# #
# #
###############################################################################
C:\Customers\Project Updates\ST STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\IAR\BSP\ST\STM32\src\stm32f10x_systick.c
1 /******************** (C) COPYRIGHT 2009 STMicroelectronics ********************
2 * File Name : stm32f10x_systick.c
3 * Author : MCD Application Team
4 * Version : V2.1.0RC2
5 * Date : 03/13/2009
6 * Description : This file provides all the SysTick firmware functions.
7 ********************************************************************************
8 * THE PRESENT FIRMWARE 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 FIRMWARE 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 /* Private macro -------------------------------------------------------------*/
27 /* Private variables ---------------------------------------------------------*/
28 /* Private function prototypes -----------------------------------------------*/
29 /* Private functions ---------------------------------------------------------*/
30
31 /*******************************************************************************
32 * Function Name : SysTick_CLKSourceConfig
33 * Description : Configures the SysTick clock source.
34 * Input : - SysTick_CLKSource: specifies the SysTick clock source.
35 * This parameter can be one of the following values:
36 * - SysTick_CLKSource_HCLK_Div8: AHB clock divided by 8
37 * selected as SysTick clock source.
38 * - SysTick_CLKSource_HCLK: AHB clock selected as
39 * SysTick clock source.
40 * Output : None
41 * Return : None
42 *******************************************************************************/
\ In section .text, align 2, keep-with-next
43 void SysTick_CLKSourceConfig(u32 SysTick_CLKSource)
44 {
45 /* Check the parameters */
46 assert_param(IS_SYSTICK_CLK_SOURCE(SysTick_CLKSource));
47
48 if (SysTick_CLKSource == SysTick_CLKSource_HCLK)
\ SysTick_CLKSourceConfig:
\ 00000000 0428 CMP R0,#+4
\ 00000002 06D1 BNE.N ??SysTick_CLKSourceConfig_0
49 {
50 SysTick->CTRL |= SysTick_CLKSource_HCLK;
\ 00000004 .... LDR.N R1,??DataTable5 ;; 0xe000e010
\ 00000006 0968 LDR R1,[R1, #+0]
\ 00000008 51F00401 ORRS R1,R1,#0x4
\ 0000000C .... LDR.N R2,??DataTable5 ;; 0xe000e010
\ 0000000E 1160 STR R1,[R2, #+0]
\ 00000010 05E0 B.N ??SysTick_CLKSourceConfig_1
51 }
52 else
53 {
54 SysTick->CTRL &= SysTick_CLKSource_HCLK_Div8;
\ ??SysTick_CLKSourceConfig_0:
\ 00000012 .... LDR.N R1,??DataTable5 ;; 0xe000e010
\ 00000014 0968 LDR R1,[R1, #+0]
\ 00000016 31F00401 BICS R1,R1,#0x4
\ 0000001A .... LDR.N R2,??DataTable5 ;; 0xe000e010
\ 0000001C 1160 STR R1,[R2, #+0]
55 }
56 }
\ ??SysTick_CLKSourceConfig_1:
\ 0000001E 7047 BX LR ;; return
57
58 /*******************************************************************************
59 * Function Name : SysTick_SetReload
60 * Description : Sets SysTick Reload value.
61 * Input : - Reload: SysTick Reload new value.
62 * This parameter must be a number between 1 and 0xFFFFFF.
63 * Output : None
64 * Return : None
65 *******************************************************************************/
\ In section .text, align 2, keep-with-next
66 void SysTick_SetReload(u32 Reload)
67 {
68 /* Check the parameters */
69 assert_param(IS_SYSTICK_RELOAD(Reload));
70
71 SysTick->LOAD = Reload;
\ SysTick_SetReload:
\ 00000000 .... LDR.N R1,??DataTable5_1 ;; 0xe000e014
\ 00000002 0860 STR R0,[R1, #+0]
72 }
\ 00000004 7047 BX LR ;; return
73
74 /*******************************************************************************
75 * Function Name : SysTick_CounterCmd
76 * Description : Enables or disables the SysTick counter.
77 * Input : - SysTick_Counter: new state of the SysTick counter.
78 * This parameter can be one of the following values:
79 * - SysTick_Counter_Disable: Disable counter
80 * - SysTick_Counter_Enable: Enable counter
81 * - SysTick_Counter_Clear: Clear counter value to 0
82 * Output : None
83 * Return : None
84 *******************************************************************************/
\ In section .text, align 2, keep-with-next
85 void SysTick_CounterCmd(u32 SysTick_Counter)
86 {
87 /* Check the parameters */
88 assert_param(IS_SYSTICK_COUNTER(SysTick_Counter));
89
90 if (SysTick_Counter == SysTick_Counter_Enable)
\ SysTick_CounterCmd:
\ 00000000 0128 CMP R0,#+1
\ 00000002 06D1 BNE.N ??SysTick_CounterCmd_0
91 {
92 SysTick->CTRL |= SysTick_Counter_Enable;
\ 00000004 .... LDR.N R1,??DataTable5 ;; 0xe000e010
\ 00000006 0968 LDR R1,[R1, #+0]
\ 00000008 51F00101 ORRS R1,R1,#0x1
\ 0000000C .... LDR.N R2,??DataTable5 ;; 0xe000e010
\ 0000000E 1160 STR R1,[R2, #+0]
\ 00000010 0CE0 B.N ??SysTick_CounterCmd_1
93 }
94 else if (SysTick_Counter == SysTick_Counter_Disable)
\ ??SysTick_CounterCmd_0:
\ 00000012 10F1020F CMN R0,#+2
\ 00000016 06D1 BNE.N ??SysTick_CounterCmd_2
95 {
96 SysTick->CTRL &= SysTick_Counter_Disable;
\ 00000018 .... LDR.N R1,??DataTable5 ;; 0xe000e010
\ 0000001A 0968 LDR R1,[R1, #+0]
\ 0000001C 4908 LSRS R1,R1,#+1
\ 0000001E 4900 LSLS R1,R1,#+1
\ 00000020 .... LDR.N R2,??DataTable5 ;; 0xe000e010
\ 00000022 1160 STR R1,[R2, #+0]
\ 00000024 02E0 B.N ??SysTick_CounterCmd_1
97 }
98 else /* SysTick_Counter == SysTick_Counter_Clear */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -