?? main.lst
字號:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.40A/W32 17/Jan/2007 16:16:24 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = arm #
# Endian = little #
# Stack alignment = 4 #
# Source file = D:\lilian\STR71X\application note\IAP using #
# UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\main.c #
# Command line = "D:\lilian\STR71X\application note\IAP using #
# UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\main.c" #
# -lC "D:\lilian\STR71X\application note\IAP using #
# UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\Debug\Li #
# st\" -lA "D:\lilian\STR71X\application note\IAP #
# using UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\De #
# bug\List\" -o "D:\lilian\STR71X\application #
# note\IAP using UART\an2078_IAR(forum)\an2078\IAP_V2. #
# 0\user\Debug\Obj\" -z2 --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 #
# -e --fpu None --dlib_config "C:\Program Files\IAR #
# Systems\Embedded Workbench #
# 4.0\arm\LIB\dl4tpannl8n.h" -I #
# "D:\lilian\STR71X\application note\IAP using #
# UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\..\inclu #
# de\" -I "D:\lilian\STR71X\application note\IAP #
# using UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\.. #
# \common\" -I ROJ_DIR$\ -I "C:\Program Files\IAR #
# Systems\Embedded Workbench 4.0\arm\INC\" #
# List file = D:\lilian\STR71X\application note\IAP using #
# UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\Debug\Li #
# st\main.lst #
# Object file = D:\lilian\STR71X\application note\IAP using #
# UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\Debug\Ob #
# j\main.r79 #
# #
# #
##############################################################################
D:\lilian\STR71X\application note\IAP using UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\main.c
1 /******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
2 * File Name : main.c
3 * Author : MCD Application Team
4 * Date First Issued : 10/25/2004
5 * Description : The main program
6 ********************************************************************************
7 * History:
8 * 02/01/2006 : IAP Version 2.0
9 * 11/24/2004 : IAP Version 1.0
10 ********************************************************************************
11 THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
12 CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A
13 RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR
14 CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH
15 SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN
16 IN CONNECTION WITH THEIR PRODUCTS.
17 ********************************************************************************/
18 #include "common.h"
\ In segment CODE, align 4, keep-with-next
\ __??Code32?? __code __arm __atpcs void RCCU_Div2Config(enum <unnamed>)
\ RCCU_Div2Config:
\ 00000000 010050E3 CMP R0,#+1
\ 00000004 0500001A BNE ??RCCU_Div2Config_0
\ 00000008 8A12A0E3 MOV R1,#-1610612728
\ 0000000C 8A22A0E3 MOV R2,#-1610612728
\ 00000010 002092E5 LDR R2,[R2, #+0]
\ 00000014 802C92E3 ORRS R2,R2,#0x8000
\ 00000018 002081E5 STR R2,[R1, #+0]
\ 0000001C 040000EA B ??RCCU_Div2Config_1
\ ??RCCU_Div2Config_0:
\ 00000020 8A12A0E3 MOV R1,#-1610612728
\ 00000024 8A22A0E3 MOV R2,#-1610612728
\ 00000028 002092E5 LDR R2,[R2, #+0]
\ 0000002C 802CD2E3 BICS R2,R2,#0x8000
\ 00000030 002081E5 STR R2,[R1, #+0]
\ ??RCCU_Div2Config_1:
\ 00000034 0EF0A0E1 MOV PC,LR ;; return
\ In segment CODE, align 4, keep-with-next
\ __??Code32?? __code __arm __atpcs FlagStatus RCCU_FlagStatus(RCCU_Flags)
\ RCCU_FlagStatus:
\ 00000000 8A12A0E3 MOV R1,#-1610612728
\ 00000004 001091E5 LDR R1,[R1, #+0]
\ 00000008 010010E1 TST R0,R1
\ 0000000C 0100001A BNE ??RCCU_FlagStatus_0
\ 00000010 0000A0E3 MOV R0,#+0
\ 00000014 000000EA B ??RCCU_FlagStatus_1
\ ??RCCU_FlagStatus_0:
\ 00000018 0100A0E3 MOV R0,#+1
\ ??RCCU_FlagStatus_1:
\ 0000001C 0EF0A0E1 MOV PC,LR ;; return
19 #include "rccu.h"
20
21
22 #define UART0_Rx_Pin (0x0001<<8) /* TQFP 64: pin N?63 , TQFP 144 pin N?143 */
23 #define UART0_Tx_Pin (0x0001<<9) /* TQFP 64: pin N?64 , TQFP 144 pin N?144 */
24
25 /*******************************************************************************
26 * Function Name : IAP_Init
27 * Description : Initilize the IAP
28 * Input : None
29 * Return : None
30 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
31 static void IAP_Init(void)
32 {
\ IAP_Init:
\ 00000000 00402DE9 PUSH {LR}
33 /* Set Main Freq to 32MHz */
34 RCCU_Div2Config(ENABLE);
\ 00000004 0100A0E3 MOV R0,#+1
\ 00000008 ........ _BLF RCCU_Div2Config,??RCCU_Div2Config??rA
35 RCCU_PLL1Config(RCCU_PLL1_Mul_12,RCCU_Div_3);
\ 0000000C 0210A0E3 MOV R1,#+2
\ 00000010 0100A0E3 MOV R0,#+1
\ 00000014 ........ _BLF RCCU_PLL1Config,??RCCU_PLL1Config??rA
36 /* Wait PLL to lock */
37 while(RCCU_FlagStatus(RCCU_PLL1_LOCK)==RESET);
\ ??IAP_Init_0:
\ 00000018 0200A0E3 MOV R0,#+2
\ 0000001C ........ _BLF RCCU_FlagStatus,??RCCU_FlagStatus??rA
\ 00000020 000050E3 CMP R0,#+0
\ 00000024 FBFFFF0A BEQ ??IAP_Init_0
38 /* Select the PLL1 as clock source */
39 RCCU_RCLKSourceConfig(RCCU_PLL1_Output);
\ 00000028 0000A0E3 MOV R0,#+0
\ 0000002C ........ _BLF RCCU_RCLKSourceConfig,??RCCU_RCLKSourceConfig??rA
40 /* Configure the GPIO0 pins */
41 GPIO_Config(GPIO0, UART0_Rx_Pin, GPIO_IN_TRI_CMOS);
\ 00000030 0220A0E3 MOV R2,#+2
\ 00000034 401FA0E3 MOV R1,#+256
\ 00000038 E004A0E3 MOV R0,#-536870912
\ 0000003C C00D80E3 ORR R0,R0,#0x3000
\ 00000040 ........ _BLF GPIO_Config,??GPIO_Config??rA
42 GPIO_Config(GPIO0, UART0_Tx_Pin, GPIO_AF_PP);
\ 00000044 0720A0E3 MOV R2,#+7
\ 00000048 801FA0E3 MOV R1,#+512
\ 0000004C E004A0E3 MOV R0,#-536870912
\ 00000050 C00D80E3 ORR R0,R0,#0x3000
\ 00000054 ........ _BLF GPIO_Config,??GPIO_Config??rA
43 /* Configure the UART 0 */
44 UART_OnOffConfig(UART0, ENABLE); /* Turn the UART0 baud generator on */
\ 00000058 0110A0E3 MOV R1,#+1
\ 0000005C C004A0E3 MOV R0,#-1073741824
\ 00000060 400C80E3 ORR R0,R0,#0x4000
\ 00000064 ........ _BLF UART_OnOffConfig,??UART_OnOffConfig??rA
45 UART_FifoConfig (UART0, DISABLE); /* Disable the FIFOs */
\ 00000068 0010A0E3 MOV R1,#+0
\ 0000006C C004A0E3 MOV R0,#-1073741824
\ 00000070 400C80E3 ORR R0,R0,#0x4000
\ 00000074 ........ _BLF UART_FifoConfig,??UART_FifoConfig??rA
46 UART_FifoReset(UART0 , UART_RxFIFO); /* Reset the UART_RxFIFO */
\ 00000078 0010A0E3 MOV R1,#+0
\ 0000007C C004A0E3 MOV R0,#-1073741824
\ 00000080 400C80E3 ORR R0,R0,#0x4000
\ 00000084 ........ _BLF UART_FifoReset,??UART_FifoReset??rA
47 UART_FifoReset(UART0 , UART_TxFIFO); /* Reset the UART_TxFIFO */
\ 00000088 0110A0E3 MOV R1,#+1
\ 0000008C C004A0E3 MOV R0,#-1073741824
\ 00000090 400C80E3 ORR R0,R0,#0x4000
\ 00000094 ........ _BLF UART_FifoReset,??UART_FifoReset??rA
48 UART_LoopBackConfig(UART0 , DISABLE); /* Disable the Loop Back */
\ 00000098 0010A0E3 MOV R1,#+0
\ 0000009C C004A0E3 MOV R0,#-1073741824
\ 000000A0 400C80E3 ORR R0,R0,#0x4000
\ 000000A4 ........ _BLF UART_LoopBackConfig,??UART_LoopBackConfig??rA
49
50 /* Configure the UART0 as following: */
51 /* - Baudrate = 115200Bps */
52 /* - No parity */
53 /* - 8 data bits */
54 /* - 1 stop bit */
55 UART_Config(UART0,115200,UART_NO_PARITY,UART_1_StopBits,UARTM_8D);
\ 000000A8 0100A0E3 MOV R0,#+1
\ 000000AC 01002DE9 PUSH {R0}
\ 000000B0 0830A0E3 MOV R3,#+8
\ 000000B4 2120A0E3 MOV R2,#+33
\ 000000B8 401BA0E3 MOV R1,#+65536
\ 000000BC C21C81E3 ORR R1,R1,#0xC200
\ 000000C0 C004A0E3 MOV R0,#-1073741824
\ 000000C4 400C80E3 ORR R0,R0,#0x4000
\ 000000C8 ........ _BLF UART_Config,??UART_Config??rA
\ 000000CC 04D08DE2 ADD SP,SP,#+4 ;; stack cleaning
56 UART_RxConfig(UART0 ,ENABLE);
\ 000000D0 0110A0E3 MOV R1,#+1
\ 000000D4 C004A0E3 MOV R0,#-1073741824
\ 000000D8 400C80E3 ORR R0,R0,#0x4000
\ 000000DC ........ _BLF UART_RxConfig,??UART_RxConfig??rA
57 }
\ 000000E0 0080BDE8 POP {PC} ;; return
58 /*******************************************************************************
59 * Function Name : main
60 * Description : The main program.
61 * Input : None
62 * Return : None
63 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
64 void main(void)
65 {
\ main:
\ 00000000 00402DE9 PUSH {LR}
66 #ifdef DEBUG
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -