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

📄 dbgu.lst

📁 AT91SAM7X256底层驱动源码
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART     01/Nov/2005  11:29:19 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  interwork                                            #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\src\dbgu.c                   #
#    Command line    =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\src\dbgu.c -lC               #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\FLASH_Debug\List\ -o  #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\FLASH_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 "D:\Program Files\IAR                  #
#                       Systems\Embedded Workbench 4.0                       #
#                       Kickstart\arm\LIB\dl4tptinl8f.h" -I                  #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\srcIAR\ -I            #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\..\src\ -I            #
#                       E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\..\..\ -I             #
#                       "D:\Program Files\IAR Systems\Embedded Workbench     #
#                       4.0 Kickstart\arm\INC\"                              #
#    List file       =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\FLASH_Debug\List\dbgu #
#                       .lst                                                 #
#    Object file     =  E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
#                       430A-1_2\BasicAES-SAM7X\compil\FLASH_Debug\Obj\dbgu. #
#                       r79                                                  #
#                                                                            #
#                                                                            #
##############################################################################

E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR430A-1_2\BasicAES-SAM7X\src\dbgu.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           : dbgu.c
     11          //* Object              : DBGU routines written in C
     12          //* Creation            : JG   16/Aug/2004
     13          //*----------------------------------------------------------------------------
     14          
     15          // Include Standard files
     16          #include "project.h"

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_PIO_CfgPeriph(AT91PS_PIO, unsigned int, unsigned int)
   \                     AT91F_PIO_CfgPeriph:
   \   00000000   0167               STR         R1,[R0, #+0x70]
   \   00000002   4267               STR         R2,[R0, #+0x74]
   \   00000004   131C               MOV         R3,R2
   \   00000006   0B43               ORR         R3,R1
   \   00000008   4360               STR         R3,[R0, #+0x4]
   \   0000000A   7047               BX          LR                 ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_PMC_EnablePeriphClock(AT91PS_PMC, unsigned int)
   \                     AT91F_PMC_EnablePeriphClock:
   \   00000000   0161               STR         R1,[R0, #+0x10]
   \   00000002   7047               BX          LR                 ;; return

   \                                 In segment CODE, align 4, keep-with-next
   \   __??Code16?? __code __interwork __atpcs void AT91F_DBGU_CfgPIO(void)
   \                     AT91F_DBGU_CfgPIO:
   \   00000000   00B5               PUSH        {LR}
   \   00000002   0022               MOV         R2,#+0
   \   00000004   C021               MOV         R1,#+0xC0
   \   00000006   4905               LSL         R1,R1,#+0x15       ;; #+0x18000000
   \   00000008   0248               LDR         R0,??AT91F_DBGU_CfgPIO_0  ;; 0xfffff400
   \   0000000A   ........           _BLF        AT91F_PIO_CfgPeriph,AT91F_PIO_CfgPeriph??rT
   \   0000000E   01BC               POP         {R0}
   \   00000010   0047               BX          R0                 ;; return
   \   00000012   C046               NOP         
   \                     ??AT91F_DBGU_CfgPIO_0:
   \   00000014   00F4FFFF           DC32        0xfffff400
     17          
     18          //*--------------------------1--------------------------------------------------
     19          //* \fn    AT91F_DBGU_Printk
     20          //* \brief This function is used to send a string through the DBGU channel (Very low level debugging)
     21          //*----------------------------------------------------------------------------

   \                                 In segment CODE, align 4, keep-with-next
     22          void AT91F_DBGU_Printk(	char *buffer)
     23          {
   \                     AT91F_DBGU_Printk:
   \   00000000   10B5               PUSH        {R4,LR}
     24              AT91PS_DBGU pDbgu = AT91C_BASE_DBGU ;
   \   00000002   ....               LDR         R3,??DataTable5    ;; 0xfffff200
   \   00000004   191C               MOV         R1,R3
     25              unsigned int temp;
     26          
     27              while(*buffer != '\0')
   \                     ??AT91F_DBGU_Printk_0:
   \   00000006   0378               LDRB        R3,[R0, #+0]
   \   00000008   002B               CMP         R3,#+0
   \   0000000A   11D0               BEQ         ??AT91F_DBGU_Printk_1
     28              {
     29                  temp=0;
   \   0000000C   0023               MOV         R3,#+0
   \   0000000E   1A1C               MOV         R2,R3
     30          
     31          	while (temp==0)
   \                     ??AT91F_DBGU_Printk_2:
   \   00000010   002A               CMP         R2,#+0
   \   00000012   09D1               BNE         ??AT91F_DBGU_Printk_3
     32          	{
     33          	  if ( (pDbgu->DBGU_CSR & 0x0200) == 0)
   \   00000014   4B69               LDR         R3,[R1, #+0x14]
   \   00000016   8024               MOV         R4,#+0x80
   \   00000018   A400               LSL         R4,R4,#+0x2        ;; #+0x200
   \   0000001A   1C40               AND         R4,R3
   \   0000001C   231C               MOV         R3,R4
   \   0000001E   002B               CMP         R3,#+0
   \   00000020   00D0               BEQ         ??AT91F_DBGU_Printk_4
   \   00000022   0123               MOV         R3,#+0x1
   \                     ??AT91F_DBGU_Printk_4:
   \   00000024   1A1C               MOV         R2,R3
     34          	    temp=0;
   \   00000026   F3E7               B           ??AT91F_DBGU_Printk_2
     35          	  else
     36          	    temp=1;
     37          	}
     38          
     39                  pDbgu->DBGU_THR = *buffer;
   \                     ??AT91F_DBGU_Printk_3:
   \   00000028   0378               LDRB        R3,[R0, #+0]
   \   0000002A   CB61               STR         R3,[R1, #+0x1C]
     40                  buffer++;
   \   0000002C   401C               ADD         R0,#+0x1
   \   0000002E   EAE7               B           ??AT91F_DBGU_Printk_0
     41              }
     42          }
   \                     ??AT91F_DBGU_Printk_1:
   \   00000030   10BC               POP         {R4}
   \   00000032   01BC               POP         {R0}
   \   00000034   0047               BX          R0                 ;; return
     43          
     44          

   \                                 In segment CODE, align 4, keep-with-next
     45          void Init_DBGU_CLK(void)
     46          {
   \                     Init_DBGU_CLK:
   \   00000000   00B5               PUSH        {LR}
     47            AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, ((unsigned int) 1 << AT91C_ID_SYS));

⌨️ 快捷键说明

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