← Αρχική
Τεχνολογίες και πλατφόρμες
Γλώσσες προγραμματισμού, πλατφόρμες υλικού, δίαυλοι και εργαλεία — η επιλογή ακολουθεί τις απαιτήσεις του έργου.
Αυτή η σελίδα παρέχει συμπαγή επισκόπηση των τεχνολογιών με τις οποίες εργάζομαι. Ο κατάλογος δεν είναι εξαντλητικός.
Γλώσσες
1. Γλώσσες προγραμματισμού και περιγραφής υλικού
Επιλογή γλώσσας ανάλογα με την εργασία: κοντά στο υλικό και οικονομική σε πόρους σε C ή assembler, αντικειμενοστραφής σε C++.
- C — κύρια γλώσσα για firmware μικροελεγκτή
- C++ — για πιο σύνθετες εφαρμογές embedded με αντικειμενοστραφείς δομές
- Assembler — σε ακραίους οριακούς όρους
- VHDL — σχεδιάσεις FPGA με ισχυρή δομική σαφήνεια
- SystemVerilog — σύγχρονη ανάπτυξη FPGA, testbenches, επαλήθευση
- Verilog — κλασική περιγραφή FPGA
- Python — αυτοματοποίηση δοκιμών, σενάρια, ανάλυση δεδομένων
- Kotlin — για εφαρμογές Android
- JavaScript / HTML / CSS — web frontends
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 προσομοιωτές
- Testbenches SystemVerilog — δομημένη επαλήθευση
Δίαυλος
4. Δίαυλοι και πρωτόκολλα επικοινωνίας
Εμπειρία με τους διαύλους που έχουν καθιερωθεί σε περιβάλλοντα automotive, βιομηχανικά και embedded.
- CAN / CAN FD — πρότυπο automotive και βιομηχανίας
- MOST — δίαυλος infotainment
- Ethernet / EtherCAT — βιομηχανικές επικοινωνίες
- SPI / I²C / UART — τυπικές διεπαφές
- UDS (ISO 14229) — διαγνωστικό πρωτόκολλο
- WebSocket / MQTT — για IoT και cloud συνδέσεις
RTOS
5. Λειτουργικά συστήματα πραγματικού χρόνου και πλαίσια
Επιλογή αρχιτεκτονικής λογισμικού ανάλογα με την απαίτηση του έργου.
- Bare-metal — όταν έχουν σημασία η μνήμη και ο ντετερμινισμός
- FreeRTOS — de facto πρότυπο για RTOS
- Πολυπύρηνες αρχιτεκτονικές — διανομή εργασιών σε πολλούς πυρήνες
- Embedded Linux — σε πλατφόρμες όπως BeagleBone
Εργαλεία
6. Εργαλεία, πλαίσια δοκιμής και IDE
Τα εργαλεία είναι μέσα. Εργάζομαι με ό,τι ταιριάζει στο έργο.
- Vector CANoe / CAPL — πρότυπο για δοκιμές automotive
- LabView — λογισμικό μέτρησης και ελέγχου
- Robot Framework — αυτοματοποίηση δοκιμών end-to-end
- Διατάξεις HIL — hardware-in-the-loop
- Pulsonix — εργαλείο σχηματικού και διάταξης PCB
- Vivado — αλυσίδα εργαλείων Xilinx FPGA
- Git / GitLab — έλεγχος εκδόσεων και αναθεώρηση κώδικα
- Wireshark — ανάλυση δικτύου και διαύλου
Web/App
7. Τεχνολογίες web και app (συνοδευτικό λογισμικό)
Όταν οι συσκευές embedded χρειάζονται διεπαφή διαμόρφωσης, πίνακα ή εφαρμογή κινητού, μπορώ να παραδώσω και το συνοδευτικό λογισμικό.
- JavaScript / HTML / CSS — web frontends
- Chart.js — οπτικοποίηση δεδομένων στον φυλλομετρητή
- Python / Flask — web backends
- Node.js — στοιχεία διακομιστή
- Socket.IO / WebSocket / MQTT — μετάδοση δεδομένων σε πραγματικό χρόνο
- Kotlin — εφαρμογές Android για συσκευές embedded
- REST API — τυποποιημένες διεπαφές
Τι λείπει σε αυτή τη λίστα
Αυτή η σελίδα παραθέτει συχνά χρησιμοποιούμενες τεχνολογίες — δεν είναι πλήρης κατάλογος. Στην ανάπτυξη embedded τελικά μετράει λιγότερο ποια συγκεκριμένη αλυσίδα εργαλείων κατέχετε, και περισσότερο πόσο γρήγορα μπορείτε να εξοικειωθείτε με μια νέα.