Досвід переходу з Windows на Linux для програмування мікроконтролерів

Довгий час я використовував операційну систему Windows для розробки прошивок, програмування мікроконтролерів та електроніки. Зі своїми завданнями система справлялася. Тепер вирішив перейти на Лінукс, як основну систему для програмування мікроконтролерів.

Що доступно в Лінукс?

Середовища розробки: Stm32CubeIde для мікроконтролерів сімейства stm32, Mplab X — для мікроконтролерів сімейства PIC, але, на жаль, офіційного середовища для розробки на Atmel не знайшов. Atmel Studio доступний для windows, а для Лінукс — немає.

З якими проблемами зіткнувся?

Основні проблеми пов’язані безпосередньо з прошивкою мікроконтролерів. Для прошивки мікроконтролерів доступна програма STM32CubeProgrammer, але на жаль вона не завжди прошиває мікроконтролери, одні добре, інші можуть бути деякі проблеми. Є також STM32 ST-LINK Utility, яку використовував для прошивки цих мікроконтролерів, але програма доступна тільки для windows.

Прошивка мікроконтролерів сімейства Pic, офіційно програми для програматора PicKit 3 немає і зіткнувся з проблемою прошивки мікроконтролерів сімейства pic24, pic32. Проблему з прошивкою мікроконтролерів pic16/18, atmel і різних мікросхем вирішив за допомогою установки емулятора windows програм Wine, Я використовував програму XGPro/XGecu для програматора TL866 II Plus і сам програматор.

Такі результати мого переходу з Windows на Лінукс, повністю відмовитися від Windows не вдалося.

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось2
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Досвід переходу з Windows на Linux для програмування мікроконтролерів:
WSL case
cygwin case
mingw case
VMware case
cloud base case
remote desktop case
etc

повністю відмовитися від Windows не вдалося.

а смисл?

Дякую автору й коментаторам за досвід і поради, треба більше таких тем на ДОУ)

До повномасштабного збирався повчити програмування під мікроконтролери, взяв собі Pi Pico та й на цьому все заглохло :( Тепер буду знати які пакети шукати.

Відкрийте для себе platformio.org (до речі, український продукт). Використовую як плагін до Visual Studio Code. Підтримує Atmel, Nordic, STM, Espressif, Intel, Raspberry та інші. Під Linux взагалі зручно, бо немає проблем з USB-COM драйверами.

Користувався Лінуксом тривалий час саме для роботи з STM32 і різноманітними PIC (10/16/18/24/dsPIC).

Про програмування STM вже написали. Cтосовно MPLABX, то він зараз підтримує і старі чіпи від Atmel (ARM і AVR). Для програмування у них є MPLAB IPE www.microchip.com/...​d-programming-environment.

Ну і взагалі на Лінуксі якось прийнято працювати з наборами окремих тулзів, а не готовими IDE. Якщо є GCC для вашого чіпа, OpenOCD для програмування\дебага, VS Code (чи шо вам подобається) прикрутили і можна працювати.

Також, вже згадували нижче, зверніть увагу на тулзи від Segger. Весь софт для програмування j-linkом працює на лінуксі, є IDE www.segger.com/...​ownloads/embedded-studio і є графічний дебагер Ozone www.segger.com/...​ls/ozone-j-link-debugger

З іншими виробниками чипів бувають нюанси, але є тенденція, що зараз всі роблять тулзи під лінукс.

Є також STM32 ST-LINK Utility, яку використовував для прошивки цих мікроконтролерів, але програма доступна тільки для windows.

Та взагалі не проблема
sudo apt install stlink-tools
st-flash write $(BINFILE) 0×08000000
Збирати можна простим мейкфайлом і gcc-arm-none-eabi, код писати у VS Code.

Лінукс справді гірше підходить для низькорівневного ембеддеду з серйозними автомагічними штуками типу відладки через Lauterbach, але для якихось пет-проектів все навіть зручніше працює — необхідний тулінг весь є у штатному репозиторії, незнайомий комп’ютер з убунтою можна за 2 хвилини обвісити потрібними пакетами, стягнути проект з гітхабу і почати вносити свої правки.

Лінукс справді гірше підходить для низькорівневного ембеддеду з серйозними автомагічними штуками типу відладки через Lauterbach,

гагага

Я колись купив за 100$ Segger Jlink Edu, той що білий. З стм32 під лінукс досить стабільною працює. Та і ST Link в цілому досить стабільний. З піками не працював, мало хто юзає не арми зараз.
А взагалі WSL2 робить сумнівним перехід з вінди..

Підписатись на коментарі