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

📄 main.lss

📁 一个WSN的树状路由,对于那些学WSN路由方面的朋友应该有说帮助.
💻 LSS
📖 第 1 页 / 共 5 页
字号:

main.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         0000004c  00800100  0000329c  00003330  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  1 .text         0000329c  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          000005b1  0080014c  0080014c  0000337c  2**0
                  ALLOC
  3 .noinit       00000000  008006fd  008006fd  0000337c  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  0000337c  2**0
                  CONTENTS
  5 .stab         00008a60  00000000  00000000  0000337c  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00003b16  00000000  00000000  0000bddc  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
       0:	0c 94 46 00 	jmp	0x8c
       4:	0c 94 63 00 	jmp	0xc6
       8:	0c 94 63 00 	jmp	0xc6
       c:	0c 94 63 00 	jmp	0xc6
      10:	0c 94 63 00 	jmp	0xc6
      14:	0c 94 63 00 	jmp	0xc6
      18:	0c 94 63 00 	jmp	0xc6
      1c:	0c 94 63 00 	jmp	0xc6
      20:	0c 94 63 00 	jmp	0xc6
      24:	0c 94 63 00 	jmp	0xc6
      28:	0c 94 63 00 	jmp	0xc6
      2c:	0c 94 63 00 	jmp	0xc6
      30:	0c 94 63 10 	jmp	0x20c6
      34:	0c 94 63 00 	jmp	0xc6
      38:	0c 94 63 00 	jmp	0xc6
      3c:	0c 94 06 0a 	jmp	0x140c
      40:	0c 94 63 00 	jmp	0xc6
      44:	0c 94 c7 0c 	jmp	0x198e
      48:	0c 94 6a 0e 	jmp	0x1cd4
      4c:	0c 94 63 00 	jmp	0xc6
      50:	0c 94 1f 0e 	jmp	0x1c3e
      54:	0c 94 24 01 	jmp	0x248
      58:	0c 94 63 00 	jmp	0xc6
      5c:	0c 94 63 00 	jmp	0xc6
      60:	0c 94 63 00 	jmp	0xc6
      64:	0c 94 63 00 	jmp	0xc6
      68:	0c 94 63 00 	jmp	0xc6
      6c:	0c 94 63 00 	jmp	0xc6
      70:	0c 94 63 00 	jmp	0xc6
      74:	0c 94 63 00 	jmp	0xc6
      78:	0c 94 63 00 	jmp	0xc6
      7c:	0c 94 63 00 	jmp	0xc6
      80:	0c 94 63 00 	jmp	0xc6
      84:	0c 94 63 00 	jmp	0xc6
      88:	0c 94 63 00 	jmp	0xc6

0000008c <__ctors_end>:
      8c:	11 24       	eor	r1, r1
      8e:	1f be       	out	0x3f, r1	; 63
      90:	cf ef       	ldi	r28, 0xFF	; 255
      92:	d0 e1       	ldi	r29, 0x10	; 16
      94:	de bf       	out	0x3e, r29	; 62
      96:	cd bf       	out	0x3d, r28	; 61

00000098 <__do_copy_data>:
      98:	11 e0       	ldi	r17, 0x01	; 1
      9a:	a0 e0       	ldi	r26, 0x00	; 0
      9c:	b1 e0       	ldi	r27, 0x01	; 1
      9e:	ec e9       	ldi	r30, 0x9C	; 156
      a0:	f2 e3       	ldi	r31, 0x32	; 50
      a2:	00 e0       	ldi	r16, 0x00	; 0
      a4:	0b bf       	out	0x3b, r16	; 59
      a6:	02 c0       	rjmp	.+4      	; 0xac

000000a8 <.__do_copy_data_loop>:
      a8:	07 90       	elpm	r0, Z+
      aa:	0d 92       	st	X+, r0

000000ac <.__do_copy_data_start>:
      ac:	ac 34       	cpi	r26, 0x4C	; 76
      ae:	b1 07       	cpc	r27, r17
      b0:	d9 f7       	brne	.-10     	; 0xa8

000000b2 <__do_clear_bss>:
      b2:	16 e0       	ldi	r17, 0x06	; 6
      b4:	ac e4       	ldi	r26, 0x4C	; 76
      b6:	b1 e0       	ldi	r27, 0x01	; 1
      b8:	01 c0       	rjmp	.+2      	; 0xbc

000000ba <.do_clear_bss_loop>:
      ba:	1d 92       	st	X+, r1

000000bc <.do_clear_bss_start>:
      bc:	ad 3f       	cpi	r26, 0xFD	; 253
      be:	b1 07       	cpc	r27, r17
      c0:	e1 f7       	brne	.-8      	; 0xba
      c2:	0c 94 65 00 	jmp	0xca

000000c6 <__bad_interrupt>:
      c6:	0c 94 00 00 	jmp	0x0

000000ca <main>:
*/
#include "os.h"

int main(void)
{
      ca:	cf ef       	ldi	r28, 0xFF	; 255
      cc:	d0 e1       	ldi	r29, 0x10	; 16
      ce:	de bf       	out	0x3e, r29	; 62
      d0:	cd bf       	out	0x3d, r28	; 61
	MainHardwareInit();
      d2:	0e 94 47 07 	call	0xe8e
	OSSchedInit();
      d6:	0e 94 4c 07 	call	0xe98
	
	MainStdControlInit();
      da:	0e 94 5f 07 	call	0xebe
	MainStdControlStart();
      de:	0e 94 63 07 	call	0xec6
	
	EnableInterrupt();
      e2:	0e 94 67 07 	call	0xece
	
	while (1) {
		OSHRunTask();
      e6:	0e 94 9e 07 	call	0xf3c
      ea:	fd cf       	rjmp	.-6      	; 0xe6

000000ec <ADCHPLInitPortmap>:

void ADCHPLInitPortmap(void)
{
	
	{ uint8_t atomicState = AtomicStart();
      ec:	0e 94 73 07 	call	0xee6
      f0:	28 2f       	mov	r18, r24
    {
		if (HPLADCM_init_portmap_done == FALSE) {
      f2:	80 91 52 01 	lds	r24, 0x0152
      f6:	88 23       	and	r24, r24
      f8:	91 f4       	brne	.+36     	; 0x11e
			int i;
			
			for (i = 0; i < OSH_ADC_PORTMAPSIZE; i++) 
      fa:	80 e0       	ldi	r24, 0x00	; 0
      fc:	90 e0       	ldi	r25, 0x00	; 0
      fe:	e3 e5       	ldi	r30, 0x53	; 83
     100:	f1 e0       	ldi	r31, 0x01	; 1
				adcPortmap[i] = i;
     102:	81 93       	st	Z+, r24
     104:	01 96       	adiw	r24, 0x01	; 1
     106:	8c 30       	cpi	r24, 0x0C	; 12
     108:	91 05       	cpc	r25, r1
     10a:	dc f3       	brlt	.-10     	; 0x102
			
			
			adcPortmap[OS_ADC_BANDGAP_PORT] = OSH_ACTUAL_BANDGAP_PORT;
     10c:	8e e1       	ldi	r24, 0x1E	; 30
     10e:	80 93 5d 01 	sts	0x015D, r24
			adcPortmap[OS_ADC_GND_PORT] = OSH_ACTUAL_GND_PORT;
     112:	8f e1       	ldi	r24, 0x1F	; 31
     114:	80 93 5e 01 	sts	0x015E, r24
			HPLADCM_init_portmap_done = TRUE;
     118:	81 e0       	ldi	r24, 0x01	; 1
     11a:	80 93 52 01 	sts	0x0152, r24
        }
    }
    AtomicEnd(atomicState); }
     11e:	82 2f       	mov	r24, r18
     120:	0e 94 71 07 	call	0xee2
     124:	08 95       	ret

00000126 <ADCControlInit>:
     126:	0e 94 73 07 	call	0xee6
     12a:	10 92 4d 01 	sts	0x014D, r1
     12e:	10 92 4c 01 	sts	0x014C, r1
     132:	10 92 51 01 	sts	0x0151, r1
     136:	10 92 50 01 	sts	0x0150, r1
     13a:	10 92 4f 01 	sts	0x014F, r1
     13e:	10 92 4e 01 	sts	0x014E, r1
     142:	0e 94 71 07 	call	0xee2
     146:	0e 94 76 00 	call	0xec
     14a:	0e 94 73 07 	call	0xee6
     14e:	9e e0       	ldi	r25, 0x0E	; 14
     150:	96 b9       	out	0x06, r25	; 6
     152:	17 b8       	out	0x07, r1	; 7
     154:	0e 94 71 07 	call	0xee2
     158:	81 e0       	ldi	r24, 0x01	; 1
     15a:	90 e0       	ldi	r25, 0x00	; 0
     15c:	08 95       	ret

0000015e <ADCBindPort>:
     15e:	1f 93       	push	r17
     160:	cf 93       	push	r28
     162:	c8 2f       	mov	r28, r24
     164:	16 2f       	mov	r17, r22
     166:	8c 30       	cpi	r24, 0x0C	; 12
     168:	90 f4       	brcc	.+36     	; 0x18e
     16a:	8a 30       	cpi	r24, 0x0A	; 10
     16c:	81 f0       	breq	.+32     	; 0x18e
     16e:	8b 30       	cpi	r24, 0x0B	; 11
     170:	71 f0       	breq	.+28     	; 0x18e
     172:	0e 94 76 00 	call	0xec
     176:	0e 94 73 07 	call	0xee6
     17a:	ec 2f       	mov	r30, r28
     17c:	ff 27       	eor	r31, r31
     17e:	ed 5a       	subi	r30, 0xAD	; 173
     180:	fe 4f       	sbci	r31, 0xFE	; 254
     182:	10 83       	st	Z, r17
     184:	0e 94 71 07 	call	0xee2
     188:	81 e0       	ldi	r24, 0x01	; 1
     18a:	90 e0       	ldi	r25, 0x00	; 0
     18c:	02 c0       	rjmp	.+4      	; 0x192
     18e:	80 e0       	ldi	r24, 0x00	; 0
     190:	90 e0       	ldi	r25, 0x00	; 0
     192:	cf 91       	pop	r28
     194:	1f 91       	pop	r17
     196:	08 95       	ret

00000198 <ADCHPLSamplePort>:
}

void __attribute((signal))   __vector_21(void)
{
	uint16_t data = * (volatile unsigned int *)(unsigned int )& * (volatile unsigned char *)(0x04 + 0x20);
	
	data &= 0x3ff;
	* (volatile unsigned char *)(0x06 + 0x20) |= 1 << 4;
	* (volatile unsigned char *)(0x06 + 0x20) &= ~(1 << 7);
	EnableInterrupt();
	ADCHPLDataReady(data);
}

static result_t ADCHPLSamplePort(uint8_t port)
{
     198:	1f 93       	push	r17
     19a:	18 2f       	mov	r17, r24
	{ uint8_t atomicState = AtomicStart();
     19c:	0e 94 73 07 	call	0xee6
    {
		* (volatile unsigned char *)(0x07 + 0x20) = adcPortmap[port] & 0x1F;
     1a0:	e3 e5       	ldi	r30, 0x53	; 83
     1a2:	f1 e0       	ldi	r31, 0x01	; 1
     1a4:	e1 0f       	add	r30, r17
     1a6:	f1 1d       	adc	r31, r1
     1a8:	90 81       	ld	r25, Z
     1aa:	9f 71       	andi	r25, 0x1F	; 31
     1ac:	97 b9       	out	0x07, r25	; 7
    }
    AtomicEnd(atomicState); }
     1ae:	0e 94 71 07 	call	0xee2
	* (volatile unsigned char *)(0x06 + 0x20) |= 1 << 7;
     1b2:	37 9a       	sbi	0x06, 7	; 6
	* (volatile unsigned char *)(0x06 + 0x20) |= 1 << 6;
     1b4:	36 9a       	sbi	0x06, 6	; 6
	
	return SUCCESS;
}     1b6:	81 e0       	ldi	r24, 0x01	; 1
     1b8:	90 e0       	ldi	r25, 0x00	; 0
     1ba:	1f 91       	pop	r17
     1bc:	08 95       	ret

000001be <ADCGetData>:
     1be:	df 92       	push	r13
     1c0:	ef 92       	push	r14
     1c2:	ff 92       	push	r15
     1c4:	0f 93       	push	r16
     1c6:	1f 93       	push	r17
     1c8:	cf 93       	push	r28
     1ca:	df 93       	push	r29
     1cc:	18 2f       	mov	r17, r24
     1ce:	01 e0       	ldi	r16, 0x01	; 1
     1d0:	8d 30       	cpi	r24, 0x0D	; 13
     1d2:	18 f0       	brcs	.+6      	; 0x1da
     1d4:	80 e0       	ldi	r24, 0x00	; 0
     1d6:	90 e0       	ldi	r25, 0x00	; 0
     1d8:	2e c0       	rjmp	.+92     	; 0x236
     1da:	e8 2e       	mov	r14, r24
     1dc:	ff 24       	eor	r15, r15
     1de:	c1 e0       	ldi	r28, 0x01	; 1
     1e0:	d0 e0       	ldi	r29, 0x00	; 0
     1e2:	0e 2c       	mov	r0, r14
     1e4:	02 c0       	rjmp	.+4      	; 0x1ea
     1e6:	cc 0f       	add	r28, r28
     1e8:	dd 1f       	adc	r29, r29
     1ea:	0a 94       	dec	r0
     1ec:	e2 f7       	brpl	.-8      	; 0x1e6
     1ee:	0e 94 73 07 	call	0xee6
     1f2:	d8 2e       	mov	r13, r24
     1f4:	20 91 4e 01 	lds	r18, 0x014E
     1f8:	30 91 4f 01 	lds	r19, 0x014F
     1fc:	ce 01       	movw	r24, r28
     1fe:	82 23       	and	r24, r18
     200:	93 23       	and	r25, r19
     202:	89 2b       	or	r24, r25
     204:	11 f0       	breq	.+4      	; 0x20a
     206:	00 e0       	ldi	r16, 0x00	; 0
     208:	11 c0       	rjmp	.+34     	; 0x22c
     20a:	ce 01       	movw	r24, r28
     20c:	82 2b       	or	r24, r18
     20e:	93 2b       	or	r25, r19
     210:	90 93 4f 01 	sts	0x014F, r25
     214:	80 93 4e 01 	sts	0x014E, r24
     218:	23 2b       	or	r18, r19
     21a:	41 f4       	brne	.+16     	; 0x22c
     21c:	f0 92 4d 01 	sts	0x014D, r15
     220:	e0 92 4c 01 	sts	0x014C, r14
     224:	81 2f       	mov	r24, r17
     226:	0e 94 cc 00 	call	0x198
     22a:	08 2f       	mov	r16, r24
     22c:	8d 2d       	mov	r24, r13
     22e:	0e 94 71 07 	call	0xee2
     232:	80 2f       	mov	r24, r16
     234:	99 27       	eor	r25, r25
     236:	99 27       	eor	r25, r25
     238:	df 91       	pop	r29
     23a:	cf 91       	pop	r28
     23c:	1f 91       	pop	r17
     23e:	0f 91       	pop	r16
     240:	ff 90       	pop	r15
     242:	ef 90       	pop	r14
     244:	df 90       	pop	r13
     246:	08 95       	ret

00000248 <__vector_21>:
     248:	1f 92       	push	r1
     24a:	0f 92       	push	r0
     24c:	0f b6       	in	r0, 0x3f	; 63
     24e:	0f 92       	push	r0
     250:	11 24       	eor	r1, r1
     252:	ef 92       	push	r14
     254:	ff 92       	push	r15
     256:	0f 93       	push	r16
     258:	1f 93       	push	r17
     25a:	2f 93       	push	r18
     25c:	3f 93       	push	r19
     25e:	4f 93       	push	r20
     260:	5f 93       	push	r21
     262:	6f 93       	push	r22
     264:	7f 93       	push	r23
     266:	8f 93       	push	r24
     268:	9f 93       	push	r25
     26a:	af 93       	push	r26
     26c:	bf 93       	push	r27
     26e:	cf 93       	push	r28
     270:	df 93       	push	r29
     272:	ef 93       	push	r30
     274:	ff 93       	push	r31
     276:	c4 b1       	in	r28, 0x04	; 4
     278:	d5 b1       	in	r29, 0x05	; 5
     27a:	d3 70       	andi	r29, 0x03	; 3
     27c:	34 9a       	sbi	0x06, 4	; 6
     27e:	37 98       	cbi	0x06, 7	; 6
     280:	0e 94 67 07 	call	0xece
     284:	0e 94 73 07 	call	0xee6
     288:	08 2f       	mov	r16, r24
     28a:	80 91 4c 01 	lds	r24, 0x014C
     28e:	e8 2e       	mov	r14, r24
     290:	ff 24       	eor	r15, r15
     292:	41 e0       	ldi	r20, 0x01	; 1
     294:	50 e0       	ldi	r21, 0x00	; 0
     296:	9a 01       	movw	r18, r20
     298:	0e 2c       	mov	r0, r14
     29a:	02 c0       	rjmp	.+4      	; 0x2a0
     29c:	22 0f       	add	r18, r18
     29e:	33 1f       	adc	r19, r19
     2a0:	0a 94       	dec	r0
     2a2:	e2 f7       	brpl	.-8      	; 0x29c
     2a4:	80 91 50 01 	lds	r24, 0x0150
     2a8:	90 91 51 01 	lds	r25, 0x0151
     2ac:	82 23       	and	r24, r18
     2ae:	93 23       	and	r25, r19
     2b0:	89 2b       	or	r24, r25
     2b2:	61 f4       	brne	.+24     	; 0x2cc
     2b4:	20 95       	com	r18
     2b6:	30 95       	com	r19
     2b8:	80 91 4e 01 	lds	r24, 0x014E
     2bc:	90 91 4f 01 	lds	r25, 0x014F
     2c0:	82 23       	and	r24, r18
     2c2:	93 23       	and	r25, r19
     2c4:	90 93 4f 01 	sts	0x014F, r25
     2c8:	80 93 4e 01 	sts	0x014E, r24
     2cc:	60 91 4e 01 	lds	r22, 0x014E
     2d0:	70 91 4f 01 	lds	r23, 0x014F
     2d4:	61 15       	cp	r22, r1
     2d6:	71 05       	cpc	r23, r1
     2d8:	11 f1       	breq	.+68     	; 0x31e
     2da:	fa 01       	movw	r30, r20
     2dc:	40 91 4c 01 	lds	r20, 0x014C
     2e0:	50 91 4d 01 	lds	r21, 0x014D
     2e4:	4f 5f       	subi	r20, 0xFF	; 255
     2e6:	5f 4f       	sbci	r21, 0xFF	; 255
     2e8:	4c 30       	cpi	r20, 0x0C	; 12
     2ea:	51 05       	cpc	r21, r1
     2ec:	11 f0       	breq	.+4      	; 0x2f2
     2ee:	9a 01       	movw	r18, r20
     2f0:	02 c0       	rjmp	.+4      	; 0x2f6
     2f2:	20 e0       	ldi	r18, 0x00	; 0
     2f4:	30 e0       	ldi	r19, 0x00	; 0
     2f6:	a9 01       	movw	r20, r18
     2f8:	cf 01       	movw	r24, r30
     2fa:	02 2e       	mov	r0, r18
     2fc:	02 c0       	rjmp	.+4      	; 0x302

⌨️ 快捷键说明

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