📄 dbgu.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.31A/W32 EVALUATION 29/Nov/2007 16:53:57 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = interwork #
# Endian = little #
# Stack alignment = 4 #
# Source file = G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\COMMON_FS_MS\dbgu. #
# c #
# Command line = G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\COMMON_FS_MS\dbgu. #
# c -D AT91SAM7X256 -D PULL_UP_USB -D USE_LED -lC #
# "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass #
# Storage\compil\Binary\List\" -o #
# "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass #
# Storage\compil\Binary\Obj\" -z9 --debug --cpu_mode #
# thumb --endian little --cpu ARM7TDMI --stack_align #
# 4 --interwork -e --fpu None --dlib_config #
# "C:\Program Files\IAR Systems\Embedded Workbench #
# 4.0 Evaluation\ARM\LIB\dl4tptinl8f.h" -I #
# "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass #
# Storage\compil\srcIAR\" -I #
# "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass #
# Storage\compil\..\src\" -I #
# "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass #
# Storage\compil\..\..\" -I #
# "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass #
# Storage\compil\..\..\FILESYSTEM\inc\" -I #
# "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass #
# Storage\compil\..\..\MASSSTORAGE\inc\" -I #
# "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass #
# Storage\compil\..\..\AT91SAM7X256\" -I #
# "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass #
# Storage\compil\..\inc\" -I #
# "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass #
# Storage\compil\..\..\mmc_sd\" -I #
# "G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass #
# Storage\compil\..\..\COMMON_FS_MS\" -I "C:\Program #
# Files\IAR Systems\Embedded Workbench 4.0 #
# Evaluation\ARM\INC\" #
# List file = G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass #
# Storage\compil\Binary\List\dbgu.lst #
# Object file = G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\AT91SAM7X-Mass #
# Storage\compil\Binary\Obj\dbgu.r79 #
# #
# #
##############################################################################
G:\AT91_ENERGY\ATMEL_ARM\x256_mmc\COMMON_FS_MS\dbgu.c
1 // ----------------------------------------------------------------------------
2 // ATMEL Microcontroller Software Support - ROUSSET -
3 // ----------------------------------------------------------------------------
4 // DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
5 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
6 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
7 // DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
8 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
10 // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
11 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
12 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
13 // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14 // ----------------------------------------------------------------------------
15 //* File Name : Debug.c
16 //* Object : Debug menu
17 //* Creation : JPP 16/May/2004
18 //*----------------------------------------------------------------------------
19 #include "board.h"
20 #include "po_types.h"
21 #include "dbgu.h"
22
23 /*---------------------------- Global Variable ------------------------------*/
24 #ifdef USE_LED
\ In segment DATA_Z, align 1, align-sorted
25 volatile unsigned char countLed = 0;
\ countLed:
\ 00000000 DS8 1
26 #endif
27
28 //*----------------------------------------------------------------------------
29 //* \fn AT91F_LED_init
30 //* \brief Config SPI IP
31 //*----------------------------------------------------------------------------
32 #ifdef USE_LED
\ In segment CODE, align 4, keep-with-next
33 void AT91F_LED_init( AT91PS_PWMC pPwm, unsigned int dMasterClock )
34 {
\ AT91F_LED_init:
\ 00000000 70B4 PUSH {R4-R6}
35 /* PWMC Mode Register (PWM_MR) */
36 pPwm->PWMC_MR = 0x00;
\ 00000002 0022 MOV R2,#+0
\ 00000004 0260 STR R2,[R0, #+0]
37
38 #ifdef AT91SAM9265
39 #else
40 /* Enable Peripheral clock in PMC for PIOA, Set PWM PMC clock PMC_PCER */
41 // AT91F_PWMC_CfgPMC();
42 AT91F_PMC_EnablePeriphClock( AT91C_BASE_PMC, (1 << AT91C_ID_PWMC) );
\ 00000006 0E4B LDR R3,??AT91F_LED_init_0 ;; 0xfffffc10
\ 00000008 8024 MOV R4,#+128
\ 0000000A E400 LSL R4,R4,#+3 ;; #+1024
\ 0000000C 1C60 STR R4,[R3, #+0]
43
44 /* Configure PIO controllers to drive PWMC_CH0 signals */
45 #if defined (AT91SAM7X128) || defined (AT91SAM7X256)
46 AT91F_PIO_CfgPeriph( AT91C_BASE_PIOB, AT91C_PB19_PWM0, 0 );
\ 0000000E 0D4B LDR R3,??AT91F_LED_init_0+0x4 ;; 0xfffff670
\ 00000010 6402 LSL R4,R4,#+9
\ 00000012 1C60 STR R4,[R3, #+0]
\ 00000014 0C4D LDR R5,??AT91F_LED_init_0+0x8 ;; 0xfffff674
\ 00000016 2A60 STR R2,[R5, #+0]
\ 00000018 0C4E LDR R6,??AT91F_LED_init_0+0xC ;; 0xfffff604
\ 0000001A 3460 STR R4,[R6, #+0]
47 #else
48 AT91F_PIO_CfgPeriph( AT91C_BASE_PIOA, AT91C_PA0_PWM0, 0 );
49 #endif
50
51 #if defined (AT91SAM7X128) || defined (AT91SAM7X256)
52 AT91F_PIO_CfgPeriph( AT91C_BASE_PIOB, AT91C_PB20_PWM1, 0 );
\ 0000001C 6400 LSL R4,R4,#+1
\ 0000001E 1C60 STR R4,[R3, #+0]
\ 00000020 2A60 STR R2,[R5, #+0]
\ 00000022 3460 STR R4,[R6, #+0]
53 #else
54 AT91F_PIO_CfgPeriph( AT91C_BASE_PIOA, AT91C_PA1_PWM1, 0 );
55 #endif
56 #endif
57
58 /* divided by 1024 left aligned, low level, Update duty cycle */
59 /* ChannelID PWM_CMR PWM_CPRDR PWM_CDTYR */
60 AT91F_PWMC_CfgChannel(pPwm, 0, 0x000A, dMasterClock/1024/8, 0); /* for PIOA 0 LED 1 */
\ 00000024 E30A LSR R3,R4,#+11
\ 00000026 C318 ADD R3,R0,R3
\ 00000028 0A24 MOV R4,#+10
\ 0000002A 1C60 STR R4,[R3, #+0]
\ 0000002C 5A60 STR R2,[R3, #+4]
\ 0000002E 490B LSR R1,R1,#+13
\ 00000030 9960 STR R1,[R3, #+8]
61 AT91F_PWMC_CfgChannel(pPwm, 1, 0x000A, dMasterClock/1024/8, 0); /* for PIOA 1 LED 2 */
\ 00000032 1C62 STR R4,[R3, #+32]
\ 00000034 5A62 STR R2,[R3, #+36]
\ 00000036 9962 STR R1,[R3, #+40]
62
63 /* PWM_ENA Enable PWM output for channel 0 and 1 */
64 AT91F_PWMC_StartChannel(pPwm, 0x03);
\ 00000038 0321 MOV R1,#+3
\ 0000003A 4160 STR R1,[R0, #+4]
65 }
\ 0000003C 70BC POP {R4-R6}
\ 0000003E 7047 BX LR ;; return
\ ??AT91F_LED_init_0:
\ 00000040 10FCFFFF DC32 0xfffffc10
\ 00000044 70F6FFFF DC32 0xfffff670
\ 00000048 74F6FFFF DC32 0xfffff674
\ 0000004C 04F6FFFF DC32 0xfffff604
66 #endif
67
68
69 //*----------------------------------------------------------------------------
70 //* \fn AT91F_US_Get
71 //* \brief Get a Char to USART
72 //*----------------------------------------------------------------------------
\ In segment CODE, align 4, keep-with-next
73 int AT91F_US_Get( char *val)
74 {
75 if ((AT91F_US_RxReady((AT91PS_USART)AT91C_BASE_DBGU)) == 0)
\ AT91F_US_Get:
\ 00000000 .... LDR R1,??DataTable2 ;; 0xfffff214
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -