Enlarge your flash! Или когда 32MBit не достаточно.

mr3420 spi flash programmingC чего все началось

Есть у меня в хозястве замечательный агрегат - TP-Link MR3420. Под управлением OpenWRT - все прекрасно работает. Но есть одно но - очень мало места. Если нужен будет OpenVPN - то все, без внешней памяти уже не обойтись. И в общем-то внешняя память - не самый плохой выход из ситуации. Но у меня возникла необходимость отрубать питание того единственного USB-порта, в котором эта внешняя память живет (потому что через USB-HUB там живет не только она одна). Так что надо было как-то расширить внутреннее хранилище. Если вскрыть роутер и посмотреть что в нем - будет видно что в роли вместилища для всего софта у нас выступает SPI NOR флешка о 4МБ. Что в нашей ситуации катастрофически мало. Благо, корпус TSOP-8 располагает к моддингу. Но к моддингу надо еще подготовиться. Поехали.

flashrom с поддержкой J-Link

Здравствуйте дорогие мои любители покрасноглазить с J-Link! Тут случайно нашел репозиторий замечательной софтины flashrom,  в котором зарождается новая жизнь поддержка J-Link. Насколько все готово пока не знаю, сам еще не тестировал на жифой флешке, но то что оно видит сам J-Link - уже хорошо. Из зависимостей - нужна будет libjaylink. В остальном все есть в любом линухе.Качать тут.

Linksys WRT610N - только JTAG, только хардкор

Преамбула

Попал тут в шаловливые ручки окирпиченный роутер Linksys WRT610N V2. История такая - начались глюки, зависания, было принято волевое решение перешить. И все. После попытки прошит железка грузиться перестала.

Попробовал запустить его в режим восстановления по HTTP, классическим методом 30/30/30 - прошивку принимает, но после прошивки и перезагрузки - случается такая штука:

Электрический подкачивающий насос на 6.2 дизель

С завода на К5/CUCV установлен механический подкачивающий топливный насос с приводом от распреда. Штука хорошая, но прокачивать топливную систему им устанешь. Да и стартер можно спалить. А уж про посаженый аккумулятор промолчим. Но не беда - на Chevrolet Suburban с двигателем 6.5 турбодизель ставился электрический подкачивающий насос. Он-то и поможет нам исправить положение. Вообще - их можно иметь обоих двух - и электрический и механический. Но большинство выкидывает механический насос и глушит дырку в блоке. Мы пойдем этим путем.

Для установки нам потребуются:

Полезные алиасы для git

Коллеги подкинули 2 удобных алиаса для гита:

  • lg = log --all --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
  • l = log --oneline --color --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'

lg - коротенько вывести все бренчи с короткими описаниями комитов. в цвете. l - тоже самое, но без веток.

ESP8266 - MQTT клиент

Запили тут сабж. За основу взял esp-open-rtos форк под esp8266 и впилил туда часть проекта baoshi как отдельную либу. Написал маленький пример, который коннектится к mqtt серверу (в качестве оного выступает mosquitto) и посылает/принимает сообщения. Прикольно :) Теперь надо запилить поддержку DHT-22 и экран прицепить. Взять два модуля esp8266: один за окно с градусником, второй дома на стенку с экраном.

CC2538 + J-Link

После долгой борьбы с CC2538 и программированием его внутреннего флеша посредством ARM-USB-OCD в связке с OpenOCD было решено этот беспредел прекратить. На замену ARM-USB-OCD был раздобыт Segger J-Link, которым был успешно прошит флеш.Причем так как и у первого и у второго на выходе стандартный 20-пиновый ARM JTAG - все pin-to-pin совместимо, и это не может не радовать. Так что вчера ночью удалось зашить туда какой-то билд Contiki-OS. Эксперимент показал следующее - carrier board покупать у TI не обязательно, если есть прямые руки, текстолит и лазерный принтер.

Визуализация Makefile

Сидел тут копался в нашем рабочем Makefile о 4138 строках и понял что так жить нельзя. Было интересно можно ли построить граф зависимостей для цели. Оказывается - можно.В этих ваших интернетах была найдена замечательная утилита для построения графов. Она парсит базу данных make и на выоходе у нее dot. Ну а уж его можно потом сконвертить во все что угодно.