Ich habe eine Prototyp-Leiterplatte mit einem Attiny85 an Bord erstellt. Diese Attiny wird vom Lieferanten programmiert, bevor sie an den Leiterplattenhersteller gesendet wird. Ich habe meinen Prototyp am Freitag erhalten und es scheint, dass der Attiny auf der Platine eine viel langsamere Taktrate hat als meiner auf dem Steckbrett.
Ist die gewünschte IC-Taktspezifikation (z. B. 8 MHz intern) nicht in den HEX-Dateien enthalten, die man an den IC-Lieferanten sendet? Muss es gesondert angegeben werden?
Die HEX-Dateien enthalten nur den Inhalt des Flash-Speichers, nicht die Fuses.
Zusätzlich zur HEX-Datei müssen Sie auch die Werte für die Fuse-Bytes liefern. Hier ist, was Digikey benötigt, wenn Sie vorprogrammierte Teile anfordern...
The following information is required for us to program:
1. A copy of the program on master dip chip and disk or .HEX file via e-mail.
2. A letter / attachment stating the following information:
a) Oscillator used
b) Watchdog timer on or off
c) Brown out fuse – enable or disable
d) Power up timer – enable or disable
e) Checksum
f) Code protect – on or off
If sending via e-mail, please include a statement of not infringing anyone’s copyrights.
Ich weiß, das scheint rückständig und brutal, aber so geht es. Die meisten anderen Anbieter würden eine E-Mail bevorzugen, in der ihnen nur die Hex-Werte für die 3 Sicherungsbytes mitgeteilt werden. So könnte Ihre E-Mail aussehen...
Please program and verify the attached HEX file into the ATTINY85 parts.
Additionally, please program and verify the fuse bytes with the following values...
LOW: 0x62
HIGH: 0xDF
EXTENDED: 0xFF
Sie können diese Bytes von einem der vielen Taschenrechner im Internet erhalten , indem Sie im Dialogfeld "Geräteprogrammierung" in Atmel Studio suchen oder sie mit etwas wie AVRDUDE von einem funktionierenden Gerät lesen.
Interessanterweise kann das ELF-Dateiformat sowohl den Flash als auch die Fuses in einer einzigen Datei kapseln. Sie können eine dieser Dateien in Atmel Studio erstellen in Device Programming->Production Files
...
Leider habe ich noch nie eine ELF-Datei gesehen, die von einem Produktionsprogrammierer verwendet wurde. Sogar AVRDUDE muss dazu überredet werden, die einzelnen Werte innerhalb des ELF mit einer Befehlszeile wie ...
avrdude -p t85 -c usbtiny -B 6 -U flash:w:firmware.elf:e -U efuse:w:firmware.elf:e - U hfuse:w:firmware.elf:e -U lfuse:w:firmware.elf:e
Benutzer98663
Kafros
Benutzer98663
carloc