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

📄 rtctest.lst

📁 NXP LPC2148 GPS Demo for Keil
💻 LST
字号:
ARM COMPILER V2.53,  rtctest                                                               24/10/06  16:55:18  PAGE 1   


ARM COMPILER V2.53, COMPILATION OF MODULE rtctest
OBJECT MODULE PLACED IN .\Obj\rtctest.obj
COMPILER INVOKED BY: d:\Keil\ARM\BIN\CA.exe rtctest.c THUMB INCDIR(..\Common\inc) DEBUG PRINT(.\LST\RTCTEST.LST) TABS(4)
                    - OBJECT(.\Obj\rtctest.obj) 

stmt  level    source

    1          /*****************************************************************************
    2           *   rtctest.c:  main C entry file for Philips LPC214x Family Microprocessors
    3           *
    4           *   Copyright(C) 2006, Philips Semiconductor
    5           *   All rights reserved.
    6           *
    7           *   History
    8           *   2005.10.01  ver 1.00    Prelimnary version, first Release
    9           *
   10          ******************************************************************************/
   11          #include "LPC214x.H"                        /* LPC21xx definitions */
   12          #include "type.h"
   13          #include "irq.h"
   14          //#include "timer.h"
   15          #include "rtc.h"
   16          
   17          extern DWORD alarm_on;
   18          RTCTime local_time, alarm_time, current_time;
   19          
   20          /*****************************************************************************
   21          **   Main Function  main()
   22          ******************************************************************************/
   23          int main (void)
   24          {               
   25   1          init_VIC();
   26   1      
   27   1          /* Initialize RTC module */
   28   1          RTCInit();
   29   1      
   30   1      //    local_time.RTC_Sec = 0;
   31   1      //   local_time.RTC_Min = 17;
   32   1      //    local_time.RTC_Hour = 16;
   33   1      //    local_time.RTC_Mday = 24;
   34   1      //    local_time.RTC_Wday = 3;
   35   1      //    local_time.RTC_Yday = 8;      /* current date 12/08/2005 */
   36   1       //   local_time.RTC_Mon = 10;
   37   1      //    local_time.RTC_Year = 2006;
   38   1      //    RTCSetTime( local_time );     /* Set local time */
   39   1      
   40   1          alarm_time.RTC_Sec = 0;
   41   1          alarm_time.RTC_Min = 0;
   42   1          alarm_time.RTC_Hour = 0;
   43   1          alarm_time.RTC_Mday = 1;
   44   1          alarm_time.RTC_Wday = 0;
   45   1          alarm_time.RTC_Yday = 1;        /* alarm date 01/01/2006 */
   46   1          alarm_time.RTC_Mon = 1;
   47   1          alarm_time.RTC_Year = 2006;
   48   1          RTCSetAlarm( alarm_time );      /* set alarm time */
   49   1         
   50   1          /* install RTC timer handler mainly for alarm control */
   51   1      //    if ( install_irq( RTC_INT, (void *)RTCHandler ) == FALSE )
   52   1      //    {
   53   1      //  while ( 1 );        /* very bad happened */
   54   1      //    }
   55   1      
   56   1          /* mask off alarm mask, turn on IMYEAR in the counter increment interrupt
   57   1          register */
   58   1          RTCSetAlarmMask(AMRSEC|AMRMIN|AMRHOUR|AMRDOM|AMRDOW|AMRDOY|AMRMON|AMRYEAR);
ARM COMPILER V2.53,  rtctest                                                               24/10/06  16:55:18  PAGE 2   

   59   1          CIIR = IMMIN | IMYEAR;
   60   1          /* 2006/01/01/00:00:00 is the alarm on */
   61   1          
   62   1          RTCStart();
   63   1      
   64   1          while (1) 
   65   1          {
   66   2              current_time = RTCGetTime();
   67   2                              /* Loop forever */
   68   2          if ( alarm_on != 0 )
   69   2          {
   70   3              alarm_on = 0;
   71   3              /* Get current time when alarm is on */
   72   3              current_time = RTCGetTime();    
   73   3          }
   74   2          }
   75   1          return 0;
   76   1      }
   77          
   78          /******************************************************************************
   79          **                            End Of File
   80          ******************************************************************************/
ARM COMPILER V2.53,  rtctest                                                               24/10/06  16:55:18  PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN CODE16 (init_VIC?T)
 EXTERN CODE16 (RTCInit?T)
 EXTERN CODE16 (RTCStart?T)
 EXTERN CODE16 (RTCGetTime?T)
 EXTERN CODE16 (RTCSetAlarm?T)
 EXTERN CODE16 (RTCSetAlarmMask?T)
 EXTERN DATA (alarm_on)
 EXTERN NUMBER (__startup)



*** PUBLICS:
 PUBLIC         main
 PUBLIC         local_time
 PUBLIC         alarm_time
 PUBLIC         current_time



*** DATA SEGMENT '?DT0?rtctest':
 00000000          local_time:
 00000000            DS          32
 00000020          alarm_time:
 00000020            DS          32
 00000040          current_time:
 00000040            DS          32



*** CODE SEGMENT '?PR?main?rtctest':
   23: int main (void)
 00000000  B500      PUSH        {LR}
   25:     init_VIC();
 00000002  F7FF      BL          init_VIC?T  ; T=0x0001  (1)
 00000004  FFFD      BL          init_VIC?T  ; T=0x0001  (2)
   28:     RTCInit();
 00000006  F7FF      BL          RTCInit?T  ; T=0x0001  (1)
 00000008  FFFB      BL          RTCInit?T  ; T=0x0001  (2)
   40:     alarm_time.RTC_Sec = 0;
 0000000A  2200      MOV         R2,#0x0
 0000000C  4800      LDR         R0,=alarm_time ; alarm_time
 0000000E  6002      STR         R2,[R0,#0x0] ; alarm_time
   41:     alarm_time.RTC_Min = 0;
 00000010  4800      LDR         R0,=alarm_time + 0x4 ; alarm_time+4
 00000012  6002      STR         R2,[R0,#0x0] ; alarm_time+4
   42:     alarm_time.RTC_Hour = 0;
 00000014  4800      LDR         R0,=alarm_time + 0x8 ; alarm_time+8
 00000016  6002      STR         R2,[R0,#0x0] ; alarm_time+8
   43:     alarm_time.RTC_Mday = 1;
 00000018  2101      MOV         R1,#0x1
 0000001A  4800      LDR         R0,=alarm_time + 0xC ; alarm_time+12
 0000001C  6001      STR         R1,[R0,#0x0] ; alarm_time+12
   44:     alarm_time.RTC_Wday = 0;
 0000001E  4800      LDR         R0,=alarm_time + 0x18 ; alarm_time+24
 00000020  6002      STR         R2,[R0,#0x0] ; alarm_time+24
   45:     alarm_time.RTC_Yday = 1;        /* alarm date 01/01/2006 */
 00000022  4800      LDR         R0,=alarm_time + 0x1C ; alarm_time+28
 00000024  6001      STR         R1,[R0,#0x0] ; alarm_time+28
   46:     alarm_time.RTC_Mon = 1;
 00000026  4800      LDR         R0,=alarm_time + 0x10 ; alarm_time+16
 00000028  6001      STR         R1,[R0,#0x0] ; alarm_time+16
   47:     alarm_time.RTC_Year = 2006;
 0000002A  4800      LDR         R1,=0x7D6
 0000002C  4800      LDR         R0,=alarm_time + 0x14 ; alarm_time+20
 0000002E  6001      STR         R1,[R0,#0x0] ; alarm_time+20
   48:     RTCSetAlarm( alarm_time );      /* set alarm time */
 00000030  4800      LDR         R0,=alarm_time ; alarm_time
 00000032  B088      SUB         R13,#0x20
ARM COMPILER V2.53,  rtctest                                                               24/10/06  16:55:18  PAGE 4   

 00000034  4669      MOV         R1,R13
 00000036  2308      MOV         R3,#0x8
 00000038          L_8:
 00000038  C804      LDMIA       R0!,{R2}
 0000003A  C104      STMIA       R1!,{R2}
 0000003C  1E5B      SUB         R3,R3,#0x1
 0000003E  D1FB      BNE         L_8  ; T=0x00000038
 00000040  F7FF      BL          RTCSetAlarm?T  ; T=0x0001  (1)
 00000042  FFDE      BL          RTCSetAlarm?T  ; T=0x0001  (2)
 00000044  B008      ADD         R13,#0x20
   58:     RTCSetAlarmMask(AMRSEC|AMRMIN|AMRHOUR|AMRDOM|AMRDOW|AMRDOY|AMRMON|AMRYEAR);
 00000046  20FF      MOV         R0,#0xFF
 00000048  F7FF      BL          RTCSetAlarmMask?T  ; T=0x0001  (1)
 0000004A  FFDA      BL          RTCSetAlarmMask?T  ; T=0x0001  (2)
   59:     CIIR = IMMIN | IMYEAR;
 0000004C  2182      MOV         R1,#0x82
 0000004E  4800      LDR         R0,=0xE002400C
 00000050  6001      STR         R1,[R0,#0x0]
   62:     RTCStart();
 00000052  F7FF      BL          RTCStart?T  ; T=0x0001  (1)
 00000054  FFD5      BL          RTCStart?T  ; T=0x0001  (2)
   64:     while (1) 
 00000056          L_3:
   66:         current_time = RTCGetTime();
 00000056  4800      LDR         R0,=current_time ; current_time
 00000058  F7FF      BL          RTCGetTime?T  ; T=0x0001  (1)
 0000005A  FFD2      BL          RTCGetTime?T  ; T=0x0001  (2)
   68:     if ( alarm_on != 0 )
 0000005C  4800      LDR         R0,=alarm_on ; alarm_on
 0000005E  6800      LDR         R0,[R0,#0x0] ; alarm_on
 00000060  2800      CMP         R0,#0x0
 00000062  D0F8      BEQ         L_3  ; T=0x00000056
   70:         alarm_on = 0;
 00000064  2100      MOV         R1,#0x0
 00000066  4800      LDR         R0,=alarm_on ; alarm_on
 00000068  6001      STR         R1,[R0,#0x0] ; alarm_on
   72:         current_time = RTCGetTime();    
 0000006A  4800      LDR         R0,=current_time ; current_time
 0000006C  F7FF      BL          RTCGetTime?T  ; T=0x0001  (1)
 0000006E  FFC8      BL          RTCGetTime?T  ; T=0x0001  (2)
   74:     }
 00000070  E7F1      B           L_3  ; T=0x00000056
   76: }
 00000072  BC08      POP         {R3}
 00000074  4718      BX          R3
 00000076          ENDP ; 'main'



Module Information          Static
----------------------------------
  code size            =    ------
  data size            =        96
  const size           =    ------
End of Module Information.


ARM COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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