⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 协调器的执行程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
   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        **** //-----中国科学院计算技术研究所先进测试技术实验室-----//
   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        ****  //用于测试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();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -