Difference between revisions of "Lbcontrol Ru"
(замечания по сигналу EXT_EXPOS) |
(состояние работы на текущий момент.) |
||
Line 17: | Line 17: | ||
lbcontrol [опции] | lbcontrol [опции] | ||
− | -wf file записать образ из файла во flash (память программ) | + | -wf file записать образ из файла во flash (память программ) - работает (н.к.) |
− | -rf file прочитать память программ и записать образ в файл | + | -rf file прочитать память программ и записать образ в файл - работает |
− | -we file записать образ из файла в EEPROM (энергонезависимая память данных) | + | -we file записать образ из файла в EEPROM (энергонезависимая память данных) - работает |
− | -re file прочитать EEPROM и записать образ в файл | + | -re file прочитать EEPROM и записать образ в файл - работает |
− | -e стереть МК, стираются и flash и EEPROM | + | -e стереть МК, стираются и flash и EEPROM - работает |
− | -RE addr прочитать байт из EEPROM по адресу addr | + | -RE addr прочитать байт из EEPROM по адресу addr - работает |
− | -WE addr byte записать байт в EEPROM по адресу addr | + | -WE addr byte записать байт в EEPROM по адресу addr - работает |
− | -rl прочитать lock биты | + | -rl прочитать lock биты - работает - работает |
− | -wl byte записать lock биты (0xFF - разрешить программирование и чтение МК (по умолчанию); 0xFE - запретить программирование, чтение разрешено; 0xFC - программирование запрещено, чтение запрещено) | + | -wl byte записать lock биты (0xFF - разрешить программирование и чтение МК (по умолчанию); 0xFE - запретить программирование, чтение разрешено; 0xFC - программирование запрещено, чтение запрещено) - работает |
− | -rc прочитать байт калибровки внутреннего RC генератора | + | -rc прочитать байт калибровки внутреннего RC генератора - работает |
− | -rs прочитать опознавательную сигнатуру МК | + | -rs прочитать опознавательную сигнатуру МК - работает |
− | -ruh прочитать старший байт fuse | + | -ruh прочитать старший байт fuse - работает |
− | -wuh byte записать старший байт fuse | + | -wuh byte записать старший байт fuse - не работает |
− | -rul прочитать младьший байт fuse | + | -rul прочитать младьший байт fuse - работает |
− | -wul byte записать младьший байт fuse | + | -wul byte записать младьший байт fuse - не работает |
− | -h помощь | + | -h помощь - работает |
Имеет следующие ограничения: | Имеет следующие ограничения: | ||
Line 44: | Line 44: | ||
Прошивка из МК читается из всей flash памяти (1К слов) и записывается в файл. | Прошивка из МК читается из всей flash памяти (1К слов) и записывается в файл. | ||
− | Не совсем понятен порядок байтов с слове в файле и флеше. По описанию первым следует записывать младьший байт, затем старший, если они хранятся в файле в обратном порядке, надо будет переставлять местами, пока считаем что храняться как надо. | + | Не совсем понятен порядок байтов с слове в файле и флеше. По описанию первым следует записывать младьший байт, затем старший, если они хранятся в файле в обратном порядке, надо будет переставлять местами, пока считаем что храняться как надо. Все нормально, записывается и читается порядок байт правильный. |
+ | |||
+ | При первом обращении к МК после выключения-включения питания не получается перейти в режим программирования. Второе и все следующие обращения к МК работают хорошо. Считаю это н.к., надо разобраться. | ||
Переменная LINEBUF_SIZE определяет размер массива при чтении строк прошивки памяти программ, размер образа EEPROM, сам размер EEPROM-а как при чтении так и при записи его в МК. По умолчанию равна 128 байт. | Переменная LINEBUF_SIZE определяет размер массива при чтении строк прошивки памяти программ, размер образа EEPROM, сам размер EEPROM-а как при чтении так и при записи его в МК. По умолчанию равна 128 байт. |
Revision as of 18:31, 19 October 2005
Описание на английском lbcontrol
Внутрисхемный программатор для программирования платы объектива - lbcontrol
Для программирования используются сигналы
плата камеры | плата объектива Разъем Сигнал | Разъем Сигнал Порт Пин J2-3 EXT_RST | W301 RESET PB7 11 J2-4 EXT_CLK | W302 XTAL1 PB4 7 J2-5 EXT_EXPOS | W303 SCK PB2 32 J2-1 EXT_SCL | W304 MISO PB1 31 J2-2 EXT_SDA | W305 MOSI PB0 30
/!\ Сигнал EXT_EXPOS который используется для синхронизации передаваемых данных, является инвертированным по выходу. Т.е. чтобы получить на выходе 1, в регистр надо писать чтобы установить 0 (пока нашел в чем проблема, потерял 1 день, спасибо логическому анализатору).
Использование
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 в файле только непрерывная. С последоватальным увеличением адресов, без дырок и т.п. Прошивка из МК читается из всей flash памяти (1К слов) и записывается в файл.
Не совсем понятен порядок байтов с слове в файле и флеше. По описанию первым следует записывать младьший байт, затем старший, если они хранятся в файле в обратном порядке, надо будет переставлять местами, пока считаем что храняться как надо. Все нормально, записывается и читается порядок байт правильный.
При первом обращении к МК после выключения-включения питания не получается перейти в режим программирования. Второе и все следующие обращения к МК работают хорошо. Считаю это н.к., надо разобраться.
Переменная LINEBUF_SIZE определяет размер массива при чтении строк прошивки памяти программ, размер образа EEPROM, сам размер EEPROM-а как при чтении так и при записи его в МК. По умолчанию равна 128 байт.