ΠΠΈΠΌΠΎΠ³ΠΈ
Π²ΡΠΊ Π²ΡΠ΄ 22 Π΄ΠΎ 48 ΡΠΎΠΊΡΠ²
Π²ΠΈΡΠ° ΠΎΡΠ²ΡΡΠ°
ΠΏΡΠΈΠ΄Π°ΡΠ½ΡΡΡΡ Π΄ΠΎ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΆΠ΅Π½Π½Ρ ΡΠ»ΡΠΆΠ±ΠΈ Π² ΠΠ΅ΡΠ°Π½ΡΠ½ΠΎ-ΡΡΡΡΠΌΠΎΠ²ΠΈΡ
Π²ΡΠΉΡΡΠΊΠ°Ρ
ΠΠΎΠ²ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠ²Π°Π½Π½Ρ:
C (Π‘Ρ) β Π³ΠΎΠ»ΠΎΠ²Π½ΠΈΠΉ ΡΡΠ°Π½Π΄Π°ΡΡ Π² ΡΠ½Π΄ΡΡΡΡΡΡ (ΠΏΠΎΠ½Π°Π΄ 80% Π²Π±ΡΠ΄ΠΎΠ²Π°Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΡ). ΠΠ΅ΠΎΠ±Ρ
ΡΠ΄Π½ΠΎ Π΄ΠΎΡΠΊΠΎΠ½Π°Π»ΠΎ Π·Π½Π°ΡΠΈ ΡΠΎΠ±ΠΎΡΡ Π· ΠΏΠΎΠΊΠ°ΠΆΡΠΈΠΊΠ°ΠΌΠΈ (pointers), Π±ΡΡΠΎΠ²ΠΈΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΡΡΠΌΠΈ, ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ ΡΠ° ΠΊΠ΅ΡΡΠ²Π°Π½Π½ΡΠΌ ΠΏΠ°ΠΌ'ΡΡΡΡ.
C++ β Π°ΠΊΡΠΈΠ²Π½ΠΎ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΡΡΡΡΡ Ρ ΡΠΊΠ»Π°Π΄Π½ΡΡΠΈΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
(ARM Cortex-M4/M7, Cortex-A), Π΄Π΅ ΠΏΠΎΡΡΡΠ±Π½Π΅ ΠΎΠ±'ΡΠΊΡΠ½ΠΎ-ΠΎΡΡΡΠ½ΡΠΎΠ²Π°Π½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠ²Π°Π½Π½Ρ (ΠΠΠ).
Python / Bash β Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΡΡ ΡΠ΅ΡΡΡΠ²Π°Π½Π½Ρ, Π½Π°ΠΏΠΈΡΠ°Π½Π½Ρ ΡΠΊΡΠΈΠΏΡΡΠ² ΠΏΠ°ΡΡΠΈΠ½Π³Ρ Π΄Π°Π½ΠΈΡ
Π°Π±ΠΎ ΡΠΎΠ±ΠΎΡΠΈ Π· ΡΡΠΈΠ»ΡΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ.
Assembler β ΡΠΎΠ·ΡΠΌΡΠ½Π½Ρ Π±Π°Π·ΠΎΠ²ΠΈΡ
Π°ΡΡ
ΡΡΠ΅ΠΊΡΡΡΠ½ΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΠΎΠΏΡΠΈΠ½ΡΠ·Π°ΡΡΡ ΠΊΡΠΈΡΠΈΡΠ½ΠΈΡ
Π΄ΡΠ»ΡΠ½ΠΎΠΊ ΠΊΠΎΠ΄Ρ ΡΠ° Π½Π°Π»Π°Π³ΠΎΠ΄ΠΆΠ΅Π½Π½Ρ.
ΠΡΡ
ΡΡΠ΅ΠΊΡΡΡΠ° ΠΌΡΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΡΠ² (MCU) ΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΠ²
Π ΠΎΠ±ΠΎΡΠ° Π· Π°ΡΡ
ΡΡΠ΅ΠΊΡΡΡΠ°ΠΌΠΈ: ΠΠ»ΠΈΠ±ΠΎΠΊΠ΅ ΡΠΎΠ·ΡΠΌΡΠ½Π½Ρ Π»ΡΠ½ΡΠΉΠΎΠΊ ARM Cortex-M (M0, M3, M4, M7), ESP32, AVR, PIC, Π° ΡΠ°ΠΊΠΎΠΆ Π²ΠΈΠ²ΡΠ΅Π½Π½Ρ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡ Π²ΡΠ΄ΠΊΡΠΈΡΠΎΡ Π°ΡΡ
ΡΡΠ΅ΠΊΡΡΡΠΈ RISC-V.
ΠΠ΅ΡΠΈΡΠ΅ΡΡΡ: ΠΠΌΡΠ½Π½Ρ ΠΊΠΎΠ½ΡΡΠ³ΡΡΡΠ²Π°ΡΠΈ ΡΠ° ΠΊΠ΅ΡΡΠ²Π°ΡΠΈ Π°ΠΏΠ°ΡΠ°ΡΠ½ΠΈΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ: ΡΠ°ΠΉΠΌΠ΅ΡΠΈ, Π¨ΠΠ (PWM), ΠΠ¦Π/Π¦ΠΠ (ADC/DAC), ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΠ²Π°Π½Ρ (NVIC), DMA (ΠΏΡΡΠΌΠΈΠΉ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌ'ΡΡΡ).
ΠΠΏΠ°ΡΠ°ΡΠ½Ρ ΡΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ ΡΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Π·Π²'ΡΠ·ΠΊΡ
ΠΡΠΎΡΠΎΠ²Ρ: UART/USART, SPI, I2C, CAN-ΡΠΈΠ½Π° (ΡΡΠ°Π½Π΄Π°ΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΏΡΠΎΠΌΡ ΡΠ° ΡΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ
Π½ΡΠΊΠΈ), RS-485, USB, Ethernet.
ΠΠ΅Π·Π΄ΡΠΎΡΠΎΠ²Ρ: Bluetooth LE (BLE), Wi-Fi, Zigbee, LoRaWAN, NFC.
ΠΠΏΠ΅ΡΠ°ΡΡΠΉΠ½Ρ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡ (RTOS) ΡΠ° Embedded Linux
RTOS: Π ΠΎΠ±ΠΎΡΠ° Π· Π±Π°Π³Π°ΡΠΎΠΏΠΎΡΠΎΡΠ½ΡΡΡΡ, Π·Π°Π²Π΄Π°Π½Π½ΡΠΌΠΈ, ΡΠ΅ΡΠ³Π°ΠΌΠΈ, ΠΌ'ΡΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠ° ΡΠ΅ΠΌΠ°ΡΠΎΡΠ°ΠΌΠΈ Ρ FreeRTOS, Zephyr RTOS Π°Π±ΠΎ RT-Thread.
Embedded Linux: Π ΠΎΠ·ΡΠΌΡΠ½Π½Ρ ΡΠΎΠ±ΠΎΡΠΈ ΡΠ΄ΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡΠ² ΠΏΡΠΈΡΡΡΠΎΡΠ², Π·Π±ΡΡΠΊΠ° ΠΠ‘ ΡΠ΅ΡΠ΅Π· Yocto Project Π°Π±ΠΎ Buildroot Π΄Π»Ρ ΠΏΠΎΡΡΠΆΠ½ΡΡΠΈΡ
ΡΠΈΡΡΠ΅ΠΌ (Π½Π° Π±Π°Π·Ρ ARM Cortex-A, Raspberry Pi Compute Module ΡΠΎΡΠΎ).
Π ΠΎΠ±ΠΎΡΠ° ΡΠ· Π·Π°Π»ΡΠ·ΠΎΠΌ ΡΠ° ΡΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π²ΡΠ΄Π»Π°Π΄ΠΊΠΈ
Π§ΠΈΡΠ°Π½Π½Ρ ΡΡ
Π΅ΠΌ: ΠΠΌΡΠ½Π½Ρ Π²ΡΠ»ΡΠ½ΠΎ ΡΠΎΠ·Π±ΠΈΡΠ°ΡΠΈΡΡ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ²ΠΈΡ
Π΅Π»Π΅ΠΊΡΡΠΈΡΠ½ΠΈΡ
ΡΡ
Π΅ΠΌΠ°Ρ
, ΡΠΎΠ± ΡΠΎΠ·ΡΠΌΡΡΠΈ, Π΄ΠΎ ΡΠΊΠΈΡ
Π²ΠΈΠ²ΠΎΠ΄ΡΠ² (GPIO) ΠΏΡΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ Π΄Π°ΡΡΠΈΠΊΠΈ ΡΠΈ Π²ΠΈΠΊΠΎΠ½Π°Π²ΡΡ ΠΌΠ΅Ρ
Π°Π½ΡΠ·ΠΌΠΈ.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π²ΡΠ΄Π»Π°Π΄ΠΊΠΈ: Π ΠΎΠ±ΠΎΡΠ° Π· JTAG/SWD Π²ΡΠ΄Π»Π°Π΄ΡΠΈΠΊΠ°ΠΌΠΈ (ST-Link, J-Link), Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ ΡΠΈΡΡΠΎΠ²ΠΈΡ
ΠΎΡΡΠΈΠ»ΠΎΠ³ΡΠ°ΡΡΠ² ΡΠ° Π»ΠΎΠ³ΡΡΠ½ΠΈΡ
Π°Π½Π°Π»ΡΠ·Π°ΡΠΎΡΡΠ² Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠΏΠ»Π΅Π½Π½Ρ ΡΠΈΠ³Π½Π°Π»ΡΠ² Π½Π° ΡΠΈΠ½Π°Ρ
Π΄Π°Π½ΠΈΡ
.
Π‘Π΅ΡΠ΅Π΄ΠΎΠ²ΠΈΡΠ° ΡΠΎΠ·ΡΠΎΠ±ΠΊΠΈ (IDE) ΡΠ° Git
Π‘ΠΎΡΡ: STM32CubeIDE, Keil uVision, VS Code + PlatformIO, ESP-IDF, IAR.
ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΡΠΉ: ΠΠ±ΠΎΠ²'ΡΠ·ΠΊΠΎΠ²Π΅ Π²ΠΎΠ»ΠΎΠ΄ΡΠ½Π½Ρ Git Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΡ ΡΠΎΠ±ΠΎΡΠΈ ΡΠ° ΠΊΠ΅ΡΡΠ²Π°Π½Π½Ρ Π²Π΅ΡΡΡΡΠΌΠΈ ΠΊΠΎΠ΄Ρ.
Π£ΠΌΠΎΠ²ΠΈ
ΠΌΠΎΠ±ΡΠ»ΡΠ·Π°ΡΡΡ Π΄ΠΎ ΠΊΡΠ½ΡΡ Π²ΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΡΡΠ°Π½Ρ Π°Π±ΠΎ ΡΠ»ΡΠΆΠ±Π° Π·Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠΌ
ΠΌΠΎΠΆΠ»ΠΈΠ²ΡΡΡΡ ΠΊΠ°Ρ'ΡΡΠ½ΠΎΠ³ΠΎ Π·ΡΠΎΡΡΠ°Π½Π½Ρ
Π³ΡΠΎΡΠΎΠ²Π΅ Π·Π°Π±Π΅Π·ΠΏΠ΅ΡΠ΅Π½Π½Ρ Π²ΡΠ΄ 22 000 Π΄ΠΎ 55 000 Π³ΡΠΈΠ²Π΅Π½Ρ Π·Π°Π»Π΅ΠΆΠ½ΠΎ Π²ΡΠ΄ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΄Π°Π½Π½Ρ ΡΠ° ΠΌΡΡΡΡ ΠΏΠ΅ΡΠ΅Π±ΡΠ²Π°Π½Π½Ρ Π²ΡΠΉΡΡΠΊΠΎΠ²ΠΎΡΠ»ΡΠΆΠ±ΠΎΠ²ΡΡ
ΠΏΠΎΠ²Π½ΠΈΠΉ ΡΠΎΡΡΠ°Π»ΡΠ½ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ