Прошивка AVR через ISP

Для программирования микроконтроллеров AVR через программатор USB AVR-ISP XPII (AVRISP mkII) можно использовать консольную утилиту avrdude:

Linux:
avrdude -c avrisp2 -P usb -b 19200 -p m32u4 -U flash:w:firmware.hex
Windows:
.\avrdude.exe -c avrisp2 -P usb -b 19200 -p m32u4 -U flash:w:firmware.hex

Ссылки:
https://forum.arduino.cc/index.php?topic=374842.0
https://gist.github.com/avilleret/2307a48927d2eab249d73cb16dc9eac6
http://microsin.net/programming/avr/starting-out-with-avrdude.html

При возникновении проблем с правами на устройство в Linux нужно добавить правило udev в /etc/udev/rules.d/99-usbasp.rules:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2104", GROUP="uucp", MODE="0666"

Узнать VID/PID программатора можно через lsusb. После этого надо перезагрузить правила:

sudo udevadm control --reload-rules

CCS: мерцание GUI в Linux

В Code Composer Studio при установке на Manjaro возникла проблема с мерцанием интерфейса. Как описано в теме
CCS: GUI Flickers on mouse Movement after web content was shown
необходимо переменную окружения SWT_GTK3=0. Это можно сделать для текущей сессии:

> export SWT_GTK3=0

Я добавил в ярлык запуска студии команду env:

Exec=env SWT_GTK3=0 /home/user/ti/ccs920/ccs/eclipse/ccstudio

Сброс защиты от чтения в STM32

Чтобы сбросить защиту от чтения с помощью командной строк нужно выполнить следующую команду:

openocd -f interface/stlink-v2.cfg -f target/stm32f3x.cfg -c "init; reset halt; stm32f3x unlock 0; reset halt; exit"

После этого обязательно нужно сбросить питание!

Отладка микроконтроллеров 1986ВЕ в VSCode через J-Link

В VSCode для отладки микроконтроллеров используется плагин Cortex-Debug. При отладке контроллеров 1986ВЕ1Т через J-Link я столкнулся с проблемой, что при запуске отладки не происходит полное стирание памяти. Стираются только страницы, которые будет занимать новое приложение.

Читать далее Отладка микроконтроллеров 1986ВЕ в VSCode через J-Link

Отладка микроконтроллеров в Qt Creator

Для работы с микроконтроллерами есть ряд специализированных IDE, которые в основном платные. Здесь я рассмотрю вариант с использованием открытой среды Qt Creator.

Читать далее Отладка микроконтроллеров в Qt Creator

startup.s для Cortex-M в ARM компиляторе

Попытаемся разобраться со структурой стартового файла startup.s для процессоров Cortex-M в среде Keil MDK-ARM. Постараемся понять, как запускается процессор, на примере файла инициализации для отечественных процессоров 1986ВЕ1Т, которые являются аналогом ядра Cortex-M1. Читать далее startup.s для Cortex-M в ARM компиляторе