31 августа 2016 г.

msp430 и секция infoA

Напоминаю тем кто как я не читает даташиты: секция infoA в informational memory защищена и просто так не пишется.

---

Just to remind for those who doesn't read datasheets: infoA section of information memory is protected and can't be written with simple flash write.

15 января 2016 г.

Про virtualbox и qcow образы диска

Экспорт виртупльной машины при использовании qcow образа не работает, только если преобразовать в vdi и подцепить к VM.

Падает при этом ВНЕЗАПНО и без указания на то, что формат не нравится

0%...
Progress state: VBOX_E_FILE_ERROR
VBoxManage: error: Appliance write failed
VBoxManage: error: File not accessible or erroneous file contents
VBoxManage: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component ApplianceWrap, interface IAppliance
VBoxManage: error: Context: "RTEXITCODE handleExportAppliance(HandlerArg*)" at line 1249 of file VBoxManageAppliance.cpp

А я-то думаю, что за херня.

2 ноября 2015 г.

GCC и mips

GCC 4.8 собирает кривой код для ramips (ralink rt5350, mips 24Kc). Пользоваться надо 4.6

Возможно конечно, что это только для openwrt так, но мне вот не свезло.

29 октября 2015 г.

openwrt rpcd и небольшой неочевидный нюанс

Себе на память:

rpcd при запуске исполняемых файлов которые лежат в /usr/libexec/rpcd ОБЯЗАТЕЛЬНО(!) ожидает ответ в stdout, хотя бы просто "{}". Иначе, если просто выйти, то он залипает в read и работать не будет.

2 декабря 2013 г.

Подстава при отладке u-boot

Очередные идиотские грабли, по которым я прошёлся с непоколебимой уверенностью в том, что я "Д'Артаньян", а окружают меня лица неторадиционной ориентации.

Отлаживаю код ethernet драйвера, проверяю инициализацию, вижу что значения пишутся хрен пойми куда.

...минула неделя разборок с отладчиком, компилятором и прочей нечистью...

Тут до меня доходит - u-boot же уже отрелоцировался в памяти и те адреса статических переменных которые у меня в символах прописаны, действительны уже чуть более чем никак! всё остальное правильно, но вот то, что я забыл про статичность данных переменных меня и подвело.

Идиот-с.

З.Ы. Кто-нибудь знает, как GDB сказать, что секция .bss лежит по некоторому адресу, не тому что в отлаживаемом бинарнике?

28 октября 2013 г.

Кровавый enterprise

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

А я-то думал, что за хрень происходит.

22 октября 2013 г.

Очередной пример того, почему я не люблю make

В нагрузку к предыдущему псто можно сказать одно - make 3.81 и 3.82 - в некотором поведении между собой несовместимы.

В предыдущем псто был пример с ifndef  VAR и в нём делалось объявление этой самой VAR. Засада вылезла с той стороны с которой я её ну аще никак не ждал. Оказалось, что у make 3.81 и 3.82 по разному обрабатываются переменные командной строки. 3.82 их подставляет как надо, а вот 3.81 почему-то сначала выполняет присваивание которое в коде, гадит ошибками, после чего присваивает переменным те значения, которые переданы в параметрах командной строки. шозанах, я так и не понял. Пришлось устраивать трэш и передавать параметры как переменные окружения, вызывая
VAR=value make -e <target>
Вот такие пироги с котятами. Я допускаю, что я упорот и строю костыли там где не надо. Если так, разупорите примером. про ?= знаю, не помогло.