📄 board_lowlevel.lst
字号:
###############################################################################
# #
# 18/Jul/2008 11:37:55 #
# 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 = D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
# t-1.3-iar5-at91sam7se-ek\at91lib\boards\at91sam7se-ek\bo #
# ard_lowlevel.c #
# Command line = D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
# t-1.3-iar5-at91sam7se-ek\at91lib\boards\at91sam7se-ek\bo #
# ard_lowlevel.c -D at91sam7se512 -lC #
# D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
# t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
# roject\ewp\at91sam7se512_sdram\List\ --remarks -o #
# D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
# t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
# roject\ewp\at91sam7se512_sdram\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\IAR Systems\Embedded Workbench 5.0 #
# Evaluation\ARM\INC\DLib_Config_Full.h" -I #
# D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
# t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
# roject\ewp\..\..\..\at91lib\ -I #
# D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
# t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
# roject\ewp\..\..\..\at91lib\boards\at91sam7se-ek\ -I #
# D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
# t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
# roject\ewp\..\..\..\at91lib\peripherals\ -I #
# D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
# t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
# roject\ewp\..\..\..\at91lib\components\ -I #
# D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
# t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
# roject\ewp\..\..\..\at91lib\usb\ -I "D:\Program #
# Files\IAR Systems\Embedded Workbench 5.0 #
# Evaluation\ARM\INC\" --interwork --cpu_mode arm -On #
# List file = D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
# t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
# roject\ewp\at91sam7se512_sdram\List\board_lowlevel.lst #
# Object file = D:\rock\atarm\at91sam7se\software\usb-device-core-projec #
# t-1.3-iar5-at91sam7se-ek\at91sam7se-ek\usb-device-core-p #
# roject\ewp\at91sam7se512_sdram\Obj\board_lowlevel.o #
# #
# #
###############################################################################
D:\rock\atarm\at91sam7se\software\usb-device-core-project-1.3-iar5-at91sam7se-ek\at91lib\boards\at91sam7se-ek\board_lowlevel.c
1 /* ----------------------------------------------------------------------------
2 * ATMEL Microcontroller Software Support - ROUSSET -
3 * ----------------------------------------------------------------------------
4 * Copyright (c) 2006, 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 disclaiimer below.
13 *
14 * - Redistributions in binary form must reproduce the above copyright notice,
15 * this list of conditions and the disclaimer below in the documentation and/or
16 * other materials provided with the distribution.
17 *
18 * Atmel's name may not be used to endorse or promote products derived from
19 * this software without specific prior written permission.
20 *
21 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
22 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
24 * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
27 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 * ----------------------------------------------------------------------------
32 */
33
34 //------------------------------------------------------------------------------
35 // Headers
36 //------------------------------------------------------------------------------
37
38 #include "board.h"
39 #include "board_memories.h"
40
41 //------------------------------------------------------------------------------
42 // Internal definitions
43 //------------------------------------------------------------------------------
44 /*
45 Constants: Clock and PLL settings
46
47 BOARD_OSCOUNT - Startup time of main oscillator (in number of slow clock
48 ticks).
49 BOARD_USBDIV - USB PLL divisor value to obtain a 48MHz clock.
50 BOARD_CKGR_PLL - PLL frequency range.
51 BOARD_PLLCOUNT - PLL startup time (in number of slow clock ticks).
52 BOARD_MUL - PLL MUL value.
53 BOARD_DIV - PLL DIV value.
54 BOARD_PRESCALER - Master clock prescaler value.
55 */
56 #define BOARD_OSCOUNT (AT91C_CKGR_OSCOUNT & (0x40 << 8))
57 #define BOARD_USBDIV AT91C_CKGR_USBDIV_1
58 #define BOARD_CKGR_PLL AT91C_CKGR_OUT_0
59 #define BOARD_PLLCOUNT (16 << 8)
60 #define BOARD_MUL (AT91C_CKGR_MUL & (72 << 16))
61 #define BOARD_DIV (AT91C_CKGR_DIV & 14)
62 #define BOARD_PRESCALER AT91C_PMC_PRES_CLK_2
63
64 //------------------------------------------------------------------------------
65 // Internal functions
66 //------------------------------------------------------------------------------
67 /*!
68 Default spurious interrupt handler
69 */
\ In section .text, align 4, keep-with-next
70 void defaultSpuriousHandler( void )
71 {
72 while (1);
\ defaultSpuriousHandler:
\ ??defaultSpuriousHandler_0:
\ 00000000 FEFFFFEA B ??defaultSpuriousHandler_0
73 }
74
75 /*!
76 Default handler for fast interrupt requests.
77 */
\ In section .text, align 4, keep-with-next
78 void defaultFiqHandler( void )
79 {
80 while (1);
\ defaultFiqHandler:
\ ??defaultFiqHandler_0:
\ 00000000 FEFFFFEA B ??defaultFiqHandler_0
81 }
82
83 /*!
84 Default handler for standard interrupt requests.
85 */
\ In section .text, align 4, keep-with-next
86 void defaultIrqHandler( void )
87 {
88 while (1);
\ defaultIrqHandler:
\ ??defaultIrqHandler_0:
\ 00000000 FEFFFFEA B ??defaultIrqHandler_0
89 }
90
91 //------------------------------------------------------------------------------
92 // Exported functions
93 //------------------------------------------------------------------------------
94 /*!
95 Performs the low-level initialization of the chip.
96 */
\ In section .text, align 4, keep-with-next
97 void LowLevelInit( void )
98 {
\ LowLevelInit:
\ 00000000 10402DE9 PUSH {R4,LR}
99 unsigned char i;
100
101 BOARD_ConfigureFlash48MHz();
\ 00000004 ........ BL BOARD_ConfigureFlash48MHz
102
103 /* Initialize main oscillator
104 ****************************/
105 AT91C_BASE_PMC->PMC_MOR = BOARD_OSCOUNT | AT91C_CKGR_MOSCEN;
\ 00000008 DF00E0E3 MVN R0,#+223
\ 0000000C C00FC0E3 BIC R0,R0,#0x300
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -