ΠΡΠΈΠΊ ΠΠΎΠΊΠ²ΠΈΡΡ, Π°Π²ΡΠΎΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Simba ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ cantools, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Π½ΠΎΠ²Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ Monolinux, ΡΠΎΠΊΡΡΠΈΡΠ°Π½ Π²ΡΡΡ
Ρ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ Linux ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° C. ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π²Π° Ρ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΡΠΎΡΡΡΠ΅ΡΡΡ Π΅ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ ΡΡΠ°ΡΠΈΡΠ½ΠΎ ΡΠ²ΡΡΠ·Π°Π½ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ (ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux ΠΈ RAM Π΄ΠΈΡΠΊ ΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅Π½ ΡΠ³Π»ΠΎΠ±Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅, ΠΊΠΎΠΉΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ) . ΠΠΎΠ΄ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΡΠ΅ ΠΎΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° Π½Π° MIT.
Π‘ΡΠ΅Π΄Π°ΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΌΡΠ΅ΠΆΠΎΠ² ΡΡΠ΅ΠΊ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠ°ΡΠΎ: ml (Monolinux C Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ρ ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°, DHCP ΠΈ NTP ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, Device-mapper ΠΈ Π΄Ρ.), Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π΅Π½ (Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½Π° ΡΠ°ΠΌΠΊΠ°), Π±ΠΈΡΠΎΠ² ΠΏΠΎΡΠΎΠΊ, Curl (HTTP, FTP, ...), Π΄Π΅ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ (Π΄Π΅Π»ΡΠ° ΠΏΠ΅ΡΠ½Π°), ΡΠ΅ΡΠΌΠΎΡΠ²ΠΈΠ²Π°Π΅ΠΌ (Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅), ΠΏΡΠΈΡΡΠ΅Π»ΡΠΊΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½ ΠΊΡΠΌ ΡΠΎΠ²Π΅ΠΊΠ° (ΡΠΏΠΎΠΌΠ°Π³Π°ΡΠ΅Π»Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ), mbedTLS, xz ΠΈ Zlib. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ Π±ΡΡΠ· ΡΠΈΠΊΡΠ» Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΎΡΠ΅Π½ΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΡΠ»Π΅Π΄ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ΄Π°.
ΠΠ°ΡΠΈΠ°Π½ΡΠΈ Π½Π° Monolinux, ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Π·Π° Π΄ΡΡΠΊΠΈ Raspberry Pi 3 ΠΈ ΠΌΠΈΠ³. ΠΡΠ°ΠΉΠ½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΡΠ±ΠΎΡΠΊΠΈΡΠ΅ Π΅ ΠΎΠΊΠΎΠ»ΠΎ 800 KB. ΠΠ»Π°ΡΠ°Π½Π΅ ΠΌΠΈΠ³ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½ ΡΡΡ SoC i.MX6UL Ρ CPU ARMv7-A (528 MHz), 1 GB DDR3 RAM ΠΈ 4 GB eMMC. ΠΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠ»Π°ΡΠΊΠ°ΡΠ° Jiffy Π΅ ΡΠ°ΠΌΠΎ 0.37 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ - ΠΎΡ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π΄ΠΎ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Ext4. ΠΡ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ 1 ms ΡΠ΅ ΠΈΠ·ΡΠ°Π·Ρ
ΠΎΠ΄Π²Π° Π·Π° Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ½Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° SoC, 184 ms Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ROM ΠΊΠΎΠ΄, 86 ms Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π° Π±ΡΡΡΠ»ΠΎΡΠ΄ΡΡΠ°, 62 ms Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Linux ΡΠ΄ΡΠΎΡΠΎ ΠΈ 40 ms Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Ext4. ΠΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π΅ 0.26 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ. ΠΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ² ΡΡΠ΅ΠΊ, ΠΏΠΎΡΠ°Π΄ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ ΠΏΡΠΈ Π΄ΠΎΠ³ΠΎΠ²Π°ΡΡΠ½Π΅ Π½Π° Ethernet ΠΊΠ°Π½Π°Π» ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΡΠ°Π²Π° Π³ΠΎΡΠΎΠ²Π° Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π·Π° 2.2 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Linux ΡΠ΄ΡΠΎΡΠΎ 4.14.78 Π² ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Ρ Π΄ΠΎΠΏ Π»Π΅ΠΏΠ΅Π½ΠΊΠΈ, Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° Π½Π΅Π½ΡΠΆΠ½ΠΈ Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ Π² MMC Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° (MMC Π΅ ΡΠ²ΡΡΠ·Π°Π½ ΠΎΡ ΡΡΡΠΌΡΠ΅ΡΠ° Π½Π° ΠΏΠ»Π°ΡΠΊΠ°ΡΠ° ΠΈ Π²Π΅ΡΠ΅ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°) ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° MMC ΠΈ FEC (Ethernet) Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ Π² ΠΏΠ°ΡΠ°Π»Π΅Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru