📄 main.lst
字号:
1 .file "main.c"
2 .arch atmega128
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
11 .text
12 .Ltext0:
221 .global hardwareInit
223 hardwareInit:
1:main.c **** //----------------------------------------------------//
2:main.c **** //-------Institute Of Computing Technology-----------//
3:main.c **** //------------Chinese Academic Science---------------//
4:main.c **** //-----中国科学院计算技术研究所先进测试技术实验室-----//
5:main.c **** //----------------------------------------------------//
6:main.c ****
7:main.c **** // **************************************************
8:main.c **** // * @copyright:nbicc_lpp
9:main.c **** // * @this is main
10:main.c **** // * @author zhouqiang (zhouhongren@163.com)
11:main.c **** // * liulingyi (lingyiliu@ict.ac.cn)
12:main.c **** // * @data:2005.11.29
13:main.c **** // * @version:0.0.1
14:main.c **** // * @updata:$
15:main.c **** // **************************************************
16:main.c ****
17:main.c **** #include "top.h"
18:main.c ****
19:main.c **** //--------------------------------------------------------
20:main.c ****
21:main.c **** demo_beaconpacket * demopacket;
22:main.c **** //--------------------------------------------------------
23:main.c ****
24:main.c ****
25:main.c **** //---------------------------------------------------------------
26:main.c **** inline uint8_t hardwareInit(void)
27:main.c ****
28:main.c **** {
225 .LM1:
226 /* prologue: frame size=0 */
227 /* prologue end (size=0) */
29:main.c **** OS_SET_PIN_DIRECTIONS();
229 .LM2:
230 0000 0E94 0000 call OS_SET_PIN_DIRECTIONS
30:main.c **** return SUCCESS;
31:main.c **** }
232 .LM3:
233 0004 80E0 ldi r24,lo8(0)
234 0006 90E0 ldi r25,hi8(0)
235 /* epilogue: frame size=0 */
236 0008 0895 ret
237 /* epilogue end (size=1) */
238 /* function hardwareInit size 5 (4) */
241 .global memory_init
243 memory_init:
32:main.c ****
33:main.c ****
34:main.c ****
35:main.c **** uint8_t demo_ieee_address[8];
36:main.c **** uint16_t shortaddress;
37:main.c **** bool DATA_READY;
38:main.c ****
39:main.c ****
40:main.c **** //bool IS_FIRST_TIME_SYN_REQ;
41:main.c **** //---------------------------------------------------------
42:main.c **** extern MLME_SCAN_CONFIRM scan_result_info;
43:main.c **** extern MAC_PIB mac_pib_data;
44:main.c **** extern MAC_STATE_TYPE mac_current_state;
45:main.c **** extern bool IS_NETWORK_FORMED;
46:main.c **** extern RX_BUFFER * head_of_rx_buffer;
47:main.c **** extern TX_BUFFER * head_of_tx_buffer;
48:main.c **** extern Timer_Queue_pointer head_of_timer_queue;
49:main.c **** extern INDIRECT_TX_PENDING_QUEUE * head_of_indirect_pending_buffer;
50:main.c **** extern LONG_ADDR default_long_addr;
51:main.c **** //extern void read_data_task(void);
52:main.c **** //extern uint8_t adc_init(void);
53:main.c **** //extern uint8_t sensor_init(void);
54:main.c **** void memory_init(void)
55:main.c **** {
245 .LM4:
246 /* prologue: frame size=0 */
247 /* prologue end (size=0) */
56:main.c **** uint16_t index;
57:main.c **** BYTE *p;
58:main.c **** p=NULL;
249 .LM5:
250 000a E0E0 ldi r30,lo8(0)
251 000c F0E0 ldi r31,hi8(0)
252 .L6:
59:main.c **** for(index=0;index<4096;index++)
60:main.c **** *(p+index)=0x00;
254 .LM6:
255 000e 1192 st Z+,__zero_reg__
257 .LM7:
258 0010 80E1 ldi r24,hi8(4096)
259 0012 E030 cpi r30,lo8(4096)
260 0014 F807 cpc r31,r24
261 0016 D8F3 brlo .L6
262 /* epilogue: frame size=0 */
263 0018 0895 ret
264 /* epilogue end (size=1) */
265 /* function memory_init size 8 (7) */
269 .global GET_ADC_value
271 GET_ADC_value:
61:main.c **** }
62:main.c ****
63:main.c **** void GET_ADC_value(void)
64:main.c **** {
273 .LM8:
274 /* prologue: frame size=0 */
275 /* prologue end (size=0) */
65:main.c **** //printf("\n--timer0 interrupt----\n");
66:main.c **** read_data_task();
277 .LM9:
278 001a 0E94 0000 call read_data_task
67:main.c **** DATA_READY=TRUE;
280 .LM10:
281 001e 81E0 ldi r24,lo8(1)
282 0020 8093 0000 sts DATA_READY,r24
68:main.c **** mlmeSyncRequest(ppib.phyCurrentChanel,TRUE);
284 .LM11:
285 0024 682F mov r22,r24
286 0026 8091 0000 lds r24,ppib
287 002a 0E94 0000 call mlmeSyncRequest
288 /* epilogue: frame size=0 */
289 002e 0895 ret
290 /* epilogue end (size=1) */
291 /* function GET_ADC_value size 11 (10) */
293 .data
294 .LC0:
295 0000 7374 6172 .string "start timer is %08lx,head of systime queue is %04x\n"
295 7420 7469
295 6D65 7220
295 6973 2025
295 3038 6C78
296 .LC1:
297 0034 0A2D 2D2D .string "\n----START TO FORM NETWORK----"
297 2D53 5441
297 5254 2054
297 4F20 464F
297 524D 204E
298 .LC2:
299 0053 2538 640A .string "%8d\n"
299 00
300 .LC3:
301 0058 6F6B 00 .string "ok"
302 .LC4:
303 005b 6F6B 3100 .string "ok1"
304 .LC5:
305 005f 6F6B 3200 .string "ok2"
306 .LC6:
307 0063 6F6B 3300 .string "ok3"
308 .LC7:
309 0067 6F6B 3400 .string "ok4"
310 .LC8:
311 006b 0A2D 2D2D .string "\n----SYSTEM SLEEPING----"
311 2D53 5953
311 5445 4D20
311 534C 4545
311 5049 4E47
312 .text
314 .global main
316 main:
69:main.c ****
70:main.c **** }
71:main.c ****
72:main.c ****
73:main.c **** int main(void)
74:main.c **** {
318 .LM12:
319 /* prologue: frame size=34 */
320 0030 C0E0 ldi r28,lo8(__stack - 34)
321 0032 D0E0 ldi r29,hi8(__stack - 34)
322 0034 DEBF out __SP_H__,r29
323 0036 CDBF out __SP_L__,r28
324 /* prologue end (size=4) */
325 .LBB2:
326 .LBB3:
328 .LM13:
329 0038 0E94 0000 call OS_SET_PIN_DIRECTIONS
330 .LBE3:
331 .LBE2:
75:main.c ****
76:main.c **** uint8_t return_state;
77:main.c **** uint8_t index;
78:main.c **** Node_Capability temp_node;
79:main.c **** ADDRESS temp_addr;
80:main.c ****
81:main.c **** //memory_init();
82:main.c **** hardwareInit();
83:main.c **** Leds_greenOn();
333 .LM14:
334 003c 0E94 0000 call Leds_greenOn
84:main.c **** Leds_redOn();
336 .LM15:
337 0040 0E94 0000 call Leds_redOn
85:main.c **** Leds_yellowOn();
339 .LM16:
340 0044 0E94 0000 call Leds_yellowOn
86:main.c **** IoInit();
342 .LM17:
343 0048 0E94 0000 call IoInit
87:main.c ****
88:main.c **** OS_sched_init();
345 .LM18:
346 004c 0E94 0000 call OS_sched_init
89:main.c ****
90:main.c **** phy_init();
348 .LM19:
349 0050 0E94 0000 call phy_init
91:main.c **** //--------------------------------
92:main.c **** //MAC_init();
93:main.c **** os_atomic_enable_interrupt();
351 .LM20:
352 0054 0E94 0000 call os_atomic_enable_interrupt
94:main.c ****
95:main.c **** DATA_READY=FALSE;
354 .LM21:
355 0058 1092 0000 sts DATA_READY,__zero_reg__
96:main.c **** if(IS_RFD)
97:main.c **** {
98:main.c **** kertimer_init();
99:main.c **** adc_init();
100:main.c **** sensor_init();
101:main.c ****
102:main.c **** }
103:main.c **** // kertimer_start(2, KERTIMER_REPEAT, 0x27f, &Leds_yellowToggle);
104:main.c **** //kertimer_start(1, KERTIMER_REPEAT, 0x07f, &Leds_greenToggle);
105:main.c **** //kertimer_start(0, KERTIMER_REPEAT, 0x04f, &Leds_redToggle);
106:main.c ****
107:main.c **** // backoff_timer_setOneShot(0x20,&Leds_greenOn);
108:main.c **** cc2420_enableAddrDecode();
357 .LM22:
358 005c 0E94 0000 call cc2420_enableAddrDecode
109:main.c **** MAC_init();
360 .LM23:
361 0060 0E94 0000 call MAC_init
110:main.c **** router_init();
363 .LM24:
364 0064 0E94 0000 call router_init
111:main.c **** wdt_disable();
366 .LM25:
367 0068 88E1 ldi r24,lo8(24)
368 006a 90E0 ldi r25,hi8(24)
369 006c 20E0 ldi r18,lo8(0)
370 /* #APP */
371 006e 0FB6 in __tmp_reg__,__SREG__
372 0070 F894 cli
373 0072 A895 wdr
374 0074 81BD out 33,r24
375 0076 0FBE out __SREG__,__tmp_reg__
376 0078 21BD out 33,r18
112:main.c **** printf("start timer is %08lx,head of systime queue is %04x\n",systime32(),head_of_systimer_queue);
378 .LM26:
379 /* #NOAPP */
380 007a 8091 0000 lds r24,head_of_systimer_queue
381 007e 9091 0000 lds r25,(head_of_systimer_queue)+1
382 0082 9F93 push r25
383 0084 8F93 push r24
384 0086 0E94 0000 call systime32
385 008a DC01 movw r26,r24
386 008c CB01 movw r24,r22
387 008e BF93 push r27
388 0090 AF93 push r26
389 0092 9F93 push r25
390 0094 8F93 push r24
391 0096 80E0 ldi r24,lo8(.LC0)
392 0098 90E0 ldi r25,hi8(.LC0)
393 009a 9F93 push r25
394 009c 8F93 push r24
395 009e 0E94 0000 call printf
113:main.c ****
114:main.c **** //mlmeResetRequest(TRUE);
115:main.c **** /*
116:main.c **** //用于测试ED SCAN的代码
117:main.c **** return_state=PLME_SET_TRX_STATE_request(RX_ON);
118:main.c **** phy_channel_state=INACTIVE_PERIOD;
119:main.c **** if(return_state==PHY_SUCCESS)
120:main.c **** {
121:main.c **** //scan_result_info.resultListSize=16;
122:main.c **** //printf("\nstart to do ED SCAN\n");
123:main.c **** mlmeScanRequest(ED_SCAN, 0x0000ffff, 6);
124:main.c **** PLME_SET_TRX_STATE_request(TRX_OFF);
125:main.c **** for(index=0;index<scan_result_info.resultListSize;index++)
126:main.c **** //printf("%8d\n",scan_result_info.pEnergyDetectList[index]);
127:main.c **** }
128:main.c **** //*/
129:main.c **** //选中一批合适的信道并进行设置,然后进行active_passive_scan
130:main.c **** //PLME_SET_request(phyCurrentChanel_id, 3);
131:main.c ****
132:main.c **** //用于测试ACTIVE_PASSIVE_SCAN的代码
133:main.c **** //----------------------------------
134:main.c **** //wdt_enable(WDTO_2S);
135:main.c ****
136:main.c **** //----------------------------------
137:main.c **** //mlmeScanRequest(ACTIVE_PASSIVE_SCAN, 0x00000008, 6);
138:main.c ****
139:main.c ****
140:main.c **** //while(mac_current_state!=MAC_STATE_ACTIVE_PASSIVE_SCAN_FINISHED);
141:main.c **** /*
142:main.c **** //选中新的网络地址
143:main.c **** cc2420_bcn_accept();
144:main.c **** cc2420_setshortaddress((uint16_t)mac_pib_data.macShortAddress.Val);
145:main.c **** cc2420_setpanid((uint16_t)mac_pib_data.macPANId.Val);
146:main.c **** phy_channel_state=WAITING_FOR_BEACON;
147:main.c **** PLME_SET_request(phyCurrentChanel_id, 11);
148:main.c **** //-------------------------
149:main.c **** //uint16_t tempprint;
150:main.c **** //tempprint=cc2420_readreg(cc2420_FSCTRL);
151:main.c **** //printf("tempprintf is %04x",tempprint);
152:main.c **** //-------------------------
153:main.c **** return_state=PLME_SET_TRX_STATE_request(RX_ON);
154:main.c **** if(return_state!=PHY_SUCCESS)
155:main.c **** {
156:main.c **** error("\nopen the RF failure\n");
157:main.c **** return;
158:main.c **** }
159:main.c **** */
160:main.c **** //测试信标帧的发送
161:main.c **** //mlmeStartRequest(mac_pib_data.macPANId, ppib.phyCurrentChanel, mac_pib_data.macBeaconOrder, mac
162:main.c ****
163:main.c **** //head_of_systimer_queue=systimer_start_task(head_of_systimer_queue,RECEIVE_BEACON, 1000) ;
164:main.c **** //head_of_systimer_queue=systimer_start_task(head_of_systimer_queue,CAP_OVER, 5000) ;
165:main.c ****
166:main.c ****
167:main.c ****
168:main.c ****
169:main.c **** //cc2420_setrxmode();
170:main.c ****
171:main.c **** //cc2420_setpanid(0x0001);
172:main.c **** //cc2420_setshortaddress(0x0001);
173:main.c **** cc2420_enablefifop();
397 .LM27:
398 00a2 0E94 0000 call cc2420_enablefifop
174:main.c **** while(1) {
400 .LM28:
401 00a6 8DB7 in r24,__SP_L__
402 00a8 9EB7 in r25,__SP_H__
403 00aa 0896 adiw r24,8
404 00ac 0FB6 in __tmp_reg__,__SREG__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -