Pradžia

Technologijos ir platformos

Programavimo kalbos, aparatinės įrangos platformos, magistralės ir įrankiai — pasirinkimas seka projekto reikalavimus.

Šis puslapis pateikia kompaktišką technologijų, su kuriomis dirbu, apžvalgą. Sąrašas nėra išsamus.

Kalbos

1. Programavimo ir aparatinės įrangos aprašymo kalbos

Kalbos pasirinkimas pagal užduotį: aparatinei įrangai artimas ir resursų taupantis C arba asembleryje, į objektus orientuotas C++.

  • C — pagrindinė kalba mikrovaldiklio programinei aparatinei įrangai
  • C++ — sudėtingesnėms embedded programoms su į objektus orientuotomis struktūromis
  • Asembleris — esant ekstremalioms kraštinėms sąlygoms
  • VHDL — FPGA dizainai su stipriu struktūriniu aiškumu
  • SystemVerilog — modernus FPGA kūrimas, testbench, verifikacija
  • Verilog — klasikinis FPGA aprašymas
  • Python — testų automatizavimas, scenarijai, duomenų analizė
  • Kotlin — Android programėlėms
  • JavaScript / HTML / CSS — žiniatinklio sąsajos
MCU

2. Mikrovaldiklių platformos

Patirtis su visomis nusistovėjusiomis mikrovaldiklių platformomis embedded rinkoje.

  • ARM Cortex-M — standartinė platforma vidutiniškai aukštiems reikalavimams
  • ARM Cortex-A — kai reikia Linux arba daugiau skaičiavimo galios
  • ESP32 — embedded programos su Wi-Fi/Bluetooth
  • Atmel / Microchip AVR — pvz. ATmega šeima
  • Arduino — greitas prototipavimas, mokymas ir demonstracijos
  • BeagleBone — ARM Cortex-A platforma su Linux
  • Mikrovaldikliai su minimalia atmintimi — bare-metal, be RTOS
  • kitos platformos pareikalavus
FPGA

3. FPGA platformos

FPGA kūrimas nuo specifikacijos iki verifikacijos. Akcentas Xilinx produktams.

  • Xilinx Artix-7 — kainos atžvilgiu efektyvus FPGA
  • Xilinx Zynq — kombinuota ARM+FPGA platforma
  • Vivado — įrankių grandinė
  • Icarus Verilog / Verilator — atvirojo kodo simuliatoriai
  • SystemVerilog testbench — struktūrinė verifikacija
Magistralė

4. Magistralės ir ryšio protokolai

Patirtis su magistralėmis, nusistovėjusiomis automotive, pramoninėse ir embedded aplinkose.

  • CAN / CAN FD — automotive ir pramonės standartas
  • MOST — infotainment magistralė
  • Ethernet / EtherCAT — pramoniniai ryšiai
  • SPI / I²C / UART — standartinės sąsajos
  • UDS (ISO 14229) — diagnostikos protokolas
  • WebSocket / MQTT — IoT ir debesų ryšiams
RTOS

5. Realiojo laiko operacinės sistemos ir karkasai

Programinės įrangos architektūros pasirinkimas pagal projekto reikalavimą.

  • Bare-metal — kai svarbi atmintis ir determinizmas
  • FreeRTOS — de facto standartas RTOS
  • Daugiabranduolinės architektūros — užduočių paskirstymas keliems branduoliams
  • Embedded Linux — tokiose platformose kaip BeagleBone
Įrankiai

6. Įrankiai, testavimo karkasai ir IDE

Įrankiai yra priemonės. Dirbu su tuo, kas tinka projektui.

  • Vector CANoe / CAPL — automotive testų standartas
  • LabView — matavimo ir valdymo programinė įranga
  • Robot Framework — end-to-end testų automatizavimas
  • HIL setupai — hardware-in-the-loop
  • Pulsonix — schemos ir PCB išdėstymo įrankis
  • Vivado — Xilinx FPGA įrankių grandinė
  • Git / GitLab — versijų valdymas ir kodo peržiūra
  • Wireshark — tinklo ir magistralės analizė
Web/App

7. Žiniatinklio ir programėlių technologijos (lydinčioji programinė įranga)

Kai embedded prietaisams reikia konfigūracijos sąsajos, skydelio arba mobiliosios programėlės, galiu pristatyti ir lydinčiąją programinę įrangą.

  • JavaScript / HTML / CSS — žiniatinklio sąsajos
  • Chart.js — duomenų vizualizacija naršyklėje
  • Python / Flask — žiniatinklio backend
  • Node.js — serverio komponentai
  • Socket.IO / WebSocket / MQTT — realiojo laiko duomenų perdavimas
  • Kotlin — Android programėlės embedded prietaisams
  • REST API — standartizuotos sąsajos

Kas šio sąrašo nėra

Šis puslapis išvardija dažnai naudojamas technologijas — tai nėra pilnas katalogas. Embedded kūrime galiausiai svarbu mažiau, kurią konkrečią įrankių grandinę valdote, ir labiau, kaip greitai galite įsitraukti į naują.

Spalvų schema

Kalba