📄 pio.lst
字号:
###############################################################################
# #
# 25/May/2009 02:53:23 #
# IAR ANSI C/C++ Compiler V5.20.0.20892/W32 EVALUATION for ARM #
# Copyright 1999-2008 IAR Systems AB. #
# #
# Cpu mode = arm #
# Endian = little #
# Source file = F:\Diplomovka\IARprojects\Diplomovka\25.4.2009\getting-s #
# tarted-project-at91sam7x-ek-iar\getting-started-project- #
# at91sam7x-ek\at91lib\peripherals\pio\pio.c #
# Command line = F:\Diplomovka\IARprojects\Diplomovka\25.4.2009\getting-s #
# tarted-project-at91sam7x-ek-iar\getting-started-project- #
# at91sam7x-ek\at91lib\peripherals\pio\pio.c -D #
# at91sam7x256 -D flash -D TRACE_LEVEL=4 -lC #
# F:\Diplomovka\IARprojects\Diplomovka\25.4.2009\getting-s #
# tarted-project-at91sam7x-ek-iar\getting-started-project- #
# at91sam7x-ek\at91sam7x-ek\getting-started-project\ewp\at #
# 91sam7x256_flash\List\ --remarks --diag_suppress #
# Pe826,Pe1375 -o F:\Diplomovka\IARprojects\Diplomovka\25. #
# 4.2009\getting-started-project-at91sam7x-ek-iar\getting- #
# started-project-at91sam7x-ek\at91sam7x-ek\getting-starte #
# d-project\ewp\at91sam7x256_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 "C:\Program #
# Files (x86)\IAR Systems\Embedded Workbench 5.0 #
# Evaluation\ARM\INC\DLib_Config_Full.h" -I #
# F:\Diplomovka\IARprojects\Diplomovka\25.4.2009\getting-s #
# tarted-project-at91sam7x-ek-iar\getting-started-project- #
# at91sam7x-ek\at91sam7x-ek\getting-started-project\ewp\.. #
# \..\..\at91lib/peripherals\ -I #
# F:\Diplomovka\IARprojects\Diplomovka\25.4.2009\getting-s #
# tarted-project-at91sam7x-ek-iar\getting-started-project- #
# at91sam7x-ek\at91sam7x-ek\getting-started-project\ewp\.. #
# \..\..\at91lib\ -I F:\Diplomovka\IARprojects\Diplomovka\ #
# 25.4.2009\getting-started-project-at91sam7x-ek-iar\getti #
# ng-started-project-at91sam7x-ek\at91sam7x-ek\getting-sta #
# rted-project\ewp\..\..\..\at91lib\memories\sdmmc\ -I #
# F:\Diplomovka\IARprojects\Diplomovka\25.4.2009\getting-s #
# tarted-project-at91sam7x-ek-iar\getting-started-project- #
# at91sam7x-ek\at91sam7x-ek\getting-started-project\ewp\.. #
# \..\..\at91lib/components\ -I #
# F:\Diplomovka\IARprojects\Diplomovka\25.4.2009\getting-s #
# tarted-project-at91sam7x-ek-iar\getting-started-project- #
# at91sam7x-ek\at91sam7x-ek\getting-started-project\ewp\.. #
# \..\..\at91lib/boards/at91sam7x-ek\ -I #
# F:\Diplomovka\IARprojects\Diplomovka\25.4.2009\getting-s #
# tarted-project-at91sam7x-ek-iar\getting-started-project- #
# at91sam7x-ek\at91sam7x-ek\getting-started-project\ewp\.. #
# \..\..\external_libs/crc\ -I "C:\Program Files #
# (x86)\IAR Systems\Embedded Workbench 5.0 #
# Evaluation\ARM\INC\" --interwork --cpu_mode arm -Oh #
# List file = F:\Diplomovka\IARprojects\Diplomovka\25.4.2009\getting-s #
# tarted-project-at91sam7x-ek-iar\getting-started-project- #
# at91sam7x-ek\at91sam7x-ek\getting-started-project\ewp\at #
# 91sam7x256_flash\List\pio.lst #
# Object file = F:\Diplomovka\IARprojects\Diplomovka\25.4.2009\getting-s #
# tarted-project-at91sam7x-ek-iar\getting-started-project- #
# at91sam7x-ek\at91sam7x-ek\getting-started-project\ewp\at #
# 91sam7x256_flash\Obj\pio.o #
# #
# #
###############################################################################
F:\Diplomovka\IARprojects\Diplomovka\25.4.2009\getting-started-project-at91sam7x-ek-iar\getting-started-project-at91sam7x-ek\at91lib\peripherals\pio\pio.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 "pio.h"
35 #include <board.h>
36
37 //------------------------------------------------------------------------------
38 // Local Functions
39 //------------------------------------------------------------------------------
40
41 //------------------------------------------------------------------------------
42 /// Configures one or more pin(s) of a PIO controller as being controlled by
43 /// peripheral A. Optionally, the corresponding internal pull-up(s) can be
44 /// enabled.
45 /// \param pio Pointer to a PIO controller.
46 /// \param mask Bitmask of one or more pin(s) to configure.
47 /// \param enablePullUp Indicates if the pin(s) internal pull-up shall be
48 /// configured.
49 //------------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
50 static void PIO_SetPeripheralA(
51 AT91S_PIO *pio,
52 unsigned int mask,
53 unsigned char enablePullUp)
54 {
55 // Disable interrupts on the pin(s)
56 pio->PIO_IDR = mask;
\ PIO_SetPeripheralA:
\ 00000000 441080E5 STR R1,[R0, #+68]
57
58 // Enable the pull-up(s) if necessary
59 if (enablePullUp) {
\ 00000004 000052E3 CMP R2,#+0
60
61 pio->PIO_PPUER = mask;
\ 00000008 64108015 STRNE R1,[R0, #+100]
62 }
63 else {
64
65 pio->PIO_PPUDR = mask;
\ 0000000C 60108005 STREQ R1,[R0, #+96]
66 }
67
68 // Configure pin
69 pio->PIO_ASR = mask;
\ 00000010 701080E5 STR R1,[R0, #+112]
70 pio->PIO_PDR = mask;
\ 00000014 041080E5 STR R1,[R0, #+4]
71 }
\ 00000018 1EFF2FE1 BX LR ;; return
72
73 //------------------------------------------------------------------------------
74 /// Configures one or more pin(s) of a PIO controller as being controlled by
75 /// peripheral B. Optionally, the corresponding internal pull-up(s) can be
76 /// enabled.
77 /// \param pio Pointer to a PIO controller.
78 /// \param mask Bitmask of one or more pin(s) to configure.
79 /// \param enablePullUp Indicates if the pin(s) internal pull-up shall be
80 /// configured.
81 //------------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
82 static void PIO_SetPeripheralB(
83 AT91S_PIO *pio,
84 unsigned int mask,
85 unsigned char enablePullUp)
86 {
87 // Disable interrupts on the pin(s)
88 pio->PIO_IDR = mask;
\ PIO_SetPeripheralB:
\ 00000000 441080E5 STR R1,[R0, #+68]
89
90 // Enable the pull-up(s) if necessary
91 if (enablePullUp) {
\ 00000004 000052E3 CMP R2,#+0
92
93 pio->PIO_PPUER = mask;
\ 00000008 64108015 STRNE R1,[R0, #+100]
94 }
95 else {
96
97 pio->PIO_PPUDR = mask;
\ 0000000C 60108005 STREQ R1,[R0, #+96]
98 }
99
100 // Configure pin
101 pio->PIO_BSR = mask;
\ 00000010 741080E5 STR R1,[R0, #+116]
102 pio->PIO_PDR = mask;
\ 00000014 041080E5 STR R1,[R0, #+4]
103 }
\ 00000018 1EFF2FE1 BX LR ;; return
104
105 //------------------------------------------------------------------------------
106 /// Configures one or more pin(s) or a PIO controller as inputs. Optionally,
107 /// the corresponding internal pull-up(s) and glitch filter(s) can be
108 /// enabled.
109 /// \param pio Pointer to a PIO controller.
110 /// \param mask Bitmask indicating which pin(s) to configure as input(s).
111 /// \param enablePullUp Indicates if the internal pull-up(s) must be enabled.
112 /// \param enableFilter Indicates if the glitch filter(s) must be enabled.
113 //------------------------------------------------------------------------------
\ In section .text, align 4, keep-with-next
114 static void PIO_SetInput(
115 AT91S_PIO *pio,
116 unsigned int mask,
117 unsigned char enablePullUp,
118 unsigned char enableFilter)
119 {
120 // Disable interrupts
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -