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

📄 at91_low_level_init.lst

📁 AT91M40800源码
💻 LST
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 EVALUATION    09/Sep/2008  07:54:48 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  E:\AT91EBxx\at91_low_level_init.c                    #
#    Command line    =  E:\AT91EBxx\at91_low_level_init.c --fpu None -D      #
#                       RAMCODE=1 -lCN E:\AT91EBxx\ramcode-EBxx\List\ -o     #
#                       E:\AT91EBxx\ramcode-EBxx\Obj\ -z3 --no_cse           #
#                       --no_unroll --no_inline --no_code_motion --no_tbaa   #
#                       --no_clustering --no_scheduling --debug --cpu_mode   #
#                       arm --endian little --cpu ARM7TDMI --stack_align 4   #
#                       --interwork -e --dlib_config "C:\Program Files\IAR   #
#                       Systems\Embedded Workbench 4.0                       #
#                       Evaluation\arm\LIB\dl4tpainl8n.h" -I "C:\Program     #
#                       Files\IAR Systems\Embedded Workbench 4.0             #
#                       Evaluation\arm\INC\"                                 #
#    List file       =  E:\AT91EBxx\ramcode-EBxx\List\at91_low_level_init.ls #
#                       t                                                    #
#    Object file     =  E:\AT91EBxx\ramcode-EBxx\Obj\at91_low_level_init.r79 #
#                                                                            #
#                                                                            #
##############################################################################

E:\AT91EBxx\at91_low_level_init.c
      1          /**************************************************
      2           *
      3           * This module contains the function `__low_level_init', a function
      4           * that is called before the `main' function of the program.  Normally
      5           * low-level initializations - such as setting the prefered interrupt
      6           * level or setting the watchdog - can be performed here.
      7           *
      8           * Note that this function is called before the data segments are
      9           * initialized, this means that this function cannot rely on the
     10           * values of global or static variables.
     11           *
     12           * When this function returns zero, the startup code will inhibit the
     13           * initialization of the data segments. The result is faster startup,
     14           * the drawback is that neither global nor static data will be
     15           * initialized.
     16           *
     17           * Copyright 1999-2004 IAR Systems. All rights reserved.
     18           *
     19           * $Revision: 1.4 $
     20           *
     21           **************************************************/
     22          
     23          #include "config.h"
     24          
     25          /* ICODE is the same segment as cstartup. By placing __low_level_init
     26           * in the same segment, we make sure it can be reached with BL. */
     27          
     28          #ifdef __cplusplus
     29          extern "C" {
     30          #endif
     31          
     32          #pragma language=extended
     33          
     34          
     35          #pragma location="ICODE"

   \                                 In segment ICODE, align 4, keep-with-next
     36          __interwork int __low_level_init(void)
     37          {
   \                     __low_level_init:
   \   00000000   00402DE9           PUSH     {LR}
     38            /*==================================*/
     39            /*  Initialize hardware.            */
     40            /*==================================*/
     41          
     42          #if AT91_EB42
     43            // Speed up the System Frequency.
     44            AT91_EB42_PllStart();
     45            // Enable peripheral clocks.
     46            AT91EnablePeripheralClocks();
     47          #endif
     48          
     49          #if AT91_EB55
     50            // Speed up the System Frequency.
     51            AT91_EB55_PllStart();
     52            // Enable peripheral clocks.
     53            AT91EnablePeripheralClocks();
     54          #endif
     55          
     56          #if AT91_EB40 || AT91_EB40A || AT91_EB63
     57            // Enable peripheral clocks.
     58            AT91EnablePeripheralClocks();
   \   00000004   ........           _BLF     AT91EnablePeripheralClocks,??AT91EnablePeripheralClocks??rA?ICODE
     59          #endif
     60          
     61            // The PIO is enabled early to make the LED's available for tracing.
     62            AT91InitPIO();
   \   00000008   ........           _BLF     AT91InitPIO,??AT91InitPIO??rA?ICODE
     63          
     64          
     65            /*==================================*/
     66            /* Choose if segment initialization */
     67            /* should be done or not.           */
     68            /* Return: 0 to omit seg_init       */
     69            /*         1 to run seg_init        */
     70            /*==================================*/
     71            return (1);
   \   0000000C   0100A0E3           MOV      R0,#+1
   \   00000010   0040BDE8           POP      {LR}
   \   00000014   1EFF2FE1           BX       LR               ;; return
     72          }
     73          
     74          #pragma language=default
     75          
     76          #ifdef __cplusplus
     77          }
     78          #endif

   Maximum stack usage in bytes:

     Function         CSTACK
     --------         ------
     __low_level_init     4


   Segment part sizes:

     Function/Label   Bytes
     --------------   -----
     __low_level_init   24
      Others            24

 
 48 bytes in segment ICODE
 
 24 bytes of CODE memory (+ 24 bytes shared)

Errors: none
Warnings: none

⌨️ 快捷键说明

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