Tools

FlashROM: программирование SPI Flash

FlashROM - консольная утилита для идентификации, чтения, записи, проверки и стирания микросхем Flash памяти. Основное назначение - это перепрошивка BIOS, etc, а потому в списке устройств программирования много весьма специфичных. Но так же поддерживаются распространённые программаторы/адаптеры: ft2232_spi, serprog, buspirate_spi, rayer_spi, pony_spi Адаптеры rayer и pony подключается на LPT порт, так что в современных реалиях их использование затруднительно. SerProg serprog это не конкретный адаптер, а протокол взаимодействия с адаптером по UART интерфейсу (или через эмуляцию UART на USB).

Обжимной инструмент

Долгие поиски адекватного инструмента для обжимания dupont-коннекторов (он же crimping tool) наконец привели к желаемому результату.

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

LPC-Link

Как многим заинтересованным лицам известно, хитрые платы LPCXpresso снабжены мега-дебаггером LPC-Link. Выпуск среды разработки code red в нативном виде под Linux позволил нам, сирым и убогим, познать радость пользования этим самым LPC-link’ом. В общих и целых чертах мы имеем следующее: Микроконтроллер задействованный в LPC-link начисто лишен какой бы то ни было долговременной памяти. Фирмварь в него надо грузить каждый раз после перетыкания и перед тем как начать шить target контроллер нам надо проверить, что там вообще на usb шине творится, в плане девайсов.

Segger J-Link

Распространённое аппаратное средство для отладки МК с ядром ARM по интерфейсу JTAG и SWD((В openocd так и нет нормальной поддержки этого интерфейса)). Оригинальный J-Link стоит достаточно дорого - более трёхсот долларов, что достаточно ощутимо для радиолюбительского кошелька. Но китайские товарищи расстарались, и наклепали вполне приличных клонов за небольшие деньги. Возможно, это мне попался такой экземпляр китайского клона, но в условиях производство с обилием силовых агрегатов вокруг, отладчик подвисал каждые несколько минут.

Silicon labs EC2/EC3 debugger linux driver

Поддержка оригинальных Silabs-овских дебаггеров EC2 и EC3 обеспечивается с помощью пакета http://ec2drv.sourceforge.net/|ec2drv Установка ec2drv В первую очередь, нам надо инсталлировать все необходимые утилиты и бибилиотеки. На Debian-based системах это можно сделать командой: apt-get install autoconf libtool libboost-dev libusb-dev libreadline5-dev subversion libboost-regex-dev Получаем исходный код: svn co https://ec2drv.svn.sourceforge.net/svnroot/ec2drv/ec2drv/trunk ec2drv Переходим в каталог проекта и инициируем automake: cd ec2drv make -f Makefile.cvs ./configure Поскольку пакет ec2drv не обновлялся с 2006 года, для установки на современные системы потребуется побить в бубен.

AVR Dragon

AVR Dragon средство программирования и отладки микроконтроллеров AVR. Позволяет отлаживать код размером до 32кб, хотя существует возможность доработки. Поддерживает программирование через интерфейс AVR ISP (6 pin), параллельный и последовательный высоковольтные интерфейсы. Отладка и программирование производится через интерфейсы AVR JTAG (10 pin) и dW (debug Wire). Ранние версии AVR Dragon имеют схемотехническую ошибку из-за которой велика вероятность выхода из строя цепей питания. Способ исправления описан в руководстве. AvrDuDe поддерживает все интерфейсы AVR Dragon, для отладки следует воспользоваться приложением AVaRICE - промежуточным звеном между железом AVR Dragon-а и отладчиком avr-gdb.

Inex PX-200

PICkit2 совместимый программатор. Скачать исходный код консольного приложения для posix совместимых систем можно с официального сайта Microchip. Распакуем полученный код и соберём его командой make linux. Для возможности работы из под обычного юзера пропишем правило для udev #/etc/udev/rules.d/77-pickit.rules SYSFS{idVendor}=="04d8", SYSFS{idProduct}=="0033", GROUP="usb", SYMLINK+="pickit2" И добавим вашего пользователя в группу usb: sudo adduser your_login usb Возможно потребуется обновление программного обеспечения программатора: ./pk2cmd -D PK2V023200.hex