{"id":329789,"date":"2022-02-18T09:01:00","date_gmt":"2022-02-18T09:01:00","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=329789"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=329789","title":{"rendered":"<span>\u0420\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433 \u0436\u0435\u043b\u0435\u0437\u0430: \u043d\u0430\u0445\u043e\u0434\u0438\u043c UART \u0438 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u043c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 UBoot<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h1>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h1>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c \u043e\u0431 UART, UBoot \u0438 USB, \u0430 \u043d\u0430\u0448\u0435\u0439 \u0446\u0435\u043b\u044c\u044e \u0441\u0442\u0430\u043d\u0435\u0442 \u0438\u0433\u0440\u043e\u0432\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 Arcade 1UP Marvel. \u0421\u0435\u0440\u0438\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u043e\u0432 Arcade 1Up \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u0443\u044e \u0446\u0435\u043d\u0443 \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0441\u0442\u0438 \u0434\u043e\u043c\u0430\u0448\u043d\u044e\u044e \u0430\u0440\u043a\u0430\u0434\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443. \u0421 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u044d\u0442\u0438\u0445 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u043e\u0432 \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e <a href=\"https:\/\/arcademodup.com\/product\/amumodkit\/\" rel=\"nofollow noopener noreferrer\">\u043c\u043e\u0434\u043e\u0432<\/a>, \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0445, \u043a\u0430\u043a \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u041f\u041e MAME. \u0412 \u043f\u043e\u0441\u0442\u0435 \u043c\u044b \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u0438 \u0443\u0437\u043d\u0430\u0435\u043c, \u043a\u0430\u043a \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u0435\u0433\u043e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/259\/4e8\/c1c\/2594e8c1c29ed56624f25b1317924951.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/259\/4e8\/c1c\/2594e8c1c29ed56624f25b1317924951.png\"\/><\/div>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<h1>\u0417\u0430\u0434\u0430\u0447\u0438<\/h1>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u043c\u044b \u0440\u0430\u0441\u043a\u0440\u043e\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0442\u0435\u043c\u044b:<\/p>\n<ul>\n<li>\u0420\u0430\u0437\u0431\u043e\u0440\u043a\u0430 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/li>\n<li>\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u043e \u043c\u0430\u0440\u043a\u0438\u0440\u043e\u0432\u043a\u0430\u043c \u043d\u0430 \u043f\u0435\u0447\u0430\u0442\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0430\u0445<\/li>\n<li>\u0418\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u043d\u043e\u0436\u043a\u0430\u0445 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0442\u0440\u0430<\/li>\n<li>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430<\/li>\n<li>\u0410\u043d\u0430\u043b\u0438\u0437 \u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 UBoot<\/li>\n<li>\u0421\u043a\u0440\u0438\u043f\u0442\u0438\u043d\u0433 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0441 UBoot \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 <a href=\"https:\/\/depthcharge.readthedocs.io\/en\/latest\/\" rel=\"nofollow noopener noreferrer\">depthcharge<\/a><\/li>\n<\/ul>\n<p>  \u0426\u0435\u043b\u044c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0441 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e UART \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u0441 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u044e UBoot \u0438 \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0438\u0442\u043e\u0433\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u044d\u0442\u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0444\u043b\u044d\u0448-\u043f\u0430\u043c\u044f\u0442\u0438 \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041f\u0440\u043e\u0447\u0438\u0442\u0430\u0432 \u0441\u0442\u0430\u0442\u044c\u044e, \u0432\u044b \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u0435\u0441\u044c \u0441 \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 <code>screen<\/code> \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 <code>depthcharge<\/code> python3.<\/p>\n<h1>\u041a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f<\/h1>\n<p>  \u041f\u0440\u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043e\u0434\u043d\u0430 \u0438\u0437 \u043f\u0435\u0440\u0432\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e\u0433\u043e \u0430\u0440\u043a\u0430\u0434\u043d\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u043f\u043e\u043d\u0430\u0447\u0430\u043b\u0443 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u043e\u0447\u0435\u043d\u044c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442 \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u0434\u0436\u043e\u0439\u0441\u0442\u0438\u043a\u0430\/\u043a\u043d\u043e\u043f\u043e\u043a \u0438 USB-\u0440\u0430\u0437\u044a\u0451\u043c\u043e\u043c \u043d\u0430 \u0431\u043e\u043a\u043e\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430. \u041f\u043e\u0445\u043e\u0436\u0435, \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e USB-\u0440\u0430\u0437\u044a\u0451\u043c\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u0430\u043b\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438. \u0421\u0442\u043e\u0438\u0442 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0434\u0430\u0436\u0435 \u043d\u0430 <a href=\"https:\/\/arcade1up.com\/collections\/counter-cade\/products\/marvel-super-heroes-2-player-counter-cade\" rel=\"nofollow noopener noreferrer\">\u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f\u0445<\/a> \u0441 \u0441\u0430\u0439\u0442\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f USB-\u0440\u0430\u0437\u044a\u0451\u043c\u0430 \u043d\u0435\u0442. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0440\u0430\u0437\u044a\u0451\u043c\u0430 \u0434\u043b\u044f USB-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432. \u041d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0435\u0441\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0440\u0430\u0437\u044a\u0451\u043c \u0434\u043b\u044f \u043d\u0430\u0443\u0448\u043d\u0438\u043a\u043e\u0432. \u042d\u0442\u0438 \u0434\u0432\u0430 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0439\u043d\u044b\u0445 \u0440\u0430\u0437\u044a\u0451\u043c\u0430 \u0432\u0435\u0434\u0443\u0442 \u0441\u0435\u0431\u044f \u043a\u0430\u043a \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043e \u2014 \u043a USB-\u0440\u0430\u0437\u044a\u0451\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440, \u0434\u0430 \u0438 \u0440\u0430\u0437\u044a\u0451\u043c \u043d\u0430\u0443\u0448\u043d\u0438\u043a\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c.<\/p>\n<p>  <em>\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u0444\u0430\u043a\u0442<\/em>: \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0442\u0430\u0440\u044b\u0445 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0430\u0443\u0434\u0438\u043e\u0440\u0430\u0437\u044a\u0451\u043c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c <a href=\"https:\/\/masneyb.github.io\/nexus-5-upstream\/UART_CABLE.html\" rel=\"nofollow noopener noreferrer\">\u0437\u0434\u0435\u0441\u044c<\/a>. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 \u043d\u0430\u0448\u0435\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435.<\/p>\n<p>  \u0423\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0432\u0441\u044e \u044d\u0442\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u043f\u043e\u0445\u043e\u0436\u0435, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u044b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0432\u0441\u043a\u0440\u043e\u0435\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0438!<\/p>\n<h2>\u0420\u0430\u0437\u0431\u043e\u0440\u043a\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430<\/h2>\n<p>  \u0412\u043d\u0443\u0442\u0440\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0443\u0441\u0442, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043a \u044d\u043a\u0440\u0430\u043d\u0443 \u043c\u0435\u0442\u0430\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0440\u043f\u0443\u0441\u0430.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/10c\/0d4\/c6c\/10c0d4c6cf9cae263e68734d4855670d.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/10c\/0d4\/c6c\/10c0d4c6cf9cae263e68734d4855670d.jpg\" data-blurred=\"true\"\/><\/div>\n<p>  \u041f\u043e\u0434 \u043c\u0435\u0442\u0430\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u0440\u044b\u0448\u043a\u043e\u0439 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043f\u0435\u0447\u0430\u0442\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430; \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e \u0441\u043d\u044f\u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043c\u0435\u0442\u0430\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043d\u0430\u043a\u043b\u0430\u0434\u043a\u0443, \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/0f9\/cc3\/e69\/0f9cc3e69a7fe891d01ebfcde7a6e674.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/0f9\/cc3\/e69\/0f9cc3e69a7fe891d01ebfcde7a6e674.jpg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0412\u043f\u0435\u0440\u0432\u044b\u0435 \u0438\u0437\u0443\u0447\u0430\u044f \u043f\u0435\u0447\u0430\u0442\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0443, \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432\u0441\u0435 \u043d\u043e\u043c\u0435\u0440\u0430 \u0434\u0435\u0442\u0430\u043b\u0435\u0439 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043d\u0435 \u0443\u0434\u0430\u0441\u0442\u0441\u044f \u043b\u0438 \u043d\u0430\u0439\u0442\u0438 \u043f\u043e \u043d\u0438\u043c \u0434\u0430\u0442\u0430\u0448\u0438\u0442\u044b. \u041f\u0435\u0440\u0432\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442, \u0431\u0440\u043e\u0441\u0438\u0432\u0448\u0438\u0439\u0441\u044f \u043c\u043d\u0435 \u0432 \u0433\u043b\u0430\u0437\u0430, \u0432\u044b\u0434\u0435\u043b\u0435\u043d \u0441\u0438\u043d\u0438\u043c.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/eb0\/154\/80f\/eb015480f0a07a60a2b98d12f815e451.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/eb0\/154\/80f\/eb015480f0a07a60a2b98d12f815e451.jpg\" data-blurred=\"true\"\/><\/div>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e <code>Rockchip RK3128<\/code>. \u0415\u0441\u043b\u0438 \u043f\u043e\u0438\u0441\u043a\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0430\u0440\u0442\u0438\u043a\u0443\u043b \u043e\u043d\u043b\u0430\u0439\u043d, \u043c\u044b \u043d\u0430\u0439\u0434\u0451\u043c \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438; \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043d\u0438\u0436\u0435 \u0432\u0437\u044f\u0442\u0430 \u0438\u0437 <a href=\"http:\/\/rockchip.wikidot.com\/rk3128\" rel=\"nofollow noopener noreferrer\">\u0432\u0438\u043a\u0438 Rockchip<\/a><\/p>\n<ul>\n<li>CPU\n<ul>\n<li>\u0447\u0435\u0442\u044b\u0440\u0451\u0445\u044a\u044f\u0434\u0435\u0440\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 ARM Cortex-A7MP Core, \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439, \u0441 \u043d\u0438\u0437\u043a\u0438\u043c \u044d\u043d\u0435\u0440\u0433\u043e\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435\u043c \u0438 \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/li>\n<li>\u041f\u043e\u043b\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u0430\u043d\u0434 v7-A \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b ARM, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 ARM Neon Advanced SIMD (single instruction, multiple data) \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u043c\u0435\u0434\u0438\u0430\u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432<\/li>\n<\/ul>\n<\/li>\n<li>GPU\n<ul>\n<li>ARM Mali400 MP2<\/li>\n<li>\u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439, \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 OpenGL ES1.1, 2.0, OpenVG1.1 \u0438 \u0442. \u0434.<\/li>\n<\/ul>\n<\/li>\n<li>\u041f\u0430\u043c\u044f\u0442\u044c\n<ul>\n<li>8 \u041a\u0411 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 SRAM<\/li>\n<li>Dynamic Memory Interface (DDR3\/DDR3L\/LPDDR2)\uff1a\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c \u0441 DDR3-1066\/DDR3L-1066\/LPDDR2-800 SDRAM \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430 JEDEC. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 32-\u0431\u0438\u0442\u043d\u0443\u044e \u0448\u0438\u0440\u0438\u043d\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, 2 \u0440\u0430\u043d\u0433\u0430 (\u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0447\u0438\u043f\u043e\u043c), \u043e\u0431\u0449\u0435\u0435 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 2 \u0413\u0411 (\u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c).<\/li>\n<li>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Nand Flash: \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 8-\u0431\u0438\u0442\u043d\u044b\u0435 async\/toggle\/syncnandflash, \u0434\u043e 4 \u0431\u0430\u043d\u043a\u043e\u0432, 16-\u0431\u0438\u0442\u043d\u0443\u044e, 24-\u0431\u0438\u0442\u043d\u0443\u044e, 40-\u0431\u0438\u0442\u043d\u0443\u044e, 60-\u0431\u0438\u0442\u043d\u0443\u044e \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0443\u044e ECC<\/li>\n<li>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 eMMC: \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 \u0441\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c eMMC, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b MMC4.5<\/li>\n<\/ul>\n<\/li>\n<li>\u0412\u0438\u0434\u0435\u043e\n<ul>\n<li>\u0414\u0435\u043a\u043e\u0434\u0435\u0440 \u0432\u0438\u0434\u0435\u043e MPEG-1, MPEG-2, MPEG-4,H.263, H.264, H.265, VC-1, VP8, MVC \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438<\/li>\n<\/ul>\n<\/li>\n<li>\u0410\u0443\u0434\u0438\u043e\n<ul>\n<li>I2S\/PCM \u0441 8 \u043a\u0430\u043d\u0430\u043b\u0430\u043c\u0438: \u0434\u043e 8 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 (8xTX, 2xRX). \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0430\u0443\u0434\u0438\u043e \u043e\u0442 16 \u0431\u0438\u0442 \u0434\u043e 32 \u0431\u0438\u0442. \u0427\u0430\u0441\u0442\u043e\u0442\u0430 \u0441\u044d\u043c\u043f\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043e 192 \u043a\u0413\u0446<\/li>\n<li>I2S\/PCM \u0441 2 \u043a\u0430\u043d\u0430\u043b\u0430\u043c\u0438: \u0434\u043e 2 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 (2xTX, 2xRX). \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0430\u0443\u0434\u0438\u043e \u043e\u0442 16 \u0431\u0438\u0442 \u0434\u043e 32 \u0431\u0438\u0442. \u0427\u0430\u0441\u0442\u043e\u0442\u0430 \u0441\u044d\u043c\u043f\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043e 192 \u043a\u0413\u0446<\/li>\n<\/ul>\n<\/li>\n<li>\u0420\u0430\u0437\u044a\u0451\u043c\u044b\n<ul>\n<li>\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 SPI: \u043e\u0434\u0438\u043d \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 SPI \u043d\u0430 \u0447\u0438\u043f\u0435<\/li>\n<li>\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 UART: 3 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 UART \u043d\u0430 \u0447\u0438\u043f\u0435<\/li>\n<li>\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 I2C: 4 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 I2C \u043d\u0430 \u0447\u0438\u043f\u0435<\/li>\n<li>USB Host2.0: \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b 1 USB Host 2.0<\/li>\n<li>USB OTG2.0: \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 \u0441\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0435\u0439 USB OTG2.0. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0440\u0435\u0436\u0438\u043c\u044b high-speed (480 \u041c\u0431\u0438\u0442\/\u0441), full-speed (12 \u041c\u0431\u0438\u0442\/\u0441) \u0438 low-speed (1,5 \u041c\u0431\u0438\u0442\/\u0441).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>  \u0418\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u044d\u0442\u043e\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043c\u044b \u0443\u0436\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0443\u0437\u043d\u0430\u043b\u0438 \u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435. \u041c\u044b \u0437\u043d\u0430\u0435\u043c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0443\u044e \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u044e \u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b; \u043e\u043d\u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b \u0434\u043b\u044f \u043d\u0430\u0441, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u043e\u0433\u0443\u0442 \u0441\u0442\u0430\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u043e\u0439 \u0434\u043b\u044f \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0430\u0442\u0430\u043a \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c. \u0412\u0430\u0436\u043d\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430 \u043d\u0438\u043a\u0430\u043a\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043b\u0438\u0448\u043d\u0435\u0439. \u041c\u044b \u0445\u043e\u0442\u0438\u043c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0446\u0435\u043b\u0438, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u043e\u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 \u043d\u0435\u0439.<\/p>\n<p>  \u041d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u044f\u0434\u043e\u043c \u0441 CPU \u0435\u0441\u0442\u044c \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442, \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u043d\u0438\u0436\u0435 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043e\u0440\u0430\u043d\u0436\u0435\u0432\u044b\u043c.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/e75\/ea5\/c88\/e75ea5c883fcffce6c3fc73745c21fe5.jpg\" alt=\"SRAM\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/e75\/ea5\/c88\/e75ea5c883fcffce6c3fc73745c21fe5.jpg\" data-blurred=\"true\"\/><\/div>\n<p>  \u042d\u0442\u043e\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0438\u043c\u0435\u0435\u0442 \u043c\u0430\u0440\u043a\u0438\u0440\u043e\u0432\u043a\u0443 <code>SEC931 K4B2G1646F-BYMA<\/code>, \u0438 \u043d\u0430\u043c \u043f\u043e\u0432\u0435\u0437\u043b\u043e \u043d\u0430\u0439\u0442\u0438 \u044d\u0442\u043e\u0442 \u0430\u0440\u0442\u0438\u043a\u0443\u043b \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 \u043f\u043e\u0438\u0441\u043a\u0430 \u043d\u0430 <a href=\"https:\/\/www.samsung.com\/semiconductor\/dram\/ddr3\/K4B2G1646F-BYMA\/\" rel=\"nofollow noopener noreferrer\">\u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 Samsung<\/a>. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043d\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442 \u043d\u0430\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0447\u0438\u043f DDR3 SDRAM \u043d\u0430 2 \u0413\u0411. \u041d\u0430 \u0442\u043e\u0439 \u0436\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c <a href=\"https:\/\/semiconductor.samsung.com\/resources\/data-sheet\/DS_K4B2G1646F_BY_M_Rev1_0-1.pdf\" rel=\"nofollow noopener noreferrer\">\u0434\u0430\u0442\u0430\u0448\u0438\u0442<\/a>; \u043f\u0440\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0442\u043e\u0438\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0434\u0430\u0442\u0430\u0448\u0438\u0442\u044b, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b. \u042d\u0442\u043e\u0442 \u0447\u0438\u043f \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \u0434\u043b\u044f CPU \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u044d\u043d\u0435\u0440\u0433\u043e\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (\u041e\u0417\u0423).<\/p>\n<p>  \u041f\u043e\u043a\u0430 \u043c\u044b \u0432\u044b\u044f\u0432\u0438\u043b\u0438 \u0442\u043e, \u0447\u0442\u043e \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c CPU \u0438 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u041e\u0417\u0423. \u041e\u0434\u043d\u0430\u043a\u043e \u043c\u044b \u043f\u043e\u043a\u0430 \u043d\u0435 \u0437\u043d\u0430\u0435\u043c \u0442\u0438\u043f \u044d\u043d\u0435\u0440\u0433\u043e\u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u043b\u0435\u0435 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u0440\u043e\u0437\u043e\u0432\u044b\u043c.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/4b3\/27f\/e4b\/4b327fe4b17049b74d146a2f14cc0c57.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/4b3\/27f\/e4b\/4b327fe4b17049b74d146a2f14cc0c57.jpg\" data-blurred=\"true\"\/><\/div>\n<p>  \u042d\u0442\u043e\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0438\u043c\u0435\u0435\u0442 \u043c\u0430\u0440\u043a\u0438\u0440\u043e\u0432\u043a\u0443 <code>Winbond 25N01GVZEIG<\/code>, \u043f\u043e\u0438\u0441\u043a \u0442\u0430\u043a\u043e\u0433\u043e \u0430\u0440\u0442\u0438\u043a\u0443\u043b\u0430 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043d\u0430\u0441 \u043a <a href=\"https:\/\/www.winbond.com\/resource-files\/W25N01GV%20Rev%20Q%20051721.pdf\" rel=\"nofollow noopener noreferrer\">\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u0442\u0430\u0448\u0438\u0442\u0443<\/a>. \u042d\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u043f\u043e\u043c \u0444\u043b\u044d\u0448-\u043f\u0430\u043c\u044f\u0442\u0438 SLC NAND \u043d\u0430 1 \u0413\u0431\u0438\u0442. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0434\u0430\u0442\u0430\u0448\u0438\u0442\u0443, \u044d\u0442\u043e\u0442 \u0447\u0438\u043f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 Serial Peripheral Interface \u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c \u0441 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u043e\u043c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0439 \u043e\u0442 2,6 \u0412 \u0434\u043e 3,3 \u0412. \u0421 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e \u0432 \u044d\u0442\u043e\u043c \u0447\u0438\u043f\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u0430\u043d\u043d\u044b\u0445, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u043e\u043c, \u0438 \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0448\u0435\u0439 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0446\u0435\u043b\u044c\u044e \u0434\u043b\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0440\u044f\u0434\u043e\u043c \u0441 \u043b\u0438\u043d\u0438\u044f\u043c\u0438 GPIO \u0438 \u0438\u043c\u0435\u0435\u0442 \u043c\u0430\u0440\u043a\u0438\u0440\u043e\u0432\u043a\u0443 <code>MIX2018A<\/code>. \u041e\u043d \u043d\u0435\u043f\u043e\u0445\u043e\u0436 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0435\u043c, \u0447\u0442\u043e \u043f\u0440\u043e \u043d\u0435\u0433\u043e \u044f \u043d\u0435 \u0441\u043c\u043e\u0433 \u043d\u0430\u0439\u0442\u0438 \u043f\u043e\u0447\u0442\u0438 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438. \u041e\u0434\u043d\u0430\u043a\u043e, \u0441\u0443\u0434\u044f \u043f\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 <a href=\"https:\/\/shophu2.ashdiabuisf.ru\/content?c=mix2018a%20ic%20chip%20datasheet&amp;amp;id=1\" rel=\"nofollow noopener noreferrer\">\u0441\u0430\u0439\u0442\u0430\u0445<\/a>, \u044d\u0442\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u0432\u0443\u043a\u043e\u0443\u0441\u0438\u043b\u0438\u0442\u0435\u043b\u0435\u043c. \u0412\u043e \u0432\u0441\u0435\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430\u0445 \u043f\u0440\u043e \u044d\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u043e\u043d\u043b\u0430\u0439\u043d, \u043e\u043d\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u043a\u0430 \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u0432 \u044d\u0442\u043e\u043c \u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0435\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f.<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438:<\/p>\n<ol>\n<li>ARM CPU Rockchip RK3128<\/li>\n<li>\u0427\u0438\u043f Samsung SRAM<\/li>\n<li>\u0424\u043b\u044d\u0448-\u043f\u0430\u043c\u044f\u0442\u044c Winbond NAND \u043d\u0430 1 \u0413\u0431\u0438\u0442<\/li>\n<li>\u0417\u0432\u0443\u043a\u043e\u0443\u0441\u0438\u043b\u0438\u0442\u0435\u043b\u044c MIX2018A<\/li>\n<\/ol>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0438\u0437\u0443\u0447\u0438\u043b\u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0445\u0435\u043c\u044b \u043f\u043b\u0430\u0442\u044b, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 \u0440\u0430\u0437\u044a\u0451\u043c\u044b \u043f\u043b\u0430\u0442\u044b \u0438 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f, \u0447\u0442\u043e \u043f\u043e \u043d\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c.<\/p>\n<h2>\u0410\u043d\u0430\u043b\u0438\u0437 \u0440\u0430\u0437\u044a\u0451\u043c\u043e\u0432<\/h2>\n<p>  \u0417\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0432 \u0432\u0441\u0435 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043c\u0430\u0442\u0435\u0440\u0438\u043d\u0441\u043a\u043e\u0439 \u043f\u043b\u0430\u0442\u044b, \u043c\u044b \u043f\u043e\u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u0435\u0451 \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u0440\u0430\u0437\u044a\u0451\u043c\u044b. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043a\u0440\u0443\u0433\u043b\u044b\u0439 \u0440\u0430\u0437\u044a\u0451\u043c, \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u0432\u043d\u0438\u0437\u0443 \u0441\u0438\u043d\u0438\u043c \u0446\u0432\u0435\u0442\u043e\u043c:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/a73\/ad4\/c26\/a73ad4c26060e31706a29f4299ad29dc.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/a73\/ad4\/c26\/a73ad4c26060e31706a29f4299ad29dc.png\"\/><\/div>\n<p>  \u042d\u0442\u043e\u0442 \u0440\u0430\u0437\u044a\u0451\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u0430\u0447\u0438 \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u043d\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442.<\/p>\n<p>  \u0421\u043f\u0440\u0430\u0432\u0430 \u043e\u0442 \u043a\u0440\u0443\u0433\u043b\u043e\u0433\u043e \u0440\u0430\u0437\u044a\u0451\u043c\u0430 \u0435\u0441\u0442\u044c \u0440\u0430\u0437\u044a\u0451\u043c micro-USB. \u042d\u0442\u043e \u0441\u0440\u0430\u0437\u0443 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u0434\u0432\u0443\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c:<\/p>\n<ol>\n<li>\u042d\u0442\u043e \u0440\u0430\u0437\u044a\u0451\u043c <em>\u043d\u0435<\/em> \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f<\/li>\n<li>\u042d\u0442\u043e \u043d\u0435 \u0440\u0430\u0437\u044a\u0451\u043c USB-\u0445\u043e\u0441\u0442\u0430; \u044d\u0442\u043e \u0440\u0430\u0437\u044a\u0451\u043c micro, \u043d\u0430\u043c\u0435\u043a\u0430\u044e\u0449\u0438\u0439 \u043d\u0430 USB-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438\u043b\u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 OTG (on the go)<\/li>\n<\/ol>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/8a3\/5e8\/82a\/8a35e882af8be11bc91bb8a68191e37d.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/8a3\/5e8\/82a\/8a35e882af8be11bc91bb8a68191e37d.png\"\/><\/div>\n<p>  \u0415\u0449\u0451 \u043f\u0440\u0430\u0432\u0435\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u0432\u0430 \u0440\u044f\u0434\u0430 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432. \u041e\u043d\u0438 \u0431\u044b\u043b\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043a \u0441\u0435\u0440\u043e\u043c\u0443 \u0433\u0438\u0431\u043a\u043e\u043c\u0443 \u0448\u043b\u0435\u0439\u0444\u0443, \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c\u0443 \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445. \u042d\u0442\u043e\u0442 \u0440\u0430\u0437\u044a\u0451\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u0442\u0441\u044f \u0441 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u043e\u0439 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0436\u043e\u0439\u0441\u0442\u0438\u043a\u0430\u043c\u0438\/\u043a\u043d\u043e\u043f\u043a\u0430\u043c\u0438.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/d6b\/1af\/13d\/d6b1af13d0a791699169990f212dc8ad.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/d6b\/1af\/13d\/d6b1af13d0a791699169990f212dc8ad.png\"\/><\/div>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0440\u0430\u0437\u044a\u0451\u043c\u0430 \u043f\u043b\u0430\u0442\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0435\u0441\u0442\u044c \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0447\u0435\u0442\u044b\u0440\u0451\u0445\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0439 \u0440\u0430\u0437\u044a\u0451\u043c. \u041d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u043a\u0443\u0434\u0430 \u043e\u043d \u0432\u0435\u0434\u0451\u0442. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u044d\u0442\u043e\u0442 \u0440\u0430\u0437\u044a\u0451\u043c \u043c\u043e\u0436\u0435\u0442 \u0432\u0435\u0441\u0442\u0438 \u043a USB-\u0440\u0430\u0437\u044a\u0451\u043c\u0443 \u0438\u043b\u0438 \u043a \u0440\u0430\u0437\u044a\u0451\u043c\u0443 \u0434\u043b\u044f \u043d\u0430\u0443\u0448\u043d\u0438\u043a\u043e\u0432. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u044d\u0442\u043e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0442\u0440\u0430 \u0438 <a href=\"https:\/\/www.youtube.com\/watch?v=5G622WDZaHg\" rel=\"nofollow noopener noreferrer\">\u043f\u0440\u043e\u0437\u0432\u043e\u043d\u043a\u0438 \u0446\u0435\u043f\u0438<\/a>. \u041f\u0440\u043e\u0437\u0432\u043e\u043d\u043a\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 \u0442\u0435\u0447\u044c \u0442\u043e\u043a \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0449\u0443\u043f\u0430\u043c\u0438 \u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0442\u0440\u0435 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/d3b\/522\/dde\/d3b522ddeaac6248a18c79d84f01dc0c.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/d3b\/522\/dde\/d3b522ddeaac6248a18c79d84f01dc0c.png\"\/><\/div>\n<p>  \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0442\u043e\u0433\u043e, \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u044b \u043b\u0438 \u0434\u0432\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430. \u042f \u0432\u0441\u0442\u0430\u0432\u0438\u043b \u0432 \u0440\u0430\u0437\u044a\u0451\u043c \u0434\u043b\u044f \u043d\u0430\u0443\u0448\u043d\u0438\u043a\u043e\u0432 \u043a\u0430\u0431\u0435\u043b\u044c \u0438 \u043f\u0440\u0438\u0436\u0430\u043b \u0449\u0443\u043f \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0438\u0437 \u043c\u0435\u0442\u0430\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043e\u043b\u0435\u0446, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435. \u0414\u0440\u0443\u0433\u0438\u043c \u0449\u0443\u043f\u043e\u043c \u044f \u043a\u0430\u0441\u0430\u043b\u0441\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0447\u0435\u0442\u044b\u0440\u0451\u0445\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u044a\u0451\u043c\u0430 \u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043b\u0438\u043d\u0438\u0439 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0442\u0440 \u0438\u0437\u0434\u0430\u043b \u0433\u0440\u043e\u043c\u043a\u0438\u0439 \u043f\u0438\u0441\u043a, \u0441\u043e\u043e\u0431\u0449\u0430\u044f, \u0447\u0442\u043e \u043c\u0435\u0436\u0434\u0443 \u044d\u0442\u0438\u043c\u0438 \u0434\u0432\u0443\u043c\u044f \u0442\u043e\u0447\u043a\u0430\u043c\u0438 \u0435\u0441\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435. \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u0442\u0440\u0451\u0445 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u043b \u0441 \u043a\u043e\u043b\u044c\u0446\u043e\u043c \u043d\u0430 \u0430\u0443\u0434\u0438\u043e\u0440\u0430\u0437\u044a\u0451\u043c\u0435; \u044d\u0442\u043e \u0440\u0430\u0437\u044a\u0451\u043c \u0434\u043b\u044f \u043d\u0430\u0443\u0448\u043d\u0438\u043a\u043e\u0432!<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/532\/0b7\/276\/5320b7276403612624a10373782fe247.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/532\/0b7\/276\/5320b7276403612624a10373782fe247.png\"\/><\/div>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0443 \u043d\u0430\u0441 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0440\u0430\u0437\u044a\u0451\u043c \u0434\u043b\u044f \u0434\u0438\u0441\u043f\u043b\u0435\u044f:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/1c0\/d4a\/96c\/1c0d4a96c327a8cc90d8ace114540995.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/1c0\/d4a\/96c\/1c0d4a96c327a8cc90d8ace114540995.png\"\/><\/div>\n<p>  \u0420\u044f\u0434\u043e\u043c \u0441 \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u0434\u0432\u0430 \u0434\u0432\u0443\u0445\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0445 \u0440\u0430\u0437\u044a\u0451\u043c\u0430, \u043e\u0434\u0438\u043d \u0432 \u043f\u0440\u0430\u0432\u043e\u043c \u043d\u0438\u0436\u043d\u0435\u043c \u0443\u0433\u043b\u0443, \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0438 \u0441\u0430\u043c\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430, \u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0438\u0434\u0451\u0442 \u043a \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044e \u00ab\u0432\u043a\u043b.\/\u0432\u044b\u043a\u043b.\u00bb, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0443\u0441\u044f \u0441\u043d\u0430\u0440\u0443\u0436\u0438 \u043c\u0435\u0442\u0430\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0440\u043f\u0443\u0441\u0430.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/6b0\/228\/9e9\/6b02289e9321192c131751c6d381b068.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/6b0\/228\/9e9\/6b02289e9321192c131751c6d381b068.png\"\/><\/div>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/5fe\/e58\/028\/5fee58028210adec3997afc08f086dd9.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/5fe\/e58\/028\/5fee58028210adec3997afc08f086dd9.jpg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0430\u0437\u044a\u0451\u043c \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 \u0430\u0443\u0434\u0438\u043e\u0440\u0430\u0437\u044a\u0451\u043c; \u044d\u0442\u043e \u0447\u0435\u0442\u044b\u0440\u0451\u0445\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0439 \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u0435\u043b\u044c, \u043a\u0430\u0431\u0435\u043b\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432\u0435\u0434\u0443\u0442 \u043a \u043f\u0430\u043d\u0435\u043b\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u041e\u0441\u0442\u0430\u043b\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u043f\u043e\u043a\u0430 \u043d\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438: USB-\u0440\u0430\u0437\u044a\u0451\u043c \u043d\u0430 \u0431\u043e\u043a\u043e\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430. \u0415\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0442\u0440 \u043d\u0430 \u0440\u0435\u0436\u0438\u043c \u043f\u0440\u043e\u0437\u0432\u043e\u043d\u043a\u0438 \u0446\u0435\u043f\u0435\u0439 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b \u044d\u0442\u043e\u0442 \u0440\u0430\u0437\u044a\u0451\u043c\u0430 \u0441 USB-\u0440\u0430\u0437\u044a\u0451\u043c\u043e\u043c, \u0442\u043e \u043c\u044b \u0443\u0431\u0435\u0434\u0438\u043c\u0441\u044f, \u0447\u0442\u043e \u043e\u043d\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u044b. \u042d\u0442\u043e \u043d\u0430\u0448 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 USB-\u0440\u0430\u0437\u044a\u0451\u043c.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/3e5\/dba\/d97\/3e5dbad97f18c6cb4e1187a94ba18f59.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/3e5\/dba\/d97\/3e5dbad97f18c6cb4e1187a94ba18f59.png\"\/><\/div>\n<p>  \u041c\u044b \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0440\u0430\u0437\u044a\u0451\u043c\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043e\u0442\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043b\u0443\u0447\u0448\u0435 \u0432\u0438\u0434\u0435\u0442\u044c \u043f\u043b\u0430\u0442\u0443. \u0421\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u043c \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043d\u0435 \u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e. \u041f\u0440\u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0438 \u043f\u0435\u0447\u0430\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b \u0441\u0442\u043e\u0438\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0435 \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0438 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u044b\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f; \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u043d\u0438\u0436\u0435 \u044f \u0432\u044b\u0434\u0435\u043b\u0438\u043b \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b\/\u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0438.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/22b\/c79\/cae\/22bc79cae4b8c66551268e27f06c9f01.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/22b\/c79\/cae\/22bc79cae4b8c66551268e27f06c9f01.png\"\/><\/div>\n<p>  \u041d\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u0432\u044b\u0448\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u0442\u0440\u0438 \u043d\u0430\u0431\u043e\u0440\u0430 \u043d\u0435\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432 \u0438\u043b\u0438 \u043f\u043b\u043e\u0449\u0430\u0434\u043e\u043a. \u041d\u0430\u0432\u0435\u0440\u0445\u0443 \u043f\u043b\u0430\u0442\u044b \u0435\u0441\u0442\u044c \u0442\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u044b\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f; \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0432\u044f\u0437\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0441\u043b\u043e\u044f\u043c\u0438 \u043f\u0435\u0447\u0430\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b. \u041f\u0440\u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0445\u043e\u0440\u043e\u0448\u0435\u0439 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0430\u043a\u0442, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0432\u0448\u0438\u0439\u0441\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/66e\/041\/a04\/66e041a04e05b1a5acc5344e365018fc.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/66e\/041\/a04\/66e041a04e05b1a5acc5344e365018fc.png\"\/><\/div>\n<p>  \u0415\u0449\u0451 \u043e\u0434\u043d\u0430 \u0433\u0440\u0443\u043f\u043f\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 16 \u043f\u043b\u043e\u0449\u0430\u0434\u043e\u043a, \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0445 \u0431\u0435\u043b\u044b\u043c \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u043e\u043c \u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u0440\u0443\u0436\u043a\u043e\u043c. \u042d\u0442\u0430 \u0433\u0440\u0443\u043f\u043f\u0430 \u043f\u043b\u043e\u0449\u0430\u0434\u043e\u043a \u0441 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043d\u0430 \u044d\u0442\u043e\u0439 \u043f\u043b\u0430\u0442\u0435.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/a58\/cc6\/de0\/a58cc6de02d7120ac72aa5cdd3d978f3.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/a58\/cc6\/de0\/a58cc6de02d7120ac72aa5cdd3d978f3.png\"\/><\/div>\n<p>  \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u043f\u043b\u043e\u0449\u0430\u0434\u043e\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0440\u0430\u0437\u044a\u0451\u043c\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f USB \u0438 \u0430\u0443\u0434\u0438\u043e. \u041f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0447\u0435\u0442\u044b\u0440\u0451\u0445\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043f\u043b\u043e\u0449\u0430\u0434\u043e\u043a \u0447\u0430\u0441\u0442\u043e \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u0430\u043c\u0438 \u043d\u0430 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0443\u044e \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0447\u0435\u0440\u0435\u0437 UART; \u043c\u044b \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c \u044d\u0442\u0438 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b \u0438 \u043e\u0431\u0441\u0443\u0434\u0438\u043c UART \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/b71\/ba0\/6c8\/b71ba06c8c9e48f4be032970b73f6e42.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/b71\/ba0\/6c8\/b71ba06c8c9e48f4be032970b73f6e42.png\"\/><\/div>\n<p>  <\/p>\n<hr\/>\n<p>  <\/p>\n<h2>\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432<\/h2>\n<p>  \u0418\u0437\u0443\u0447\u0430\u044f \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b \u043d\u0430\u043f\u043e\u0434\u043e\u0431\u0438\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435, \u044f \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u044e \u0441 \u0437\u0430\u043c\u0435\u0440\u0430 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f. \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 <a href=\"https:\/\/www.youtube.com\/watch?v=TdUK6RPdIrA\" rel=\"nofollow noopener noreferrer\">\u043d\u0430\u0448\u0438\u0445 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0442\u0440\u043e\u0432<\/a>. \u0427\u0442\u043e\u0431\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u044d\u0442\u0438\u0445 \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0430\u0445, \u043c\u044b \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u043c \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0442\u0440 \u0432 \u0440\u0435\u0436\u0438\u043c \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0433\u043e \u0442\u043e\u043a\u0430 \u0438 \u0431\u0443\u0434\u0435\u043c \u043a\u0430\u0441\u0430\u0442\u044c\u0441\u044f \u0449\u0443\u043f\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0438\u0445 \u043d\u0430\u0441 \u0442\u043e\u0447\u0435\u043a, \u0434\u0435\u0440\u0436\u0430 \u0447\u0451\u0440\u043d\u044b\u0439 \u0449\u0443\u043f \u043d\u0430 \u0442\u043e\u0447\u043a\u0435 \u0437\u0430\u0437\u0435\u043c\u043b\u0435\u043d\u0438\u044f. \u042d\u0442\u0438 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b \u0438\u043c\u0435\u044e\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f:<\/p>\n<div class=\"scrollable-table\">\n<table>\n<thead>\n<tr>\n<th>\u041a\u043e\u043d\u0442\u0430\u043a\u0442<\/th>\n<th>\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td>0v<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>0v<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>0v<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>0v<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>  \u041d\u0430 \u044d\u0442\u0438\u0445 \u043b\u0438\u043d\u0438\u044f\u0445 \u043d\u0435\u0442 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f; \u0445\u043e\u0442\u044c \u044d\u0442\u043e \u043d\u0430\u0441 \u0438 \u0440\u0430\u0437\u043e\u0447\u0430\u0440\u043e\u0432\u0430\u043b\u043e, \u043d\u043e \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0435 \u0441\u0442\u0430\u043b\u043e. \u0415\u0441\u043b\u0438 \u0431\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u043b\u0441\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 UART \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0439 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0441\u0438\u0433\u043d\u0430\u043b, \u043c\u044b \u0431\u044b \u043e\u0436\u0438\u0434\u0430\u043b\u0438 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0432 \u0432\u0438\u0434\u0435 \u043a\u043e\u043b\u0435\u0431\u0430\u043d\u0438\u0439 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0442\u0440\u0451\u0445\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u043e\u043c\u0443 \u0440\u0430\u0437\u044a\u0451\u043c\u0443.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/f66\/881\/6de\/f668816de3235924a1928f9b7d684094.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/f66\/881\/6de\/f668816de3235924a1928f9b7d684094.png\"\/><\/div>\n<p>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<thead>\n<tr>\n<th>\u041a\u043e\u043d\u0442\u0430\u043a\u0442<\/th>\n<th>\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f<\/th>\n<th>\u0426\u0432\u0435\u0442<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td>2.7v<\/td>\n<td>\u0420\u043e\u0437\u043e\u0432\u044b\u0439<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>1.4-3.3v<\/td>\n<td>\u0416\u0451\u043b\u0442\u044b\u0439<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>GND<\/td>\n<td>\u0427\u0451\u0440\u043d\u044b\u0439<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>  \u041f\u0440\u0438 \u0437\u0430\u043c\u0435\u0440\u0430\u0445 \u043d\u0430 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u044a\u0451\u043c\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0440\u0435\u0437\u043a\u0438\u0435 \u043a\u043e\u043b\u0435\u0431\u0430\u043d\u0438\u044f \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435, \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u0441\u0432\u043e\u0434\u044f\u0449\u0438\u0435\u0441\u044f \u043a 3,3 \u0412; \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u044d\u0442\u0438 \u043a\u043e\u043b\u0435\u0431\u0430\u043d\u0438\u044f, \u0441\u043c. \u0432 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u043d\u0438\u0436\u0435 gif:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/79f\/a13\/d9e\/79fa13d9e72f48d2ccfc414b57fcd1a1.gif\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/79f\/a13\/d9e\/79fa13d9e72f48d2ccfc414b57fcd1a1.gif\"\/><\/div>\n<p>  <strong>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/strong> \u043f\u0440\u0438 \u043f\u043e\u0438\u0441\u043a\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u044a\u0451\u043c\u0430 \u0432\u044b \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043a\u043e\u043b\u0435\u0431\u0430\u043d\u0438\u044f \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u043e\u0439 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b. \u041a\u043e\u043b\u0435\u0431\u0430\u043d\u0438\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u0443\u044e\u0442 \u0441 \u0443\u0440\u043e\u0432\u043d\u0435\u043c \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0441\u0438\u0433\u043d\u0430\u043b\u0430, \u0442\u043e \u0435\u0441\u0442\u044c \u0435\u0441\u043b\u0438 \u0442\u0440\u0430\u0444\u0438\u043a \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439, \u0442\u043e \u043a\u043e\u043b\u0435\u0431\u0430\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u0438\u043b\u0438 \u0438\u0445 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442. \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u0432\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u043d\u0430\u0448\u043b\u0438 \u043a\u043e\u043d\u0442\u0430\u043a\u0442 UART \u0438\u043b\u0438 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u0442\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0435\u0433\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u043c.<\/p>\n<p>  \u041c\u044b \u0432\u0438\u0434\u0438\u043c \u0442\u043e, \u0447\u0442\u043e <em>\u043c\u043e\u0436\u0435\u0442<\/em> \u043f\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0441\u0438\u0433\u043d\u0430\u043b\u0430 (\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043e\u043b\u0435\u0431\u0430\u043d\u0438\u0439 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f). \u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0442\u0440\u0430\u0444\u0438\u043a \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u043c. \u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043d\u0430\u043c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u043a\u043e\u043b\u0435\u0431\u0430\u043d\u0438\u044f \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u0432 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u0443\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446 \u0438 \u043d\u0443\u043b\u0435\u0439. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u043c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u0441 \u0434\u0432\u0443\u043c\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0438\u043c\u0438 \u043d\u0430\u0441 \u0442\u043e\u0447\u043a\u0430\u043c\u0438 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0438\u0436\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0438\u043a\u0430 \u00ab\u043c\u0430\u043c\u0430-\u043c\u0430\u043c\u0430\u00bb:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/079\/a42\/383\/079a4238385e814dea1164510e306e65.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/079\/a42\/383\/079a4238385e814dea1164510e306e65.jpg\" data-blurred=\"true\"\/><\/div>\n<p>  \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0432 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440, \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c Pulseview \u0438 \u0432\u044b\u0431\u0435\u0440\u0435\u043c \u0435\u0433\u043e \u0432 \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0435\u043c\u0441\u044f \u043c\u0435\u043d\u044e; \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u044d\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u00abSaleae Logic\u00bb. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 24 \u041c\u0413\u0446, \u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0451 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430. \u0422\u0430\u043a\u0436\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u044d\u043c\u043f\u043b\u043e\u0432. \u042f \u0432\u044b\u0431\u0440\u0430\u043b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 500G (500 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432).<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/792\/ac6\/2d7\/792ac62d7df55adda440ae6f066eea09.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/792\/ac6\/2d7\/792ac62d7df55adda440ae6f066eea09.png\"\/><\/div>\n<p>  \u041c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0437\u0430\u0445\u0432\u0430\u0442 \u043d\u0430\u0436\u0430\u0442\u0438\u0435\u043c \u043d\u0430 Run, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u043a\u043b\u044e\u0447\u0438\u043c \u043f\u0438\u0442\u0430\u043d\u0438\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u0441 \u044d\u0442\u0438\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/a31\/815\/92a\/a3181592a38bf37049e62d3a3fa34d58.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/a31\/815\/92a\/a3181592a38bf37049e62d3a3fa34d58.png\"\/><\/div>\n<p>  \u0423\u0441\u043f\u0435\u0445! \u041c\u044b \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0438\u043b\u0438 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0442\u0440\u0430\u0444\u0438\u043a; \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435 \u0432 Pulseview, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 UART \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432. \u041c\u044b \u0443\u0431\u0435\u0434\u0438\u043b\u0438\u0441\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u043e \u044d\u0442\u0438\u043c \u043b\u0438\u043d\u0438\u044f\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u043d\u0435\u043a\u0438\u0439 \u0442\u0440\u0430\u0444\u0438\u043a; \u0434\u0430\u043b\u0435\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0435 UART \u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0435\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c.<\/p>\n<h1>UART<\/h1>\n<p>  UART \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a Universal Asynchronous Receiver Transmitter. UART \u2014 \u044d\u0442\u043e \u0434\u0432\u0443\u0445\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u043e\u0439 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u0434\u0432\u0443\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c. \u041e\u0431\u0435\u0438\u043c \u0441\u0442\u043e\u0440\u043e\u043d\u0430\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u0432\u0435 \u043b\u0438\u043d\u0438\u0438: Transmit (Tx) \u0438 receive (Rx). \u0412\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 UART \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0437\u0430\u0434\u0430\u0447, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0434\u043b\u044f \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u043c\u0438, \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043e\u0442\u043b\u0430\u0434\u043a\u0435. UART \u2014 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b, \u0442\u043e \u0435\u0441\u0442\u044c \u0435\u043c\u0443 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u0442\u043e\u0432\u044b\u0439 \u0441\u0438\u0433\u043d\u0430\u043b. \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043e\u0431\u0435 \u043e\u0431\u0449\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e, \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u0439 baud rate. Baud rate \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u0431\u0438\u0442\u0430\u0445 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443.<\/p>\n<p>  \u041f\u0430\u043a\u0435\u0442\/\u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 UART \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043f\u043e\u043b\u0435\u0439:<\/p>\n<div class=\"scrollable-table\">\n<table>\n<thead>\n<tr>\n<th>\u041f\u043e\u0437\u0438\u0446\u0438\u044f \u0431\u0438\u0442\u0430<\/th>\n<th>\u0418\u043c\u044f<\/th>\n<th>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>0:1<\/td>\n<td>\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0431\u0438\u0442<\/td>\n<td>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0430\u043a\u0435\u0442\u0430<\/td>\n<\/tr>\n<tr>\n<td>1:9<\/td>\n<td>\u0411\u0438\u0442\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043d\u043e \u043e\u0431\u044b\u0447\u043d\u043e 8)<\/td>\n<td>\u041f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435\/\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435; \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u0435\u0440\u0432\u044b\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0441\u0430\u043c\u044b\u0439 \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0431\u0438\u0442<\/td>\n<\/tr>\n<tr>\n<td>9:10<\/td>\n<td>\u0411\u0438\u0442 \u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438<\/td>\n<td>1, \u0435\u0441\u043b\u0438 \u0431\u0438\u0442\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043d\u0435\u0447\u0451\u0442\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0435\u0434\u0438\u043d\u0438\u0446, 0 \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435<\/td>\n<\/tr>\n<tr>\n<td>10:12<\/td>\n<td>\u0411\u0438\u0442\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430<\/td>\n<td>\u041e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0442, \u0447\u0442\u043e \u043f\u0430\u043a\u0435\u0442 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>  \u0414\u0430\u0436\u0435 \u0437\u043d\u0430\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u0432\u044b\u0448\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u0430, \u043d\u0430\u043c \u0441\u043b\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0430 \u043b\u043e\u0433\u0438\u043a\u0438. \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u0432 Pulseview \u0435\u0441\u0442\u044c \u0434\u0435\u043a\u043e\u0434\u0435\u0440 UART, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f.<\/p>\n<h2>\u0414\u0435\u043a\u043e\u0434\u0438\u0440\u0443\u0435\u043c \u0442\u0440\u0430\u0444\u0438\u043a UART<\/h2>\n<p>  \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e pulseview \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0442\u0440\u0430\u0444\u0438\u043a \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0438 \u044d\u0442\u043e \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 UART. \u0414\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0434\u0435\u043a\u043e\u0434\u0435\u0440\u0430 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u043d\u0438\u0436\u0435 \u0437\u0435\u043b\u0451\u043d\u044b\u0439 \u0438 \u0436\u0451\u043b\u0442\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b\u044b. \u041e\u0442\u043a\u0440\u043e\u0435\u0442\u0441\u044f \u043e\u043a\u043d\u043e \u0432\u044b\u0431\u043e\u0440\u0430 \u0434\u0435\u043a\u043e\u0434\u0435\u0440\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0432 \u043f\u0430\u043d\u0435\u043b\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 <code>uart<\/code> \u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0435\u043a\u043e\u0434\u0435\u0440 UART.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/1af\/502\/5c7\/1af5025c76192f491e4ad86bb58d6ea5.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/1af\/502\/5c7\/1af5025c76192f491e4ad86bb58d6ea5.png\"\/><\/div>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/128\/a8b\/9d0\/128a8b9d0ae7fdb69d42871993d531d5.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/128\/a8b\/9d0\/128a8b9d0ae7fdb69d42871993d531d5.png\"\/><\/div>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0434\u0435\u043a\u043e\u0434\u0435\u0440 UART. \u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043a\u0430\u043d\u0430\u043b\u044b \u0438 \u0437\u0430\u0434\u0430\u0442\u044c \u0432\u0441\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u044d\u0442\u043e\u043c\u0443 \u0434\u0435\u043a\u043e\u0434\u0435\u0440\u0443. \u0421\u043c. \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043d\u0438\u0436\u0435:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/112\/4c6\/92a\/1124c692a99248bf1211981f3e44a8a1.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/112\/4c6\/92a\/1124c692a99248bf1211981f3e44a8a1.png\"\/><\/div>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u0431\u0435\u0440\u0435\u043c \u043b\u0438\u043d\u0438\u044e Rx \u043a\u0430\u043a \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0442\u0440\u0430\u0444\u0438\u043a \u043a\u0430\u043d\u0430\u043b; \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 <code>D1<\/code>. \u0412\u043e \u0432\u0441\u0435\u0445 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u044f\u0445 \u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: 8-\u0431\u0438\u0442\u043d\u0430\u044f \u0448\u0438\u0440\u0438\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438 \u0438 \u0442. \u043f.<\/p>\n<p>  \u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0434\u0438\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440: baud rate. \u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0439\u0442\u0435, \u0447\u0442\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u0442\u044c baud rate; \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u044f\/\u0437\u0430\u043f\u0443\u0441\u043a\u0430. \u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u044d\u0442\u043e\u0442 baud rate \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e; \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0434\u0435\u043a\u043e\u0434\u0435\u0440 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u0430\u0440\u0441\u0438\u0442\u044c \u044d\u0442\u0438 \u0441\u0438\u0433\u043d\u0430\u043b\u044b. \u0414\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f baud rate \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435.<\/p>\n<ol>\n<li>\u041f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u044c \u0442\u043e, \u0447\u0442\u043e \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0438\u0445 \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u043e\u0432 (\u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043e\u043d \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0439 \u043f\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u043d\u0438\u043a\u0443 \u043e\u0434\u0438\u043d \u0431\u0438\u0442)<\/li>\n<li>\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0448\u0438\u0440\u0438\u043d\u0443 \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u0430 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043c\u0430\u0440\u043a\u0435\u0440\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Pulseview, \u043d\u0430\u0436\u0430\u0442\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u0443\u044e \u043d\u0438\u0436\u0435 \u043a\u043d\u043e\u043f\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438\u0445:\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/191\/242\/1fa\/1912421fabfa439b90b2ce4b7cc7a03f.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/191\/242\/1fa\/1912421fabfa439b90b2ce4b7cc7a03f.png\"\/><\/div>\n<\/li>\n<li>\u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u0431\u043e\u0440\u0430 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 \u043c\u0430\u043b\u043e\u0433\u043e \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u0430 Pulseview \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0438 \u0432\u044b\u0434\u0430\u0441\u0442 \u043d\u0430\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0432 \u0433\u0435\u0440\u0446\u0430\u0445, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0435 \u043d\u0438\u0436\u0435.<\/li>\n<\/ol>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/dea\/358\/b25\/dea358b25c460535a8e03dce363ee13e.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/dea\/358\/b25\/dea358b25c460535a8e03dce363ee13e.png\"\/><\/div>\n<p>  \u0413\u0435\u0440\u0446 \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u0442\u0430\u043a\u0442\u0430\u0445 \u043d\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u0443; \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e baud rate \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u0431\u0438\u0442\u0430\u0445 \u043d\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. \u0421\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0435\u0441\u043b\u0438 \u043c\u044b \u0432\u044b\u0434\u0435\u043b\u0438\u043b\u0438 \u043e\u0434\u0438\u043d \u0431\u0438\u0442, \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0439 \u043f\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u043d\u0438\u043a\u0443, \u0438 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u044d\u0442\u043e\u0433\u043e \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u0430, \u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0438 baud rate.<\/p>\n<p>  \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e Pulseview, \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u0440\u0430\u0432\u043d\u0430 115,384 \u043a\u0413\u0446, \u0447\u0442\u043e \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e baud rate \u0432 115385 \u0431\u0438\u0442\/\u0441. \u0422\u0435, \u043a\u0442\u043e \u0437\u043d\u0430\u043a\u043e\u043c \u0441 \u043a\u043e\u043d\u0441\u043e\u043b\u044f\u043c\u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438, \u0434\u043e\u043b\u0436\u043d\u044b \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0431\u043b\u0438\u0437\u043a\u043e \u043a <a href=\"https:\/\/lucidar.me\/en\/serialib\/most-used-baud-rates-table\/\" rel=\"nofollow noopener noreferrer\">\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u043c\u0443 baud rate<\/a>, \u0440\u0430\u0432\u043d\u043e\u043c\u0443 115200. \u0422\u0430\u043a \u0447\u0442\u043e \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u043c \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u0434\u0435\u043a\u043e\u0434\u0435\u0440 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0451\u0442.<\/p>\n<p>  \u041d\u0430 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0435 \u043d\u0438\u0436\u0435 \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u043b\u043e\u0433 \u043e\u0442\u043b\u0430\u0434\u043a\u0438.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/69c\/183\/c20\/69c183c2096eb7ab5df415fd8ceb46d6.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/69c\/183\/c20\/69c183c2096eb7ab5df415fd8ceb46d6.png\"\/><\/div>\n<p>  \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 UART \u0438 \u043c\u044b \u043d\u0430\u0435\u043c \u0435\u0433\u043e baud rate, \u043d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0441\u043f\u043e\u0441\u043e\u0431 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u043d\u0438\u043c. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f Raspberry Pi. \u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432\u044b\u0432\u043e\u0434\u043e\u0432 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u0438\u043c\u0435\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u0438\u0434:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/46a\/600\/314\/46a600314dbca5330ea42cd16e18b172.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/46a\/600\/314\/46a600314dbca5330ea42cd16e18b172.jpg\" data-blurred=\"true\"\/><\/div>\n<p>  <\/p>\n<h2>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c Raspberry Pi<\/h2>\n<p>  Raspberry Pi \u0438\u043c\u0435\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e UART; \u0442\u043e\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0432\u044b\u0434\u0435\u043b\u0435\u043d \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u043d\u0438\u0436\u0435:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/lx\/th\/ux\/lxthuxqkfrhokk6vop5ruq4fkdq.png\" data-src=\"https:\/\/habrastorage.org\/webt\/lx\/th\/ux\/lxthuxqkfrhokk6vop5ruq4fkdq.png\"\/><\/div>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u044d\u0442\u043e\u0442 UART, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0431\u043b\u043e\u0431 \u0434\u0435\u0440\u0435\u0432\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0411\u043b\u043e\u0431 \u0434\u0435\u0440\u0435\u0432\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (device tree blob, DTB) \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u044f\u0434\u0440\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043b\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0443\u044e \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0443\u044e \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u044e. \u042f\u0434\u0440\u043e \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u044d\u0442\u0443 \u0434\u0432\u043e\u0438\u0447\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0438 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u0443\u044e \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u044e. \u041f\u0440\u0438 \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0430 Linux \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0439\u0442\u0438 \u043d\u0430 \u043f\u043e\u043b\u044c\u0437\u0443, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043d\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0433\u0434\u0435 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0440\u0430\u0437\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430.<\/p>\n<p>  \u0412\u0441\u0435 \u043d\u0443\u0436\u043d\u044b\u0435 \u043d\u0430\u043c \u0431\u043b\u043e\u0431\u044b \u0434\u0435\u0440\u0435\u0432\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0432 raspberry pi \u043c\u043e\u0433\u0443\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0432 <code>\/boot\/overlays\/<\/code>. \u041d\u0430\u0439\u0434\u0438\u0442\u0435 \u0432 \u044d\u0442\u043e\u0439 \u043f\u0430\u043f\u043a\u0435 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0434\u0435\u0440\u0435\u0432\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 HAT (\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u0435\u0447\u0430\u0442\u043d\u044b\u0445 \u043f\u043b\u0430\u0442, \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f Pi), \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0445 \u043a Pi, \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e\u0439 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0438 \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 DTB \u0434\u043b\u044f \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0438 UART \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 <code>raspi-config<\/code>.<\/p>\n<h2>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c Raspi Config<\/h2>\n<p>  <code>raspi-config<\/code> \u2014 \u044d\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043d\u0430\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0430\u0441\u043f\u0435\u043a\u0442\u044b Raspberry Pi, \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432. \u041c\u044b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f <code>raspi-config<\/code> \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 UART; \u043d\u0430\u0447\u043d\u0451\u043c \u0441 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430:<\/p>\n<p>  <code>sudo raspi-config<\/code><\/p>\n<p>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u044d\u043a\u0440\u0430\u043d:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/22f\/0e5\/e4b\/22f0e5e4b809422889968e7317e6aa57.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/22f\/0e5\/e4b\/22f0e5e4b809422889968e7317e6aa57.png\"\/><\/div>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043c\u044b \u0432\u044b\u0431\u0435\u0440\u0435\u043c <code>Interface Options<\/code>, \u0430 \u0437\u0430\u0442\u0435\u043c <code>Serial Port<\/code>, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u043d\u0438\u0436\u0435:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/22f\/0e5\/e4b\/22f0e5e4b809422889968e7317e6aa57.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/22f\/0e5\/e4b\/22f0e5e4b809422889968e7317e6aa57.png\"\/><\/div>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u0431\u043e\u0440\u0430 \u044d\u0442\u043e\u0439 \u043e\u043f\u0446\u0438\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u0441\u044f \u0434\u0432\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u0430:<\/p>\n<ol>\n<li>Would you like a login shell to be accessible over serial? (\u0421\u0434\u0435\u043b\u0430\u0442\u044c login shell \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442?)\n<ul>\n<li>No (\u041d\u0435\u0442)<\/li>\n<\/ul>\n<\/li>\n<li>Would you like the serial port hardware to be enabled? (\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430?)\n<ul>\n<li>Yes (\u0414\u0430)<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>  \u0422\u0430\u043a \u043c\u044b \u0432\u043a\u043b\u044e\u0447\u0438\u043b\u0438 UART \u043d\u0430 Raspberry Pi. \u0414\u0430\u043b\u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0435\u0433\u043e \u043a \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0443. \u041c\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c Tx \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u043a Rx \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 Pi, \u0430 Rx \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u2014 \u043a Tx \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 Pi:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/876\/0d8\/578\/8760d8578ce1c8b6790dc7617dd65618.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/876\/0d8\/578\/8760d8578ce1c8b6790dc7617dd65618.png\"\/><\/div>\n<p>  <\/p>\n<h2>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b UART<\/h2>\n<p>  \u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 UART \u043d\u0430 Raspberry Pi \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u043f\u043e\u0440\u0442\u0443 \u043d\u0430\u0448\u0435\u0439 \u0446\u0435\u043b\u0438. \u0414\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u044d\u0442\u0438\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u0440\u0442\u043e\u043c \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u0442\u0438\u043b\u0438\u0442\u0443 <code>screen<\/code>. \u041f\u0440\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 \u0441 UART \u0443\u0442\u0438\u043b\u0438\u0442\u0435 Screen \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 baud rate; \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0437\u043d\u0430\u0435\u043c baud rate \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430, \u0442\u043e \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c screen \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<p>  <code>sudo screen -L -Logfile cabinet-bootup.log \/dev\/ttyS0 115200<\/code><\/p>\n<ul>\n<li><code>-L -Logfile cabinet-bootup.log<\/code> \u2014 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0441\u0435\u0441\u0441\u0438\u044e \u0432 \u0444\u0430\u0439\u043b <code>cabinet-bootup.log<\/code><\/li>\n<li><code>\/dev\/ttyS0<\/code> \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e<\/li>\n<li><code>115200<\/code> \u2014 Baud rate<\/li>\n<\/ul>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u0438\u0442\u0430\u043d\u0438\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430, \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0432 UART \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0432 screen. \u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/bb3\/629\/f51\/bb3629f518ae18aaccb329f9e363dc86.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/bb3\/629\/f51\/bb3629f518ae18aaccb329f9e363dc86.png\"\/><\/div>\n<p>  \u0418 \u043d\u0430\u043a\u043e\u043d\u0435\u0446 \u043c\u044b \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u0441\u044f \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/1f5\/ec0\/766\/1f5ec076630a80e77ca26ce3fa1d0c6f.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/1f5\/ec0\/766\/1f5ec076630a80e77ca26ce3fa1d0c6f.png\"\/><\/div>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0440\u0443\u0442\u0430; \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0447\u0442\u043e \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043e \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043e\u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430. \u041d\u0430\u0448\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u044d\u0442\u0430\u043f\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432; \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u0447\u043d\u0451\u043c \u0441 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u044d\u0442\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u044b:<\/p>\n<p>  <code>[root@rk3128:\/]# mount<br \/>  \/dev\/root on \/ type squashfs (ro,relatime)<br \/>  devtmpfs on \/dev type devtmpfs (rw,relatime,size=103544k,nr_inodes=25886,mode=755)<br \/>  proc on \/proc type proc (rw,relatime)<br \/>  devpts on \/dev\/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)<br \/>  tmpfs on \/dev\/shm type tmpfs (rw,relatime,size=112248k,nr_inodes=28062,mode=777)<br \/>  tmpfs on \/tmp type tmpfs (rw,relatime,size=112248k,nr_inodes=28062)<br \/>  tmpfs on \/tmp type tmpfs (rw,nosuid,nodev,relatime,size=112248k,nr_inodes=28062,mode=755)<br \/>  sysfs on \/sys type sysfs (rw,relatime)<br \/>  debug on \/sys\/kernel\/debug type debugfs (rw,relatime)<br \/>  pstore on \/sys\/fs\/pstore type pstore (rw,relatime)<br \/>  \/dev\/root on \/var type squashfs (ro,relatime)<br \/>  tmpfs on \/tmp type tmpfs (rw,nosuid,nodev,relatime,size=112248k,nr_inodes=28062,mode=755)<br \/>  \/dev\/rkflash0p5 on \/userdata type ext2 (rw,relatime)<br \/>  none on \/sys\/kernel\/config type configfs (rw,relatime)<br \/>  adb on \/dev\/usb-ffs\/adb type functionfs (rw,relatime)<\/code><\/p>\n<p>  \u041d\u0430\u0448\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0440\u0443\u0442\u0430 \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043a\u0430\u043a read-only \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0444\u043e\u0440\u043c\u0430\u0442 squashfs. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0440\u0430\u0437\u0434\u0435\u043b \u0441 \u043c\u0435\u0442\u043a\u043e\u0439 <code>userdata<\/code>. \u0415\u0441\u043b\u0438 \u043c\u044b \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0431\u043b\u043e\u0447\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<p>  <code>[root@rk3128:\/]# ls -lathr \/dev\/block\/by-name\/<br \/>  lrwxrwxrwx 1 root root 16 Jan 1 00:00 userdata -> ..\/..\/rkflash0p5<br \/>  lrwxrwxrwx 1 root root 16 Jan 1 00:00 uboot -> ..\/..\/rkflash0p1<br \/>  lrwxrwxrwx 1 root root 16 Jan 1 00:00 trust -> ..\/..\/rkflash0p2<br \/>  lrwxrwxrwx 1 root root 16 Jan 1 00:00 rootfs -> ..\/..\/rkflash0p4<br \/>  lrwxrwxrwx 1 root root 16 Jan 1 00:00 boot -> ..\/..\/rkflash0p3<br \/>  drwxr-xr-x 3 root root 380 Jan 1 00:00 ..<br \/>  drwxr-xr-x 2 root root 140 Jan 1 00:00 .<\/code><\/p>\n<p>  \u041c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e SPI flash \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 <code>\/dev\/rkflash0<\/code>. \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0431\u0440\u0430\u0437 \u044d\u0442\u043e\u0433\u043e \u0431\u043b\u043e\u0447\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c USB-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c \u043a USB-\u0440\u0430\u0437\u044a\u0451\u043c\u0443 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u0442\u0438\u043b\u0438\u0442\u0443 <code>dd<\/code>. \u041f\u043e\u0441\u043b\u0435 \u0432\u0441\u0442\u0430\u0432\u043a\u0438 USB-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044f \u043e\u043d \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a <code>\/dev\/sda<\/code> \u0438 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0430 USB-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c \u043e\u0431\u0440\u0430\u0437 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e SPI flash \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<p>  <code>sudo dd if=\/dev\/rkflash0 of=\/dev\/sda status=progress<\/code><\/p>\n<p>  \u0415\u0441\u043b\u0438 \u043c\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c USB-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c \u043a Pi \u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043e\u0431\u0440\u0430\u0437\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432 \u0437\u0430\u043f\u0438\u0441\u0430\u043b\u0438\u0441\u044c \u043d\u0430 \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c!<\/p>\n<p>  <code>pi@voidstar:~ $ lsblk<br \/>  NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT<br \/>  sda 8:0 1 57.8G 0 disk<br \/>  \u251c\u2500sda1 8:1 1 4M 0 part<br \/>  \u251c\u2500sda2 8:2 1 2M 0 part<br \/>  \u251c\u2500sda3 8:3 1 9M 0 part<br \/>  \u251c\u2500sda4 8:4 1 80.8M 0 part<br \/>  \u2514\u2500sda5 8:5 1 8M 0 part<\/code><\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0430\u044f \u043a\u043e\u043f\u0438\u044f \u0444\u043b\u044d\u0448-\u043f\u0430\u043c\u044f\u0442\u0438, \u0438 \u044d\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u0448\u0430\u0433, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b; \u043f\u0440\u0435\u0436\u0434\u0435 \u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0447\u0442\u043e-\u0442\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u0434\u0435\u043b\u044b, \u043d\u0443\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0445; \u0447\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e, \u043c\u044b \u0438\u0437\u0443\u0447\u0438\u043c \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043e\u0431\u0440\u0430\u0442\u0438\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u043b\u043e\u0433\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430:<\/p>\n<p>  <code>CLK: (uboot. arm: enter 600000 KHz, init 600000 KHz, kernel 0N\/A)<br \/>   apll 600000 KHz<br \/>   dpll 600000 KHz<br \/>   cpll 650000 KHz<br \/>   gpll 594000 KHz<br \/>   armclk 600000 KHz<br \/>   aclk_cpu 148500 KHz<br \/>   hclk_cpu 74250 KHz<br \/>   pclk_cpu 74250 KHz<br \/>   aclk_peri 148500 KHz<br \/>   hclk_peri 74250 KHz<br \/>   pclk_peri 74250 KHz<br \/>  Net: Net Initialization Skipped<br \/>  No ethernet found.<br \/>  Hit key to stop autoboot('CTRL+C'): 0<\/code><\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0437\u0430\u0436\u0430\u0442\u044c <code>Ctrl-c<\/code> \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 screen \u043f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430, \u0442\u043e \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<p>  <code>Hit key to stop autoboot('CTRL+C'): 0<br \/>  => &lt;INTERRUPT><\/code><\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 UBoot; \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043c\u044b \u0443\u0433\u043b\u0443\u0431\u0438\u043c\u0441\u044f \u0432 \u0435\u0451 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e UBoot \u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<hr\/>\n<p>  <\/p>\n<h1>UBoot<\/h1>\n<p>  <a href=\"https:\/\/www.denx.de\/wiki\/U-Boot\" rel=\"nofollow noopener noreferrer\">UBoot<\/a> \u2014 \u044d\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0432 open-source, \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0432\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445. \u041e\u043d \u0438\u043c\u0435\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0448\u0438\u0440\u043e\u043a\u043e\u0433\u043e \u0430\u0441\u0441\u043e\u0440\u0442\u0438\u043c\u0435\u043d\u0442\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440 \u0438 \u0442\u0438\u043f\u043e\u0432 CPU. \u041e\u0434\u043d\u0430\u043a\u043e \u0437\u0430\u0434\u0430\u0447\u0430 UBoot \u043e\u0431\u044b\u0447\u043d\u043e \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u044f\u0434\u0440\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u043b\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 UBoot \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0443\u0442\u0438\u043b\u0438\u0442\u044b, \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430; \u0441\u0430\u043c\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 UBoot.<\/p>\n<h2>\u041a\u043e\u043c\u0430\u043d\u0434\u044b UBoot<\/h2>\n<p>  \u041a\u043e\u043d\u0441\u043e\u043b\u044c UBoot \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0443\u0442\u0438\u043b\u0438\u0442. \u042d\u0442\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 (\u0447\u0430\u0441\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u044b) \u0438\u043b\u0438 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 UBoot. \u041d\u0430\u0431\u043e\u0440 \u043a\u043e\u043c\u0430\u043d\u0434 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0431\u044b\u043b \u0441\u043e\u0431\u0440\u0430\u043d \u043e\u0431\u0440\u0430\u0437 UBoot.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u043a\u043e\u043d\u0441\u043e\u043b\u044c UBoot, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u0447\u043d\u0451\u043c \u0441 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043d\u0430\u043c, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 <code>help command<\/code><\/p>\n<p>  <code> android_print_hdr base bdinfo bidram_dump BMP boot boot_android bootavb<br \/>   bootd bootm bootp bootrkp bootz charge cmp coninfo cp crc32 ...<br \/>  => <br \/>  ? - alias for 'help'<br \/>  android_print_hdr- print android image header<br \/>  base - print or set address offset<br \/>  bdinfo - print Board Infostructure<br \/>  bidram_dump- Dump bidram layout<br \/>  BMP - manipulate BMP image data<br \/>  boot - boot default, i.e., run 'bootcmd'<br \/>  boot_android- Execute the Android Bootloader flow.<br \/>  bootavb - Execute the Android avb a\/b boot flow.<br \/>  bootd - boot default, i.e., run 'bootcmd'<br \/>  bootm - boot application image from memory<br \/>  bootp - boot image via network using BOOTP\/TFTP protocol<br \/>  bootrkp - Boot Linux Image from rockchip image type<br \/>  Bootz - boot Linux zImage image from memory<br \/>  charge - Charge display<br \/>  CMP - memory compare<br \/>  coninfo - print console devices and information<br \/>  cp - memory copy<br \/>  crc32 - checksum calculation<br \/>  DHCP - boot image via network using DHCP\/TFTP protocol<br \/>  dm - Driver model low level access<br \/>  download- enter rockusb\/bootrom download mode<br \/>  dtimg - manipulate dtb\/dtbo Android image<br \/>  dump_atags- Dump the content of the atags<br \/>  dump_irqs- Dump IRQs<br \/>  echo - echo args to console<br \/>  editenv - edit environment variable<br \/>  env - environment handling commands<br \/>  exit - exit script<br \/>  ext2load- load binary file from a Ext2 filesystem<br \/>  ext2ls - list files in a directory (default \/)<br \/>  ext4load- load binary file from a Ext4 filesystem<br \/>  ext4ls - list files in a directory (default \/)<br \/>  ext4size- determine a file's size<br \/>  false - do nothing, unsuccessfully<br \/>  fastboot- use USB or UDP Fastboot protocol<br \/>  fatinfo - print information about filesystem<br \/>  fatload - load binary file from a dos filesystem<br \/>  fatls - list files in a directory (default \/)<br \/>  fantasize - determine a file's size<br \/>  fatwrite- write file into a dos filesystem<br \/>  fdt - flattened device tree utility commands<br \/>  fstype - Lookup a filesystem type<br \/>  go - start application at address 'addr'<br \/>  gpt - GUID Partition Table<br \/>  help - print command description\/usage<br \/>  iomem - Show iomem data by device compatible(high priority) or node name<br \/>  lcdputs - print string on video framebuffer<br \/>  load - load binary file from a filesystem<br \/>  loop - infinite loop on address range<br \/>  ls - list files in a directory (default \/)<br \/>  MD - memory display<br \/>  mii - MII utility commands<br \/>  mm - memory modify (auto-incrementing address)<br \/>  mmc - MMC subsystem<br \/>  mmcinfo - display MMC info<br \/>  MW - memory write (fill)<br \/>  NFS - boot image via network using NFS protocol<br \/>  nm - memory modify (constant address)<br \/>  part - disk partition related commands<br \/>  ping - Send ICMP ECHO_REQUEST to network host<br \/>  printenv- print environment variables<br \/>  pxe - commands to get and boot from pxe files<br \/>  rbrom - Perform RESET of the CPU<br \/>  reboot - Perform RESET of the CPU, alias of 'reset'<br \/>  reset - Perform RESET of the CPU<br \/>  rkimgtest- Test if storage media have rockchip image<br \/>  rknand - rockchip nand flash sub-system<br \/>  rksfc - rockchip SFC sub-system<br \/>  rktest - Rockchip board modules test<br \/>  rockchip_show_bmp- load and display BMP from resource partition<br \/>  rockchip_show_logo- load and display log from resource partition<br \/>  rocks - Use the rockusb Protocol<br \/>  run - run commands in an environment variable<br \/>  save - save file to a filesystem<br \/>  setcurs - set cursor position within screen<br \/>  setenv - set environment variables<br \/>  showvar - print local hushshell variables<br \/>  size - determine a file's size<br \/>  source - run script from memory<br \/>  sysboot - command to get and boot from syslinux files<br \/>  sysmem_dump- Dump system layout<br \/>  sysmem_search- Search a available system region<br \/>  test - minimal test like \/bin\/sh<br \/>  TFTP - download image via network using TFTP protocol<br \/>  true - do nothing, successfully<br \/>  ums - Use the UMS [USB Mass Storage]<br \/>  USB - USB sub-system<br \/>  usbboot - boot from USB device<br \/>  version - print monitor, compiler, and linker version<br \/>  =><\/code><\/p>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043c \u043d\u0430\u0448\u0443 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0446\u0435\u043b\u044c \u2014 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0443\u0442\u0430 \u0438\u0437 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430 \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439, \u0435\u0441\u043b\u0438 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u044d\u0442\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430. \u0412 \u0433\u043b\u0430\u0437\u0430 \u043f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u0431\u0440\u043e\u0441\u0430\u044e\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u0438 \u043a\u0430\u0441\u0430\u044e\u0442\u0441\u044f \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u043f\u0430\u043c\u044f\u0442\u044c:<\/p>\n<p>  <code>download- enter rockusb\/bootrom download mode<br \/>  dtimg - manipulate dtb\/dtbo Android image<br \/>  dump_atags- Dump the content of the atags<br \/>  ext2load- load binary file from a Ext2 filesystem<br \/>  ext2ls - list files in a directory (default \/)<br \/>  ext4load- load binary file from a Ext4 filesystem<br \/>  ext4ls - list files in a directory (default \/)<br \/>  ext4size- determine a file's size<br \/>  fastboot- use USB or UDP Fastboot protocol<br \/>  fatinfo - print information about filesystem<br \/>  fatload - load binary file from a dos filesystem<br \/>  fatls - list files in a directory (default \/)<br \/>  fantasize - determine a file's size<br \/>  fatwrite- write file into a dos filesystem<br \/>  mm - memory modify (auto-incrementing address)<br \/>  rknand - rockchip nand flash sub-system<br \/>  rksfc - rockchip SFC sub-system<br \/>  ums - Use the UMS [USB Mass Storage]<br \/>  USB - USB sub-system<\/code><\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u044b, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0431\u044b\u043b \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u044d\u0442\u043e\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <code>printenv<\/code>. \u042d\u0442\u043e \u0434\u0430\u0441\u0442 \u043d\u0430\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u043e \u0442\u043e\u043c, <strong>\u043a\u0430\u043a<\/strong> \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430, \u043a\u0430\u043a\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0438 \u043a\u0430\u043a\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b.<\/p>\n<h2>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u044b UBoot<\/h2>\n<p>  \u041f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u0438\u043b\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0431\u0440\u0430\u0437\u0430 UBoot \u0434\u043b\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u044b. \u042d\u0442\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442 \u0442\u0435\u043c, \u043a\u0430\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435. \u0422\u0430\u043a\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c. \u0418\u043d\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u0436\u0451\u0441\u0442\u043a\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432 \u0441\u0430\u043c\u043e\u043c \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435; \u0442\u0430\u043a\u0436\u0435 \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u0444\u043b\u044d\u0448-\u043f\u0430\u043c\u044f\u0442\u0438, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0438\u0445 \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 UBoot.<\/p>\n<p>  \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u044b \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>printenv<\/code>:<\/p>\n<p>  <code>=> printenv<br \/>  arch=arm<br \/>  baudrate=115200<br \/>  board=evb_rk3128<br \/>  board_name=evb_rk3128<br \/>  boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}<br \/>  boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}extlinux\/extlinux.conf<br \/>  boot_net_usb_start=usb start<br \/>  boot_prefixes=\/ \/boot\/<br \/>  boot_script_dhcp=boot.scr.uimg<br \/>  boot_scripts=boot.scr.uimg boot.scr<br \/>  boot_targets=mmc1 mmc0 rknand0 usb0 pxe dhcp <br \/>  bootargs=storagemedia=nand androidboot.storagemedia=nand androidboot.mode=normal <br \/>  bootcmd=boot_android ${devtype} ${devnum};bootrkp;run distro_bootcmd;<br \/>  bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;<br \/>  bootcmd_mmc0=setenv devnum 0; run mmc_boot<br \/>  bootcmd_mmc1=setenv devnum 1; run mmc_boot<br \/>  bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi<br \/>  bootcmd_rknand0=setenv devnum 0; run rknand_boot<br \/>  bootcmd_usb0=setenv devnum 0; run usb_boot<br \/>  bootdelay=0<br \/>  cpu=armv7<br \/>  devnum=0<br \/>  devtype=spinand<br \/>  distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done<br \/>  ethaddr=d2:79:07:fc:f7:89<br \/>  fdt_addr1_r=0x61700000<br \/>  fdt_addr_r=0x68300000<br \/>  kernel_addr1_r=0x62008000<br \/>  kernel_addr_r=0x62008000<br \/>  mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi<br \/>  pxefile_addr1_r=0x60600000<br \/>  pxefile_addr_r=0x60600000<br \/>  ramdisk_addr1_r=0x63000000<br \/>  ramdisk_addr_r=0x6a200000<br \/>  rkimg_bootdev=if mmc dev 1 &amp;&amp; rkimgtest mmc 1; then setenv devtype mmc; setenv devnum 1; echo Boot from SDcard;elif mmc dev 0; then setenv devtype mmc; setenv devnum 0;elif mtd_blk dev 0; then setenv devtype mtd; setenv devnum 0;elif mtd_blk dev 1; then setenv devtype mtd; setenv devnum 1;elif mtd_blk dev 2; then setenv devtype mtd; setenv devnum 2;elif rknand dev 0; then setenv devtype rknand; setenv devnum 0;elif rksfc dev 0; then setenv devtype spinand; setenv devnum 0;elif rksfc dev 1; then setenv devtype spinor; setenv devnum 1;fi; <br \/>  scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;<br \/>  scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done<br \/>  scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}extlinux\/extlinux.conf; then echo Found ${prefix}extlinux\/extlinux.conf; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi<br \/>  scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done<br \/>  scriptaddr=0x60500000<br \/>  scriptaddr1=0x60500000<br \/>  serial#=c3d9b8674f4b94f6<br \/>  soc=rockchip<br \/>  stderr=serial,vidconsole<br \/>  stdout=serial,vidconsole<br \/>  usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi<br \/>  vendor=rockchip<\/p>\n<p>  Environment size: 3477\/32764 bytes<br \/>  =><\/code><\/p>\n<p>  \u0415\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u0445\u043e\u0447\u0443 \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443:<\/p>\n<div class=\"scrollable-table\">\n<table>\n<thead>\n<tr>\n<th>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f<\/th>\n<th>\u0421\u043c\u044b\u0441\u043b<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>bootcmd<\/code><\/td>\n<td>\u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435<\/td>\n<\/tr>\n<\/tbody>\n<tbody>\n<tr>\n<td><code>board=evb_rk3128<\/code><\/td>\n<td>\u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 CPU \/ \u043f\u043b\u0430\u0442\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438<\/td>\n<\/tr>\n<\/tbody>\n<tbody>\n<tr>\n<td><code>devtype=spinand<\/code><\/td>\n<td>\u042d\u0442\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0435 \u0444\u043b\u044d\u0448-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>  \u0415\u0441\u043b\u0438 \u043d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u044b \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u044d\u0442\u043e \u0441 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u043f\u0440\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b. \u041f\u043e\u0441\u043b\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u044b \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043b\u0438, \u0447\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0435\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f SPI flash, \u0438 \u044d\u0442\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0441\u0440\u0435\u0434\u044b UBoot, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438.<\/p>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u0447\u043d\u0451\u043c \u0441 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434 <code>rksfc<\/code>; <a href=\"https:\/\/gitlab.collabora.com\/nicolas\/rockchip-uboot\/blob\/d5f538dc02e53c7267fcd4a914104071fca889b5\/doc\/README.rksfc\" rel=\"nofollow noopener noreferrer\">\u0433\u0443\u0433\u043b\u0435\u043d\u0438\u0435<\/a> \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 RockChip SPI SFC (serial flash controller). \u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0438\u043c\u0435\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u043e\u0434\u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<p>  <code>=> rksfc<br \/>  rksfc - rockchip sfc sub-system<\/p>\n<p>  Usage:<br \/>  rksfc scan - scan Sfc devices<br \/>  rksfc info - show all available Sfc devices<br \/>  rksfc device [dev] - show or set current Sfc device<br \/>   dev 0 - spinand<br \/>   dev 1 - spinor<br \/>  rksfc part [dev] - print partition table of one or all Sfc devices<br \/>  rksfc read addr blk# cnt - read `cnt' blocks starting at block<br \/>   `blk#' to memory address `addr'<br \/>  rksfc write addr blk# cnt - write `cnt' blocks starting at block<br \/>   `blk#' from memory address `addr'<\/code><br \/>  \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e SPI flash \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434:<\/p>\n<p>  <code>=> rksfc scan<br \/>  => rksfc info<br \/>  Device 0: Vendor: 0x0308 Rev: V1.00 Prod: rkflash-SpiNand<br \/>   Type: Hard Disk<br \/>   Capacity: 107.7 MB = 0.1 GB (220672 x 512)<br \/>  => rksfc device 0<\/p>\n<p>  Device 0: Vendor: 0x0308 Rev: V1.00 Prod: rkflash-SpiNand<br \/>   Type: Hard Disk<br \/>   Capacity: 107.7 MB = 0.1 GB (220672 x 512)<br \/>  ... is now current device<br \/>  => rksfc part 0<\/p>\n<p>  Partition Map for SPINAND device 0 -- Partition Type: EFI<\/p>\n<p>  Part Start LBA End LBA Name<br \/>   Attributes<br \/>   Type GUID<br \/>   Partition GUID<br \/>   1 0x00002000 0x00003fff \"uboot\"<br \/>   attrs: 0x0000000000000000<br \/>   type: ea450000-0000-424f-8000-0cd500004c0a<br \/>   guid: 325b0000-0000-4d21-8000-6e10000051c5<br \/>   2 0x00004000 0x00004fff \"trust\"<br \/>   attrs: 0x0000000000000000<br \/>   type: b44a0000-0000-4121-8000-4e1600002902<br \/>   guid: 62500000-0000-4f7f-8000-4a7800006ca1<br \/>   3 0x00005000 0x000097ff \"boot\"<br \/>   attrs: 0x0000000000000000<br \/>   type: 6c1e0000-0000-4833-8000-5d07000065c4<br \/>   guid: 442c0000-0000-4c4c-8000-2ed400005ecb<br \/>   4 0x00009800 0x00031dff \"rootfs\"<br \/>   attrs: 0x0000000000000000<br \/>   type: 9b050000-0000-4e44-8000-5f3000007157<br \/>   guid: 614e0000-0000-4b53-8000-1d28000054a9<br \/>   5 0x00031e00 0x00035dde \"userdata\"<br \/>   attrs: 0x0000000000000000<br \/>   type: c8050000-0000-4b18-8000-3b1a000041c3<br \/>   guid: 40780000-0000-493e-8000-688900001525<br \/>  => <\/code><\/p>\n<p>  \u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u044d\u0442\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0443\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043e SPI flash. \u041c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0435\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u0430 \u0440\u0430\u0432\u0435\u043d 512 \u0438 \u0447\u0442\u043e \u0447\u0438\u043f \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 220672 (0x35E00) \u0431\u043b\u043e\u043a\u0430, \u0440\u0430\u0437\u0431\u0438\u0442\u044b\u0435 \u043d\u0430 \u043f\u044f\u0442\u044c \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432:<\/p>\n<ul>\n<li>uboot \u2014 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0431\u0440\u0430\u0437 UBoot \/ \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430<\/li>\n<li>trust \u2014 \u043e\u0431\u0440\u0430\u0437 Trusted execution environment<\/li>\n<li>boot \u2014 \u043e\u0431\u0440\u0430\u0437 \u044f\u0434\u0440\u0430 \/ ramdisk<\/li>\n<li>rootfs \u2014 \u0441\u0430\u043c\u044b\u0439 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0440\u0430\u0437\u0434\u0435\u043b, \u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0440\u0443\u0442\u0430 \u044f\u0434\u0440\u0430<\/li>\n<li>user data \u2014 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0440\u0435\u043a\u043e\u0440\u0434\u043e\u0432, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0438 \u043f\u0440.<\/li>\n<\/ul>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u043c\u044b \u0432\u0438\u0434\u0435\u043b\u0438 \u0440\u0430\u043d\u0435\u0435 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0440\u0443\u0442\u0430. \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0437\u043d\u0430\u0435\u043c, \u043a\u0430\u043a \u0440\u0430\u0437\u0431\u0438\u0442\u0430 \u0444\u043b\u044d\u0448-\u043f\u0430\u043c\u044f\u0442\u044c, \u0438 \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b, \u043d\u043e \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c\/\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0435\u0437 \u043f\u0440\u0438\u043f\u0430\u0438\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043b\u0438\u043d\u0438\u0439 \u043a \u043f\u043b\u0430\u0442\u0435? \u0418\u0437\u0443\u0447\u0438\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <code>usb<\/code>, \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<p>  <code>=> usb<br \/>  usb - USB sub-system<\/p>\n<p>  Usage:<br \/>  usb start - start (scan) USB controller<br \/>  usb reset - reset (rescan) USB controller<br \/>  usb stop [f] - stop USB [f]=force stop<br \/>  usb tree - show USB device tree<br \/>  usb info [dev] - show available USB devices<br \/>  usb test [dev] [port] [mode] - set USB 2.0 test mode<br \/>   (specify port 0 to indicate the device's upstream port)<br \/>   Available modes: J, K, S[E0_NAK], P[acket], F[orce_Enable]<br \/>  usb storage - show details of USB storage devices<br \/>  usb dev [dev] - show or set current USB storage device<br \/>  usb part [dev] - print partition table of one or all USB storage devices<br \/>  usb read addr blk# cnt - read `cnt' blocks starting at block `blk#'<br \/>   to memory address `addr'<br \/>  usb write addr blk# cnt - write `cnt' blocks starting at block `blk#'<br \/>   from memory address `addr'<\/code><\/p>\n<p>  \u0415\u0441\u043b\u0438 \u043c\u044b \u0432\u0441\u0442\u0430\u0432\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0432 USB-\u0440\u0430\u0437\u044a\u0451\u043c \u043d\u0430 \u0431\u043e\u043a\u043e\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c <code>USB start<\/code>, \u0430 \u0437\u0430\u0442\u0435\u043c <code>USB info<\/code>, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<\/p>\n<p>  <code>=> usb start<br \/>  starting USB...<br \/>  Bus usb@10180000: Bus usb@101c0000: USB EHCI 1.00<br \/>  Bus usb@101e0000: USB OHCI 1.0<br \/>  scanning bus usb@10180000 for devices... 1 USB Device(s) found<br \/>  scanning bus usb@101c0000 for devices... RKPARM: Invalid parameter part table<br \/>  2 USB Device(s) found<br \/>  scanning bus usb@101e0000 for devices... 1 USB Device(s) found<br \/>   scanning usb for storage devices... 1 Storage Device(s) found<br \/>  => usb info<br \/>  1: Hub, USB Revision 1.10<br \/>   - U-Boot Root Hub<br \/>   - Class: Hub<br \/>   - PacketSize: 8 Configurations: 1<br \/>   - Vendor: 0x0000 Product 0x0000 Version 0.0<br \/>   Configuration: 1<br \/>   - Interfaces: 1 Self Powered 0mA<br \/>   Interface: 0<br \/>   - Alternate Setting 0, Endpoints: 1<br \/>   - Class Hub<br \/>   - Endpoint 1 In Interrupt MaxPacket 2 Interval 255ms<\/p>\n<p>  1: Hub, USB Revision 2.0<br \/>   - u-boot EHCI Host Controller<br \/>   - Class: Hub<br \/>   - PacketSize: 64 Configurations: 1<br \/>   - Vendor: 0x0000 Product 0x0000 Version 1.0<br \/>   Configuration: 1<br \/>   - Interfaces: 1 Self Powered 0mA<br \/>   Interface: 0<br \/>   - Alternate Setting 0, Endpoints: 1<br \/>   - Class Hub<br \/>   - Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms<\/p>\n<p>  2: Mass Storage, USB Revision 2.10<br \/>   - USB DISK 3.0 0719146D1CBF9257<br \/>   - Class: (from Interface) Mass Storage<br \/>   - PacketSize: 64 Configurations: 1<br \/>   - Vendor: 0x13fe Product 0x6300 Version 1.0<br \/>   Configuration: 1<br \/>   - Interfaces: 1 Bus Powered 498mA<br \/>   Interface: 0<br \/>   - Alternate Setting 0, Endpoints: 2<br \/>   - Class Mass Storage, Transp. SCSI, Bulk only<br \/>   - Endpoint 1 In Bulk MaxPacket 512<br \/>   - Endpoint 2 Out Bulk MaxPacket 512<\/p>\n<p>  1: Hub, USB Revision 1.10<br \/>   - U-Boot Root Hub<br \/>   - Class: Hub<br \/>   - PacketSize: 8 Configurations: 1<br \/>   - Vendor: 0x0000 Product 0x0000 Version 0.0<br \/>   Configuration: 1<br \/>   - Interfaces: 1 Self Powered 0mA<br \/>   Interface: 0<br \/>   - Alternate Setting 0, Endpoints: 1<br \/>   - Class Hub<br \/>   - Endpoint 1 In Interrupt MaxPacket 2 Interval 255ms<\/code><\/p>\n<p>  \u041f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u043d\u043e, \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0441\u0442\u0435\u043a USB \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0451\u0442 \u043d\u0430\u0448 \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c mass storage device.<\/p>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u0437\u043d\u0430\u0435\u043c \u043e \u043d\u0430\u0448\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 UBoot:<\/p>\n<ol>\n<li>\u0418\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u044b \u0434\u0430\u043b\u043e \u043d\u0430\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432 \u041e\u0417\u0423<\/li>\n<li>\u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b <code>rksfc read<\/code> \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u0435\u043a\u0442\u043e\u0440\u044b SPI flash \u0432 \u041e\u0417\u0423<\/li>\n<li>\u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u043c\u0430\u043d\u0434 USB \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c USB-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0430 \u043d\u0435\u0433\u043e \u0437\u0430\u043f\u0438\u0441\u044c<\/li>\n<\/ol>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c SPI flash \u0432 \u041e\u0417\u0423, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c USB-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0430 \u0437\u0430\u0442\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 SPI flash data \u043d\u0430 USB-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>USB write<\/code>. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0442\u043e \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437\u044b, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u044d\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435: \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 USB-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0438\u0445 \u043d\u0430 \u0444\u043b\u044d\u0448-\u043f\u0430\u043c\u044f\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>rksfc write<\/code>. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u0447\u043d\u0451\u043c \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0437\u0430\u043f\u0438\u0441\u0438.<\/p>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0432\u0441\u044e SPI flash \u0432 \u041e\u0417\u0423 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441, \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0439 \u0432 <code>$ramdisk_addr_r<\/code>, \u0442\u043e \u0435\u0441\u0442\u044c <code>0x6a200000<\/code>:<\/p>\n<p>  <code>=> rksfc read $ramdisk_addr_r 0 0x35E00<\/p>\n<p>  spinand read: device 0 block # 0, count 220672 ... undefined instruction<br \/>  pc : ce695528 lr : 1fadca4d<br \/>  sp : 6be17bd8 ip : 00000020 fp : 60093204<br \/>  r10: 00004254 r9 : 6be1bdf8 r8 : ad758c77<br \/>  r7 : ebaa79cb r6 : b052b720 r5 : 36395b84 r4 : f3a911be<br \/>  r3 : 780fb750 r2 : 00000000 r1 : 600a62fc r0 : 200a226c<br \/>  Flags: nZcv IRQs on FIQs off Mode SVC_32<\/p>\n<p>  Call trace:<br \/>   PC: [&lt; ce695528 >]<br \/>   LR: [&lt; 1fadca4d >]<\/p>\n<p>  Stack:<br \/>   [&lt; ce695528 >]<\/p>\n<p>  Copy info from \"Call trace...\" to a file(eg. dump.txt), and run<br \/>  command in your U-Boot project: .\/scripts\/stacktrace.sh dump.txt<\/p>\n<p>  Resetting CPU ...<\/p>\n<p>  ### ERROR ### Please RESET the board ###<\/code><\/p>\n<p>  \u041d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e; \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u044b \u0432\u044b\u0437\u0432\u0430\u043b\u0438 undefined instruction exception. \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043c\u044b \u043f\u043e\u043b\u043e\u043c\u0430\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e, \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f UBoot; \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0439 \u0430\u0434\u0440\u0435\u0441 \u043d\u0438\u0436\u0435 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438:<\/p>\n<p>  <code>=> rksfc read $scriptaddr 0 0x35E00<\/p>\n<p>  spinand read: device 0 block # 0, count 220672 ... 220672 blocks read: OK<\/code><\/p>\n<p>  \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043d\u0438\u0437\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 \u0432 \u041e\u0417\u0423 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0432\u0441\u0451 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e, \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0441\u043b\u043e\u043c\u0430\u0432; \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0441\u043c\u043e\u0436\u0435\u043c \u043b\u0438 \u043c\u044b \u0442\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 USB-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c:<\/p>\n<p>  <code>usb write addr blk# cnt - write `cnt' blocks starting at block `blk#'<br \/>   from memory address `addr'<br \/>  => usb write $scriptaddr 0 0x35E00<\/p>\n<p>  usb write: device 0 block # 0, count 220672 ... 220672 blocks written: OK<br \/>  =><\/code><\/p>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044f, \u0432\u0441\u0442\u0430\u0432\u0438\u0432 \u0435\u0433\u043e \u0432 Raspberry Pi:<\/p>\n<p>  <code>pi@voidstar:~ $ lsblk<br \/>  NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT<br \/>  sda 8:0 1 57.8G 0 disk<br \/>  \u251c\u2500sda1 8:1 1 4M 0 part<br \/>  \u251c\u2500sda2 8:2 1 2M 0 part<br \/>  \u251c\u2500sda3 8:3 1 9M 0 part<br \/>  \u251c\u2500sda4 8:4 1 80.8M 0 part<br \/>  \u2514\u2500sda5 8:5 1 8M 0 part<\/code><\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432 \u0432 USB-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438, \u0432\u044b\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>rksfc part 0<\/code>. \u0414\u0430\u043b\u0435\u0435 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0443\u0442\u0438\u043b\u0438\u0442\u0443 <code>dd<\/code>, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044b \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430.<\/p>\n<p>  <code>pi@voidstar:~\/marvel-cab\/parts $ sudo dd if=\/dev\/sda1 of=part1.bin<br \/>  4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.18225 s, 23.0 MB\/s<br \/>  pi@voidstar:~\/marvel-cab\/parts $ sudo dd if=\/dev\/sda2 of=part2.bin<br \/>  2097152 bytes (2.1 MB, 2.0 MiB) copied, 0.109297 s, 19.2 MB\/s<br \/>  pi@voidstar:~\/marvel-cab\/parts $ sudo dd if=\/dev\/sda3 of=part3.bin<br \/>  9437184 bytes (9.4 MB, 9.0 MiB) copied, 0.386968 s, 24.4 MB\/s<br \/>  pi@voidstar:~\/marvel-cab\/parts $ sudo dd if=\/dev\/sda4 of=part4.bin<br \/>  84672512 bytes (85 MB, 81 MiB) copied, 2.96481 s, 28.6 MB\/s<br \/>  pi@voidstar:~\/marvel-cab\/parts $ sudo dd if=\/dev\/sda5 of=part5.bin<br \/>  8371712 bytes (8.4 MB, 8.0 MiB) copied, 0.314125 s, 26.7 MB\/s<br \/>  pi@voidstar:~\/marvel-cab\/parts $ file *<br \/>  part1.bin: data<br \/>  part2.bin: data<br \/>  part3.bin: Android bootimg, kernel (0x10008000), second stage (0x10f00000), page size: 2048<br \/>  part4.bin: Squashfs filesystem, little endian, version 4.0, xz compressed, 71663599 bytes, 1185 inodes, blocksize: 131072 bytes, created: Mon May 31 09:06:53 2021<br \/>  part5.bin: Linux rev 1.0 ext2 filesystem data (mounted or unclean), UUID=42185cbc-b698-4af6-8a47-e444e5635787, volume name \"userdata\" (large files)<\/code><\/p>\n<p>  \u041f\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u0438 \u0441 \u0432\u044b\u0432\u043e\u0434\u043e\u043c \u043d\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432 \u0438\u0437 \u043c\u0435\u043d\u044e UBoot. \u0421\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u0440\u0430\u0437\u0434\u0435\u043b squashfs \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <code>unsquashfs<\/code> \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u0434\u0435\u043b ext2, \u0447\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u0438\u0445 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438:<\/p>\n<p>  <code>pi@voidstar:~\/marvel-cab\/parts $ unsquashfs part4.bin<br \/>  Parallel unsquashfs: Using four processors<br \/>  1029 inodes (1792 blocks) to write<br \/>  create_inode: could not create character device squashfs-root\/dev\/console, because you're not superuser!<br \/>  created 596 files<br \/>  created 157 directories<br \/>  created 431 symlinks<br \/>  created 0 devices<br \/>  created 0 fifos<br \/>  pi@voidstar:~\/marvel-cab\/parts $ ls squashfs-root\/<br \/>  bin busybox.config data dev etc lib lib32 linuxrc media misc mnt moo OEM opt proc root run sbin sdcard sys timestamp tmp udisk userdata usr var<br \/>  pi@voidstar:~\/marvel-cab\/parts $ ls squashfs-root\/moo\/<br \/>  docs logo.mp4 MOO MOO-Ship-MIME_CCADE_MSH_2P-BRK01 SKUShell.MIME_CCADE_SF2_2P.19.exe start.sh _ui assets<\/code><\/p>\n<p>  \u041f\u043e\u0445\u043e\u0436\u0435, \u0441 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0440\u0443\u0442\u0430 \u0432\u0441\u0451 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0443 \u041f\u041e \u0438 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u043c\u0443 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u044d\u0442\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u0433\u0440 \u0438\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438.<\/p>\n<p>  \u0423\u0431\u0435\u0434\u0438\u0432\u0448\u0438\u0441\u044c, \u0447\u0442\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0444\u043b\u044d\u0448-\u043f\u0430\u043c\u044f\u0442\u044c, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u0441\u043c\u043e\u0436\u0435\u043c \u043b\u0438 \u043c\u044b \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043e\u0431\u0440\u0430\u0437 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0448\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u0430:<\/p>\n<p>  <code> => usb read $scriptaddr 0 0x35E00<br \/>   usb read: device 0 block # 0, count 220672 ... 220672 blocks read: OK<br \/>   => rksfc write $scriptaddr 0x35E00 0<br \/>   spinand write: device 0 block # 0, count 220672 ... 220672 blocks written: OK<\/code><\/p>\n<p>  \u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043c\u0441\u044f \u0438 \u0431\u0443\u0434\u0435\u043c \u043d\u0430\u0434\u0435\u044f\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/b66\/0c7\/16e\/b660c716e1b7b09fbde71addf406dc99.jpg\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/b66\/0c7\/16e\/b660c716e1b7b09fbde71addf406dc99.jpg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0423\u0441\u043f\u0435\u0445! \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c\/\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c SPI flash \u0438\u0437 UBoot \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 USB-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044f; \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0430\u0442\u0447\u0435\u0439 \u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0439 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438!<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c\/\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0444\u043b\u044d\u0448-\u043f\u0430\u043c\u044f\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 UBoot, \u0431\u044b\u043b\u043e \u0431\u044b \u0437\u0434\u043e\u0440\u043e\u0432\u043e \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0437\u0430\u0442\u0438\u0440\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044b \u0438 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b \u0444\u043b\u044d\u0448-\u043f\u0430\u043c\u044f\u0442\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b \u0432\u0440\u0443\u0447\u043d\u0443\u044e. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 Depthcharge, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 UBoot!<\/p>\n<h1>\u0421\u043a\u0440\u0438\u043f\u0442\u0438\u043d\u0433 UBoot \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Depthcharge<\/h1>\n<p>  \u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441\u043e \u0441\u0440\u0435\u0434\u0430\u043c\u0438 UBoot \u043d\u0430\u043c \u0447\u0430\u0441\u0442\u043e \u0431\u044b\u0432\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0448\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0432\u043e \u0444\u043b\u044d\u0448-\u043f\u0430\u043c\u044f\u0442\u0438 \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043e\u0432. \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u0440\u0435\u0431\u044f\u0442\u0430 \u0438\u0437 <a href=\"https:\/\/twitter.com\/NCCGroupInfosec\" rel=\"nofollow noopener noreferrer\">NCC Group<\/a> \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 <a href=\"https:\/\/depthcharge.readthedocs.io\/en\/latest\/\" rel=\"nofollow noopener noreferrer\">depthcharge<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u043c \u0432 \u044d\u0442\u043e\u043c. \u041c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u0444\u043b\u044d\u0448-\u0447\u0438\u043f\u043e\u043c \u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u043c USB-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0435\u043c. \u041d\u0430\u0448 \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0443\u043c\u0435\u0442\u044c \u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<ol>\n<li>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u043a UART \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 UBoot<\/li>\n<li>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 SPI flash \u0441 \u043f\u043e\u043c\u043e\u0449\u044e \u043a\u043e\u043c\u0430\u043d\u0434 <code>rksfc read\/write<\/code><\/li>\n<li>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0430 USB-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u043c\u0430\u043d\u0434 <code>USB read\/write<\/code><\/li>\n<\/ol>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044c; \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c <code>depthcharge<\/code> \u043d\u0430 Pi, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 <code>sudo pip install depthcharge<\/code>.<\/p>\n<h2>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a UART \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 UBoot<\/h2>\n<p>  \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 UBoot \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 python:<\/p>\n<pre><code class=\"python\">def console_setup():     console=Console(\"\/dev\/ttyS0\",baudrate=115200)     ctx = Depthcharge(console,arch=\"arm\")     return ctx<\/code><\/pre>\n<p>  \u0412 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0432\u044b\u0448\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043e\u0431\u044a\u0435\u043a\u0442 <code>Console<\/code>, \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u0443\u043a\u0430\u0437\u0430\u043b\u0438 \u043f\u0443\u0442\u044c \u043a \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u043f\u043e\u0440\u0442\u0443 \u0438 baud rate. \u042d\u0442\u043e\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0437\u0430\u0442\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 Depthcharge, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c Depthcharge. \u0412 <a href=\"https:\/\/depthcharge.readthedocs.io\/en\/latest\/api\/depthcharge.html\" rel=\"nofollow noopener noreferrer\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 depthcharge<\/a> \u0435\u0441\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u044d\u0442\u043e\u0433\u043e \u0438 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0438\u0437\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438.<\/p>\n<h2>\u0421\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0432\u043e \u0444\u043b\u044d\u0448-\u043f\u0430\u043c\u044f\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 depthcharge<\/h2>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b\u0438\u0441\u044c \u043a \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b read \u0438 write <code>rksfc<\/code>. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 API <code>send_command()<\/code> \u0443\u0442\u0438\u043b\u0438\u0442\u044b depthcharge. \u042d\u0442\u043e\u0442 \u0432\u044b\u0437\u043e\u0432 API \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 UBoot \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u043e\u0442\u0432\u0435\u0442. \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043d\u0438\u0436\u0435 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0447\u0442\u0435\u043d\u0438\u044f \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 <code>cmd_str<\/code> \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0430 \u0437\u0430\u0442\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 API <code>send_command()<\/code>.<\/p>\n<pre><code class=\"python\">def rksfc_read(ctx,dest_addr,src_addr,size):     cmd_str = f\"rksfc read  0x{dest_addr:02x} 0x{src_addr:02x} 0x{size:02x}\"     resp = ctx.send_command(cmd_str)     return resp  def rksfc_write(ctx,dest_addr,src_addr,size):     cmd_str = f\"rksfc write 0x{dest_addr:02x} 0x{src_addr:02x} 0x{size:02x}\"     resp = ctx.send_command(cmd_str)     time.sleep(10)     return resp<\/code><\/pre>\n<p>  \u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0432 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0444\u043b\u044d\u0448-\u043f\u0430\u043c\u044f\u0442\u0438, \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0442\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0435\u043a USB, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435\/\u0437\u0430\u043f\u0438\u0441\u044c \u0441 \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044f.<\/p>\n<h2>\u0421\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0430 USB \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 depthcharge<\/h2>\n<p>  \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0442\u043e\u043c\u0443, \u043a\u0430\u043a \u043c\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>rksfc<\/code>, \u0434\u0430\u043b\u0435\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>usb<\/code>. \u042d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0431\u0443\u0434\u0435\u0442 \u0441\u0445\u043e\u0436 \u0441 \u0442\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434 <code>rksfc<\/code>:<\/p>\n<pre><code class=\"python\">''' usb_setup This script is used to enumerate and set up the USB port ''' def usb_setup(ctx,reset=False):     resps = []     if not reset:         resp = ctx.send_command(\"usb start\")     else:         resp = ctx.send_command(\"usb reset\")     resps.append(resp)     resp = ctx.send_command(\"usb storage\")     resps.append(resp)     resp = ctx.send_command(\"usb dev 0\")     resps.append(resp)     return resps    ''' USB write addr blk# cnt - write `cnt' blocks starting at block `blk#'     from memory address `addr' ''' def usb_raw_write(ctx,source_addr,block,size):     cmd = f\"usb write 0x{source_addr:x} 0x{block:x} 0x{size:x}\"     resp = ctx.send_command(cmd)     return resp  ''' USB read addr blk# cnt - read `cnt' blocks starting at block `blk#'     to memory address `addr' ''' def usb_raw_read(ctx,source_addr,block,size):     cmd = f\"usb read 0x{source_addr:x} 0x{block:x} 0x{size:x}\"     resp = ctx.send_command(cmd)     return resp<\/code><\/pre>\n<p>  <\/p>\n<h2>\u0414\u0430\u043c\u043f \u0444\u043b\u044d\u0448-\u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Depthcharge<\/h2>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code class=\"python\">if __name__ == \"__main__\":     log.info(\"Marvel Super Heroes Depthcharge Test...\")     ctx = console_setup()     usb_setup(ctx,reset=False)     # Read the SPI flash into RAM     rksfc_read(ctx,TARGET_RAM_ADDR,0,0x35E00)     log.info(\"Flash read into RAM\")     # Write the data from RAM to a USB drive     usb_raw_write(ctx,TARGET_RAM_ADDR,0,0x35E00)     log.info(\"Flash written to USB\")<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u044d\u0442\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<\/p>\n<p>  <code>pi@voidstar:~\/marvel-cab\/scripts $ python3 mvc.py<br \/>  [+] Marvel Super Heroes Deptcharge Test...<br \/>  [*] Using default payload base address: ${loadaddr} + 32MiB<br \/>  [*] No user-specified prompt provided. Attempting to determine this.<br \/>  [*] Identified prompt: =><br \/>  [*] Retrieving command list via \"help\"<br \/>  [*] Reading environment via \"printenv\"<br \/>  [!] Disabling payload deployment and execution due to error(s).<br \/>  [*] Version: U-Boot 2017.09-g4857df5-dirty #lzy (Mar 24 2021 - 16:18:22 +0800)<br \/>  [*] Enumerating available MemoryWriter implementations...<br \/>  [*] Available: CpMemoryWriter<br \/>  [*] Available: CRC32MemoryWriter<br \/>  [*] Excluded: I2CMemoryWriter - Command \"i2c\" required but not detected.<br \/>  [*] Excluded: LoadbMemoryWriter - Command \"loadb\" required but not detected.<br \/>  [*] Excluded: LoadxMemoryWriter - Command \"loadx\" required but not detected.<br \/>  [*] Excluded: LoadyMemoryWriter - Command \"loady\" required but not detected.<br \/>  [*] Available: MmMemoryWriter<br \/>  [*] Available: MwMemoryWriter<br \/>  [*] Available: NmMemoryWriter<br \/>  [*] Enumerating available MemoryReader implementations...<br \/>  [!] Excluded: CpCrashMemoryReader - Operation requires crash or reboot, but opt-in not specified.<br \/>  [*] Available: CRC32MemoryReader<br \/>  [!] Excluded: GoMemoryReader - Payload deployment+execution opt-in not specified<br \/>  [*] Excluded: I2CMemoryReader - Command \"i2c\" required but not detected.<br \/>  [*] Excluded: ItestMemoryReader - Command \"itest\" required but not detected.<br \/>  [*] Available: MdMemoryReader<br \/>  [*] Available: MmMemoryReader<br \/>  [*] Excluded: SetexprMemoryReader - Command \"setexpr\" required but not detected.<br \/>  [*] Enumerating available Executor implementations...<br \/>  [!] Excluded: GoExecutor - Payload deployment+execution opt-in not specified<br \/>  [*] Enumerating available RegisterReader implementations...<br \/>  [!] Excluded: CpCrashRegisterReader - Operation requires crash or reboot, but opt-in not specified.<br \/>  [!] Excluded: CRC32CrashRegisterReader - Operation requires crash or reboot, but opt-in not specified.<br \/>  [!] Excluded: FDTCrashRegisterReader - Operation requires crash or reboot, but opt-in not specified.<br \/>  [!] Excluded: ItestCrashRegisterReader - Operation requires crash or reboot, but opt-in not specified.<br \/>  [!] Excluded: MdCrashRegisterReader - Operation requires crash or reboot, but opt-in not specified.<br \/>  [!] Excluded: MmCrashRegisterReader - Operation requires crash or reboot, but opt-in not specified.<br \/>  [!] Excluded: NmCrashRegisterReader - Operation requires crash or reboot, but opt-in not specified.<br \/>  [!] Excluded: SetexprCrashRegisterReader - Operation requires crash or reboot, but opt-in not specified.<br \/>  [!] No default RegisterReader available.<br \/>  [+] spinand read: device 0 block # 0, count 220672 ...<br \/>  [+] Flash read into RAM<br \/>  [+] => usb write 0x61700000 0x0 0x35e00<\/p>\n<p>  usb write: device 0 block # 0, count 220672 ...<br \/>  [+] Flash written to USB<\/code><\/p>\n<p>  \u0412\u0441\u0442\u0430\u0432\u0438\u0432 USB-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c, \u0443\u0432\u0438\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044b:<\/p>\n<p>  <code>pi@voidstar:~\/marvel-cab\/scripts $ lsblk<br \/>  NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT<br \/>  sda 8:0 1 57.8G 0 disk<br \/>  \u251c\u2500sda1 8:1 1 4M 0 part<br \/>  \u251c\u2500sda2 8:2 1 2M 0 part<br \/>  \u251c\u2500sda3 8:3 1 9M 0 part<br \/>  \u251c\u2500sda4 8:4 1 80.8M 0 part<br \/>  \u2514\u2500sda5 8:5 1 8M 0 part<\/code><\/p>\n<p>  \u041f\u043e\u0431\u0435\u0434\u0430! \u041c\u044b \u0438\u0437\u0432\u043b\u0435\u043a\u043b\u0438 SPI flash \u043d\u0430 USB-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Depthcharge!<\/p>\n<h1>\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/h1>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043d\u0430\u0434\u0451\u0436\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043e\u0436\u0435\u043c \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0444\u043b\u044d\u0448-\u043f\u0430\u043c\u044f\u0442\u044c, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u043a\u0440\u0430\u0442\u0446\u0435 \u0438\u0437\u0443\u0447\u0438\u043c \u0435\u0451 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u0432 \u043f\u0430\u043f\u043a\u0435 <code>\/moo<\/code>. \u0412 \u044d\u0442\u043e\u0439 \u043f\u0430\u043f\u043a\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 \u0438 \u0435\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u044b. Moo \u2014 \u044d\u0442\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 ROM; \u0432 2020 \u0433\u043e\u0434\u0443 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 <a href=\"https:\/\/www.synacktiv.com\/ressources\/sf30_r2con.pdf\" rel=\"nofollow noopener noreferrer\">\u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0437\u0443\u0447\u0438\u043b\u0438<\/a> \u0434\u0440\u0443\u0433\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u044d\u0442\u043e\u0433\u043e \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043f\u0430\u043f\u043a\u0438, \u0432 \u0433\u043b\u0430\u0437\u0430 \u0431\u0440\u043e\u0441\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0447\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435:<\/p>\n<p>  <code>pi@voidstar:~\/marvel-cab\/parts\/squashfs-root\/moo $ file *<br \/>  docs: symbolic link to ..\/userdata<br \/>  logo.mp4: ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]<br \/>  MOO: symbolic link to MOO-Ship-MIME_CCADE_MSH_2P-BRK01<br \/>  MOO-Ship-MIME_CCADE_MSH_2P-BRK01: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter \/lib\/ld-linux-armhf.so.3, for GNU\/Linux 4.4.0, stripped<br \/>  SKUShell.MIME_CCADE_SF2_2P.19.exe: PE32+ executable (GUI) x86-64, for MS Windows<br \/>  start.sh: POSIX shell script, ASCII text executable<br \/>  _ui: directory<br \/>  zassets: directory<\/code><\/p>\n<p>  \u042d\u0442\u043e \u0432\u0435\u0434\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b Windows PE32? \u041d\u0443, \u0435\u0441\u043b\u0438 \u043c\u044b \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0435\u0433\u043e \u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0443 \u0441 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0435\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/post_images\/847\/851\/b77\/847851b77e9c1962ac76f1de48b50633.jpg\" alt=\"MOO Running\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/847\/851\/b77\/847851b77e9c1962ac76f1de48b50633.jpg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442! \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u044d\u0442\u043e \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442 \u0441\u0431\u043e\u0440\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043f\u0430\u043b \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043d\u0435\u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u0440\u0430; \u043e\u043d \u0441\u0432\u044f\u0437\u0430\u043b\u0441\u044f \u0441\u043e \u043c\u043d\u043e\u0439 \u0432 Twitter \u0438 \u043c\u044b \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u043e\u0431\u0449\u0430\u043b\u0438\u0441\u044c \u043f\u0440\u043e \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433 \u0438 \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u044e.<\/p>\n<p>  \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u043c\u0435\u0436\u0434\u0443 SPI flash \u0438 USB-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u0435\u043c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 UBoot. \u041c\u044b \u0438\u0437\u0432\u043b\u0435\u043a\u043b\u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0440\u0443\u0442\u0430 \u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u0438. \u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433 \u0447\u0430\u0441\u0442\u0438 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0430 \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435, \u0447\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043b\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438.<\/p>\n<h1>\u0412\u044b\u0432\u043e\u0434\u044b \u0438 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430<\/h1>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u0440\u0430\u0437\u0431\u043e\u0440\u043a\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0435 \u0440\u0430\u0437\u044a\u0451\u043c\u044b \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0442\u0440\u043e\u0432\/\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432. \u0417\u0430\u0442\u0435\u043c \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0442\u0440\u0430\u0444\u0438\u043a UART \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u043a \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u043f\u043e\u0440\u0442\u0443 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 <code>screen<\/code> \u043d\u0430 Raspberry Pi. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0432\u0448\u0438\u0441\u044c \u043a \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u043f\u043e\u0440\u0442\u0443, \u043c\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438, \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043a\u043e\u043d\u0441\u043e\u043b\u0438 UBoot \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430\u0436\u0430\u0442\u0438\u0435\u043c <code>Ctrl-C<\/code>. \u0418\u0437\u0443\u0447\u0438\u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c UBoot, \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u043a\u0440\u0438\u043f\u0442 <a href=\"https:\/\/depthcharge.readthedocs.io\/en\/latest\/\" rel=\"nofollow noopener noreferrer\">depthcharge<\/a> \u0434\u043b\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432 SPI flash \u043d\u0430 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0444\u043b\u044d\u0448-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044c. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043f\u043e\u0441\u0442\u0435 \u043c\u044b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b UBoot \u0438 \u0443\u0437\u043d\u0430\u0435\u043c, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0445\u0435\u043c\u044b \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Ghidra; \u0437\u0430\u0442\u0435\u043c \u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0440\u043e\u0448\u0438\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u044f\u0434\u0440\u043e\u043c \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u044e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443.<\/p>\n<p>  \u0412\u0441\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043d\u0430 <a href=\"https:\/\/github.com\/wrongbaud\/mvc-cab\" rel=\"nofollow noopener noreferrer\">github<\/a>.<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/650089\/\"> https:\/\/habr.com\/ru\/post\/650089\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h1>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h1>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c \u043e\u0431 UART, UBoot \u0438 USB, \u0430 \u043d\u0430\u0448\u0435\u0439 \u0446\u0435\u043b\u044c\u044e \u0441\u0442\u0430\u043d\u0435\u0442 \u0438\u0433\u0440\u043e\u0432\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 Arcade 1UP Marvel. \u0421\u0435\u0440\u0438\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u043e\u0432 Arcade 1Up \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u0443\u044e \u0446\u0435\u043d\u0443 \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0441\u0442\u0438 \u0434\u043e\u043c\u0430\u0448\u043d\u044e\u044e \u0430\u0440\u043a\u0430\u0434\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443. \u0421 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u044d\u0442\u0438\u0445 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u043e\u0432 \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e <a href=\"https:\/\/arcademodup.com\/product\/amumodkit\/\" rel=\"nofollow noopener noreferrer\">\u043c\u043e\u0434\u043e\u0432<\/a>, \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0445, \u043a\u0430\u043a \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u041f\u041e MAME. \u0412 \u043f\u043e\u0441\u0442\u0435 \u043c\u044b \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u0438 \u0443\u0437\u043d\u0430\u0435\u043c, \u043a\u0430\u043a \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u0435\u0433\u043e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/post_images\/259\/4e8\/c1c\/2594e8c1c29ed56624f25b1317924951.png\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/259\/4e8\/c1c\/2594e8c1c29ed56624f25b1317924951.png\"\/><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-329789","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/329789","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=329789"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/329789\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=329789"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=329789"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=329789"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}