Проблемы с программаторами Atmel AVR и их решение

Нежданно-негаданно в новом 2016 году, как минимум, на двух компьютерах с Win10 и Avr Studio 5.1 одинаковым образом перестали работать avr-программаторы от слова вообще. Клон avrispmkII и самый настоящий jtagice3.

Выглядит это так: программаторы видны в списке, но сделать с ними что-то не выходит. Появляется окошко «Unable to connect to JTAGICE3», а в логе появляются несколько строк об ошибке, самой информативной из коих является одна:
[ERROR] USB driver initialization failed with error 0x20000009.


Код ошибки 0x20000009 означает «No valid license». Имеется в виду, как я понял, атмеловская лицензия на драйвер Jungo. Лицензия эта в виде строки забита намертво в файле com_atmel_hil_usb.dll (найти её можно по строке Atmel_Norway). То ли срок у неё вышел (офигеть теперь), то ли драйвера все испортились из-за очередного обновления винды — неясно, но работать ничего не хочет.


Читать дальше

X-Rite Colormunki Photo

Понадобился на работе прибор для сравнения и, в перспективе, калибровки осветительных приборов. Причём не абы какой, а такой, чтобы можно было встроить в своё ПО для прогона разных тестов. Неудобно же делать вручную всё это в куче разных программ.
Купили калибратор: X-Rite Colormunki Photo (стоимость порядка 20к рублей). По идее он умеет калибровать разные устройства вывода: мониторы, принтеры. Ну и считывать цвета с бумаги в графические программы. Как это всё происходит и кому оно надо за такие деньги — не знаю.

Используя сторонний софт (Argyll CMS) прибор можно использовать как спектроанализатор — получить файлики с данными спектра или там же их и посмотреть. Но программы консольные, неудобные, да ещё и как-то коряво сделаны, что из внешних программ чтением/записью в стандартные потоки с ними не пообщаешься. А я так хотел их в С# прямо получать, без возни с файлами.

К слову, характеристики не впечатляющи по сравнению со специализированными приборами даже низшего уровня, но достаточны для начала:
  • Диапазон от 380 до 730 нм (только видимый);
  • Измеряется максимум 106 линий спектра (ширина линии примерно 3.3 нм);
  • Подключение через USB.

То есть с его помощью можно посмотреть спектр видимого света и даже рассчитать цветовую температуру (которой белые светодиодные ленты маркируются).


Читать дальше

Генератор .hex/.bin файлов из командной строки

Возникла задача назначать устройствам уникальные номера. Соответственно, нужно было изготавливать для каждого устройства свой еепром.
Студия может делать еепромы, но для этого проект надо пересобирать каждый раз, неудобно.

Пришлось написать программку, с помощью которой можно получать hex-файлы с нужным содержимым: hexnyan.



Читать дальше

Оболочка для прошивки готовых устройств через внешние консольные программы

Возникла потребность на работе прошивать партии разных устройств: одни такие, другие сякие. То железо чуть отличается, то код должен работать несколько иначе. Вариантов в итоге куча.
Поначалу прошивал из всяких авр студий, но ясно дело, что неудобно. Потом появилась авр студия 5.1 с первыйм cli в виде atprogram.exe. Я мог делать bat-файлы типа таких:
atprogram -t %4 -d %5 -i isp -cl 100khz write -fs --values %3
atprogram -t %4 -d %5 -i isp -cl 1250khz chiperase
atprogram -t %4 -d %5 -i isp -cl 1250khz program -fl -f %1
atprogram -t %4 -d %5 -i isp -cl 1250khz verify -fl -f %1
atprogram -t %4 -d %5 -i isp -cl 1250khz program -ee -f %2
atprogram -t %4 -d %5 -i isp -cl 1250khz verify -ee -f %2

Хватало какое-то время, но появились другие потребности: например, обновить в авр флеш, не трогая еепром (требуется изменить фьюзы, стереть, прошить, вернуть фьюзы). Или сгенерировать серийный номер внешней утилитой и зашить в еепром. Или ещё что.
А ещё проблема в том, что если какой-то этап не выполнен, то остальные выполнять не нужно. Но bat-файлу это не расскажешь.

Читать дальше