Lbcontrol Ru
From ElphelWiki
Внутрисхемный программатор для программирования платы объектива - lbcontrol
Для программирования используются сигналы
| плата объектива | Разъем Сигнал Порт Пин | W301 RESET PB7 11 | W302 XTAL1 PB4 7 | W303 SCK PB2 32 | W304 MISO PB1 31 | W305 MOSI PB0 30
Использование
lbcontrol [опции] -wf file записать образ из файла во flash (память программ) -rf file прочитать память программ и записать образ в файл -we file записать образ из файла в EEPROM (энергонезависимая память данных) -re file прочитать EEPROM и записать образ в файл -e стереть МК, стираются и flash и EEPROM -RE addr прочитать байт из EEPROM по адресу addr -WE addr byte записать байт в EEPROM по адресу addr -rl прочитать lock биты -wl byte записать lock биты (0xFF - разрешить программирование и чтение МК (по умолчанию); 0xFE - запретить программирование, чтение разрешено; 0xFC - программирование запрещено, чтение запрещено) -rc прочитать байт калибровки внутреннего RC генератора -rs прочитать опознавательную сигнатуру МК -ruh прочитать старший байт fuse -wuh byte записать старший байт fuse -rul прочитать младьший байт fuse -wul byte записать младьший байт fuse -h помощь
Имеет следующие ограничения:
Поддержка только ATtiny26 Только постраничная запись flash памяти контроллера Нет поддержки сегментов в адресах, программируются ус-ва не более 64Кбайт flash памяти. Прошивка flash только Intel HEX format Прошивка EEPROM в бинарном виде, берутся только первые 128 байт. Прошивка flash в файле только непрерывная. С последоватальным увеличением адресов, без дырок и т.п.
Не совсем понятен порядок байтов с слове в файле и флеше. По описанию первым следует записывать первый байт, затем второй, если они хранятся в файле в обратном порядке, надо будет переставлять местами, пока считаем что храняться как надо.
Переменная LINEBUF_SIZE определяет размер массива при чтении строк прошивки памяти программ, размер образа EEPROM, сам размер EEPROM-а как при чтении так и при записи его в МК. По умолчанию равна 128 байт.