25 ืคื’ื™ืขื•ื™ื•ืช ื‘-RTOS Zephyr, ื›ื•ืœืœ ืืœื• ืฉื ื•ืฆืœื• ื‘ืืžืฆืขื•ืช ืžื ื•ืช ICMP

ื—ื•ืงืจื™ื ืžืงื‘ื•ืฆืช NCC ืคื•ืจืกื ืชื•ืฆืื•ืช ื‘ื™ืงื•ืจืช ืคืจื•ื™ืงื˜ ื‘ื—ื™ื ื ืฆืคืจื™ืจ, ืžืชืคืชื— ืžืขืจื›ืช ื”ืคืขืœื” ื‘ื–ืžืŸ ืืžืช (RTOS), ืฉืžื˜ืจืชื” ืœืฆื™ื™ื“ ืžื›ืฉื™ืจื™ื ื”ืชื•ืืžื™ื ืืช ืชืคื™ืกืช ื”ืื™ื ื˜ืจื ื˜ ืฉืœ ื”ื“ื‘ืจื™ื (IoT, Internet of Things). ื‘ืžื”ืœืš ื”ื‘ื™ืงื•ืจืช ื ื—ืฉืฃ 25 ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘-Zephyr ื•ืคื’ื™ืขื•ืช 1 ื‘-MCUboot. Zephyr ืžืคื•ืชื— ื‘ื”ืฉืชืชืคื•ืช ื—ื‘ืจื•ืช ืื™ื ื˜ืœ.

ื‘ืกืš ื”ื›ืœ ื–ื•ื”ื• 6 ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ืขืจื™ืžืช ื”ืจืฉืช, 4 ื‘ืงืจื ืœ, 2 ื‘ืžืขื˜ืคืช ื”ืคืงื•ื“ื”, 5 ื‘ืžื˜ืคืœื™ ืฉื™ื—ื•ืช ืžืขืจื›ืช, 5 ื‘ืชืช-ืžืขืจื›ืช ื”-USB ื•-3 ื‘ืžื ื’ื ื•ืŸ ืขื“ื›ื•ืŸ ื”ืงื•ืฉื—ื”. ืฉื ื™ ื ื•ืฉืื™ื ืžื“ื•ืจื’ื™ื ืงืจื™ื˜ื™ื™ื, ืฉื ื™ื™ื ื’ื‘ื•ื”ื™ื, 9 ืžืชื•ื ื™ื, 9 ื ืžื•ื›ื™ื ื•-4 ื”ื ืœืฉื™ืงื•ืœ. ื‘ืขื™ื•ืช ืงืจื™ื˜ื™ื•ืช ืžืฉืคื™ืขื•ืช ืขืœ ืžื—ืกื ื™ืช ื”-IPv4 ื•ืขืœ ืžื ืชื— MQTT, ืžืกื•ื›ื ื•ืช ืžืฉืคื™ืขื•ืช ืขืœ ืื—ืกื•ืŸ ื”-USB ื‘ื ืคื— ื’ื“ื•ืœ ื•ืขืœ ืžื ื”ืœื™ ื”ื”ืชืงืŸ ืฉืœ USB DFU. ื‘ื–ืžืŸ ื—ืฉื™ืคืช ื”ืžื™ื“ืข, ื”ืชื™ืงื•ื ื™ื ื”ื•ื›ื ื• ืจืง ืขื‘ื•ืจ 15 ื”ืคื’ื™ืขื•ื™ื•ืช ื”ืžืกื•ื›ื ื•ืช ื‘ื™ื•ืชืจ; ื‘ืขื™ื•ืช ื”ืžื•ื‘ื™ืœื•ืช ืœืžื ื™ืขืช ืฉื™ืจื•ืช ืื• ื”ืงืฉื•ืจื•ืช ืœืคื’ืžื™ื ื‘ืžื ื’ื ื•ื ื™ ื”ื’ื ื” ื ื•ืกืคื™ื ืฉืœ ื”ืœื™ื‘ื” ื ื•ืชืจื•ืช ืœืœื ืชื™ืงื•ืŸ.

ื–ื•ื”ืชื” ืคื’ื™ืขื•ืช ื”ื ื™ืชื ืช ืœื ื™ืฆื•ืœ ืžืจื—ื•ืง ื‘ืขืจื™ืžืช ื”-IPv4 ืฉืœ ื”ืคืœื˜ืคื•ืจืžื”, ืžื” ืฉืžื•ื‘ื™ืœ ืœืคื’ื™ืขื” ื‘ื–ื™ื›ืจื•ืŸ ื‘ืขืช โ€‹โ€‹ืขื™ื‘ื•ื“ ืžื ื•ืช ICMP ืฉืฉื•ื ื• ื‘ืฆื•ืจื” ืžืกื•ื™ืžืช. ื‘ืขื™ื” ื—ืžื•ืจื” ื ื•ืกืคืช ื ืžืฆืื” ื‘ืžื ืชื— ืคืจื•ื˜ื•ืงื•ืœ MQTT, ืืฉืจ ื ื’ืจืžืช ืžื”ื™ืขื“ืจ ื‘ื“ื™ืงืช ืื•ืจืš ืฉื“ื” ื›ื•ืชืจืช ื ื›ื•ื ื” ื•ืขืœื•ืœื” ืœื”ื•ื‘ื™ืœ ืœื‘ื™ืฆื•ืข ืงื•ื“ ืžืจื—ื•ืง. ื‘ืขื™ื•ืช ืคื—ื•ืช ื—ืžื•ืจื•ืช ืฉืœ ืžื ื™ืขืช ืฉื™ืจื•ืช ื ืžืฆืื•ืช ื‘ืขืจื™ืžืช IPv6 ื•ื‘ื™ื™ืฉื•ื ืคืจื•ื˜ื•ืงื•ืœ CoAP.

ื ื™ืชืŸ ืœื ืฆืœ ื‘ืขื™ื•ืช ืื—ืจื•ืช ื‘ืื•ืคืŸ ืžืงื•ืžื™ ื›ื“ื™ ืœื’ืจื•ื ืœืžื ื™ืขืช ืฉื™ืจื•ืช ืื• ืœื”ืคืขื™ืœ ืงื•ื“ ื‘ืจืžืช ื”ืงืจื ืœ. ืจื•ื‘ ื”ืคื’ื™ืขื•ื™ื•ืช ื”ืœืœื• ืงืฉื•ืจื•ืช ืœื”ื™ืขื“ืจ ื‘ื“ื™ืงื•ืช ื ืื•ืชื•ืช ืฉืœ ืืจื’ื•ืžื ื˜ื™ื ืฉืœ ืงืจื™ืื•ืช ืžืขืจื›ืช, ื•ื™ื›ื•ืœื•ืช ืœื”ื•ื‘ื™ืœ ืœื›ืชื™ื‘ื” ื•ืœืงืจื™ืื” ืฉืœ ืื–ื•ืจื™ื ืฉืจื™ืจื•ืชื™ื™ื ื‘ื–ื™ื›ืจื•ืŸ ื”ืœื™ื‘ื”. ื”ื‘ืขื™ื•ืช ืžืชืคืฉื˜ื•ืช ื’ื ืœืงื•ื“ ืขื™ื‘ื•ื“ ื”ืฉื™ื—ื” ืฉืœ ื”ืžืขืจื›ืช ืขืฆืžื• - ื”ืชืงืฉืจื•ืช ืœืžืกืคืจ ืฉื™ื—ื” ืฉืœื™ืœื™ ืฉืœ ื”ืžืขืจื›ืช ื’ื•ืจืžืช ืœื”ืฆืคืช ืžืกืคืจื™ื ืฉืœืžื™ื. ื”ืงืจื ืœ ื’ื ื–ื™ื”ื” ื‘ืขื™ื•ืช ื‘ื™ื™ืฉื•ื ื”ื’ื ืช ASLR (ืืงืจืื™ ืฉืœ ืžืจื—ื‘ ื›ืชื•ื‘ื•ืช) ื•ื‘ืžื ื’ื ื•ืŸ ื”ื’ื“ืจืช ืกื™ืžื ื™ ืงื ืจื™ื•ืช ืขืœ ื”ืขืจื™ืžื”, ืžื” ืฉื”ื•ืคืš ืืช ื”ืžื ื’ื ื•ื ื™ื ื”ืœืœื• ืœืœื ื™ืขื™ืœื™ื.

ื‘ืขื™ื•ืช ืจื‘ื•ืช ืžืฉืคื™ืขื•ืช ืขืœ ืขืจื™ืžืช ื”-USB ื•ืขืœ ืžื ื”ืœื™ ื”ืชืงื ื™ื ื‘ื•ื“ื“ื™ื. ืœื“ื•ื’ืžื”, ื‘ืขื™ื•ืช ื‘ืื—ืกื•ืŸ ื”ืžื•ื ื™ USB ืขืœื•ืœื•ืช ืœื’ืจื•ื ืœื”ืฆืคืช ืžืื’ืจ ื•ืœื”ืคืขื™ืœ ืงื•ื“ ื‘ืจืžืช ื”ืงืจื ืœ ื›ืืฉืจ ื”ืžื›ืฉื™ืจ ืžื—ื•ื‘ืจ ืœืžืืจื— USB ืฉื ืฉืœื˜ ืขืœ ื™ื“ื™ ื”ืชื•ืงืฃ. ืคื’ื™ืขื•ืช ื‘-USB DFU, ืžื ื”ืœ ื”ืชืงืŸ ืœื˜ืขื™ื ืช ืงื•ืฉื—ื” ื—ื“ืฉื” ื‘ืืžืฆืขื•ืช USB, ืžืืคืฉืจืช ืœื˜ืขื•ืŸ ืชืžื•ื ืช ืงื•ืฉื—ื” ืฉืฉื•ื ืชื” ืœ-Flash ื”ืคื ื™ืžื™ ืฉืœ ื”ืžื™ืงืจื•-ื‘ืงืจ ืœืœื ืฉื™ืžื•ืฉ ื‘ื”ืฆืคื ื” ื•ืœืขืงื•ืฃ ืืช ืžืฆื‘ ื”ืืชื—ื•ืœ ื”ืžืื•ื‘ื˜ื— ืขื ืื™ืžื•ืช ืจื›ื™ื‘ื™ื ื‘ืืžืฆืขื•ืช ื—ืชื™ืžื” ื“ื™ื’ื™ื˜ืœื™ืช. ื‘ื ื•ืกืฃ, ืงื•ื“ ื˜ื•ืขืŸ ื”ืืชื—ื•ืœ ื”ืคืชื•ื— ื ื—ืงืจ MCUboot, ืฉื‘ื” ื ืžืฆืื” ืคื’ื™ืขื•ืช ืฉืคื™ืจื” ืื—ืช,
ืžื” ืฉืขืœื•ืœ ืœื”ื•ื‘ื™ืœ ืœื’ืœื™ืฉื” ื‘ืžืื’ืจ ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืคืจื•ื˜ื•ืงื•ืœ SMP (Simple Management Protocol) ืขืœ ืคื ื™ UART.

ื ื–ื›ื™ืจ ื›ื™ ื‘-Zephyr, ืจืง ืžืจื—ื‘ ื›ืชื•ื‘ื•ืช ื•ื™ืจื˜ื•ืืœื™ ืžืฉื•ืชืฃ ืื—ื“ (SASOS, ืžืขืจื›ืช ื”ืคืขืœื” ื™ื—ื™ื“ื” ืฉืœ ืžืจื—ื‘ ื›ืชื•ื‘ื•ืช) ืžืกื•ืคืง ืขื‘ื•ืจ ื›ืœ ื”ืชื”ืœื™ื›ื™ื. ืงื•ื“ ืกืคืฆื™ืคื™ ืœื™ื™ืฉื•ื ืžืฉื•ืœื‘ ืขื ืœื™ื‘ื” ืกืคืฆื™ืคื™ืช ืœื™ื™ืฉื•ื ื›ื“ื™ ืœื™ืฆื•ืจ ืงื•ื‘ืฅ ื”ืคืขืœื” ืžื•ื ื•ืœื™ื˜ื™ ืฉื ื™ืชืŸ ืœื˜ืขื•ืŸ ื•ืœื”ืคืขื™ืœ ืขืœ ื—ื•ืžืจื” ืกืคืฆื™ืคื™ืช. ื›ืœ ืžืฉืื‘ื™ ื”ืžืขืจื›ืช ื ืงื‘ืขื™ื ื‘ื–ืžืŸ ื”ื”ื™ื“ื•ืจ, ืžื” ืฉืžืคื—ื™ืช ืืช ื’ื•ื“ืœ ื”ืงื•ื“ ื•ืžื’ื“ื™ืœ ืืช ื”ื‘ื™ืฆื•ืขื™ื. ืชืžื•ื ืช ื”ืžืขืจื›ืช ื™ื›ื•ืœื” ืœื›ืœื•ืœ ืจืง ืืช ืชื›ื•ื ื•ืช ืœื™ื‘ื” ื”ื ื“ืจืฉื•ืช ืœื”ืคืขืœืช ื”ื™ื™ืฉื•ื.

ืจืื•ื™ ืœืฆื™ื™ืŸ ื›ื™ ื‘ื™ืŸ ื”ื™ืชืจื•ื ื•ืช ื”ืขื™ืงืจื™ื™ื ืฉืœ ื–ืคื™ืจ ืžื•ึผื–ึฐื›ึผึธืจ ืคื™ืชื•ื— ืžืชื•ืš ืžื—ืฉื‘ื” ืขืœ ื‘ื˜ื™ื—ื•ืช. ืื•ืฉืจืฉื›ืœ ืฉืœื‘ื™ ื”ืคื™ืชื•ื— ืขื•ื‘ืจื™ื ืฉืœื‘ื™ ื—ื•ื‘ื” ืฉืœ ืื™ืฉื•ืจ ืื‘ื˜ื—ืช ื”ืงื•ื“: ื‘ื“ื™ืงืช ืžื˜ื•ืฉื˜ืฉ, ื ื™ืชื•ื— ืกื˜ื˜ื™, ื‘ื“ื™ืงืช ื—ื“ื™ืจื”, ืกืงื™ืจืช ืงื•ื“, ื ื™ืชื•ื— ื”ื˜ืžืขืช ื“ืœืช ืื—ื•ืจื™ืช ื•ืžื™ื“ื•ืœ ืื™ื•ืžื™ื.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”