среда, 21 августа 2013 г.

Одинаковый бинарник для прошивки ARM Cortex-M3 через штатные средства и собственный загрузчик

Понадобилось сделать такой фокус на LPC1788. Дано: приложение и загрузчик, для его прошивки в рабочем устройстве. Загрузчик традиционно находится в начале адресного пространства (с 0 по 0x4000, например, в моём случае). Всё остальное занимает приложение. Нужно сделать возможным прошивать приложение через ISP или JTAG и так же без изменений с помощью собственного загрузчика.

Сначала в упор не понимал как это сделать, но на electronix.ru подсказали. Пишу для закрепления себе, возможно ещё кому-то пригодится. Способ должен быть рабочий для всех МК с ядром Cortex-M3/M4, но проверено только на LPC17xx.

Добро пожаловать в Зомбилэнд - циничный взгляд на БалтАртек глазами участника Garage48

9-11 августа проходил хакатон Garage48 на территории лагеря БалтАртек. Как участник этого мероприятия решил рассказать про впечатления от самого лагеря. Про само мероприятие отдельная запись.

С первых же минут прибывания в лагере у нас возникло ощущение "что-то тут не так". Чуть позже возникла ассоциация - Зомбилэнд. Если вы не смотрели этот фильм - рекомендую сделать это сейчас вместо чтения данного текста. Если смотрели - можете добавить в свой дневник бесполезных дел за сегодня то время, что вы потратите на чтение.

Конфуций говорил: "напрасно обучение без мысли, опасна мысль без учения". Только вот учения бывают разные как и мысли. Под катом много букв.

суббота, 10 августа 2013 г.

Garage48 @ Kaliningrad 2013 "Bender Rodriguez" Team

Онлайн репортаж из БалтАртека на меропритяии Garage48 http://garage48.org/
Команда "Bender Rodriguez" решает главную проблему человечества - "Killing all humans"

понедельник, 5 августа 2013 г.

Для чего нужна вычислительная мощность?

Часто в рекламных сообщения о выпуске нового процессора/микроконтроллера в число главных достоинств ставят вычислительную мощность. И вот в очередной раз читая книгу "The Definiteve Guide to ARM Cortex-M3" задался вопросом "а зачем нам собственно эта вычислительная мощность?". В современном смартфоне её во много сотен тысяч раз больше чем на космическом корабле Буран, облетевшем землю и севшем на аэродроме полностью автоматически. А мы же используем это для запуска птичек по свиньям.

понедельник, 29 июля 2013 г.

Готовимся наблюдать за проблемой 2038 или POSIX clock для гиков

Вероятно многие слышали о конце светапроблеме 2038. Не будем углубляться в её суть т.к. это есть в википедии. Можно разве что вывести мораль: signed типы можно использовать тогда и только тогда, когда для хранимой в нём сущности невозможно или неэффективно использовать unsigned тип. Я ни раз натыкался на проблемы из-за арифметики знаковых чисел и ни в одном из этих случаев не было необходимости использовать signed. Да, конечно, надо всегда помнить про это, читать ворнинги компилятора на приведение знаковых к беззнаковым типам, но есть более простой и эффективный способ исключить такие проблемы.

Deploying Qt5 app или зачем RTFM

Буквально в тот же вечер как я решил начать писать в блоге, удалось столкнуться с интересной проблемой. Малюсенький проект, состоящий из железки (Arduino ибо дёшево и сердито для такой задачи) плюс софтины столь же примитивной, но из-за нехватки денег у заказчика на оверкильной технологии - Qt, да ещё версии 5.1.0. Ибо за пол-дня пишется.

воскресенье, 28 июля 2013 г.

Почему я выбирал make install

Преврати свой дистрибутив в свалкСлаку

Как всё начинается

Новый пользователь по совету друзей и из собственного любопытства (не берём более конкретные цели) устанавливает какой-либо дистрибутив GNU/Linux. Не важно какой, но с вероятностью 0.99 это будет пакетный дистрибутив. Всё здорово, но вот он захотел установить какую-то программу. По привычке как он это делал в Windows или MacOSX. Заходит на сайт программы, скачивает архив и тут начинается самое интересное.