📄 bench.lst
字号:
62
63 //* Init timer
64
65 //* open terminal for console
66 COM.usart=&USART0_DESC;
\ 00000038 40019FE5 LDR R0,??main_0 ;; #USART0_DESC
\ 0000003C 5C119FE5 LDR R1,??main_0+32 ;; #COM
\ 00000040 000081E5 STR R0,[R1, #+0]
67 cd_baud = at91_baud_com(MCKI, BAUD_RATE);
\ 00000044 961CA0E3 MOV R1,#+0x9600
\ 00000048 7D07A0E3 MOV R0,#+0x1F40000
\ 0000004C ........ BL at91_baud_com
\ 00000050 0020A0E1 MOV R2,R0
68 //* open com
69 at91_open_com(&COM,(COM_8_BIT|COM_PAR_NONE|COM_NBSTOP_1|COM_FLOW_CONTROL_NONE), cd_baud);
\ 00000054 231DA0E3 MOV R1,#+0x8C0
\ 00000058 40019FE5 LDR R0,??main_0+32 ;; #COM
\ 0000005C ........ BL at91_open_com
70 at91_print(&COM,message);
\ 00000060 34119FE5 LDR R1,??main_0+28 ;; #message
\ 00000064 34019FE5 LDR R0,??main_0+32 ;; #COM
\ 00000068 ........ BL at91_print
71 at91_print_frame(&COM,(char *)atmel_header,sizeof(atmel_header));
\ 0000006C 4C20A0E3 MOV R2,#+0x4C
\ 00000070 0C119FE5 LDR R1,??main_0+4 ;; #atmel_header
\ 00000074 24019FE5 LDR R0,??main_0+32 ;; #COM
\ 00000078 ........ BL at91_print_frame
72
73 for (;;)
74 {
75 //* check switch SW5 is push wait
76 if (( at91_pio_read ( &PIO_DESC) & SW5_MASK ) == SW5_MASK )
\ ??main_1:
\ 0000007C 20019FE5 LDR R0,??main_0+36 ;; #PIO_DESC
\ 00000080 ........ BL at91_pio_read
\ 00000084 0008A0E1 MOV R0,R0, LSL #+16
\ 00000088 2008A0E1 MOV R0,R0, LSR #+16
\ 0000008C 020C00E2 AND R0,R0,#+0x200
\ 00000090 020C50E3 CMP R0,#+0x200
\ 00000094 F8FFFF1A BNE ??main_1
77 { // if switch
78 at91_print(&COM,"** Mearsure **\n\r");
\ 00000098 E8109FE5 LDR R1,??main_0+8 ;; #`?<Constant "** Mearsure **\\n\\r">`
\ 0000009C FC009FE5 LDR R0,??main_0+32 ;; #COM
\ 000000A0 ........ BL at91_print
79 at91_pio_write ( &PIO_DESC, LED1, PIO_SET_OUT );
\ 000000A4 0020A0E3 MOV R2,#+0x0
\ 000000A8 0210A0E3 MOV R1,#+0x2
\ 000000AC F0009FE5 LDR R0,??main_0+36 ;; #PIO_DESC
\ 000000B0 ........ BL at91_pio_write
80 // open timer &TCB0_DESC
81 at91_tc_open_count(&TCB_DESC);
\ 000000B4 D8009FE5 LDR R0,??main_0+20 ;; #TCB_DESC
\ 000000B8 ........ BL at91_tc_open_count
82 //* Start timer
83 at91_tc_start(&TCB_DESC);
\ 000000BC D0009FE5 LDR R0,??main_0+20 ;; #TCB_DESC
\ 000000C0 ........ BL at91_tc_start
84
85 //* Stop timer
86 result_out= at91_tc_stop(&TCB_DESC );
\ 000000C4 C8009FE5 LDR R0,??main_0+20 ;; #TCB_DESC
\ 000000C8 ........ BL at91_tc_stop
\ 000000CC 0040A0E1 MOV R4,R0
87 sprintf(message,"- Out test %d \n\r",result_out);
\ 000000D0 10002DE9 STMDB SP!,{R4} ;; Push
\ 000000D4 B0109FE5 LDR R1,??main_0+12 ;; #`?<Constant "- Out test %d \\n\\r">`
\ 000000D8 BC009FE5 LDR R0,??main_0+28 ;; #message
\ 000000DC ........ BL sprintf
88 at91_print(&COM,message);
\ 000000E0 B4109FE5 LDR R1,??main_0+28 ;; #message
\ 000000E4 B4009FE5 LDR R0,??main_0+32 ;; #COM
\ 000000E8 ........ BL at91_print
89 // open timer &TCB0_DESC
90 at91_tc_open_count(&TCB_DESC);
\ 000000EC A0009FE5 LDR R0,??main_0+20 ;; #TCB_DESC
\ 000000F0 ........ BL at91_tc_open_count
91 //* Start timer
92 at91_tc_start(&TCB_DESC);
\ 000000F4 98009FE5 LDR R0,??main_0+20 ;; #TCB_DESC
\ 000000F8 ........ BL at91_tc_start
93 cmpt++;
94 result= at91_tc_stop(&TCB_DESC );
\ 000000FC 90009FE5 LDR R0,??main_0+20 ;; #TCB_DESC
\ 00000100 ........ BL at91_tc_stop
95 sprintf(message,"- cmpt++ test total:%d test:%d\n\r",result,result-result_out);
\ 00000104 041040E0 SUB R1,R0,R4
\ 00000108 03002DE9 STMDB SP!,{R0,R1} ;; Push
\ 0000010C 7C109FE5 LDR R1,??main_0+16 ;; #`?<Constant "- cmpt++ test total:%...">`
\ 00000110 84009FE5 LDR R0,??main_0+28 ;; #message
\ 00000114 ........ BL sprintf
96 at91_print(&COM,message);
\ 00000118 7C109FE5 LDR R1,??main_0+28 ;; #message
\ 0000011C 7C009FE5 LDR R0,??main_0+32 ;; #COM
\ 00000120 ........ BL at91_print
97
98 // open timer &TCB0_DESC
99 at91_tc_open_count(&TCB_DESC);
\ 00000124 68009FE5 LDR R0,??main_0+20 ;; #TCB_DESC
\ 00000128 ........ BL at91_tc_open_count
100 //* Start timer
101 at91_tc_start(&TCB_DESC);
\ 0000012C 60009FE5 LDR R0,??main_0+20 ;; #TCB_DESC
\ 00000130 ........ BL at91_tc_start
102
103 // start test
104 testloop(10000);
\ 00000134 710EA0E3 MOV R0,#+0x710
\ 00000138 020A80E2 ADD R0,R0,#+0x2000
\ 0000013C ........ BL testloop
105
106 result= at91_tc_stop(&TCB_DESC );
\ 00000140 4C009FE5 LDR R0,??main_0+20 ;; #TCB_DESC
\ 00000144 ........ BL at91_tc_stop
107 sprintf(message,"- testloop total %d testloop %d\n\r",result,result-result_out);
\ 00000148 041040E0 SUB R1,R0,R4
\ 0000014C 03002DE9 STMDB SP!,{R0,R1} ;; Push
\ 00000150 40109FE5 LDR R1,??main_0+24 ;; #`?<Constant "- testloop total %d ...">`
\ 00000154 40009FE5 LDR R0,??main_0+28 ;; #message
\ 00000158 ........ BL sprintf
108 at91_print(&COM,message);
\ 0000015C 38109FE5 LDR R1,??main_0+28 ;; #message
\ 00000160 38009FE5 LDR R0,??main_0+32 ;; #COM
\ 00000164 ........ BL at91_print
109
110 // send result
111 at91_pio_write ( &PIO_DESC, LED1, PIO_CLEAR_OUT );
\ 00000168 0120A0E3 MOV R2,#+0x1
\ 0000016C 0210A0E3 MOV R1,#+0x2
\ 00000170 2C009FE5 LDR R0,??main_0+36 ;; #PIO_DESC
\ 00000174 ........ BL at91_pio_write
\ 00000178 14D08DE2 ADD SP,SP,#+0x14 ;; stack cleaning
\ 0000017C BEFFFFEA B ??main_1
\ 00000180 DATA
\ ??main_0:
\ 00000180 ........ DC32 USART0_DESC
\ 00000184 ........ DC32 atmel_header
\ 00000188 ........ DC32 `?<Constant "** Mearsure **\\n\\r">`
\ 0000018C ........ DC32 `?<Constant "- Out test %d \\n\\r">`
\ 00000190 ........ DC32 `?<Constant "- cmpt++ test total:%...">`
\ 00000194 ........ DC32 TCB_DESC
\ 00000198 ........ DC32 `?<Constant "- testloop total %d ...">`
\ 0000019C ........ DC32 message
\ 000001A0 ........ DC32 COM
\ 000001A4 ........ DC32 PIO_DESC
112 }
113 }
114
115 //* End
116 }
117
Maximum stack usage in bytes:
Function CSTACK
-------- ------
main 28
178 bytes in segment HUGE_C
528 bytes in segment HUGE_Z
12 bytes in segment INITTAB
424 bytes in segment NEARFUNC_A
424 bytes of CODE memory (+ 12 bytes shared)
178 bytes of HUGECONST memory
528 bytes of HUGEDATA memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -