08.04.2012
1. Всем известно что при разработке программы для PIC конфигурационные биты можно поместить в HEX файл. У AVR такой возможности нет. Но при поиске способа сохранить конфигурацию в файле прошивке нашел следующее.
Можно создать "ELF production file" который будет содержать FLASH, EEPROM, конфигурацию, биты защиты.
Для создания файла необходимо добавить в исходный код программы дополнительно несколько строк.
#include <avr/eeprom.h>
#include <avr/fuse.h>
#include <avr/lock.h>
#include <avr/signature.h>
// Необходимые настройки конфигурационных бит
FUSES = {
.low = (FUSE_SUT1 & FUSE_BODEN & FUSE_BODLEVEL),
.high = (FUSE_BOOTSZ0 & FUSE_BOOTSZ1 & FUSE_CKOPT & FUSE_SPIEN)
};
// Необходимые настройки битов защиты
LOCKBITS = (LB_MODE_1);
// Данные размещаемые в EEPROM
uint16_t em_Temperature EEMEM = 250; // Температура в °C
uint8_t em_Celsius EEMEM = 0xB9; // 0xB9 = °C или 0x71 = F
uint8_t em_Solder EEMEM = 0x01; // Текущий паяльник
В AVR Studio 5.1 файл ELF будет создан в той же папке где и прошивка.
11.04.2012
2. Если у Вас завалялись микроконтроллеры AVR серии AT90S и AVRISP-mkII их не поддерживает, то не спешите делать для них отдельный программатор. Добавить микроконтроллеры которые не поддерживаются в список поддерживаемых очень легко. Пример добавления AT90S2313 в список поддерживаемых:
В AVR Studio 4 найдите файл AT90S2313.xml расположенный в каталоге диск:\каталог установки\Atmel\AVR Tools\Partdescriptionfiles
Откройте AT90S2313.xml в блокноте.
Найдите строку:
<MODULE_LIST>[SIMULATOR:STK500:STK500_2]</MODULE_LIST>
и добавьте в нее выделенный жирным шрифтом текст:
<MODULE_LIST>[SIMULATOR:STK500:STK500_2:AVRISPmkII]</MODULE_LIST>
Найдите строку:
</STK500_2>
и добавьте после нее выделенный жирным шрифтом текст:
</STK500_2>
<AVRISPmkII/>
После этого AT90S2313 появиться в списке AVRISP-mkII, но AVRISP-mkII не даст запрограммировать биты FUSE и LOCK. Чтобы появилась возможность их программировать удалите следующие строки:
<NoFuseProg/>
<NoFuseLockRead/>
Ссылка на отредактированный файл