⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cstartup_sam7.lst

📁 关于usb的一段程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.31A/W32 EVALUATION    28/Feb/2007  15:38:26 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  D:\work\AC-530\software\my                           #
#                       usb\AT91SAM7S-USART_USB_SAM7S\Compil\srcIAR\Cstartup #
#                       _SAM7.c                                              #
#    Command line    =  "D:\work\AC-530\software\my                          #
#                       usb\AT91SAM7S-USART_USB_SAM7S\Compil\srcIAR\Cstartup #
#                       _SAM7.c" -lC "D:\work\AC-530\software\my             #
#                       usb\AT91SAM7S-USART_USB_SAM7S\Compil\Binary\List\"   #
#                       -o "D:\work\AC-530\software\my                       #
#                       usb\AT91SAM7S-USART_USB_SAM7S\Compil\Binary\Obj\"    #
#                       -z9 --debug --cpu_mode thumb --endian little --cpu   #
#                       ARM7TDMI --stack_align 4 --interwork -e --fpu None   #
#                       --dlib_config "C:\Program Files\IAR                  #
#                       Systems\Embedded Workbench 4.0                       #
#                       Evaluation\arm\LIB\dl4tptinl8n.h" -I                 #
#                       "D:\work\AC-530\software\my                          #
#                       usb\AT91SAM7S-USART_USB_SAM7S\Compil\srcIAR\" -I     #
#                       "D:\work\AC-530\software\my                          #
#                       usb\AT91SAM7S-USART_USB_SAM7S\Compil\..\src\" -I     #
#                       "D:\work\AC-530\software\my                          #
#                       usb\AT91SAM7S-USART_USB_SAM7S\Compil\..\..\" -I      #
#                       "C:\Program Files\IAR Systems\Embedded Workbench     #
#                       4.0 Evaluation\arm\INC\"                             #
#    List file       =  D:\work\AC-530\software\my                           #
#                       usb\AT91SAM7S-USART_USB_SAM7S\Compil\Binary\List\Cst #
#                       artup_SAM7.lst                                       #
#    Object file     =  D:\work\AC-530\software\my                           #
#                       usb\AT91SAM7S-USART_USB_SAM7S\Compil\Binary\Obj\Csta #
#                       rtup_SAM7.r79                                        #
#                                                                            #
#                                                                            #
##############################################################################

D:\work\AC-530\software\my usb\AT91SAM7S-USART_USB_SAM7S\Compil\srcIAR\Cstartup_SAM7.c
      1          //-----------------------------------------------------------------------------
      2          //         ATMEL Microcontroller Software Support  -  ROUSSET  -
      3          //-----------------------------------------------------------------------------
      4          // DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
      5          // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
      6          // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
      7          // DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
      8          // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
      9          // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
     10          // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
     11          // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     12          // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
     13          // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     14          //-----------------------------------------------------------------------------
     15          // File Name           : Cstartup_SAM7.c
     16          // Object              : Low level initialisations written in C for Tools
     17          //                       For AT91SAM7S64 with 2 flash plane
     18          // Creation            : JPP  09-May-2006
     19          //-----------------------------------------------------------------------------
     20          
     21          #include "project.h"
     22          
     23          
     24          //  The following functions must be write in ARM mode this function called
     25          // directly by exception vector
     26          extern void AT91F_Spurious_handler(void);
     27          extern void AT91F_Default_IRQ_handler(void);
     28          extern void AT91F_Default_FIQ_handler(void);
     29          
     30          //*----------------------------------------------------------------------------
     31          //* \fn    AT91F_LowLevelInit
     32          //* \brief This function performs very low level HW initialization
     33          //*        this function can use a Stack, depending the compilation
     34          //*        optimization mode
     35          //*----------------------------------------------------------------------------

   \                                 In segment ICODE, align 4, keep-with-next
     36          void AT91F_LowLevelInit(void) @ "ICODE"
     37          {
   \                     AT91F_LowLevelInit:
   \   00000000   10B5               PUSH        {R4,LR}
     38              unsigned char i;
     39              ///////////////////////////////////////////////////////////////////////////
     40              // EFC Init
     41              ///////////////////////////////////////////////////////////////////////////
     42              AT91C_BASE_MC->MC_FMR = AT91C_MC_FWS_1FWS ;
   \   00000002   9F20               MOV         R0,#+159
   \   00000004   C043               MVN         R0,R0              ;; #-160
   \   00000006   8021               MOV         R1,#+128
   \   00000008   4900               LSL         R1,R1,#+1          ;; #+256
   \   0000000A   0160               STR         R1,[R0, #+0]
     43          
     44              ///////////////////////////////////////////////////////////////////////////
     45              // Init PMC Step 1. Enable Main Oscillator
     46              // Main Oscillator startup time is board specific:
     47              // Main Oscillator Startup Time worst case (3MHz) corresponds to 15ms
     48              // (0x40 for AT91C_CKGR_OSCOUNT field)
     49              ///////////////////////////////////////////////////////////////////////////
     50              AT91C_BASE_PMC->PMC_MOR = (( AT91C_CKGR_OSCOUNT & (0x40 <<8) | AT91C_CKGR_MOSCEN ));
   \   0000000C   1948               LDR         R0,??AT91F_LowLevelInit_0  ;; 0xfffffc20
   \   0000000E   1A49               LDR         R1,??AT91F_LowLevelInit_0+0x4  ;; 0x4001
   \   00000010   0160               STR         R1,[R0, #+0]
   \   00000012   1A48               LDR         R0,??AT91F_LowLevelInit_0+0x8  ;; 0xfffffc68
     51              // Wait Main Oscillator stabilization
     52              while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MOSCS));
   \                     ??AT91F_LowLevelInit_1:
   \   00000014   0168               LDR         R1,[R0, #+0]
   \   00000016   C907               LSL         R1,R1,#+31
   \   00000018   FCD5               BPL         ??AT91F_LowLevelInit_1
     53          
     54              ///////////////////////////////////////////////////////////////////////////
     55              // Init PMC Step 2.
     56              // Set PLL to 96MHz (96,109MHz) and UDP Clock to 48MHz
     57              // PLL Startup time depends on PLL RC filter: worst case is choosen
     58              // UDP Clock (48,058MHz) is compliant with the Universal Serial Bus
     59              // Specification (+/- 0.25% for full speed)
     60              ///////////////////////////////////////////////////////////////////////////
     61              AT91C_BASE_PMC->PMC_PLLR = AT91C_CKGR_USBDIV_1           |
     62              						   (16 << 8)                     |
     63                                         (AT91C_CKGR_MUL & (72 << 16)) |

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -