?? main.lst
字號:
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 + -