Утилиты

Графическая оболочка для avrdude под MacOS

avrfuses

Программа avrdude поддерживает все актуальные программаторы микроконтроллеров AVR и является кроссплатформенной (Linux, Windows, MacOS). Это консольная утилита и её удобно вызывать из shell/bat-скриптов. Единожды написав такой файлик и положив его в директорию с проектом, получаем возможность быстро прошить и проверить фьюзы, flash и eeprom микроконтроллера. Проблема только в том, чтобы написать этот скрипт. И тут основную головную боль вызывают fuse-биты, т.к. надо правильно сформировать их значения нигде не ошибившись. Иначе, устройство, в лучшем случае, может не заработать совсем или работать неправильно. Ну а в худшем случае можно "окипрпичить" микроконтроллер.

Для avrdue написано много разных графических оболочек под Windows, но среди всего этого многообразия не так просто найти удобный и не сильно глючный софт. Основное требование к оболочке - возможность работать с fuse-битами не как с числами или набором непонятных чекбоксов, а в нормальном человекочитаемом формате. Под MacOS вариантов оболочек совсем не много, но, к счастью, есть open-source проект AVRFuses и с фьюзами там всё относительно неплохо. Плюс открытый исходный код даёт возможность неограниченно затачивать этот инструмент под себя.

Существенный недостаток подобных оболочек в том, что при одновременной работе с несколькими проектами и частым переключением между ними, приходится каждый раз заново вбивать пути к файлам, и настраивать по памяти значения фьюзов, что скучно и отнимает время. Поэтому в оболочку была добавлена работа с проектами. Выбрав путь к прошивке и настроив фьюзы, можно сохранить эту конфигурацию чтобы в будущем можно было быстро загрузить её из меню.

В поисках альтернативы Atmel Studio

Atmel Studio and avr builder

Недавно вышла новая Atmel Studio версии 7.0. Как и все предыдущие IDE от Atmel, она не лишена ряда существенных недостатков, основной из которых - отсутствие кроссплатформенности.

Для сборки проекта студия использует утилиту make и генерит makefile. В принципе, makefile можно писать руками, но это не совсем удобно и очень громоздко. Попытки использования разных известные аналогов make (cmake, scons и прочее) желаемого результата также не дали. Хотелось своего велосипеда - чего-то предельно простого, гибкого и удобного. В качестве основы был выбран Python, т.к. его легко использовать не только в качестве языка для написания системы сборки, но и в качестве удобного языка для написания сценариев компиляции.

Объединение мелких изображений в атлас

Объединение мелких изображений в атлас

При разработке графических приложений (например, игр или web-приложений) часто возникает ситуация, когда есть множество файлов рисунков небольших размеров, либо файлы спрайтов анимации, которые было бы целесообразно поместить в один большой графический файл, так называемый "атлас". Атлас - это большое изображение, содержащее некоторое множество изображений меньшего размера, которые можно выбирать методом клиппинга прямоугольного региона. Какие преимущества дает использования атласов? Во-первых, сокращение количества файлов рисунков

Вычисление табличных функций на микроконтроллере

Вычисление табличных функций на AVR

При программировании микроконтроллеров иногда возникает задача вычисления достаточно сложных математических функций. И хотя стандартная библиотека AVR GCC включает поддержку вещественных чисел и вычисления базовых математических функций для них, на практике не всегда возможно использование этих средств. Поскольку микроконтроллеры AVR не имеют математического сопроцессора и команд для работы с вещественными числами, использование стандартных библиотечных процедур приводит к генерации относительно громозкого и

Извлечение ресурсов из flash-файлов

SWF unpacking

Наверное, многие программисты сталкивались с такой ситуацией, когда программа написана и отлажена, а ее исходный код утерян. Т.е., готовая программа есть, а вот исходник её, блин, взял и потерялся. Вообщем, когда надо раздербанить чей-то код восстановить внезапно утерянный исходник программы, творимой месяцами и годами. В случае программ, написанных на флеше, существует несколько коммерческих решений для выдирания различных ресурсов (изображения и звук) из swf-файлов. Так же существует бесплатный пакет

Уменьшение размеров файлов png - pngout

pngout

Оптимизация файлов изображений с целью уменьшения их размеров без потери качества никогда не бывает лишней. Особенно уместна такая оптимизация при разработке приложений для мобильных устройств, веб-приложений или интернет-сайтов. Для уменьшения размеров png-файлов существует хорошая бесплатная консольная утилита - PNGOUT. Она пережимает данные, содержащиеся в IDAT-пакете (в этом пакете содержатся собственно данные о

DupKiller - утилита удаления дублирующихся файлов

DupKiller - утилита удаления дублирующихся файлов
DupKiller - небольшая консольная утилита для поиска и удаления дублирующихся файлов. Утилиту можно запустить без параметров, тогда она начнет поиск дубликатов файлов в текущем каталоге, а можно передать ей в качестве аргументов список путей
Подписка на Утилиты