← Начало
Технологии и платформи
Езици за програмиране, хардуерни платформи, шини и инструменти — изборът следва изискванията на проекта.
Тази страница предлага компактен преглед на технологиите, с които работя. Списъкът не е изчерпателен.
Езици
1. Езици за програмиране и описание на хардуер
Изборът на език в зависимост от задачата: близък до хардуера и пестящ ресурси на C или асемблер, обектно ориентиран на C++.
- C — основен език за фърмуер на микроконтролер
- C++ — за по-сложни embedded приложения с обектно ориентирани структури
- Асемблер — при екстремни гранични условия
- VHDL — FPGA дизайни със силна структурна яснота
- SystemVerilog — модерна FPGA разработка, testbench-ове, верификация
- Verilog — класическо FPGA описание
- Python — автоматизация на тестове, скриптове, анализ на данни
- Kotlin — за Android приложения
- JavaScript / HTML / CSS — уеб фронтенди
MCU
2. Микроконтролерни платформи
Опит с всички утвърдени микроконтролерни платформи на embedded пазара.
- ARM Cortex-M — стандартна платформа за средно високи изисквания
- ARM Cortex-A — когато се изисква Linux или повече изчислителна мощност
- ESP32 — embedded приложения с Wi-Fi/Bluetooth
- Atmel / Microchip AVR — например ATmega семейство
- Arduino — бързо прототипиране, обучение и демонстрации
- BeagleBone — ARM Cortex-A платформа с Linux
- Микроконтролери с минимална памет — bare-metal, без RTOS
- други платформи при запитване
FPGA
3. FPGA платформи
FPGA разработка от спецификация до верификация. Акцент върху Xilinx продукти.
- Xilinx Artix-7 — рентабилен FPGA
- Xilinx Zynq — комбинирана ARM+FPGA платформа
- Vivado — инструментална верига
- Icarus Verilog / Verilator — open-source симулатори
- SystemVerilog testbench-ове — структурирана верификация
Шина
4. Шини и комуникационни протоколи
Опит с шините утвърдени в automotive, индустриални и embedded среди.
- CAN / CAN FD — automotive и индустриален стандарт
- MOST — infotainment шина
- Ethernet / EtherCAT — индустриални комуникации
- SPI / I²C / UART — стандартни интерфейси
- UDS (ISO 14229) — диагностичен протокол
- WebSocket / MQTT — за IoT и облачни връзки
RTOS
5. Операционни системи в реално време и framework-ове
Изборът на софтуерна архитектура в зависимост от изискването на проекта.
- Bare-metal — когато паметта и детерминизмът са от значение
- FreeRTOS — де факто стандарт за RTOS
- Многоядрени архитектури — разпределение на задачи на няколко ядра
- Embedded Linux — на платформи като BeagleBone
Инструменти
6. Инструменти, тестови framework-ове и IDE-та
Инструментите са средства. Работя с това, което подхожда на проекта.
- Vector CANoe / CAPL — стандарт за automotive тестове
- LabView — измервателен и управляващ софтуер
- Robot Framework — end-to-end автоматизация на тестове
- HIL setups — hardware-in-the-loop
- Pulsonix — инструмент за схема и PCB разположение
- Vivado — Xilinx FPGA инструментална верига
- Git / GitLab — управление на версии и преглед на код
- Wireshark — мрежов и шинен анализ
Web/App
7. Уеб и приложни технологии (съпътстващ софтуер)
Когато embedded устройства се нуждаят от конфигурационен интерфейс, табло или мобилно приложение, мога да доставя и съпътстващия софтуер.
- JavaScript / HTML / CSS — уеб фронтенди
- Chart.js — визуализация на данни в браузър
- Python / Flask — уеб бекенди
- Node.js — сървърни компоненти
- Socket.IO / WebSocket / MQTT — предаване на данни в реално време
- Kotlin — Android приложения за embedded устройства
- REST API — стандартизирани интерфейси
Какво липсва в този списък
Тази страница изброява често използвани технологии — не е пълен каталог. В embedded разработката в края на сметка по-малко значение има коя конкретна инструментална верига владеете, а повече колко бързо можете да се запознаете с нова.