?? main.lst
字號(hào):
1 .file "main.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
11 .text
12 .Ltext0:
241 .global memory_init
243 memory_init:
1:main.c **** //----------------------------------------------------//
2:main.c **** //-------Institute Of Computing Technology-----------//
3:main.c **** //------------Chinese Academic Science---------------//
4:main.c **** //-----中國科學(xué)院計(jì)算技術(shù)研究所先進(jìn)測(cè)試技術(shù)實(shí)驗(yàn)室-----//
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 **** {
29:main.c **** OS_SET_PIN_DIRECTIONS();
30:main.c **** return SUCCESS;
31:main.c **** }
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 **** {
244 68,0,55,.LM0-.LFBB1
245 .LM0:
246 .LFBB1:
247 /* prologue: function */
248 /* frame size = 0 */
250 .LM1:
251 0000 E0E0 ldi r30,lo8(0)
252 0002 F0E0 ldi r31,hi8(0)
253 .L2:
56:main.c **** uint16_t index;
57:main.c **** BYTE *p;
58:main.c **** p=NULL;
59:main.c **** for(index=0;index<4096;index++)
60:main.c **** *(p+index)=0x00;
254 ,0,60,.LM2-.LFBB1
255 .LM2:
256 0004 1192 st Z+,__zero_reg__
258 .LM3:
259 0006 80E1 ldi r24,hi8(4096)
260 0008 E030 cpi r30,lo8(4096)
261 000a F807 cpc r31,r24
262 000c 01F4 brne .L2
263 /* epilogue start */
61:main.c **** }
264 ,0,61,.LM4-.LFBB1
265 .LM4:
266 000e 0895 ret
271 .Lscope1:
272 .data
273 .LC0:
274 0000 7374 6172 .string "start timer is %08lx,head of systime queue is %04x\n"
274 7420 7469
274 6D65 7220
274 6973 2025
274 3038 6C78
275 .LC1:
276 0034 0A2D 2D2D .string "\n----SYSTEM SLEEPING----"
276 2D53 5953
276 5445 4D20
276 534C 4545
276 5049 4E47
277 .text
279 .global main
281 main:
62:main.c ****
63:main.c **** void GET_ADC_value(void)
64:main.c **** {
65:main.c **** //printf("\n--timer0 interrupt----\n");
66:main.c **** read_data_task();
67:main.c **** DATA_READY=TRUE;
68:main.c **** mlmeSyncRequest(ppib.phyCurrentChanel,TRUE);
69:main.c ****
70:main.c **** }
71:main.c ****
72:main.c ****
73:main.c **** int main(void)
74:main.c **** {
282 M5-.LFBB2
283 .LM5:
284 .LFBB2:
285 0010 2F92 push r2
286 0012 3F92 push r3
287 0014 4F92 push r4
288 0016 5F92 push r5
289 0018 6F92 push r6
290 001a 7F92 push r7
291 001c 8F92 push r8
292 001e 9F92 push r9
293 0020 AF92 push r10
294 0022 BF92 push r11
295 0024 CF92 push r12
296 0026 DF92 push r13
297 0028 EF92 push r14
298 002a FF92 push r15
299 002c 0F93 push r16
300 002e 1F93 push r17
301 0030 DF93 push r29
302 0032 CF93 push r28
303 0034 CDB7 in r28,__SP_L__
304 0036 DEB7 in r29,__SP_H__
305 0038 A297 sbiw r28,34
306 003a 0FB6 in __tmp_reg__,__SREG__
307 003c F894 cli
308 003e DEBF out __SP_H__,r29
309 0040 0FBE out __SREG__,__tmp_reg__
310 0042 CDBF out __SP_L__,r28
311 /* prologue: function */
312 /* frame size = 34 */
313 .LBB5:
314 .LBB6:
316 .LM6:
317 0044 0E94 0000 call OS_SET_PIN_DIRECTIONS
318 .LBE6:
319 .LBE5:
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();
320 l Leds_greenOn
322 0048 0E94 0000 .LM8:
84:main.c **** Leds_redOn();
323 ll Leds_redOn
325 004c 0E94 0000 .LM9:
85:main.c **** Leds_yellowOn();
326 ll Leds_yellowOn
328 0050 0E94 0000 .LM10:
86:main.c **** IoInit();
329 ll IoInit
331 0054 0E94 0000 .LM11:
87:main.c ****
88:main.c **** OS_sched_init();
332 ll OS_sched_init
334 0058 0E94 0000 .LM12:
89:main.c ****
90:main.c **** phy_init();
335 ll phy_init
337 005c 0E94 0000 .LM13:
91:main.c **** //--------------------------------
92:main.c **** //MAC_init();
93:main.c **** os_atomic_enable_interrupt();
338 ll os_atomic_enable_interrupt
340 0060 0E94 0000 .LM14:
94:main.c ****
95:main.c **** DATA_READY=FALSE;
341 s DATA_READY,__zero_reg__
343 0064 1092 0000 .LM15:
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();
344 ll cc2420_enableAddrDecode
346 0068 0E94 0000 .LM16:
109:main.c **** MAC_init();
347 ll MAC_init
349 006c 0E94 0000 .LM17:
110:main.c **** router_init();
350 ll router_init
352 0070 0E94 0000 .LM18:
111:main.c **** wdt_disable();
353 i r24,lo8(24)
354 /* #APP */
355 0074 88E1 ; 111 "main.c" 1
356 in __tmp_reg__, __SREG__
357 cli
358 0076 0FB6 out 33, r24
359 0078 F894 out 33, __zero_reg__
360 007a 81BD out __SREG__,__tmp_reg__
361 007c 11BC
362 007e 0FBE ; 0 "" 2
364 .LM19:
112:main.c **** printf("start timer is %08lx,head of systime queue is %04x\n",systime32(),head_of_systimer_queue);
365
366 call systime32
367 in r18,__SP_L__
368 0080 0E94 0000 in r19,__SP_H__
369 0084 2DB7 subi r18,lo8(-(-8))
370 0086 3EB7 sbci r19,hi8(-(-8))
371 0088 2850 in __tmp_reg__,__SREG__
372 008a 3040 cli
373 008c 0FB6 out __SP_H__,r19
374 008e F894 out __SREG__,__tmp_reg__
375 0090 3EBF out __SP_L__,r18
376 0092 0FBE in r30,__SP_L__
377 0094 2DBF in r31,__SP_H__
378 0096 EDB7 adiw r30,1
379 0098 FEB7 ldi r18,lo8(.LC0)
380 009a 3196 ldi r19,hi8(.LC0)
381 009c 20E0 in r26,__SP_L__
382 009e 30E0 in r27,__SP_H__
383 00a0 ADB7 adiw r26,1+1
384 00a2 BEB7 st X,r19
385 00a4 1296 st -X,r18
386 00a6 3C93 sbiw r26,1
387 00a8 2E93 std Z+2,r22
388 00aa 1197 std Z+3,r23
389 00ac 6283 std Z+4,r24
390 00ae 7383 std Z+5,r25
391 00b0 8483 lds r24,head_of_systimer_queue
392 00b2 9583 lds r25,(head_of_systimer_queue)+1
393 00b4 8091 0000 std Z+7,r25
394 00b8 9091 0000 std Z+6,r24
395 00bc 9783 call printf
397 00c0 0E94 0000 .LM20:
113:main.c ****
114:main.c **** //mlmeResetRequest(TRUE);
115:main.c **** /*
116:main.c **** //用于測(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 **** //選中一批合適的信道并進(jìn)行設(shè)置,然后進(jìn)行active_passive_scan
130:main.c **** //PLME_SET_request(phyCurrentChanel_id, 3);
131:main.c ****
132:main.c **** //用于測(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 **** //選中新的網(wǎng)絡(luò)地址
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 **** //測(cè)試信標(biāo)幀的發(fā)送
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();
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -