Difference between revisions of "Lbcontrol Ru"

From ElphelWiki
Jump to: navigation, search
(замечания по сигналу 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 19: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 байт.