gcc
stm32 Linux CPP заметки OpenOCD прекрасно умеет обращаться с stm32 через stlink.
Прошить main.bin, проверить и сбросить МК:
openocd -f "interface/stlink-v2.cfg" -f "target/stm32f1x_stlink.cfg" -c "program main.bin verify reset"
Остановить МК:
openocd -f "interface/stlink-v2.cfg" -f "target/stm32f1x_stlink.cfg" -c "init" -c "reset halt" -c "exit"
Запустить (сбросить) МК:
openocd -f "interface/stlink-v2.cfg" -f "target/stm32f1x_stlink.cfg" -c "init" -c "reset run" -c "exit"
З.Ы.: Если не добавить -c "init" будет ругаться на неизвестную команду "reset".
З.Ы.Ы.: Если не добавить -c "exit" то останется в ожидании коннекта GDB.
З.Ы.Ы.Ы.: GDB нужно коннектить на порт 3333.
gcc
Linux altera заметки USB Blaster не захотел работать искаробки, пришлось шаманить:
1) Смотрим VID&PID бластера и правим правила udev:
#/etc/udev/rules.d/51-usbblaster.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666"
После либо перезагружаем комп, либо правила udev (udevadm control --reload)
2) Копируем файл из папки quartus/linux64 pgm_parts.txt как /etc/jtagd/jtagd.pgm_parts
3) jtagd требуется libudev.so.0 — делаем симлинк /usr/lib64/libudev.so.0 -> /usr/lib64/libudev.so

Если не помогает — подключаем ПЛИС к jtag, jtag к ПК и запускаем jtagd --foreground --debug, затем jtagconfig и курим вывод на консоль.

wiki.archlinux.org
stackoverflow.com
gcc
Linux altera заметки cpld Убить CPLD циклами стирания-записи не так просто, как написано в даташите (заявлено 100 максимум циклов). Более десяти тысяч циклов перепрограммирования — не проблема и не предел.
marsohod.org
gcc
Linux fpga altera У квартус 14 новая болячка — "Inconsistency detected by ld.so: dl-close.c: 811: _dl_close: Assertion `map->l_init_called' failed!".
Лечится сносом libccl_curl_drl libcrypto libcurl libssl из linux64 в папке с квартусом.
gcc
Linux fpga altera Quartus II 13.0sp1 под линукс.

1) Стиль оформления ужасен, аля win95.
— сносим все lib*.so, которые имеются в системе, из папки quartus/linux64 (linux для 32 бит) — получаем стиль Qt, установленный в системе.

2) Не запускается ModelSim — нужно задаунгрейдить libfreetype2.
— качаем download.savannah.gnu.org и распаковываем, делаем ./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32" и make. Скомпиленные либы кладём куда-нибудь в папку квартуса (например в libfreetype_old_32bit;
— редактируем файл quartus в quartus/bin, идём вниз и куда-нибудь до финального eval exec добавляем строчку:
export LD_LIBRARY_PATH=$QUARTUS_ROOTDIR/libfreetype_old_32bit:$LD_LIBRARY_PATH
Теперь ModelSim запустится из квартуса.
gcc
заметки Android Заблокировать / разблокировать приложение, даже если кнопка "Отключить" не активна в CyanogenMod можно командрй от рута:
pm disable/enable $(package)
Например, заблокировать стандартную камеру:
pm disable com.android.camera2
gcc
Linux заметки Правим зависимости rpm пакета, на примере jdk-8u45-linux-x64.rpm, в котором вместо нужного /usr/sbin/update-alternatives появился отсутствующий /usr/sbin/alternatives.
Понадобится утилита rpmrebuild.
Необходимо отредактировать файл с описанием пакета.
EDITOR=vim rpmrebuild -e -p ./jdk-8u45-linux-x64.rpm
После распаковки пакета запустится редактор vim, где необходимо будет везде заменить alternatives на update-alternatives.
Выходим из vim и следует подтверждение продолжения пересборки.
Do you want to continue ? (y/N) y
Через некоторое время выводится сообщение о результате и утилита завершает работу.
result: /home/user/rpmbuild/RPMS/x86_64/jdk1.8.0_45-1.8.0_45-fcs.x86_64.rpm
Всё, теперь можно установить пакет — все зависимости удовлетворены.
gcc
CPP electronics Разобрал наконец паутину на хлебоплате и спаял инклинометр на паечной макетке, теперь можно повертеть во все стороны, не боясь что какой-либо проводок отойдёт в самый неподходящий момент.