📄 macs.lst
字号:
962 03b6 F894 cli
963 03b8 DEBF out __SP_H__,r29
964 03ba 0FBE out __SREG__,__tmp_reg__
965 03bc CDBF out __SP_L__,r28
966 /* prologue end (size=20) */
244:macs.c **** //三种原因导致MAC层发送该原语通知高层。
245:macs.c **** //可通过post一个高层任务。高层对丢失同步可能要重新做出处理。
246:macs.c **** //空函数,高层实现
247:macs.c **** NODE_INFO dst;
248:macs.c **** //printf("\n--- a PAN ID conlict ----\n");
249:macs.c **** if(IS_COORDINATOR)
250:macs.c **** {
251:macs.c **** //可能需要重新设置一下mac层网络参数
252:macs.c **** coordinator_realignment_frame_send(0, dst, default_short_addr);
968 .LM61:
969 03be 8090 0000 lds r8,default_short_addr
970 03c2 9090 0000 lds r9,(default_short_addr)+1
971 03c6 A980 ldd r10,Y+1
972 03c8 BA80 ldd r11,Y+2
973 03ca CB80 ldd r12,Y+3
974 03cc DC80 ldd r13,Y+4
975 03ce ED80 ldd r14,Y+5
976 03d0 FE80 ldd r15,Y+6
977 03d2 0F81 ldd r16,Y+7
978 03d4 1885 ldd r17,Y+8
979 03d6 2985 ldd r18,Y+9
980 03d8 3A85 ldd r19,Y+10
981 03da 4B85 ldd r20,Y+11
982 03dc 5C85 ldd r21,Y+12
983 03de 6D85 ldd r22,Y+13
984 03e0 80E0 ldi r24,lo8(0)
985 03e2 0E94 0000 call coordinator_realignment_frame_send
253:macs.c **** mac_current_state=MAC_STATE_IDLE;
987 .LM62:
988 03e6 80E1 ldi r24,lo8(16)
989 03e8 8093 0000 sts mac_current_state,r24
990 /* epilogue: frame size=13 */
991 03ec 2D96 adiw r28,13
992 03ee 0FB6 in __tmp_reg__,__SREG__
993 03f0 F894 cli
994 03f2 DEBF out __SP_H__,r29
995 03f4 0FBE out __SREG__,__tmp_reg__
996 03f6 CDBF out __SP_L__,r28
997 03f8 DF91 pop r29
998 03fa CF91 pop r28
999 03fc 1F91 pop r17
1000 03fe 0F91 pop r16
1001 0400 FF90 pop r15
1002 0402 EF90 pop r14
1003 0404 DF90 pop r13
1004 0406 CF90 pop r12
1005 0408 BF90 pop r11
1006 040a AF90 pop r10
1007 040c 9F90 pop r9
1008 040e 8F90 pop r8
1009 0410 0895 ret
1010 /* epilogue end (size=19) */
1011 /* function mlmeSyncLossIndication size 62 (23) */
1014 .data
1015 .LC7:
1016 0164 0A2D 2D2D .string "\n----sensor data is sent successfull-----"
1016 2D73 656E
1016 736F 7220
1016 6461 7461
1016 2069 7320
1017 .text
1021 .global mcpsDataConfirm
1023 mcpsDataConfirm:
254:macs.c **** }
255:macs.c **** else
256:macs.c **** {
257:macs.c **** if(lossReason==BEACON_LOSS)
258:macs.c **** //网络重启动
259:macs.c **** mac_current_state=MAC_STATE_UNSTARTED;
260:macs.c **** //或者
261:macs.c **** //mac_current_state=MAC_STATE_ENERGY_SCAN_FINISHED;
262:macs.c **** }
263:macs.c **** }
264:macs.c ****
265:macs.c ****
266:macs.c **** void mcpsDataConfirm(MAC_ENUM status, BYTE msduHandle)
267:macs.c **** {
1025 .LM63:
1026 /* prologue: frame size=0 */
1027 /* prologue end (size=0) */
268:macs.c **** //作为MAC层对mcpsdatarequest的一个响应,通知高层
269:macs.c **** //空函数,高层实现
270:macs.c **** printf("\n----sensor data is sent successfull-----\n");
1029 .LM64:
1030 0412 80E0 ldi r24,lo8(.LC7)
1031 0414 90E0 ldi r25,hi8(.LC7)
1032 0416 0E94 0000 call puts
271:macs.c ****
272:macs.c **** mac_current_state=MAC_STATE_START_TO_SLEEP;
1034 .LM65:
1035 041a 82E1 ldi r24,lo8(18)
1036 041c 8093 0000 sts mac_current_state,r24
1037 /* epilogue: frame size=0 */
1038 0420 0895 ret
1039 /* epilogue end (size=1) */
1040 /* function mcpsDataConfirm size 8 (7) */
1042 .data
1043 .LC8:
1044 018e 0A2D 2D2D .string "\n-----success received the sensor data-------"
1044 2D2D 7375
1044 6363 6573
1044 7320 7265
1044 6365 6976
1045 .text
1048 .global mcpsDataIndication
1050 mcpsDataIndication:
273:macs.c ****
274:macs.c **** }
275:macs.c ****
276:macs.c **** void mcpsDataIndication(MCPS_DATA_INDICATION mcps_data_indication_info)
277:macs.c **** {
1052 .LM66:
1053 /* prologue: frame size=0 */
1054 0422 CF93 push r28
1055 0424 DF93 push r29
1056 0426 CDB7 in r28,__SP_L__
1057 0428 DEB7 in r29,__SP_H__
1058 /* prologue end (size=4) */
278:macs.c **** //MAC接收到一个数据帧后,通知高层,可post一个高层任务
279:macs.c **** //空函数,高层实现
280:macs.c **** printf("\n-----success received the sensor data-------\n");
1060 .LM67:
1061 042a 80E0 ldi r24,lo8(.LC8)
1062 042c 90E0 ldi r25,hi8(.LC8)
1063 042e 0E94 0000 call puts
281:macs.c ****
282:macs.c **** if(IS_COORDINATOR)
283:macs.c **** sensor_data_tx_to_pc(mcps_data_indication_info);
1065 .LM68:
1066 0432 8DB7 in r24,__SP_L__
1067 0434 9EB7 in r25,__SP_H__
1068 0436 8458 subi r24,lo8(-(-132))
1069 0438 9040 sbci r25,hi8(-(-132))
1070 043a 0FB6 in __tmp_reg__,__SREG__
1071 043c F894 cli
1072 043e 9EBF out __SP_H__,r25
1073 0440 0FBE out __SREG__,__tmp_reg__
1074 0442 8DBF out __SP_L__,r24
1075 0444 0196 adiw r24,1
1076 0446 24E8 ldi r18,lo8(-124)
1077 0448 FC01 movw r30,r24
1078 044a A5E0 ldi r26,lo8(5)
1079 044c B0E0 ldi r27,hi8(5)
1080 044e AC0F add r26,r28
1081 0450 BD1F adc r27,r29
1082 0452 0D90 ld __tmp_reg__,X+
1083 0454 0192 st Z+,__tmp_reg__
1084 0456 2A95 dec r18
1085 0458 E1F7 brne .-8
1086 045a 0E94 0000 call sensor_data_tx_to_pc
1087 045e 8DB7 in r24,__SP_L__
1088 0460 9EB7 in r25,__SP_H__
1089 0462 8C57 subi r24,lo8(-(132))
1090 0464 9F4F sbci r25,hi8(-(132))
1091 0466 0FB6 in __tmp_reg__,__SREG__
1092 0468 F894 cli
1093 046a 9EBF out __SP_H__,r25
1094 046c 0FBE out __SREG__,__tmp_reg__
1095 046e 8DBF out __SP_L__,r24
1096 /* epilogue: frame size=0 */
1097 0470 DF91 pop r29
1098 0472 CF91 pop r28
1099 0474 0895 ret
1100 /* epilogue end (size=3) */
1101 /* function mcpsDataIndication size 42 (35) */
1103 .comm OS_queue,16,1
1104 .comm OS_sched_full,1,1
1105 .comm OS_sched_free,1,1
1106 .comm currentTime,2,1
1107 .comm head_of_systimer_queue,2,1
1108 .comm timestamp_H,2,1
1109 .comm mState,4,1
1110 .comm setIntervalFlag,1,1
1111 .comm mScale,1,1
1112 .comm mInterval,1,1
1113 .comm queue_head,1,1
1114 .comm queue_tail,1,1
1115 .comm queue_size,1,1
1116 .comm queue,3,1
1117 .comm mTimerList,33,1
1118 .comm SENSOR_DATA_VALUE,20,1
1119 .comm ADC_INTERRUPT_FLAG,1,1
1120 .comm cc2420_bramspi,1,1
1121 .comm cc2420_rambuf,2,1
1122 .comm cc2420_ramlen,1,1
1123 .comm cc2420_ramaddr,2,1
1124 .comm cc2420fifo_bspi,1,1
1125 .comm cc2420fifo_txbuf,2,1
1126 .comm cc2420fifo_txlength,1,1
1127 .comm cc2420_rxbuf,4,1
1128 .comm cc2420_rxlength,1,1
1129 .comm cc2420_rxbuf_now,2,1
1130 .comm cc2420_rxlength_now,1,1
1131 .comm cc2420_rxbufuse,1,1
1132 .comm rfpackernum,1,1
1133 .comm cc2420_rxflag,1,1
1134 .comm cc2420_currentparameters,28,1
1135 .comm receive_timestamp,4,1
1136 .comm send_timestamp,4,1
1137 .comm cc2420_stateRadio,1,1
1138 .comm cc2420_LocalAddr,2,1
1139 .comm ieee_address,8,1
1140 .comm rxbuf_flag,1,1
1141 .comm ppib,3,1
1142 .comm GTSDirectionMask,1,1
1143 .comm phy_channel_state,1,1
1185 .text
1187 Letext:
1188 /* File "macs.c": code 571 = 0x023b ( 407), prologues 82, epilogues 82 */
DEFINED SYMBOLS
*ABS*:00000000 macs.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccIvaaaa.s:230 .text:00000000 mlmeScanConfirm
*COM*:00000003 ppib
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccIvaaaa.s:343 .text:000000a6 mlmeStartConfirm
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccIvaaaa.s:364 .text:000000a8 mlmeAssociateConfirm
*COM*:00000001 phy_channel_state
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccIvaaaa.s:443 .text:00000102 mlmeAssociateResponse
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccIvaaaa.s:630 .text:0000022c mlmeAssociateIndication
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccIvaaaa.s:733 .text:000002c4 mlmeDisassociateIndication
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccIvaaaa.s:782 .text:00000302 mlmeDisassociateConfirm
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccIvaaaa.s:813 .text:00000312 mlmeOrphanIndication
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccIvaaaa.s:898 .text:00000390 mlmeCommStatusIndication
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccIvaaaa.s:914 .text:00000392 mlmeRxEnableRequest
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccIvaaaa.s:928 .text:00000394 mlmeRxEnableConfirm
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccIvaaaa.s:942 .text:00000396 mlmeSyncLossIndication
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccIvaaaa.s:1023 .text:00000412 mcpsDataConfirm
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccIvaaaa.s:1050 .text:00000422 mcpsDataIndication
*COM*:00000010 OS_queue
*COM*:00000001 OS_sched_full
*COM*:00000001 OS_sched_free
*COM*:00000002 currentTime
*COM*:00000002 head_of_systimer_queue
*COM*:00000002 timestamp_H
*COM*:00000004 mState
*COM*:00000001 setIntervalFlag
*COM*:00000001 mScale
*COM*:00000001 mInterval
*COM*:00000001 queue_head
*COM*:00000001 queue_tail
*COM*:00000001 queue_size
*COM*:00000003 queue
*COM*:00000021 mTimerList
*COM*:00000014 SENSOR_DATA_VALUE
*COM*:00000001 ADC_INTERRUPT_FLAG
*COM*:00000001 cc2420_bramspi
*COM*:00000002 cc2420_rambuf
*COM*:00000001 cc2420_ramlen
*COM*:00000002 cc2420_ramaddr
*COM*:00000001 cc2420fifo_bspi
*COM*:00000002 cc2420fifo_txbuf
*COM*:00000001 cc2420fifo_txlength
*COM*:00000004 cc2420_rxbuf
*COM*:00000001 cc2420_rxlength
*COM*:00000002 cc2420_rxbuf_now
*COM*:00000001 cc2420_rxlength_now
*COM*:00000001 cc2420_rxbufuse
*COM*:00000001 rfpackernum
*COM*:00000001 cc2420_rxflag
*COM*:0000001c cc2420_currentparameters
*COM*:00000004 receive_timestamp
*COM*:00000004 send_timestamp
*COM*:00000001 cc2420_stateRadio
*COM*:00000002 cc2420_LocalAddr
*COM*:00000008 ieee_address
*COM*:00000001 rxbuf_flag
*COM*:00000001 GTSDirectionMask
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccIvaaaa.s:1187 .text:00000476 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
puts
mac_current_state
mac_pib_data
PLME_SET_TRX_STATE_request
cc2420_setshortaddress
cc2420_setpanid
current_pending_num
add_pending_queue
short_address_allocate_req
printf
mlmeOrphanResponse
default_short_addr
coordinator_realignment_frame_send
sensor_data_tx_to_pc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -