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

📄 main.lst

📁 利用zigbee进行定位的程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
   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:
 133               	.global	hardwareInit
 135               	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        ****  * www.wsn.net.cn
   9:main.c        ****  * @copyright:nbicc_lpp
  10:main.c        ****  * @data:2005.11.22
  11:main.c        ****  * @version:0.0.1
  12:main.c        ****  * @updata:$
  13:main.c        ****  *
  14:main.c        ****  */
  15:main.c        **** #include "top.h"
  16:main.c        **** #include "generic.h"
  17:main.c        **** 
  18:main.c        **** //--------------------------------------------------------
  19:main.c        **** 
  20:main.c        **** 
  21:main.c        **** //--------------------------------------------------------
  22:main.c        **** //---------------------------------------------------------------
  23:main.c        **** inline uint8_t hardwareInit(void)
  24:main.c        **** 
  25:main.c        **** {
 137               	.LM1:
 138               	/* prologue: frame size=0 */
 139               	/* prologue end (size=0) */
  26:main.c        **** 
 141               	.LM2:
 142 0000 0E94 0000 		call OS_SET_PIN_DIRECTIONS
  27:main.c        **** 
  28:main.c        ****   OS_SET_PIN_DIRECTIONS();
 144               	.LM3:
 145 0004 81E0      		ldi r24,lo8(1)
 146 0006 90E0      		ldi r25,hi8(1)
 147               	/* epilogue: frame size=0 */
 148 0008 0895      		ret
 149               	/* epilogue end (size=1) */
 150               	/* function hardwareInit size 5 (4) */
 152               		.data
 153               	.LC0:
 154 0000 0A66 6C61 		.string	"\nflash is not empty!test[0]is %02x\n"
 154      7368 2069 
 154      7320 6E6F 
 154      7420 656D 
 154      7074 7921 
 155               	.LC1:
 156 0024 0A66 6C61 		.string	"\nflash is  empty!"
 156      7368 2069 
 156      7320 2065 
 156      6D70 7479 
 156      2100 
 157               		.text
 159               	.global	main
 161               	main:
  29:main.c        **** 
  30:main.c        ****   return SUCCESS;
  31:main.c        **** }
  32:main.c        **** 
  33:main.c        **** 
 163               	.LM4:
 164               	/* prologue: frame size=0 */
 165 000a C0E0      		ldi r28,lo8(__stack - 0)
 166 000c D0E0      		ldi r29,hi8(__stack - 0)
 167 000e DEBF      		out __SP_H__,r29
 168 0010 CDBF      		out __SP_L__,r28
 169               	/* prologue end (size=4) */
 170               	.LBB2:
 171               	.LBB3:
 173               	.LM5:
 174 0012 0E94 0000 		call OS_SET_PIN_DIRECTIONS
 175               	.LBE3:
 176               	.LBE2:
  34:main.c        **** //---------------------------------------------------------
  35:main.c        **** int   main(void)
  36:main.c        **** {
 178               	.LM6:
 179 0016 0E94 0000 		call Leds_greenOn
  37:main.c        **** 
 181               	.LM7:
 182 001a 0E94 0000 		call Leds_redOn
  38:main.c        ****   hardwareInit();
 184               	.LM8:
 185 001e 0E94 0000 		call Leds_yellowOn
  39:main.c        ****   Leds_greenOn();
 187               	.LM9:
 188 0022 0E94 0000 		call IoInit
  40:main.c        ****   Leds_redOn();
  41:main.c        ****   Leds_yellowOn();
 190               	.LM10:
 191 0026 0E94 0000 		call OS_sched_init
  42:main.c        ****   IoInit();
 193               	.LM11:
 194 002a 0E94 0000 		call cc2420_init
  43:main.c        ****   
 196               	.LM12:
 197 002e 0E94 0000 		call os_atomic_enable_interrupt
  44:main.c        ****   OS_sched_init();
  45:main.c        ****   cc2420_init();
  46:main.c        ****   os_atomic_enable_interrupt();
  47:main.c        ****   
  48:main.c        ****   //-------------------------------------------------
 199               	.LM13:
 200 0032 1092 0000 		sts isready,__zero_reg__
  49:main.c        ****   //init rssi and payload var
 202               	.LM14:
 203 0036 1092 0000 		sts (tend)+1,__zero_reg__
 204 003a 1092 0000 		sts tend,__zero_reg__
  50:main.c        ****  //-------------------------------------------------
 206               	.LM15:
 207 003e 1092 0000 		sts (payload)+1,__zero_reg__
 208 0042 1092 0000 		sts payload,__zero_reg__
  51:main.c        ****   isready=0;
 210               	.LM16:
 211 0046 1092 0000 		sts (pagenum)+1,__zero_reg__
 212 004a 1092 0000 		sts pagenum,__zero_reg__
  52:main.c        ****   tend=0;
 214               	.LM17:
 215 004e 1092 0000 		sts testnum,__zero_reg__
 216 0052 80E0      		ldi r24,lo8(rssi)
 217 0054 90E0      		ldi r25,hi8(rssi)
 218 0056 FC01      		movw r30,r24
 219               	.L7:
 220               	.LBB4:
  53:main.c        ****   payload=0;
  54:main.c        ****   pagenum=0;
  55:main.c        ****   testnum=0;
  56:main.c        ****   for (int i=0;i<1003;i++)
 222               	.LM18:
 223 0058 1192      		st Z+,__zero_reg__
 225               	.LM19:
 226 005a 20E0      		ldi r18,hi8(rssi+1002)
 227 005c E030      		cpi r30,lo8(rssi+1002)
 228 005e F207      		cpc r31,r18
 229 0060 D9F3      		breq .L7
 230 0062 D4F3      		brlt .L7
 231               	.LBE4:
  57:main.c        ****        	{
  58:main.c        ****        		
  59:main.c        **** 			rssi[i]=0;
 233               	.LM20:
 234 0064 9093 0000 		sts (prssi)+1,r25
 235 0068 8093 0000 		sts prssi,r24
  60:main.c        ****        	}
  61:main.c        ****   
  62:main.c        **** prssi=rssi;  
  63:main.c        ****   
  64:main.c        ****   //-------------------------------------------------
 237               	.LM21:
 238 006c 0E94 0000 		call extflash_ini
 239 0070 E0E0      		ldi r30,lo8(test)
 240 0072 F0E0      		ldi r31,hi8(test)
 241               	.L11:
 242               	.LBB5:
  65:main.c        ****   //some test for extflash
  66:main.c        ****  //-------------------------------------------------
  67:main.c        ****  extflash_ini();
  68:main.c        **** 
 244               	.LM22:
 245 0074 1192      		st Z+,__zero_reg__
 247               	.LM23:
 248 0076 80E0      		ldi r24,hi8(test+263)
 249 0078 E030      		cpi r30,lo8(test+263)
 250 007a F807      		cpc r31,r24
 251 007c D9F3      		breq .L11
 252 007e D4F3      		brlt .L11
 253               	.LBE5:
  69:main.c        ****  for (int i=0;i<264;i++)
  70:main.c        **** 		       	{
 255               	.LM24:
 256 0080 28E0      		ldi r18,lo8(264)
 257 0082 31E0      		ldi r19,hi8(264)
 258 0084 40E0      		ldi r20,lo8(test)
 259 0086 50E0      		ldi r21,hi8(test)
 260 0088 60E0      		ldi r22,lo8(0)
 261 008a 70E0      		ldi r23,hi8(0)
 262 008c CB01      		movw r24,r22
 263 008e 0E94 0000 		call Main_Memory_PageRead
 264               	.L12:
  71:main.c        **** 		       	test[i]=0;
  72:main.c        **** 		       	}    
 266               	.LM25:
 267 0092 0E94 0000 		call Status_Register_Get
 268 0096 8823      		tst r24
 269 0098 E4F7      		brge .L12
  73:main.c        ****  				Main_Memory_PageRead(0, 0x0000, test, 264);//read the content of a page
  74:main.c        ****  
 271               	.LM26:
 272 009a 8091 0000 		lds r24,test
 273 009e 8F3F      		cpi r24,lo8(-1)
 274 00a0 71F0      		breq .L15
  75:main.c        ****  				while(!(Status_Register_Get()&0x80));
  76:main.c        ****  //-----------------
 276               	.LM27:
 277 00a2 9927      		clr r25
 278 00a4 9F93      		push r25
 279 00a6 8F93      		push r24
 280 00a8 80E0      		ldi r24,lo8(.LC0)
 281 00aa 90E0      		ldi r25,hi8(.LC0)
 282 00ac 9F93      		push r25
 283 00ae 8F93      		push r24
 284 00b0 0E94 0000 		call printf
 285 00b4 0F90      		pop __tmp_reg__
 286 00b6 0F90      		pop __tmp_reg__
 287 00b8 0F90      		pop __tmp_reg__
 288 00ba 0F90      		pop __tmp_reg__
 289 00bc 16C0      		rjmp .L16
 290               	.L15:
 291               	.LBB6:
  77:main.c        ****  if ((test[0]!=0xff)&&1)
  78:main.c        ****  	{
  79:main.c        ****  		printf("\nflash is not empty!test[0]is %02x\n",test[0]);
  80:main.c        ****  	}
  81:main.c        ****  else
 293               	.LM28:
 294 00be C0E0      		ldi r28,lo8(0)
 295 00c0 D0E0      		ldi r29,hi8(0)
 296               	.L23:
  82:main.c        ****  	{
  83:main.c        **** 		
 298               	.LM29:

⌨️ 快捷键说明

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