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

📄 main.lst

📁 针对arm开发板开发的can总线应用程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
    138            AT91F_AIC_ConfigureIt(AT91C_BASE_AIC,                        	// CAN1 base address
    139                                  AT91C_ID_CAN1,                         	// CAN1 ID
    140                                  AT91C_AIC_PRIOR_HIGHEST,               	// Max priority
    141                                  AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL, 	    // Level sensitive
    142                                  AT91F_CAN1_Handler);                    // C Handler
   \   000000C2   2348               LDR         R0,??main_0+0x50   ;; AT91F_CAN1_Handler
   \   000000C4   01B4               PUSH        {R0}
   \   000000C6   0023               MOV         R3,#+0
   \   000000C8   0722               MOV         R2,#+0x7
   \   000000CA   0521               MOV         R1,#+0x5
   \   000000CC   201C               MOV         R0,R4
   \   000000CE   ........           _BLF        AT91F_AIC_ConfigureIt,AT91F_AIC_ConfigureIt??rT
    143          
    144            AT91F_AIC_EnableIt(AT91C_BASE_AIC,AT91C_ID_CAN1);             //AIC中断允许
   \   000000D2   3E60               STR         R6,[R7, #+0]
    145          
    146            // Cfg CAN Baudrate to 1Mbit/s => BRP = 5
    147            // We choose 8 Time Quanta (tCSC = 125ns): 8tCSC = tSYNC + tPRS + tPHS1 + tPHS2
    148            // Cfg PHASE1 PHASE2 PROPAG and SYNC segment
    149            // Delay of busdriver + delay of receiver circuit = 200ns
    150            // Delay of bus line considered negligible = 0ns
    151            // tPRS = 2*(200+0) = 400ns < 4tCSC => PROPAG = 3
    152            // tSYNC = 1tCSC =>  8tCSC = 1tCSC + 4tCSC + tPHS1 + tPHS2
    153            // tPHS1 + tPHS2 = 3tCSC => Phase Segment 2 = Max(IPT=2TQ,Phase Segment 1) = 2TQ => PHASE2 = 2-1 = 1 => PHASE1 = 0
    154            // tSJW = Min(4 TQ, Phase Segment 1) = 1TQ => SJW = 1-1 = 0
    155          
    156            //AT91F_CAN_CfgBaudrateReg(AT91C_BASE_CAN0,0x007c3066);       //config 1D3066= 100K,相互通讯的两个CAN的拨特率必须相同
    157            //AT91F_CAN_CfgBaudrateReg(AT91C_BASE_CAN1,0x007c3066);       //0x007c3066=24k
    158          
    159            AT91F_CAN_CfgBaudrateReg(AT91C_BASE_CAN0,0x007c3066);       //当 MCK 变为6mHz时 ,5K=0x004A3066
   \   000000D4   1F48               LDR         R0,??main_0+0x54   ;; 0x7c3066
   \   000000D6   2049               LDR         R1,??main_0+0x58   ;; 0xfff80014
   \   000000D8   0860               STR         R0,[R1, #+0]
    160            AT91F_CAN_CfgBaudrateReg(AT91C_BASE_CAN1,0x007c3066);
   \   000000DA   2049               LDR         R1,??main_0+0x5C   ;; 0xfff84014
   \   000000DC   0860               STR         R0,[R1, #+0]
    161          
    162            ///////////////////////////////////////////////////////////////////////////////////////////
    163            //  Enter Main Application
    164            ///////////////////////////////////////////////////////////////////////////////////////////
    165          
    166            AT91F_BasicTestSuite();            //进行一次测试
   \   000000DE   ........           _BLF        AT91F_BasicTestSuite,AT91F_BasicTestSuite??rT
   \   000000E2   1F4C               LDR         R4,??main_0+0x60   ;; ??datas
   \   000000E4   02B0               ADD         SP,#+0x8
    167          
    168            for(;;)
    169            {
    170               /**以100K的速率由 CAN0->Mailbox0 向 Can1->Mailbox0 发送数据**/
    171          
    172               // for(int n=0;n<=32767;)  //减慢发送速度,以使超级终端显示的数据让人眼睛看起来不闪烁
    173             //     for(int i=0;i<=30000;i++)
    174             //       for(int j=0;j<=12;j++)
    175                    //n++ ;
    176          
    177                static int datas=1 ;
    178                if(datas>=32767)
   \                     ??main_1:
   \   000000E6   2068               LDR         R0,[R4, #+0]
   \   000000E8   790C               LSR         R1,R7,#+0x11
   \   000000EA   8842               CMP         R0,R1
   \   000000EC   01DB               BLT         ??main_2
    179                  datas=1 ;
   \   000000EE   0120               MOV         R0,#+0x1
   \   000000F0   2060               STR         R0,[R4, #+0]
    180                CanSendData((unsigned)(0x100),(unsigned)datas++) ;
   \                     ??main_2:
   \   000000F2   2168               LDR         R1,[R4, #+0]
   \   000000F4   481C               ADD         R0,R1,#+0x1
   \   000000F6   2060               STR         R0,[R4, #+0]
   \   000000F8   2801               LSL         R0,R5,#+0x4
   \   000000FA   ........           _BLF        CanSendData,CanSendData??rT
   \   000000FE   F2E7               B           ??main_1
   \                     ??main_0:
   \   00000100   04FCFFFF           DC32        0xfffffc04
   \   00000104   30FCFFFF           DC32        0xfffffc30
   \   00000108   00FCFFFF           DC32        0xfffffc00
   \   0000010C   10FCFFFF           DC32        0xfffffc10
   \   00000110   70F4FFFF           DC32        0xfffff470
   \   00000114   74F4FFFF           DC32        0xfffff474
   \   00000118   04F4FFFF           DC32        0xfffff404
   \   0000011C   0CF2FFFF           DC32        0xfffff20c
   \   00000120   00F2FFFF           DC32        0xfffff200
   \   00000124   20F2FFFF           DC32        0xfffff220
   \   00000128   28F2FFFF           DC32        0xfffff228
   \   0000012C   00F3FFFF           DC32        0xfffff300
   \   00000130   04F2FFFF           DC32        0xfffff204
   \   00000134   ........           DC32        `?<Constant "\\n\\n\\r==================...">`
   \   00000138   00F4FFFF           DC32        0xfffff400
   \   0000013C   10F4FFFF           DC32        0xfffff410
   \   00000140   34F4FFFF           DC32        0xfffff434
   \   00000144   00F0FFFF           DC32        0xfffff000
   \   00000148   ........           DC32        AT91F_CAN0_Handler
   \   0000014C   20F1FFFF           DC32        0xfffff120
   \   00000150   ........           DC32        AT91F_CAN1_Handler
   \   00000154   66307C00           DC32        0x7c3066
   \   00000158   1400F8FF           DC32        0xfff80014
   \   0000015C   1440F8FF           DC32        0xfff84014
   \   00000160   ........           DC32        ??datas
    181             }
    182          }

   \                                 In segment DATA_I, align 4, align-sorted
   \                     ??datas:
   \   00000000                      DS8 4
   \   00000004                      REQUIRE `?<Initializer for datas>`

   \                                 In segment CODE, align 4, keep-with-next
   \                     ??DataTable3:
   \   00000000   ........           DC32        `?<Constant "%d">`

   \                                 In segment CODE, align 4, keep-with-next
   \                     ??DataTable6:
   \   00000000   ........           DC32        _Stdout

   \                                 In segment DATA_ID, align 4, align-sorted
   \                     `?<Initializer for datas>`:
   \   00000000   01000000           DC32 1

   \                                 In segment DATA_C, align 4, align-sorted
   \                     `?<Constant "%d">`:
   \   00000000   256400             DC8 "%d"
   \   00000003   00                 DC8 0
   \   00000004   5F5F5F5F5F5F       DC8 5FH, 5FH, 5FH, 5FH, 5FH, 5FH, 49H, 6EH
   \              496E        
   \   0000000C   746572727570       DC8 74H, 65H, 72H, 72H, 75H, 70H, 74H, 20H
   \              7420        
   \   00000014   6E6F77206973       DC8 6EH, 6FH, 77H, 20H, 69H, 73H, 20H, 72H
   \              2072        
   \   0000001C   656365697665       DC8 65H, 63H, 65H, 69H, 76H, 65H, 64H, 20H
   \              6420        
   \   00000024   736F6D652064       DC8 73H, 6FH, 6DH, 65H, 20H, 64H, 61H, 74H
   \              6174        
   \   0000002C   615F5F5F5F5F       DC8 61H, 5FH, 5FH, 5FH, 5FH, 5FH, 5FH, 5FH
   \              5F5F        
   \   00000034   5F5F5F5F5F00       DC8 5FH, 5FH, 5FH, 5FH, 5FH, 0
   \   0000003A   0000               DC8 0, 0
   \   0000003C   0D0A5F5F5F5F       DC8 "\015\012______Interrupt received  data,Low is:"
   \              5F5F496E7465
   \              727275707420
   \              726563656976
   \              656420206461
   \              74612C4C6F77
   \              2069733A00  
   \   00000065   000000             DC8 0, 0, 0
   \   00000068   0D0A5F5F5F5F       DC8 "\015\012_______Interrupt received data,High is:"
   \              5F5F5F496E74
   \              657272757074
   \              207265636569
   \              766564206461
   \              74612C486967
   \              682069733A00
   \   00000092   0000               DC8 0, 0

   \                                 In segment DATA_C, align 4, align-sorted
   \                     `?<Constant "\\n\\n\\r==================...">`:
   \   00000000   0A0A0D3D3D3D       DC8 "\012\012\015======================================\012\015"
   \              3D3D3D3D3D3D
   \              3D3D3D3D3D3D
   \              3D3D3D3D3D3D
   \              3D3D3D3D3D3D
   \              3D3D3D3D3D3D
   \              3D3D3D3D3D0A
   \              0D00        
   \   0000002C   415439315341       DC8 "AT91SAM7A3 Basic CAN\012\015"
   \              4D3741332042
   \              617369632043
   \              414E0A0D00  
   \   00000043   00                 DC8 0
   \   00000044   3D3D3D3D3D3D       DC8 "======================================\012\015"
   \              3D3D3D3D3D3D
   \              3D3D3D3D3D3D
   \              3D3D3D3D3D3D
   \              3D3D3D3D3D3D
   \              3D3D3D3D3D3D
   \              3D3D0A0D00  
   \   0000006D   000000             DC8 0, 0, 0
    183          

   Maximum stack usage in bytes:

     Function              CSTACK
     --------              ------
     AT91F_AIC_ConfigureIt    20
     AT91F_CAN0_Handler       20
     AT91F_CAN1_CfgPIO         0
     AT91F_CAN1_Handler       20
     AT91F_PDC_Open            0
     main                     28


   Segment part sizes:

     Function/Label                 Bytes
     --------------                 -----
     AT91F_AIC_ConfigureIt            44
     AT91F_PDC_Open                   36
     AT91F_CAN1_CfgPIO                60
     testCAN0                          1
     testCAN1                          1
     AT91F_CAN0_Handler               80
     ?Subroutine3                     36
     AT91F_CAN1_Handler               92
     main                            356
     datas                             4
     ??DataTable3                      4
     ??DataTable6                      4
     ?<Initializer for datas>          4
     ?<Constant "%d">                148
     ?<Constant "\n\n\r==================...">
                                     112
      Others                         112

 
 800 bytes in segment CODE
 260 bytes in segment DATA_C
   4 bytes in segment DATA_I
   4 bytes in segment DATA_ID
   2 bytes in segment DATA_Z
  24 bytes in segment INITTAB
 
 572 bytes of CODE  memory (+ 252 bytes shared)
 264 bytes of CONST memory
   6 bytes of DATA  memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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