📄 pit.lst
字号:
###############################################################################
# #
# 28/Apr/2009 09:28:24 #
# IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION #
# Copyright 1999-2007 IAR Systems. All rights reserved. #
# #
# Cpu mode = arm #
# Endian = little #
# Source file = E:\workplace\bootloaderOK\at91lib\peripherals\pit\pit.c #
# Command line = E:\workplace\bootloaderOK\at91lib\peripherals\pit\pit.c #
# -D at91sam7se512 -D flash -D TRACE_LEVEL=4 -lC #
# E:\workplace\bootloaderOK\at91sam7se-ek\basic-dataflash- #
# project\ewp\at91sam7se512_flash\List\ --remarks #
# --diag_suppress Pe826,Pe1375 -o #
# E:\workplace\bootloaderOK\at91sam7se-ek\basic-dataflash- #
# project\ewp\at91sam7se512_flash\Obj\ --no_cse #
# --no_unroll --no_inline --no_code_motion --no_tbaa #
# --no_clustering --no_scheduling --debug --endian little #
# --cpu ARM7TDMI -e --fpu None --dlib_config "D:\Program #
# Files\arm\ARM\INC\DLib_Config_Full.h" -I #
# E:\workplace\bootloaderOK\at91sam7se-ek\basic-dataflash- #
# project\ewp\..\..\..\at91lib/peripherals\ -I #
# E:\workplace\bootloaderOK\at91sam7se-ek\basic-dataflash- #
# project\ewp\..\..\..\at91lib\ -I #
# E:\workplace\bootloaderOK\at91sam7se-ek\basic-dataflash- #
# project\ewp\..\..\..\at91lib/memories\ -I #
# E:\workplace\bootloaderOK\at91sam7se-ek\basic-dataflash- #
# project\ewp\..\..\..\at91lib/boards/at91sam7se-ek\ -I #
# "D:\Program Files\arm\ARM\INC\" --interwork --cpu_mode #
# arm -Oh #
# List file = E:\workplace\bootloaderOK\at91sam7se-ek\basic-dataflash- #
# project\ewp\at91sam7se512_flash\List\pit.lst #
# Object file = E:\workplace\bootloaderOK\at91sam7se-ek\basic-dataflash- #
# project\ewp\at91sam7se512_flash\Obj\pit.o #
# #
# #
###############################################################################
E:\workplace\bootloaderOK\at91lib\peripherals\pit\pit.c
1 /* ----------------------------------------------------------------------------
2 * ATMEL Microcontroller Software Support
3 * ----------------------------------------------------------------------------
4 * Copyright (c) 2008, Atmel Corporation
5 *
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions are met:
10 *
11 * - Redistributions of source code must retain the above copyright notice,
12 * this list of conditions and the disclaimer below.
13 *
14 * Atmel's name may not be used to endorse or promote products derived from
15 * this software without specific prior written permission.
16 *
17 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
20 * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
23 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 * ----------------------------------------------------------------------------
28 */
29
30 //------------------------------------------------------------------------------
31 // Headers
32 //------------------------------------------------------------------------------
33
34 #include "pit.h"
35 #include <board.h>
36
37 //------------------------------------------------------------------------------
38 // Global functions
39 //------------------------------------------------------------------------------
40
41 //------------------------------------------------------------------------------
42 /// Initialize the Periodic Interval Timer to generate a tick at the specified
43 /// period, given the current master clock frequency.
44 /// \param period Period in 祍econd.
45 /// \param pit_frequency Master clock frequency in MHz.
46 //------------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
47 void PIT_Init(unsigned int period, unsigned int pit_frequency)
48 {
49 AT91C_BASE_PITC->PITC_PIMR = period? (period * pit_frequency + 8) >> 4 : 0;
\ PIT_Init:
\ 00000000 000050E3 CMP R0,#+0
\ 00000004 91000010 MULNE R0,R1,R0
\ 00000008 08008012 ADDNE R0,R0,#+8
\ 0000000C 2002A011 LSRNE R0,R0,#+4
\ 00000010 CF10E0E3 MVN R1,#+207
\ 00000014 801FC1E3 BIC R1,R1,#0x200
\ 00000018 000081E5 STR R0,[R1, #+0]
50 AT91C_BASE_PITC->PITC_PIMR |= AT91C_PITC_PITEN;
\ 0000001C 000091E5 LDR R0,[R1, #+0]
\ 00000020 400780E3 ORR R0,R0,#0x1000000
\ 00000024 ........ B ??Subroutine0_0
51 }
\ In section .text, align 4, keep-with-next
\ ?Subroutine0:
\ 00000000 CF10E0E3 MVN R1,#+207
\ 00000004 801FC1E3 BIC R1,R1,#0x200
\ ??Subroutine0_0:
\ 00000008 000081E5 STR R0,[R1, #+0]
\ 0000000C 1EFF2FE1 BX LR ;; return
52
53 //------------------------------------------------------------------------------
54 /// Set the Periodic Interval Value of the PIT.
55 /// \param piv PIV value to set.
56 //------------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
57 void PIT_SetPIV(unsigned int piv)
58 {
59 AT91C_BASE_PITC->PITC_PIMR = (AT91C_BASE_PITC->PITC_PIMR & AT91C_PITC_PIV)
60 | piv;
\ PIT_SetPIV:
\ 00000000 CF10E0E3 MVN R1,#+207
\ 00000004 801FC1E3 BIC R1,R1,#0x200
\ 00000008 001091E5 LDR R1,[R1, #+0]
\ 0000000C 0116A0E1 LSL R1,R1,#+12
\ 00000010 210680E1 ORR R0,R0,R1, LSR #+12
\ 00000014 ........ B ?Subroutine0
61 }
62
63 //------------------------------------------------------------------------------
64 /// Enables the PIT if this is not already the case.
65 //------------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
66 void PIT_Enable(void)
67 {
68 AT91C_BASE_PITC->PITC_PIMR |= AT91C_PITC_PITEN;
\ PIT_Enable:
\ 00000000 CF00E0E3 MVN R0,#+207
\ 00000004 800FC0E3 BIC R0,R0,#0x200
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -