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

📄 main.lst

📁 一个AT91SAM7X256 CAN通讯实验
💻 LST
📖 第 1 页 / 共 4 页
字号:
     96            // Clear PA23 <=> Enable Transceiver Normal Mode (versus Standby mode)
     97            AT91F_PIO_ClearOutput(AT91C_BASE_PIOA,AT91B_CAN_TRANSCEIVER_RS) ;
   \   00000062   8021               MOV         R1,#+0x80
   \   00000064   8904               LSL         R1,R1,#+0x12       ;; #+0x2000000
   \   00000066   1248               LDR         R0,??main_0+0x18   ;; 0xfffff400
   \   00000068   ........           _BLF        AT91F_PIO_ClearOutput,AT91F_PIO_ClearOutput??rT
     98          
     99            // Init CAN Interrupt Source Level
    100            AT91F_AIC_ConfigureIt(AT91C_BASE_AIC,                        	// CAN base address
    101                                  AT91C_ID_CAN,                         	// CAN ID
    102                                  AT91C_AIC_PRIOR_HIGHEST,               	// Max priority
    103                                  AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL, 	    // Level sensitive
    104                                  AT91F_CAN_Handler);                     // C Handler
   \   0000006C   1148               LDR         R0,??main_0+0x1C   ;; AT91F_CAN_Handler
   \   0000006E   01B4               PUSH        {R0}
   \   00000070   0023               MOV         R3,#+0
   \   00000072   0722               MOV         R2,#+0x7
   \   00000074   0F21               MOV         R1,#+0xF
   \   00000076   1048               LDR         R0,??main_0+0x20   ;; 0xfffff000
   \   00000078   ........           _BLF        AT91F_AIC_ConfigureIt,AT91F_AIC_ConfigureIt??rT
   \   0000007C   01B0               ADD         SP,#+0x4
    105          
    106            AT91F_AIC_EnableIt(AT91C_BASE_AIC,AT91C_ID_CAN);
   \   0000007E   0F21               MOV         R1,#+0xF
   \   00000080   0D48               LDR         R0,??main_0+0x20   ;; 0xfffff000
   \   00000082   ........           _BLF        AT91F_AIC_EnableIt,AT91F_AIC_EnableIt??rT
    107          
    108            // Cfg CAN Baudrate to 1Mbit/s => BRP = 5
    109            // We choose 8 Time Quanta (tCSC = 125ns): 8tCSC = tSYNC + tPRS + tPHS1 + tPHS2
    110            // Cfg PHASE1 PHASE2 PROPAG and SYNC segment
    111            // Delay of busdriver + delay of receiver circuit = 200ns
    112            // Delay of bus line considered negligible = 0ns
    113            // tPRS = 2*(200+0) = 400ns < 4tCSC => PROPAG = 3
    114            // tSYNC = 1tCSC =>  8tCSC = 1tCSC + 4tCSC + tPHS1 + tPHS2
    115            // tPHS1 + tPHS2 = 3tCSC => Phase Segment 2 = Max(IPT=2TQ,Phase Segment 1) = 2TQ => PHASE2 = 2-1 = 1 => PHASE1 = 0
    116            // tSJW = Min(4 TQ, Phase Segment 1) = 1TQ => SJW = 1-1 = 0
    117            AT91F_CAN_CfgBaudrateReg(AT91C_BASE_CAN,0x00050301);
   \   00000086   0D49               LDR         R1,??main_0+0x24   ;; 0x50301
   \   00000088   ....               LDR         R0,??DataTable5    ;; 0xfffd0000
   \   0000008A   ........           _BLF        AT91F_CAN_CfgBaudrateReg,AT91F_CAN_CfgBaudrateReg??rT
    118          
    119            ///////////////////////////////////////////////////////////////////////////////////////////
    120            //  Enter Main Application
    121            ///////////////////////////////////////////////////////////////////////////////////////////
    122          
    123            AT91F_BasicTestSuite();
   \   0000008E   ........           _BLF        AT91F_BasicTestSuite,AT91F_BasicTestSuite??rT
    124          }
   \   00000092   01BC               POP         {R0}
   \   00000094   0047               BX          R0                 ;; return
   \   00000096   C046               NOP         
   \                     ??main_0:
   \   00000098   006CDC02           DC32        0x2dc6c00
   \   0000009C   00F2FFFF           DC32        0xfffff200
   \   000000A0   ........           DC32        _Stdout
   \   000000A4   ........           DC32        `?<Constant "\\n\\n\\r==================...">`
   \   000000A8   ........           DC32        `?<Constant "AT91SAMX Basic CAN\\n\\r">`
   \   000000AC   ........           DC32        `?<Constant "=====================...">`
   \   000000B0   00F4FFFF           DC32        0xfffff400
   \   000000B4   ........           DC32        AT91F_CAN_Handler
   \   000000B8   00F0FFFF           DC32        0xfffff000
   \   000000BC   01030500           DC32        0x50301

   \                                 In segment CODE, align 4, keep-with-next
   \                     ??DataTable5:
   \   00000000   0000FDFF           DC32        0xfffd0000

   \                                 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        

   \                                 In segment DATA_C, align 4, align-sorted
   \                     `?<Constant "AT91SAMX Basic CAN\\n\\r">`:
   \   00000000   415439315341       DC8 "AT91SAMX Basic CAN\012\015"
   \              4D5820426173
   \              69632043414E
   \              0A0D00      
   \   00000015   000000             DC8 0, 0, 0

   \                                 In segment DATA_C, align 4, align-sorted
   \                     `?<Constant "=====================...">`:
   \   00000000   3D3D3D3D3D3D       DC8 "======================================\012\015"
   \              3D3D3D3D3D3D
   \              3D3D3D3D3D3D
   \              3D3D3D3D3D3D
   \              3D3D3D3D3D3D
   \              3D3D3D3D3D3D
   \              3D3D0A0D00  
   \   00000029   000000             DC8 0, 0, 0

   Maximum stack usage in bytes:

     Function                       CSTACK
     --------                       ------
     AT91F_AIC_ConfigureIt             20
     AT91F_AIC_EnableIt                 0
     AT91F_CAN_CfgBaudrateReg           0
     AT91F_CAN_CfgPIO                   4
     AT91F_CAN_CfgPMC                   4
     AT91F_CAN_DisableIt                0
     AT91F_CAN_EnableIt                 0
     AT91F_CAN_GetInterruptMaskStatus
                                        0
     AT91F_CAN_GetStatus                0
     AT91F_CAN_Handler                 12
     AT91F_CAN_InitTransferRequest      0
     AT91F_DBGU_CfgPIO                  4
     AT91F_PDC_DisableRx                0
     AT91F_PDC_DisableTx                0
     AT91F_PDC_EnableRx                 0
     AT91F_PDC_EnableTx                 0
     AT91F_PDC_Open                     8
     AT91F_PDC_SetNextRx                0
     AT91F_PDC_SetNextTx                0
     AT91F_PDC_SetRx                    0
     AT91F_PDC_SetTx                    0
     AT91F_PIOA_CfgPMC                  4
     AT91F_PIO_CfgOutput                0
     AT91F_PIO_CfgPeriph                0
     AT91F_PIO_ClearOutput              0
     AT91F_PMC_EnablePeriphClock        0
     AT91F_US_Baudrate                  8
     AT91F_US_Configure                24
     AT91F_US_EnableTx                  0
     AT91F_US_SetBaudrate              16
     AT91F_US_SetTimeguard              0
     main                               8


   Segment part sizes:

     Function/Label                 Bytes
     --------------                 -----
     AT91F_AIC_ConfigureIt            62
     AT91F_AIC_EnableIt               12
     AT91F_PDC_SetNextRx               6
     AT91F_PDC_SetNextTx               6
     AT91F_PDC_SetRx                   6
     AT91F_PDC_SetTx                   6
     AT91F_PDC_EnableTx                8
     AT91F_PDC_EnableRx                6
     AT91F_PDC_DisableTx               8
     AT91F_PDC_DisableRx               6
     AT91F_PDC_Open                   74
     AT91F_PIO_CfgPeriph              12
     AT91F_PIO_CfgOutput               6
     AT91F_PIO_ClearOutput             4
     AT91F_PMC_EnablePeriphClock       4
     AT91F_US_Baudrate                64
     AT91F_US_SetBaudrate             24
     AT91F_US_SetTimeguard             4
     AT91F_US_Configure               58
     AT91F_US_EnableTx                 6
     AT91F_CAN_EnableIt                4
     AT91F_CAN_DisableIt               4
     AT91F_CAN_GetStatus               4
     AT91F_CAN_GetInterruptMaskStatus
                                       4
     AT91F_CAN_CfgBaudrateReg          4
     AT91F_CAN_InitTransferRequest     4
     AT91F_DBGU_CfgPIO                24
     AT91F_PIOA_CfgPMC                20
     AT91F_CAN_CfgPMC                 20
     AT91F_CAN_CfgPIO                 24
     testCAN                           1
     txcounter                         4
     rxcounter                         4
     AT91F_CAN_Handler               116
     main                            192
     ??DataTable5                      4
     ?<Constant "\n\n\r==================...">
                                      44
     ?<Constant "AT91SAMX Basic CAN\n\r">
                                      24
     ?<Constant "=====================...">
                                      44
      Others                         324

 
 1 118 bytes in segment CODE
   112 bytes in segment DATA_C
     9 bytes in segment DATA_Z
    12 bytes in segment INITTAB
 
 312 bytes of CODE  memory (+ 818 bytes shared)
 112 bytes of CONST memory
   9 bytes of DATA  memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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