📄 appli.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART 31/Oct/2005 17:17:35 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = interwork #
# Endian = little #
# Stack alignment = 4 #
# Source file = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEMAC_IA #
# R4_30-1_2\AT91SAM7X256-BasicEmac\src\appli.c #
# Command line = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEMAC_IA #
# R4_30-1_2\AT91SAM7X256-BasicEmac\src\appli.c -D ESS #
# -lC E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEMA #
# C_IAR4_30-1_2\AT91SAM7X256-BasicEmac\compil\bin\List #
# \ -o E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEM #
# AC_IAR4_30-1_2\AT91SAM7X256-BasicEmac\compil\bin\Obj #
# \ -z3 --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 "D:\Program Files\IAR #
# Systems\Embedded Workbench 4.0 #
# Kickstart\arm\LIB\dl4tptinl8n.h" -I #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEMAC_IA #
# R4_30-1_2\AT91SAM7X256-BasicEmac\compil\..\..\ -I #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEMAC_IA #
# R4_30-1_2\AT91SAM7X256-BasicEmac\compil\srcIAR\ -I #
# "D:\Program Files\IAR Systems\Embedded Workbench #
# 4.0 Kickstart\arm\INC\" #
# List file = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEMAC_IA #
# R4_30-1_2\AT91SAM7X256-BasicEmac\compil\bin\List\app #
# li.lst #
# Object file = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEMAC_IA #
# R4_30-1_2\AT91SAM7X256-BasicEmac\compil\bin\Obj\appl #
# i.r79 #
# #
# #
##############################################################################
E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicEMAC_IAR4_30-1_2\AT91SAM7X256-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, #+0x10]
\ 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, #+0x30]
\ 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, #+0x34]
\ 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, #+0x38]
\ 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 0020 MOV R0,#+0
\ 00000004 00E0 B ??wait_0
\ ??wait_1:
\ 00000006 401C ADD R0,#+0x1
\ ??wait_0:
\ 00000008 .... LDR R1,??DataTable3 ;; LedSpeed
\ 0000000A 0968 LDR R1,[R1, #+0]
\ 0000000C 8842 CMP R0,R1
\ 0000000E FAD3 BCC ??wait_1
32 }//* End
\ 00000010 01BC POP {R0}
\ 00000012 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 MOV R1,#+0xF0
\ 00000004 C903 LSL R1,R1,#+0xF ;; #+0x780000
\ 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 MOV R1,#+0xF0
\ 0000000E C903 LSL R1,R1,#+0xF ;; #+0x780000
\ 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 0024 MOV R4,#+0
\ 00000004 12E0 B ??APPLI_0
52 {
53 AT91F_PIO_ClearOutput( AT91C_BASE_PIOB, led_mask[i]) ;
\ ??APPLI_1:
\ 00000006 0420 MOV R0,#+0x4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -