← 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ą.