AVReAl update — 1.28r14

Вийшла нова версія програматора avreal — v1.28r14 (Mon 2013-08-05).

  • Виправлено помилку в сигнатурах ATmega128rfr2, ATmega256rfr2;
  • Додано ATmega32HVE, ATmega64HVE.

AVReAl update — 1.28r13

Вийшла нова версія програматора avreal — v1.28r13 (Sun 2013-06-02).

Помилка в синхронізації (MPSSE)

Виявлено помилку, через яку не проходить процедура пересинхронізації додатковим імпульсом SCK у наступних умовах:

  • програма у мікроконтролері виставляє на ніжці ніжку SCK високий рівень;
  • використовується MPSSE-адаптер (FT2232, FT4232H, FT232H).

При роботі через LPT-адаптер синхронізація проходить нормально, після стирання через нього знову можна запрограмувати через USB-адаптер.

Схоже, помилка давня, але в більшості випадків до неї не доходило, бо синхронізація встановлювалася після обов’язкового початкового циклу RESET-синхронізації.
Наче хтось колись на щось подібне жалівся, але я не міг відтворити у себе і не знаходив нічого підозрілого в коді avreal. На цей раз мені знадобилося «підняти» одну стару плату з AT90S8515 і я таки отримав оте «Can’t resync» на USB-адаптері. Спробував за допомогою маленької тестової програми відтворити ситуацію на ATmega168 — все нормально працює і через MPSSE, синхронізується першою RESET-спробою, до SCK-імпульсів справа не доходить. А от AT90S8515 не програмується.

Все необхідне я зробив через ByteBlaster, помилку ловитиму за хвіст найближчим часом.


Помилку виправлено у версії 1.28r13.

AVReAl update — 1.28r9

Вийшла нова версія програматора avreal — v1.28r9 (Tue 2011-12-20).

  • Додано підтримку FT232H (режим MPSSE)
  • Змінено обробку затримок у Windows-версії: зменшено завантаження процесора при роботі з ключами -k/-K.
  • Для всіх мікроконтролерів змінено метод пересинхронізації (resync). Спочатку робиться одна спроба синхронізації імпульсом RESET, після чого виконується спосіб з додатковим імпульсом SCK.
    Більше про методи синхронізації.

Синхронізація ISP-програматора з AVR

Робота ISP-програматора з мікроконтролером AVR починається з активації сигналу скидання мікроконтролера, за якою йде передача по SPI команди входу в режим програмування. На момент активації сигналу RESET на вході SCK обов’язково має бути низький рівень. Якщо ця умова з якоїсь причини не виконується, то спад сигналу SCK вже після встановлення низького рівня на RESET призводить до непередбаченої зміни стану автомату програмування.

AVR programming waveforms

Цей зайвий спад спотворює наступну 4-байтову команду входу в програмування, мікроконтролер її не розпізнає і не переходить у потрібний режим. Зсув фази на один період SCK між програматором та мікроконтролером порушує байтову синхронізацію, тому нема сенсу просто передавати команду ще раз. Перед нею теж буде зайвий спад на SCK — під час передачі останнього біту попередньої команди.

Синхронізацію може бути втрачено і під час програмування, про це можна почитати в публікації про повідомлення «synchronisation lost» в AVReAl.

В документації на мікроконтролери AVR різних років розробки описано два способи відновлення синхронізації у випадку, якщо перша команда входу у режим програмування закінчилася невдачею.

»»» Дізнатися більше про способи пересинхронізації

synchronisation vs synchronization

Щойно випадково помітив, що і в програмі avreal, і в текстах на сайті, і в назві тега я використовую британське написання слова «synchronisation». Як той моль’єрівський персонаж, для якого було новиною, що він все життя говорив прозою, я сам не знав, що пишу це слово британською англійською. І що в американському варіанті воно пишеться «synchronization». Це навіть дивно, бо в документації від Atmel, яку я читаю вже більше десяти років і сам процитував в повідомленні «avreal synchronisation lost», це слово використовується саме в американському написанні.

AVReAl update — 1.28r5

Вийшла нова версія програматора avreal — v1.28r5 (Tue 2010-10-12).

  • Виправлено помилку synchronisation lost після верифікації для деяких моделей контроллерів та адаптера на FT2232/FT4232.
  • Додано ATmega128RFA1

AVReAl update — 1.28r4

Вийшла нова версія програматора avreal — v1.28r4 (Tue 2010-09-07).
На жаль, не знайшлося часу виправити помилку втрати синхронізації, це вже після відпустки робитиму.


Помилку виправлено у версії 1.28r5.

Помилки в avreal 1.28r2 та 1.28r3

Виявилася доволі дивна помилка в avreal 1.28r2 та 1.28r3. При співпадінні умов

  • Використовується програматор на базі FT2232/FT4232
  • Зайняті верхні два байти флеш-пам’яті (кодом або лічильником стирань)
  • В одному виклику avreal виконується робота як з флеш пам’яттю, так і з ф’юзами
  • Присутній ключ верифікації -v

для деяких мікроконтроллерів після першої операції верифікації робота обривається на помилці synchronosation lost.

Continue reading ‘Помилки в avreal 1.28r2 та 1.28r3’ »

avreal synchronisation lost

Все, про що ви хотіли дізнатися,
але боялися спитати.

Судячи з логів сайту, доволі часто шукають фразу «synchronisation lost», але чомусь досі ніхто не задав запитання про неї у коментарях до сторінки avreal.

Повідомлення «synchronisation lost» означає порушення обміну інформацією з програмованим мікроконтроллером. Обмін по SPI між адаптером програмування та вбудованою в мікроконтроллер апаратурою програмування відбувається так само, як і між двома мікроконтроллерами.

spi-loop

Continue reading ‘avreal synchronisation lost’ »

[flagcounter image]