📄 appli.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.40A/W32 EVALUATION 29/Feb/2008 22:29:23 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = interwork #
# Endian = little #
# Stack alignment = 4 #
# Source file = C:\AT91SAM7X256-BasicEmac-IAR4_30A-1_21\AT91SAM7X-Ba #
# sicEmac\src\appli.c #
# Command line = C:\AT91SAM7X256-BasicEmac-IAR4_30A-1_21\AT91SAM7X-Ba #
# sicEmac\src\appli.c -D ESS -lC #
# C:\AT91SAM7X256-BasicEmac-IAR4_30A-1_21\AT91SAM7X-Ba #
# sicEmac\compil\RAM_Debug\List\ -o #
# C:\AT91SAM7X256-BasicEmac-IAR4_30A-1_21\AT91SAM7X-Ba #
# sicEmac\compil\RAM_Debug\Obj\ -z2 --no_cse #
# --no_unroll --no_inline --no_code_motion --no_tbaa #
# --no_clustering --no_scheduling --debug --cpu_mode #
# thumb --endian little --cpu ARM7TDMI --stack_align #
# 4 --interwork -e --fpu None --dlib_config #
# "C:\Program Files\ARM\IAR Systems\Embedded #
# Workbench 4.0 Evaluation\ARM\LIB\dl4tptinl8n.h" -I #
# C:\AT91SAM7X256-BasicEmac-IAR4_30A-1_21\AT91SAM7X-Ba #
# sicEmac\compil\srciar\ -I #
# C:\AT91SAM7X256-BasicEmac-IAR4_30A-1_21\AT91SAM7X-Ba #
# sicEmac\compil\..\..\ -I "C:\Program Files\ARM\IAR #
# Systems\Embedded Workbench 4.0 Evaluation\ARM\INC\" #
# List file = C:\AT91SAM7X256-BasicEmac-IAR4_30A-1_21\AT91SAM7X-Ba #
# sicEmac\compil\RAM_Debug\List\appli.lst #
# Object file = C:\AT91SAM7X256-BasicEmac-IAR4_30A-1_21\AT91SAM7X-Ba #
# sicEmac\compil\RAM_Debug\Obj\appli.r79 #
# #
# #
##############################################################################
C:\AT91SAM7X256-BasicEmac-IAR4_30A-1_21\AT91SAM7X-BasicEmac\src\appli.c
1 //*----------------------------------------------------------------------------
2 //* ATMEL Microcontroller Software Support - ROUSSET -
3 //*----------------------------------------------------------------------------
4 //* The software is delivered "AS IS" without warranty or condition of any
5 //* kind, either express, implied or statutory. This includes without
6 //* limitation any warranty or condition with respect to merchantability or
7 //* fitness for any particular purpose, or against the infringements of
8 //* intellectual property rights of others.
9 //*----------------------------------------------------------------------------
10 //* File Name : appli.c
11 //* Object : LED application written in C
12 //* Creation : JPP 16/Jun/2004
13 //*----------------------------------------------------------------------------
14
15 // Include Standard files
16 #include "Board.h"
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs void AT91F_PIO_CfgOutput(AT91PS_PIO, unsigned int)
\ AT91F_PIO_CfgOutput:
\ 00000000 0160 STR R1,[R0, #+0]
\ 00000002 0161 STR R1,[R0, #+16]
\ 00000004 7047 BX LR ;; return
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs void AT91F_PIO_SetOutput(AT91PS_PIO, unsigned int)
\ AT91F_PIO_SetOutput:
\ 00000000 0163 STR R1,[R0, #+48]
\ 00000002 7047 BX LR ;; return
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs void AT91F_PIO_ClearOutput(AT91PS_PIO, unsigned int)
\ AT91F_PIO_ClearOutput:
\ 00000000 4163 STR R1,[R0, #+52]
\ 00000002 7047 BX LR ;; return
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs unsigned int AT91F_PIO_GetOutputDataStatus(AT91PS_PIO)
\ AT91F_PIO_GetOutputDataStatus:
\ 00000000 806B LDR R0,[R0, #+56]
\ 00000002 7047 BX LR ;; return
17
\ In segment DATA_C, align 4, align-sorted
18 const int led_mask[8]= {LED1, LED2, LED3, LED4};
\ led_mask:
\ 00000000 000008000000 DC32 524288, 1048576, 2097152, 4194304
\ 100000002000
\ 00004000
\ 00000010 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
\ 000000000000
\ 00000000
19
\ In segment DATA_Z, align 4, align-sorted
20 volatile unsigned int LedSpeed;
\ LedSpeed:
\ 00000000 DS8 4
21
22 //*--------------------------------------------------------------------------------------
23 //* Function Name : wait
24 //* Object : Software waiting loop
25 //* Input Parameters : none. Waiting time is defined by the global variable LedSpeed.
26 //* Output Parameters : none
27 //*--------------------------------------------------------------------------------------
\ In segment CODE, align 4, keep-with-next
28 void wait ( void )
29 {//* Begin
\ wait:
\ 00000000 00B5 PUSH {LR}
30 unsigned int waiting_time ;
31 for(waiting_time = 0; waiting_time < LedSpeed; waiting_time++) ;
\ 00000002 0021 MOVS R1,#+0
\ 00000004 0800 MOVS R0,R1
\ ??wait_0:
\ 00000006 .... LDR R1,??DataTable3 ;; LedSpeed
\ 00000008 0968 LDR R1,[R1, #+0]
\ 0000000A 8842 CMP R0,R1
\ 0000000C 01D2 BCS ??wait_1
\ 0000000E 401C ADDS R0,R0,#+1
\ 00000010 F9E7 B ??wait_0
32 }//* End
\ ??wait_1:
\ 00000012 01BC POP {R0}
\ 00000014 0047 BX R0 ;; return
33
\ In segment CODE, align 4, keep-with-next
34 void Init_LED_FOR_APPLI (void)
35 {
\ Init_LED_FOR_APPLI:
\ 00000000 00B5 PUSH {LR}
36 // then, we configure the PIO Lines corresponding to LED1 to LED4
37 // to be outputs. No need to set these pins to be driven by the PIO because it is GPIO pins only.
38 AT91F_PIO_CfgOutput( AT91C_BASE_PIOB, LED_MASK ) ;
\ 00000002 F021 MOVS R1,#+240
\ 00000004 C903 LSLS R1,R1,#+15 ;; #+7864320
\ 00000006 .... LDR R0,??DataTable12 ;; 0xfffff600
\ 00000008 ........ _BLF AT91F_PIO_CfgOutput,??AT91F_PIO_CfgOutput??rT
39
40 // Clear the LED's. On the EB55 we must apply a "1" to turn off L EDs
41 AT91F_PIO_SetOutput( AT91C_BASE_PIOB, LED_MASK ) ;
\ 0000000C F021 MOVS R1,#+240
\ 0000000E C903 LSLS R1,R1,#+15 ;; #+7864320
\ 00000010 .... LDR R0,??DataTable12 ;; 0xfffff600
\ 00000012 ........ _BLF AT91F_PIO_SetOutput,??AT91F_PIO_SetOutput??rT
42
43 LedSpeed = 200000;
\ 00000016 .... LDR R0,??DataTable3 ;; LedSpeed
\ 00000018 0149 LDR R1,??Init_LED_FOR_APPLI_0 ;; 0x30d40
\ 0000001A 0160 STR R1,[R0, #+0]
44 }
\ 0000001C 01BC POP {R0}
\ 0000001E 0047 BX R0 ;; return
\ ??Init_LED_FOR_APPLI_0:
\ 00000020 400D0300 DC32 0x30d40
45
46
\ In segment CODE, align 4, keep-with-next
47 void APPLI (void)
48 {
\ APPLI:
\ 00000000 10B5 PUSH {R4,LR}
49 int i;
50 // Once a Shot on each led
51 for ( i=0 ; i < NB_LEB ; i++ )
\ 00000002 0020 MOVS R0,#+0
\ 00000004 0400 MOVS R4,R0
\ ??APPLI_0:
\ 00000006 042C CMP R4,#+4
\ 00000008 13DA BGE ??APPLI_1
52 {
53 AT91F_PIO_ClearOutput( AT91C_BASE_PIOB, led_mask[i]) ;
\ 0000000A 0420 MOVS R0,#+4
\ 0000000C 6043 MULS R0,R4,R0
\ 0000000E 1649 LDR R1,??APPLI_2 ;; led_mask
\ 00000010 0958 LDR R1,[R1, R0]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -