?? main.lst
字號:
0000000C FFF9 BL initialize_system?T ; T=0x0001 (2)
74: while(1){
0000000E L_3:
76: if(uart0_receive_ok_flag){
0000000E 4800 LDR R0,=uart0_receive_ok_flag ; uart0_receive_ok_flag
00000010 7800 LDRB R0,[R0,#0x0] ; uart0_receive_ok_flag
00000012 2800 CMP R0,#0x0
00000014 D020 BEQ L_5 ; T=0x00000058
77: uart0_receive_ok_flag=FALSE;
00000016 2100 MOV R1,#0x0
00000018 4800 LDR R0,=uart0_receive_ok_flag ; uart0_receive_ok_flag
0000001A 7001 STRB R1,[R0,#0x0] ; uart0_receive_ok_flag
78: if(!feedback){
0000001C 1C38 MOV R0,R7 ; feedback
0000001E 0600 LSL R0,R0,#0x18 ; feedback
00000020 0E00 LSR R0,R0,#0x18
00000022 2800 CMP R0,#0x0
00000024 D110 BNE L_6 ; T=0x00000048
79: if(!strcmp(receive_buffer,"ERROR\r\n"))goto aa;
00000026 4800 LDR R0,=receive_buffer ; receive_buffer
00000028 4800 LDR R1,=??S_1 ; ??S_1
0000002A F7FF BL strcmp?T ; T=0x0001 (1)
0000002C FFE9 BL strcmp?T ; T=0x0001 (2)
0000002E 2800 CMP R0,#0x0 ; strcmp?T
00000030 D012 BEQ L_5 ; T=0x00000058
80: feedback=TRUE;
00000032 2701 MOV R7,#0x1
81: strcpy(buffer,receive_buffer);
00000034 4800 LDR R0,=buffer ; buffer
00000036 4800 LDR R1,=receive_buffer ; receive_buffer
00000038 F7FF BL strcpy?T ; T=0x0001 (1)
0000003A FFE2 BL strcpy?T ; T=0x0001 (2)
82: send_string_to_uart0(receive_buffer);
0000003C 4800 LDR R0,=receive_buffer ; receive_buffer
0000003E F7FF BL send_string_to_uart0?T ; T=0x0001 (1)
00000040 FFDF BL send_string_to_uart0?T ; T=0x0001 (2)
83: clear_receive_buffer();
00000042 F7FF BL clear_receive_buffer?T ; T=0x0001 (1)
00000044 FFDD BL clear_receive_buffer?T ; T=0x0001 (2)
84: aa:;
00000046 aa:
85: }else{
00000046 E007 B L_5 ; T=0x00000058
00000048 L_6:
ARM COMPILER V2.53, main 23/07/06 16:59:03 PAGE 6
86: if(!strcmp(receive_buffer,"OK\r\n"))command_ready=1;
00000048 4800 LDR R0,=receive_buffer ; receive_buffer
0000004A 4800 LDR R1,=??S_2 ; ??S_2
0000004C F7FF BL strcmp?T ; T=0x0001 (1)
0000004E FFD8 BL strcmp?T ; T=0x0001 (2)
00000050 2800 CMP R0,#0x0 ; strcmp?T
00000052 D100 BNE L_10 ; T=0x00000056
00000054 2601 MOV R6,#0x1
00000056 L_10:
87: feedback=FALSE;
00000056 2700 MOV R7,#0x0
89: }
00000058 L_5:
92: if(command_ready){
00000058 1C30 MOV R0,R6 ; command_ready
0000005A 2800 CMP R0,#0x0 ; command_ready
0000005C D00F BEQ L_11 ; T=0x0000007E
93: command_ready=FALSE;
0000005E 2600 MOV R6,#0x0
94: if(!strncmp(buffer,"FREQ",4)){
00000060 4800 LDR R0,=buffer ; buffer
00000062 4800 LDR R1,=??S_3 ; ??S_3
00000064 2204 MOV R2,#0x4
00000066 F7FF BL strncmp?T ; T=0x0001 (1)
00000068 FFCB BL strncmp?T ; T=0x0001 (2)
0000006A 2800 CMP R0,#0x0 ; strncmp?T
0000006C D107 BNE L_11 ; T=0x0000007E
95: temp=__atof(buffer+5);
0000006E 4800 LDR R0,=buffer + 0x5 ; buffer+5
00000070 F7FF BL __atof?T ; T=0x0001 (1)
00000072 FFC6 BL __atof?T ; T=0x0001 (2)
00000074 1C05 MOV R5,R0 ; temp
96: set_frequency(CHANNEL_A_B,temp);
00000076 1C29 MOV R1,R5 ; temp
00000078 2002 MOV R0,#0x2
0000007A F7FF BL set_frequency?T ; T=0x0001 (1)
0000007C FFC1 BL set_frequency?T ; T=0x0001 (2)
98: }
0000007E L_11:
99: if(j++==100000){
0000007E 1C20 MOV R0,R4 ; j
00000080 3401 ADD R4,#0x1
00000082 4800 LDR R1,=0x186A0
00000084 4288 CMP R0,R1 ; j
00000086 D105 BNE L_13 ; T=0x00000094
100: LED_ON
00000088 4800 LDR R1,=0x200000
0000008A 4800 LDR R0,=0xE0028014
0000008C 6001 STR R1,[R0,#0x0]
103: send_string_to_uart1("Hello I'm Vector");
0000008E 4800 LDR R0,=??S_4 ; ??S_4
00000090 F7FF BL send_string_to_uart1?T ; T=0x0001 (1)
00000092 FFB6 BL send_string_to_uart1?T ; T=0x0001 (2)
105: };
00000094 L_13:
106: if(j==200000){
00000094 1C20 MOV R0,R4 ; j
00000096 4800 LDR R1,=0x30D40
00000098 4288 CMP R0,R1 ; j
0000009A D1B8 BNE L_3 ; T=0x0000000E
107: LED_OFF
0000009C 4800 LDR R1,=0x200000
0000009E 4800 LDR R0,=0xE002801C
000000A0 6001 STR R1,[R0,#0x0]
109: j=0;
000000A2 2400 MOV R4,#0x0
ARM COMPILER V2.53, main 23/07/06 16:59:03 PAGE 7
112: }
000000A4 E7B3 B L_3 ; T=0x0000000E
000000A6 ; SCOPE-END
113: }
000000A6 BC08 POP {R3}
000000A8 4718 BX R3
000000AA ENDP ; 'main'
*** CODE SEGMENT '?PR?initialize_system?T?main':
125: void initialize_system(void)
00000000 B500 PUSH {LR}
126: {
00000002 ; SCOPE-START
130: initialize_ltc2600();
00000002 4800 LDR R2,=0x80000
00000004 4800 LDR R0,=0xE0028008
00000006 6801 LDR R1,[R0,#0x0]
00000008 4311 ORR R1,R2
0000000A 6001 STR R1,[R0,#0x0]
0000000C 4800 LDR R2,=0x100000
0000000E 4800 LDR R0,=0xE0028008
00000010 6801 LDR R1,[R0,#0x0]
00000012 4311 ORR R1,R2
00000014 6001 STR R1,[R0,#0x0]
00000016 4800 LDR R2,=0x40000
00000018 4800 LDR R0,=0xE0028008
0000001A 6801 LDR R1,[R0,#0x0]
0000001C 4311 ORR R1,R2
0000001E 6001 STR R1,[R0,#0x0]
132: set_sine_ac_zero(cal_a.sine_ac_zero,cal_b.sine_ac_zero);
00000020 4800 LDR R0,=cal_a ; cal_a
00000022 8800 LDRH R0,[R0,#0x0] ; cal_a
00000024 4800 LDR R1,=cal_b ; cal_b
00000026 8809 LDRH R1,[R1,#0x0] ; cal_b
00000028 F7FF BL set_sine_ac_zero?T ; T=0x0001 (1)
0000002A FFEA BL set_sine_ac_zero?T ; T=0x0001 (2)
133: set_squa_ac_zero(cal_a.squa_ac_zero,cal_b.squa_ac_zero);
0000002C 4800 LDR R0,=cal_a + 0x2 ; cal_a+2
0000002E 8800 LDRH R0,[R0,#0x0] ; cal_a+2
00000030 4800 LDR R1,=cal_b + 0x2 ; cal_b+2
00000032 8809 LDRH R1,[R1,#0x0] ; cal_b+2
00000034 F7FF BL set_squa_ac_zero?T ; T=0x0001 (1)
00000036 FFE4 BL set_squa_ac_zero?T ; T=0x0001 (2)
137: initialize_led();
00000038 4800 LDR R1,=0x200000
0000003A 4800 LDR R0,=0xE0028018
0000003C 6802 LDR R2,[R0,#0x0]
0000003E 430A ORR R2,R1
00000040 6002 STR R2,[R0,#0x0]
138: LED_ON;
00000042 4800 LDR R0,=0xE0028014
00000044 6001 STR R1,[R0,#0x0]
140: for(i=0;i<800000;i++); //power on delay;
00000046 2000 MOV R0,#0x0
00000048 ---- Variable 'i' assigned to Register 'R0' ----
00000048 L_15:
00000048 3001 ADD R0,#0x1
0000004A 1C01 MOV R1,R0 ; i
0000004C 4800 LDR R2,=0xC3500
0000004E 4291 CMP R1,R2 ; i
00000050 D3FA BCC L_15 ; T=0x00000048
143: initialize_master_spi();
00000052 F7FF BL initialize_master_spi?T ; T=0x0001 (1)
00000054 FFD5 BL initialize_master_spi?T ; T=0x0001 (2)
144: initialize_ad9958();
00000056 F7FF BL initialize_ad9958?T ; T=0x0001 (1)
00000058 FFD3 BL initialize_ad9958?T ; T=0x0001 (2)
ARM COMPILER V2.53, main 23/07/06 16:59:03 PAGE 8
145: set_frequency(CHANNEL_A,8000000.0);
0000005A 4800 LDR R1,=0x4AF42400
0000005C 2000 MOV R0,#0x0
0000005E F7FF BL set_frequency?T ; T=0x0001 (1)
00000060 FFCF BL set_frequency?T ; T=0x0001 (2)
146: set_frequency(CHANNEL_B,8000000.0);
00000062 4800 LDR R1,=0x4AF42400
00000064 2001 MOV R0,#0x1
00000066 F7FF BL set_frequency?T ; T=0x0001 (1)
00000068 FFCB BL set_frequency?T ; T=0x0001 (2)
148: set_phase(CHANNEL_A,0.0);
0000006A 2100 MOV R1,#0x0
0000006C 2000 MOV R0,#0x0
0000006E F7FF BL set_phase?T ; T=0x0001 (1)
00000070 FFC7 BL set_phase?T ; T=0x0001 (2)
151: LED_OFF;
00000072 4800 LDR R1,=0x200000
00000074 4800 LDR R0,=0xE002801C
00000076 6001 STR R1,[R0,#0x0]
152: IO0DIR|=(1<<16);
00000078 4800 LDR R2,=0x10000
0000007A 4800 LDR R0,=0xE0028008
0000007C 6801 LDR R1,[R0,#0x0]
0000007E 4311 ORR R1,R2
00000080 6001 STR R1,[R0,#0x0]
153: IO0DIR|=(1<<17);
00000082 4800 LDR R2,=0x20000
00000084 4800 LDR R0,=0xE0028008
00000086 6801 LDR R1,[R0,#0x0]
00000088 4311 ORR R1,R2
0000008A 6001 STR R1,[R0,#0x0]
154: p0.bits.bit16=1;
0000008C 4800 LDR R0,=p0 ; p0
0000008E 6801 LDR R1,[R0,#0x0] ; p0
00000090 4800 LDR R2,=0x10000
00000092 4311 ORR R1,R2
00000094 6001 STR R1,[R0,#0x0] ; p0
155: p0.bits.bit17=1;
00000096 4800 LDR R0,=p0 ; p0
00000098 6801 LDR R1,[R0,#0x0] ; p0
0000009A 4800 LDR R2,=0x20000
0000009C 4311 ORR R1,R2
0000009E 6001 STR R1,[R0,#0x0] ; p0
156: IO0PIN=p0.value;
000000A0 4800 LDR R0,=p0 ; p0
000000A2 6801 LDR R1,[R0,#0x0] ; p0
000000A4 4800 LDR R0,=0xE0028000
000000A6 6001 STR R1,[R0,#0x0]
158: set_amplitude(CHANNEL_A,parameter[0].waveform,20.0);
000000A8 4800 LDR R0,=parameter ; parameter
000000AA 6801 LDR R1,[R0,#0x0] ; parameter
000000AC 4800 LDR R2,=0x41A00000
000000AE 2000 MOV R0,#0x0
000000B0 F7FF BL set_amplitude?T ; T=0x0001 (1)
000000B2 FFA6 BL set_amplitude?T ; T=0x0001 (2)
159: set_amplitude(CHANNEL_B,parameter[1].waveform,20.0);
000000B4 4800 LDR R0,=parameter + 0x10 ; parameter+16
000000B6 6801 LDR R1,[R0,#0x0] ; parameter+16
000000B8 4800 LDR R2,=0x41A00000
000000BA 2001 MOV R0,#0x1
000000BC F7FF BL set_amplitude?T ; T=0x0001 (1)
000000BE FFA0 BL set_amplitude?T ; T=0x0001 (2)
161: initialize_uart0();
000000C0 F7FF BL initialize_uart0?T ; T=0x0001 (1)
000000C2 FF9E BL initialize_uart0?T ; T=0x0001 (2)
162: initialize_uart1();
ARM COMPILER V2.53, main 23/07/06 16:59:03 PAGE 9
000000C4 F7FF BL initialize_uart1?T ; T=0x0001 (1)
000000C6 FF9C BL initialize_uart1?T ; T=0x0001 (2)
163: initialize_timer0();
000000C8 F7FF BL initialize_timer0?T ; T=0x0001 (1)
000000CA FF9A BL initialize_timer0?T ; T=0x0001 (2)
164: enable_timer0();
000000CC 2101 MOV R1,#0x1
000000CE 4800 LDR R0,=0xE0004004
000000D0 6001 STR R1,[R0,#0x0]
000000D2 ; SCOPE-END
165: }
000000D2 BC08 POP {R3}
000000D4 4718 BX R3
000000D6 ENDP ; 'initialize_system?T'
*** CODE SEGMENT '?PR?clear_buffer?T?main':
177: void clear_buffer(void)
00000000 B500 PUSH {LR}
179: memset(buffer,0,BUFFER_SIZE);
00000002 4800 LDR R0,=buffer ; buffer
00000004 2100 MOV R1,#0x0
00000006 2264 MOV R2,#0x64
00000008 F7FF BL memset?T ; T=0x0001 (1)
0000000A FFFA BL memset?T ; T=0x0001 (2)
180: }
0000000C BC08 POP {R3}
0000000E 4718 BX R3
00000010 ENDP ; 'clear_buffer?T'
Module Information Static
----------------------------------
code size = ------
data size = 144
const size = 35
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -