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

📄 temp.lss

📁 FLASH的一些资料
💻 LSS
📖 第 1 页 / 共 3 页
字号:

temp.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         00000000  00800100  00000724  000007b8  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  1 .text         00000724  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          00000000  00800100  00000724  000007b8  2**0
                  ALLOC
  3 .noinit       00000000  00800100  00800100  000007b8  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  000007b8  2**0
                  CONTENTS
  5 .stab         00000e34  00000000  00000000  000007b8  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000b37  00000000  00000000  000015ec  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 00 	jmp	0xc6
  34:	0c 94 63 00 	jmp	0xc6
  38:	0c 94 63 00 	jmp	0xc6
  3c:	0c 94 63 00 	jmp	0xc6
  40:	0c 94 63 00 	jmp	0xc6
  44:	0c 94 63 00 	jmp	0xc6
  48:	0c 94 63 00 	jmp	0xc6
  4c:	0c 94 63 00 	jmp	0xc6
  50:	0c 94 63 00 	jmp	0xc6
  54:	0c 94 63 00 	jmp	0xc6
  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:	e4 e2       	ldi	r30, 0x24	; 36
  a0:	f7 e0       	ldi	r31, 0x07	; 7
  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:	a0 30       	cpi	r26, 0x00	; 0
  ae:	b1 07       	cpc	r27, r17
  b0:	d9 f7       	brne	.-10     	; 0xa8

000000b2 <__do_clear_bss>:
  b2:	11 e0       	ldi	r17, 0x01	; 1
  b4:	a0 e0       	ldi	r26, 0x00	; 0
  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:	a0 30       	cpi	r26, 0x00	; 0
  be:	b1 07       	cpc	r27, r17
  c0:	e1 f7       	brne	.-8      	; 0xba
  c2:	0c 94 72 03 	jmp	0x6e4

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

000000ca <spi_initial>:
#define DF_SELECT_1   FLASH_CS_L
#define DF_DESELECT_1 FLASH_CS_H

void spi_initial(void)
{
  ca:	cf 93       	push	r28
  cc:	df 93       	push	r29
  ce:	cd b7       	in	r28, 0x3d	; 61
  d0:	de b7       	in	r29, 0x3e	; 62
  d2:	21 97       	sbiw	r28, 0x01	; 1
  d4:	0f b6       	in	r0, 0x3f	; 63
  d6:	f8 94       	cli
  d8:	de bf       	out	0x3e, r29	; 62
  da:	0f be       	out	0x3f, r0	; 63
  dc:	cd bf       	out	0x3d, r28	; 61
	uint8_t temp; 
	DDRB |= 0x07; //MISO=input and MOSI,SCK,SS = output 
  de:	80 91 37 00 	lds	r24, 0x0037
  e2:	87 60       	ori	r24, 0x07	; 7
  e4:	80 93 37 00 	sts	0x0037, r24
	PORTB |= 0x0f; //MISO上拉电阻有效 
  e8:	80 91 38 00 	lds	r24, 0x0038
  ec:	8f 60       	ori	r24, 0x0F	; 15
  ee:	80 93 38 00 	sts	0x0038, r24
	SPCR = 0x5c; //SPI允许,主机模式,MSB 
  f2:	8c e5       	ldi	r24, 0x5C	; 92
  f4:	80 93 2d 00 	sts	0x002D, r24
	SPSR = 0x00; 
  f8:	10 92 2e 00 	sts	0x002E, r1
	temp = SPSR; 
  fc:	80 91 2e 00 	lds	r24, 0x002E
 100:	89 83       	std	Y+1, r24	; 0x01
	temp = SPDR; //清空SPI,和中断标志,使SPI空闲 
 102:	80 91 2f 00 	lds	r24, 0x002F
 106:	89 83       	std	Y+1, r24	; 0x01

}
 108:	21 96       	adiw	r28, 0x01	; 1
 10a:	0f b6       	in	r0, 0x3f	; 63
 10c:	f8 94       	cli
 10e:	de bf       	out	0x3e, r29	; 62
 110:	0f be       	out	0x3f, r0	; 63
 112:	cd bf       	out	0x3d, r28	; 61
 114:	df 91       	pop	r29
 116:	cf 91       	pop	r28
 118:	08 95       	ret

0000011a <write_SPI>:
uint8_t write_SPI(uint8_t c)
{
 11a:	cf 93       	push	r28
 11c:	df 93       	push	r29
 11e:	cd b7       	in	r28, 0x3d	; 61
 120:	de b7       	in	r29, 0x3e	; 62
 122:	22 97       	sbiw	r28, 0x02	; 2
 124:	0f b6       	in	r0, 0x3f	; 63
 126:	f8 94       	cli
 128:	de bf       	out	0x3e, r29	; 62
 12a:	0f be       	out	0x3f, r0	; 63
 12c:	cd bf       	out	0x3d, r28	; 61
 12e:	89 83       	std	Y+1, r24	; 0x01
	uint8_t data;
	SPDR=c;
 130:	89 81       	ldd	r24, Y+1	; 0x01
 132:	80 93 2f 00 	sts	0x002F, r24
	while((SPSR&0x80)==0);
 136:	80 91 2e 00 	lds	r24, 0x002E
 13a:	88 23       	and	r24, r24
 13c:	e4 f7       	brge	.-8      	; 0x136
	data=SPDR;
 13e:	80 91 2f 00 	lds	r24, 0x002F
 142:	8a 83       	std	Y+2, r24	; 0x02
	return data;
 144:	8a 81       	ldd	r24, Y+2	; 0x02
 146:	99 27       	eor	r25, r25
}
 148:	22 96       	adiw	r28, 0x02	; 2
 14a:	0f b6       	in	r0, 0x3f	; 63
 14c:	f8 94       	cli
 14e:	de bf       	out	0x3e, r29	; 62
 150:	0f be       	out	0x3f, r0	; 63
 152:	cd bf       	out	0x3d, r28	; 61
 154:	df 91       	pop	r29
 156:	cf 91       	pop	r28
 158:	08 95       	ret

0000015a <Host_write_SPI>:
void Host_write_SPI(uint8_t c)
{
 15a:	cf 93       	push	r28
 15c:	df 93       	push	r29
 15e:	cd b7       	in	r28, 0x3d	; 61
 160:	de b7       	in	r29, 0x3e	; 62
 162:	21 97       	sbiw	r28, 0x01	; 1
 164:	0f b6       	in	r0, 0x3f	; 63
 166:	f8 94       	cli
 168:	de bf       	out	0x3e, r29	; 62
 16a:	0f be       	out	0x3f, r0	; 63
 16c:	cd bf       	out	0x3d, r28	; 61
 16e:	89 83       	std	Y+1, r24	; 0x01
	SPDR=c;
 170:	89 81       	ldd	r24, Y+1	; 0x01
 172:	80 93 2f 00 	sts	0x002F, r24
	while((SPSR&0x80)==0);
 176:	80 91 2e 00 	lds	r24, 0x002E
 17a:	88 23       	and	r24, r24
 17c:	e4 f7       	brge	.-8      	; 0x176
}
 17e:	21 96       	adiw	r28, 0x01	; 1
 180:	0f b6       	in	r0, 0x3f	; 63
 182:	f8 94       	cli
 184:	de bf       	out	0x3e, r29	; 62
 186:	0f be       	out	0x3f, r0	; 63
 188:	cd bf       	out	0x3d, r28	; 61
 18a:	df 91       	pop	r29
 18c:	cf 91       	pop	r28
 18e:	08 95       	ret

00000190 <df_init>:
void df_init(void)
{
 190:	cf 93       	push	r28
 192:	df 93       	push	r29
 194:	cd b7       	in	r28, 0x3d	; 61
 196:	de b7       	in	r29, 0x3e	; 62
cbi(DDRE,1);
 198:	80 91 22 00 	lds	r24, 0x0022
 19c:	8d 7f       	andi	r24, 0xFD	; 253
 19e:	80 93 22 00 	sts	0x0022, r24
sbi(PORTE,1);
 1a2:	80 91 23 00 	lds	r24, 0x0023
 1a6:	82 60       	ori	r24, 0x02	; 2
 1a8:	80 93 23 00 	sts	0x0023, r24
cbi(DDRE,0);
 1ac:	80 91 22 00 	lds	r24, 0x0022
 1b0:	8e 7f       	andi	r24, 0xFE	; 254
 1b2:	80 93 22 00 	sts	0x0022, r24
sbi(PORTE,0);
 1b6:	80 91 23 00 	lds	r24, 0x0023
 1ba:	81 60       	ori	r24, 0x01	; 1
 1bc:	80 93 23 00 	sts	0x0023, r24

spi_initial();
 1c0:	0e 94 65 00 	call	0xca
cbi(DDRE,5);//RDY
 1c4:	80 91 22 00 	lds	r24, 0x0022
 1c8:	8f 7d       	andi	r24, 0xDF	; 223
 1ca:	80 93 22 00 	sts	0x0022, r24
sbi(PORTE,5);
 1ce:	80 91 23 00 	lds	r24, 0x0023
 1d2:	80 62       	ori	r24, 0x20	; 32
 1d4:	80 93 23 00 	sts	0x0023, r24
sbi(DDRE,2);//CS
 1d8:	80 91 22 00 	lds	r24, 0x0022
 1dc:	84 60       	ori	r24, 0x04	; 4
 1de:	80 93 22 00 	sts	0x0022, r24
FLASH_CS_H;
 1e2:	80 91 23 00 	lds	r24, 0x0023
 1e6:	84 60       	ori	r24, 0x04	; 4
 1e8:	80 93 23 00 	sts	0x0023, r24
sbi(DDRE,4);//RES
 1ec:	80 91 22 00 	lds	r24, 0x0022
 1f0:	80 61       	ori	r24, 0x10	; 16
 1f2:	80 93 22 00 	sts	0x0022, r24
FLASH_RES_H;
 1f6:	80 91 23 00 	lds	r24, 0x0023
 1fa:	80 61       	ori	r24, 0x10	; 16
 1fc:	80 93 23 00 	sts	0x0023, r24
sbi(DDRE,3);//WP
 200:	80 91 22 00 	lds	r24, 0x0022
 204:	88 60       	ori	r24, 0x08	; 8
 206:	80 93 22 00 	sts	0x0022, r24
WP_H;
 20a:	80 91 23 00 	lds	r24, 0x0023
 20e:	88 60       	ori	r24, 0x08	; 8
 210:	80 93 23 00 	sts	0x0023, r24
}
 214:	df 91       	pop	r29
 216:	cf 91       	pop	r28
 218:	08 95       	ret

0000021a <DF_read_reg>:
uint8_t DF_read_reg(void)
{
 21a:	cf 93       	push	r28
 21c:	df 93       	push	r29
 21e:	cd b7       	in	r28, 0x3d	; 61
 220:	de b7       	in	r29, 0x3e	; 62
 222:	21 97       	sbiw	r28, 0x01	; 1
 224:	0f b6       	in	r0, 0x3f	; 63
 226:	f8 94       	cli
 228:	de bf       	out	0x3e, r29	; 62
 22a:	0f be       	out	0x3f, r0	; 63
 22c:	cd bf       	out	0x3d, r28	; 61
	uint8_t temp;
	temp=0;
 22e:	19 82       	std	Y+1, r1	; 0x01
	FLASH_CS_L;
 230:	80 91 23 00 	lds	r24, 0x0023
 234:	8b 7f       	andi	r24, 0xFB	; 251
 236:	80 93 23 00 	sts	0x0023, r24
	
	temp=write_SPI(0xd7);
 23a:	87 ed       	ldi	r24, 0xD7	; 215
 23c:	0e 94 8d 00 	call	0x11a
 240:	89 83       	std	Y+1, r24	; 0x01
	temp=write_SPI(0x00);
 242:	80 e0       	ldi	r24, 0x00	; 0
 244:	0e 94 8d 00 	call	0x11a
 248:	89 83       	std	Y+1, r24	; 0x01

	FLASH_CS_H;
 24a:	80 91 23 00 	lds	r24, 0x0023
 24e:	84 60       	ori	r24, 0x04	; 4
 250:	80 93 23 00 	sts	0x0023, r24
	return temp;
 254:	89 81       	ldd	r24, Y+1	; 0x01
 256:	99 27       	eor	r25, r25
}
 258:	21 96       	adiw	r28, 0x01	; 1
 25a:	0f b6       	in	r0, 0x3f	; 63
 25c:	f8 94       	cli
 25e:	de bf       	out	0x3e, r29	; 62
 260:	0f be       	out	0x3f, r0	; 63
 262:	cd bf       	out	0x3d, r28	; 61
 264:	df 91       	pop	r29
 266:	cf 91       	pop	r28
 268:	08 95       	ret

0000026a <DF_wait_busy>:
//检查状态寄存器最高位是否为忙,并等待空闲
void DF_wait_busy(void)
{

⌨️ 快捷键说明

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