Для программирования и проверки микроконтроллера ATmega103/L в последовательном режиме рекомендуется следующий алгоритм (формат 4-байтовых команд см. в таблице 39):
Таблица 38. Система команд программирования в последовательном режиме
Команда |
Формат команды |
Описание |
Байт 1 |
Байт 2 |
Байт 3 |
Байт 4 |
Разрешить программирование (Programming Enable) |
1010 1100 |
0101 0011 |
xxxx xxxx |
xxxx xxxx |
Разрешает последовательное программирование после установки RESET на низкий уровень |
Очистить кристалл (Chip Erase) |
1010 1100 |
100x xxxx |
xxxx xxxx |
xxxx xxxx |
Очищает Flash и EEPROM память |
Читать память программ (Read Program Memory) |
0010 H000 |
aaaa aaaa |
bbbb bbbb |
oooo oooo |
Читает H (1 или 0) и данные o памяти программ по слову адреса a:b |
Загрузить страницу памяти программ (Load Program Memory Page) |
0100 H000 |
xxxx xxxx |
xbbb bbbb |
iiii iiii |
Записывает H (1 или 0) и данные i в память программ по слову адреса b |
Записать страницу памяти программ (Write Program Memory Page) |
0100 1100 |
aaaa aaaa |
bxxx xxxx |
xxxx xxxx |
Записывает страницу памяти программ по адресу a:b |
Читать EEPROM память (Read EEPROM Memory) |
1010 0000 |
xxxx aaaa |
bbbb bbbb |
oooo oooo |
Читает данные o из EEPROM памяти по адресу a:b |
Записать в EEPROM память (Write EEPROM Memory) |
1100 0000 |
xxxx aaaa |
bbbb bbbb |
iiii iiii |
Записывает данные i в EEPROM память по адресу a:b |
Читать биты блокировки (Read Lock Bits) |
01011000 |
xxxx xxxx |
xxxx xxxx |
xxxx x 21x |
Читает биты блокировки.0 - запрограммирован, 1 - незапрограммирован |
Записать биты блокировки (Write Lock Bits) |
1010 1100 |
111x x 21x |
xxxx xxxx |
xxxx xxxx |
Записывает биты блокировки. При программировании биты 1,2 = 0 |
Читать биты-предохранители (Read Fuse Bits) |
01010000 |
xxxx xxxx |
xxxx xxxx |
xx 5x 61 43 |
Читает биты-предохранители. 0 - запрограммирован, 1 - незапрограммирован |
Записать биты-предохранители (Write Fuse Bits) |
1010 1100 |
101x 61 43 |
xxxx xxxx |
xxxx xxxx |
Записывает биты-предохранители.Устанавливает биты 6, 4,3=0 для программирования битов, 1 для очистки битов |
Читать байт сигнатуры (Read Signature Byte) |
0011 0000 |
xxxx xxxx |
xxxx xxbb |
oooo oooo |
Читает байт сигнатуры o по адресу b |