[RESOLU] Arduino boards.txt sans bootloader

Yep!

En lisant un post précedent, je me suis rendu compte en configurant mon fichier tiny/boards.txt, que le bootloader semble être chargé...Programeur Isp MK2.

attiny2313at8.bootloader.low_fuses=0xE4
attiny2313at8.bootloader.high_fuses=0x9F
attiny2313at8.bootloader.extended_fuses=0xFF
attiny2313at8.bootloader.path=empty
attiny2313at8.bootloader.file=empty2313at8.hex

Le fichier empty2313at8.hex fait prés de 915 octets.

Je suis du coup beaucoup plus dubitatif sur l'utilisation de l'IDE pour uploader mes programmes.

Alors, j'envoie, je n'envoie pas le bootloader ??? Mon programme écrase-t'il le empty*.hex ???
Puis-je me passer des lignes précedentes ??? (fuses ???)

attiny2313at8.upload.using=arduino:avrispmkii

@+

Zoroastre.

EDIT1 : le fichier n'a pas l'air si vide que cela

cat ./bootloaders/empty/empty2313at8.hex 
:1000000012C02AC029C028C027C026C02CC024C0C6
:1000100023C022C021C020C01FC01EC01DC01CC0E4
:100020001BC01AC019C011241FBECFEDCDBF10E0F8
:10003000A0E6B0E0ECE4F1E002C005900D92A0363D
:10004000B107D9F710E0A0E6B0E001C01D92A936D3
:10005000B107E1F704D078C0D3CF0895089557D001
:10006000FCDFFCDFFECF1F920F920FB60F92112420
:100070002F933F934F935F936F937F938F939F93B0
:10008000AF93BF932091640030916500409166006A
:100090005091670070916800DA01C9010296A11DB4
:1000A000B11D672F6A5F6D3730F06D57DA01C901F6
:1000B0000396A11DB11D6093680080936400909326
:1000C0006500A0936600B0936700809160009091F6
:1000D0006100A0916200B09163000196A11DB11D65
:1000E0008093600090936100A0936200B0936300DE
:1000F000BF91AF919F918F917F916F915F914F9140
:100100003F912F910F900FBE0F901F9018957894EC
:1001100080B7836080BF83B7877F83BF83B7887FC3
:10012000836083BF89B7826089BF8EB5887F8EBDAB
:100130008FB58C7F81608FBD8EB5877E8EBD8EB56D
:0C014000887F83608EBD0895F894FFCF87
:00000001FF

Salut,

zoroastre:
Alors, j'envoie, je n'envoie pas le bootloader ??? Mon programme écrase-t'il le empty*.hex ???
Puis-je me passer des lignes précedentes ??? (fuses ???)

Le bootloader n'est envoyé sur la carte que lorsque tu fait un "burn bootloader".
Dans tout les autres cas seul ton .hex compilé est envoyé sur la carte.

Prend l'exemple d'une carte arduino classique, quand tu fait "upload" tu n'envoie pas le bootloader en plus de ton code, la c'est pareil.

zoroastre:
EDIT1 : le fichier n'a pas l'air si vide que cela

J'ai désassemblé le contenu de ton .hex, de toute évidence c'est pas un bootloader, juste une espèce de sketch d'exemple.

Yep!

Un grand merci Skywodd :wink:

Je m'en doutais un peu, mais j'ai eu comme un gros doute là en regardant le fichier boards.txt.

skywodd:
J'ai désassemblé le contenu de ton .hex

Si je ne me trompe pas tu es sous linux aussi, tu as désassembler avec quoi ???

@+

Zoroastre.

zoroastre:
Si je ne me trompe pas tu es sous linux aussi, tu as désassembler avec quoi ???

Je suis un agent infiltré :grin: Je suis sous windows ET sous linux :grin:

Voila le makefile que j'ai codé pour désassembler ton .hex :

OBJCOPYBIN = avr-objcopy -I ihex -O binary
OBJCOPYELF = avr-objcopy -I binary -B avr -O elf32-avr
OBJDUMP = avr-objdump -D -S
OBJSIZE = avr-size

OBJECTS = dump.hex

all: clean elf asm size
	
elf: 
	$(OBJCOPYBIN) $(OBJECTS) $(OBJECTS).bin
	$(OBJCOPYELF) $(OBJECTS).bin $(OBJECTS).elf
	
asm: 
	$(OBJDUMP) $(OBJECTS).elf > $(OBJECTS).S
	
size: 
	$(OBJSIZE) $(OBJECTS)

clean:
	rm -f *.elf *.bin *.S

Si tu veut t'amuser je te joint un zip contenant un makefile complet permettant de compiler / désassembler un exemple de type blink.
C'est trés instructif comme procédé :wink: On remarque direct que avr-gcc n'est vraiment pas optimisé :zipper_mouth_face:
(C'est du fait maison, donc si ça plante fait le moi savoir ;))

Le code assembleur de ton .hex :

Disassembly of section .data:

00000000 <_binary_dump_hex_bin_start>:
   0:	12 c0       	rjmp	.+36     	; 0x26 <_binary_dump_hex_bin_start+0x26>
   2:	2a c0       	rjmp	.+84     	; 0x58 <_binary_dump_hex_bin_start+0x58>
   4:	29 c0       	rjmp	.+82     	; 0x58 <_binary_dump_hex_bin_start+0x58>
   6:	28 c0       	rjmp	.+80     	; 0x58 <_binary_dump_hex_bin_start+0x58>
   8:	27 c0       	rjmp	.+78     	; 0x58 <_binary_dump_hex_bin_start+0x58>
   a:	26 c0       	rjmp	.+76     	; 0x58 <_binary_dump_hex_bin_start+0x58>
   c:	2c c0       	rjmp	.+88     	; 0x66 <_binary_dump_hex_bin_start+0x66>
   e:	24 c0       	rjmp	.+72     	; 0x58 <_binary_dump_hex_bin_start+0x58>
  10:	23 c0       	rjmp	.+70     	; 0x58 <_binary_dump_hex_bin_start+0x58>
  12:	22 c0       	rjmp	.+68     	; 0x58 <_binary_dump_hex_bin_start+0x58>
  14:	21 c0       	rjmp	.+66     	; 0x58 <_binary_dump_hex_bin_start+0x58>
  16:	20 c0       	rjmp	.+64     	; 0x58 <_binary_dump_hex_bin_start+0x58>
  18:	1f c0       	rjmp	.+62     	; 0x58 <_binary_dump_hex_bin_start+0x58>
  1a:	1e c0       	rjmp	.+60     	; 0x58 <_binary_dump_hex_bin_start+0x58>
  1c:	1d c0       	rjmp	.+58     	; 0x58 <_binary_dump_hex_bin_start+0x58>
  1e:	1c c0       	rjmp	.+56     	; 0x58 <_binary_dump_hex_bin_start+0x58>
  20:	1b c0       	rjmp	.+54     	; 0x58 <_binary_dump_hex_bin_start+0x58>
  22:	1a c0       	rjmp	.+52     	; 0x58 <_binary_dump_hex_bin_start+0x58>
  24:	19 c0       	rjmp	.+50     	; 0x58 <_binary_dump_hex_bin_start+0x58>
  26:	11 24       	eor	r1, r1
  28:	1f be       	out	0x3f, r1	; 63
  2a:	cf ed       	ldi	r28, 0xDF	; 223
  2c:	cd bf       	out	0x3d, r28	; 61
  2e:	10 e0       	ldi	r17, 0x00	; 0
  30:	a0 e6       	ldi	r26, 0x60	; 96
  32:	b0 e0       	ldi	r27, 0x00	; 0
  34:	ec e4       	ldi	r30, 0x4C	; 76
  36:	f1 e0       	ldi	r31, 0x01	; 1
  38:	02 c0       	rjmp	.+4      	; 0x3e <_binary_dump_hex_bin_start+0x3e>
  3a:	05 90       	lpm	r0, Z+
  3c:	0d 92       	st	X+, r0
  3e:	a0 36       	cpi	r26, 0x60	; 96
  40:	b1 07       	cpc	r27, r17
  42:	d9 f7       	brne	.-10     	; 0x3a <_binary_dump_hex_bin_start+0x3a>
  44:	10 e0       	ldi	r17, 0x00	; 0
  46:	a0 e6       	ldi	r26, 0x60	; 96
  48:	b0 e0       	ldi	r27, 0x00	; 0
  4a:	01 c0       	rjmp	.+2      	; 0x4e <_binary_dump_hex_bin_start+0x4e>
  4c:	1d 92       	st	X+, r1
  4e:	a9 36       	cpi	r26, 0x69	; 105
  50:	b1 07       	cpc	r27, r17
  52:	e1 f7       	brne	.-8      	; 0x4c <_binary_dump_hex_bin_start+0x4c>
  54:	04 d0       	rcall	.+8      	; 0x5e <_binary_dump_hex_bin_start+0x5e>
  56:	78 c0       	rjmp	.+240    	; 0x148 <_binary_dump_hex_bin_start+0x148>
  58:	d3 cf       	rjmp	.-90     	; 0x0 <_binary_dump_hex_bin_start>
  5a:	08 95       	ret
  5c:	08 95       	ret
  5e:	57 d0       	rcall	.+174    	; 0x10e <_binary_dump_hex_bin_start+0x10e>
  60:	fc df       	rcall	.-8      	; 0x5a <_binary_dump_hex_bin_start+0x5a>
  62:	fc df       	rcall	.-8      	; 0x5c <_binary_dump_hex_bin_start+0x5c>
  64:	fe cf       	rjmp	.-4      	; 0x62 <_binary_dump_hex_bin_start+0x62>
  66:	1f 92       	push	r1
  68:	0f 92       	push	r0
  6a:	0f b6       	in	r0, 0x3f	; 63
  6c:	0f 92       	push	r0
  6e:	11 24       	eor	r1, r1
  70:	2f 93       	push	r18
  72:	3f 93       	push	r19
  74:	4f 93       	push	r20
  76:	5f 93       	push	r21
  78:	6f 93       	push	r22
  7a:	7f 93       	push	r23
  7c:	8f 93       	push	r24
  7e:	9f 93       	push	r25
  80:	af 93       	push	r26
  82:	bf 93       	push	r27
  84:	20 91 64 00 	lds	r18, 0x0064
  88:	30 91 65 00 	lds	r19, 0x0065
  8c:	40 91 66 00 	lds	r20, 0x0066
  90:	50 91 67 00 	lds	r21, 0x0067
  94:	70 91 68 00 	lds	r23, 0x0068
  98:	da 01       	movw	r26, r20
  9a:	c9 01       	movw	r24, r18
  9c:	02 96       	adiw	r24, 0x02	; 2
  9e:	a1 1d       	adc	r26, r1
  a0:	b1 1d       	adc	r27, r1
  a2:	67 2f       	mov	r22, r23
  a4:	6a 5f       	subi	r22, 0xFA	; 250
  a6:	6d 37       	cpi	r22, 0x7D	; 125
  a8:	30 f0       	brcs	.+12     	; 0xb6 <_binary_dump_hex_bin_start+0xb6>
  aa:	6d 57       	subi	r22, 0x7D	; 125
  ac:	da 01       	movw	r26, r20
  ae:	c9 01       	movw	r24, r18
  b0:	03 96       	adiw	r24, 0x03	; 3
  b2:	a1 1d       	adc	r26, r1
  b4:	b1 1d       	adc	r27, r1
  b6:	60 93 68 00 	sts	0x0068, r22
  ba:	80 93 64 00 	sts	0x0064, r24
  be:	90 93 65 00 	sts	0x0065, r25
  c2:	a0 93 66 00 	sts	0x0066, r26
  c6:	b0 93 67 00 	sts	0x0067, r27
  ca:	80 91 60 00 	lds	r24, 0x0060
  ce:	90 91 61 00 	lds	r25, 0x0061
  d2:	a0 91 62 00 	lds	r26, 0x0062
  d6:	b0 91 63 00 	lds	r27, 0x0063
  da:	01 96       	adiw	r24, 0x01	; 1
  dc:	a1 1d       	adc	r26, r1
  de:	b1 1d       	adc	r27, r1
  e0:	80 93 60 00 	sts	0x0060, r24
  e4:	90 93 61 00 	sts	0x0061, r25
  e8:	a0 93 62 00 	sts	0x0062, r26
  ec:	b0 93 63 00 	sts	0x0063, r27
  f0:	bf 91       	pop	r27
  f2:	af 91       	pop	r26
  f4:	9f 91       	pop	r25
  f6:	8f 91       	pop	r24
  f8:	7f 91       	pop	r23
  fa:	6f 91       	pop	r22
  fc:	5f 91       	pop	r21
  fe:	4f 91       	pop	r20
 100:	3f 91       	pop	r19
 102:	2f 91       	pop	r18
 104:	0f 90       	pop	r0
 106:	0f be       	out	0x3f, r0	; 63
 108:	0f 90       	pop	r0
 10a:	1f 90       	pop	r1
 10c:	18 95       	reti
 10e:	78 94       	sei
 110:	80 b7       	in	r24, 0x30	; 48
 112:	83 60       	ori	r24, 0x03	; 3
 114:	80 bf       	out	0x30, r24	; 48
 116:	83 b7       	in	r24, 0x33	; 51
 118:	87 7f       	andi	r24, 0xF7	; 247
 11a:	83 bf       	out	0x33, r24	; 51
 11c:	83 b7       	in	r24, 0x33	; 51
 11e:	88 7f       	andi	r24, 0xF8	; 248
 120:	83 60       	ori	r24, 0x03	; 3
 122:	83 bf       	out	0x33, r24	; 51
 124:	89 b7       	in	r24, 0x39	; 57
 126:	82 60       	ori	r24, 0x02	; 2
 128:	89 bf       	out	0x39, r24	; 57
 12a:	8e b5       	in	r24, 0x2e	; 46
 12c:	88 7f       	andi	r24, 0xF8	; 248
 12e:	8e bd       	out	0x2e, r24	; 46
 130:	8f b5       	in	r24, 0x2f	; 47
 132:	8c 7f       	andi	r24, 0xFC	; 252
 134:	81 60       	ori	r24, 0x01	; 1
 136:	8f bd       	out	0x2f, r24	; 47
 138:	8e b5       	in	r24, 0x2e	; 46
 13a:	87 7e       	andi	r24, 0xE7	; 231
 13c:	8e bd       	out	0x2e, r24	; 46
 13e:	8e b5       	in	r24, 0x2e	; 46
 140:	88 7f       	andi	r24, 0xF8	; 248
 142:	83 60       	ori	r24, 0x03	; 3
 144:	8e bd       	out	0x2e, r24	; 46
 146:	08 95       	ret
 148:	f8 94       	cli
 14a:	ff cf       	rjmp	.-2      	; 0x14a <_binary_dump_hex_bin_start+0x14a>

hackme.zip (3.68 KB)