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

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

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

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

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

AVReAl update – 1.28r3

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

  • Виправлено помилку, яка призводила до неможливості роботи з Extended Fuse Byte для мікроконтроллерів ATmega16M1, ATmega32M1, ATmega64M1, ATmega32C1, ATmega64C1.

Ой! Є неприємні помилки. Вони вилазять не для всіх контроллерів та програматорів, але…

Чим відрізняється ATtiny2313A від ATtiny2313?

Ще одна група запитань, що доволі часто зустрічаються в логах, це запитання про відмінності нових «А-версій» мікроконтроллерів AVR від їх попередників. Шукають «в чому різниця між atmega48p та atmega48pa», «різниця програмування atmega8a та atmega8», або взагалі «перехід з atmega16 на atmega16A».

Вираз «програмування мікроконтроллера» може мати різні значення і лише іноді запитання поставлено хай з використанням сленгу, але однозначно — «прошивка atmega32 та atmega32A».

Continue reading ‘Чим відрізняється ATtiny2313A від ATtiny2313?’ »

Спека

Незвична і неочікувано тяжко переноситься. На роботі сонячний бік і «так склалося», що саме у нашій кімнаті кондиціонера нема. І комп’ютери — не ті кіловатні, що були раніше, але однак гріються. Вдома теж кондиціонера нема, завжди виручало те, що перший поверх і деяка прохолода йде від підвалу. Рано-вранці провітрити як слід, задраїтися і до вечора досить прохолодно.

Цього року не виручило. Нічого не хочеться робити, особливо не хочеться думати. Можу себе заставити робити тільки дрібні рутинні справи, та й то давно вже заплановані. Не знаю, коли наздоганятиму відкладені роботи.

Вчора, щоб з чистою совістю нічого не робити, знайшов старий електродвигун ЭДГ-3 1967-го року від деки програвача III-ЭПУ-щось там і поліетиленову крильчатку від колись поширеного побутового вентилятора. Якось їх зліпив докупи і вийшов вентилятор класу «пан сам склепав», який непогано допоміг сьогодні о 4-тій ранку накачати в квартиру прохолодного повітря.
Зниження температури ввімкнуло мізки, вимкнені перед тим по thermal shutdown і через кілька годин я згадав, що з тих двигунів більшість була 127-вольтові. І цей теж. На диво, він не згорів. Температура осердя була градусів під шістдесят (і це при інтенсивному обдуві), але запаху перегрітих обмоток наче не було. Ввечері полізу шукати на балконі якийсь трансформатор, ТПП-254 чи подібний, використаю первинні напівобмотки як автотрансформатор 220/127.

LPT та PnP в Windows.

Під ОС Windows avreal іноді нестабільно працює з LPT. Програмування зрідка може пройти нормально, а може в будь який момент дати збій, наприклад, synchronisation lost.

Причиною таких збоїв може бути періодичне опитування підсистемою Plug-and-Play (PnP) операційної системи Windows порта LPT з метою виявлення підключених пристроїв. Таке опитування проводиться під час завантаження системи, що добре видно по перемигуванню світлодіодів на адаптері програмування, але воно може відбуватися і під час роботи ОС. Біда в тому, що драйвер DLportIO.sys не блокує доступ до LPT від інших програм під час роботи з портом клієнта цього драйвера і підсистема PnP щиро впевнена, що порт не зайнято, тому спокійно лізе перевіряти стан LPT і порушує роботу avreal.

В одному особливо «цікавому» випадку у мене програма стабільно встигала записатися в мікроконтроллер, видати привітання на рідкокристалічний індикатор на HD44780 і почати працювати, але далі в довільні моменти часу перезапускалася. Я пару годин шукав помилку у себе в програмі — непроініціалізований вказівник на функцію чи необроблене преривання, доки не помітив, що перезапуску програми передує перемигування світлодіода активності на адаптері Altera ByteBlaster. Windows при звертанні до порта видавала таку послідовність, яка активувала виходи адаптера, видавала імпульс RESET і знову вимикала адаптер. І в цьому випадку не допомогло б наіть блокування LPT драйвером на час роботи програми, адже avreal в цей час вже завершив роботу.

Щоб позбавитися спричинених PnP проблeм завантажте файл disable-lpt-poll.reg та запустіть його на виконання. Як видно з вмісту файлу, він прописує в реєстрі Windows ключ, який забороняє опитування (poll) під час роботи системи:

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000001

Еліта-Центр

Воно вже не найсвіжіша новина, але… Суд виправдав гендиректора “Еліта-Центру”

Що відчували надурені люди, коли почули цю новину? Люди, які чотири роки реєструвалися, перереєтровувалсия, вносилися в списки потерпілих. Бігали між міліцією, судами, міськрадою та зборами таких самих. Лаялися між собою про те, чий комітет потерпілих комітетіший і які потерпілі потерпіліші.

Скільки на все це пішло нервів, ліків від нервів і грошей на ліки. Скільки не прожито (бо «хіба це життя») за ці роки́. І скільки ще буде не прожито за наступні, бо ну не вірю я в те, що щось аж таке велике в лісі здохне, що всім цим людям повернуть гроші чи дадуть квартири.

Та і яким коштом? За чий рахунок? Саме втрачені гроші не повернуть, вони вже давно, що називається, «тю-тю». Навіть якщо комусь щось повернуть — це ж втричі більше заберуть у якоїсь лікарні чи школи. Адже по дорозі гроші всихатимуть («а тим жиром, що у мене на руках зостався, я помастю голову» © «Хазяїн»).

Думаю, що правильно було ще тоді махнути на все рукою і спокійно жити далі.

Помилка в обробці fuse

avreal не обробляє fuse з Extended Fuse byte для мікроконтроллерів ATmega16M1, ATmega32M1, ATmega64M1, ATmega32C1, ATmega64C1. При зчитуванні показує для всіх нульові значення (начебто прошиті), запис не виконується.


Виправлено в avreal 1.28rev3

avreal synchronisation lost

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

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

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

spi-loop

Continue reading ‘avreal synchronisation lost’ »

Велопетлі до Літок і назад

Дякувати друзям, вчора я нарешті

  • Викотився за 75км, на таку відстань я ще не їздив.
  • Катався сам.

Після того, як мені якось стало «не надто гарно» в самостійному катанні позаминулого літа, я сам просто не катався. Якось спокійніше, коли поруч хтось є. Але минулого літа ті, з ким я зазвичай катався, постійно були «десь». Карпати, Крим, …, і в результаті я просто практично не сідав на велосипед. Навіть після того, як у мене з’явився велокомп з пульсоміром. Він дійсно допомагає, бо вихід пульсу за певні межі без нього помічаєш не відразу, а коли вже помічаєш наслідки, то це трохи пізнувато. Але я все одно не наважувався кататися сам.

Це літо якось так непогано почалося, але деякі друзі, один з яких відома в наших колах тектонічна велофотомодель, знову завіялися в Карпати надавати гумантарну допомогу «Велокраїні» («канєшна па любві, развє трі рубля дєньгі»), інші, серед яких шанувальниця певних частин тіла велофотомоделі і помічає їх на всіх фото (принаймні на всіх, до яких я читав її коментарі 🙂 ) — «дуже зайняті», «просто зайняті», хворі, …
Думав-думав, і поїхав сам. Поставив сигналізацію на пульс 150, пообіцяв собі середній тримати 140 і поїхав.

Continue reading ‘Велопетлі до Літок і назад’ »

ATmega328P в Києві.

Знадобилося тут додати функціоналу в зроблені колись “технологічні” пульти. Плати були зроблено зовсім давно під ATmega8, саме в ці було запаяно ATmega168, але там вже було зайнято більше, ніж три чверті коду. Пару підходів — і вже маємо запас всього 10%. Вихід на перший погляд простий — поставити мікроконтроллер з вдвічі більшим об’ємом флеша і надовго забути про проблеми.

Заходжу на сайт Imrad, де колись бачив 328-мі, хоч і по не дуже приємній ціні. Оскільки це не серійний виріб, то ціна не дуже й важлива. Але… Їх нема! Сайт Biakom — нема!!
Ну якщо вже просто забігти і взяти однак неможливо — передаю естафету комплектатору. Він пішов обдзвонювати по своєму списку і знайшов на останньому дзвінку (треба було знизу починати).

В Rainbow ATmega328P-AU знайшлися по ціні близько 25грн при “партії” в п’ять штук. Це було пару тижнів тому, але я не поспішав писати, поки не перевірив, що мікроконтроллери “справжні”, адже вже встиг прочитати про підробки і вже не знав, чи радіти низькій ціні. Тоді по сайту у них на складі було трохи більше семисот штук, на момент написання цього повідомлення – майже шість сотень. Кому вони потрібні — поспішайте!

[flagcounter image]