{"id":473831,"date":"2025-09-03T15:01:09","date_gmt":"2025-09-03T15:01:09","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=473831"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=473831","title":{"rendered":"<span>\u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0434\u0440\u0435\u0432\u043d\u0438\u0445: ATAPI IDE, \u0447\u0430\u0441\u0442\u044c \u0432\u0442\u043e\u0440\u0430\u044f, \u043c\u044b \u0432\u0441\u0451 \u0435\u0449\u0451 \u043d\u0435 \u0433\u043e\u0442\u043e\u0432\u044b<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bbc\/632\/22c\/bbc63222c3d5f48a6c66fa52ea7ba7a7.jpg\" width=\"425\" height=\"319\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/bbc\/632\/22c\/bbc63222c3d5f48a6c66fa52ea7ba7a7.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bbc\/632\/22c\/bbc63222c3d5f48a6c66fa52ea7ba7a7.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f <a href=\"https:\/\/habr.com\/ru\/articles\/896234\/\" rel=\"noopener noreferrer nofollow\">\u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438<\/a> \u043f\u0440\u0438\u0448\u043b\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 <strong>IDE<\/strong> \u0432\u0441\u0451 \u0436\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043d\u0430\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c &#171;\u0443\u043c\u043e\u043c&#187;. \u0428\u0438\u043d\u0430 <strong>USB<\/strong> \u0437\u0430\u0442\u043e\u0447\u0435\u043d\u0430 \u043f\u043e\u0434 \u043f\u043e\u0442\u043e\u0447\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 Ping-Pong \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b \u043d\u0430 \u043d\u0435\u0439 \u043e\u0442\u043a\u0440\u043e\u0432\u0435\u043d\u043d\u043e \u0442\u043e\u0440\u043c\u043e\u0437\u044f\u0442, \u043f\u0440\u0438\u0432\u043e\u0434\u044f \u043a \u043d\u0435 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0441\u0430\u043c\u043e\u0439 \u0448\u0438\u043d\u044b. \u042d\u0442\u043e \u0432\u044b\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u0432 \u0442\u043e\u0440\u043c\u043e\u0437\u0430 \u043d\u0430 \u0448\u0438\u043d\u0435 <strong>IDE<\/strong>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0432\u043e\u043b\u0435\u0432\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0432\u0442\u043e\u0440\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, \u0431\u043e\u043b\u0435\u0435 \u0443\u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0432 \u0442\u043e \u0436\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u0441\u043b\u043e\u0436\u043d\u0451\u043d\u043d\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b \u043a\u0430\u043a \u043f\u0440\u044f\u043c\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0448\u0438\u043d\u043e\u0439 \u0442\u0430\u043a \u0438 \u043c\u043e\u0433 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b <strong>IDE<\/strong> \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u0445\u043e\u0441\u0442\u0443. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u0432\u0441\u0451 \u0435\u0449\u0451 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u0434\u0430\u043d\u043d\u0430\u044f \u0442\u0435\u043c\u0430 &#8212; \u0434\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434 \u043a\u0430\u0442.<\/p>\n<hr\/>\n<p>\u041f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0440\u0435\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0446\u0435\u043b\u044c \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0447\u0442\u043e-\u0442\u043e, \u0447\u0442\u043e \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0432 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0438 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0439\u0442\u0438 \u043e\u0442 &#171;\u043d\u043e\u0433\u043e\u0434\u0440\u044b\u0433\u0430&#187;, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0438 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u0412\u044b\u0431\u043e\u0440 \u043f\u0430\u043b \u043d\u0430 <strong>STM32F407VGT<\/strong> \u0432 \u043a\u043e\u0440\u043f\u0443\u0441\u0435 <strong>TSOP100<\/strong> \u0444\u0438\u0440\u043c\u044b <strong>ST<\/strong>. \u0423 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0432 \u044d\u0442\u043e\u043c \u043a\u043e\u0440\u043f\u0443\u0441\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d <strong>FSMC<\/strong> \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043d\u0430 16 \u0431\u0438\u0442, \u0447\u0442\u043e \u043d\u0430\u043c \u0438 \u043d\u0443\u0436\u043d\u043e. \u0410 \u0435\u0449\u0451, \u0443 \u043d\u0435\u0433\u043e \u0435\u0441\u0442\u044c <strong>SDIO<\/strong> \u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043a\u0440\u0443\u0442\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e <strong>uSD<\/strong> \u043a\u0430\u0440\u0442\u0443 \u043f\u0430\u043c\u044f\u0442\u0438 \u043a\u0430\u043a \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0435\u0437\u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0439 \u0431\u0443\u0444\u0435\u0440 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0422\u0430\u043a \u0440\u043e\u0434\u0438\u043b\u0441\u044f \u043a\u043e\u043d\u0446\u0435\u043f\u0442 \u0432\u0442\u043e\u0440\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 <strong>IDE<\/strong> \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 <strong>IDE\/ATAPI<\/strong> \u0430 \u0442\u0430\u043a \u0436\u0435 \u0434\u043b\u044f \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u044f \u043a \u043d\u0430\u0448\u0435\u0439 \u0446\u0435\u043b\u0438: \u0441\u043e\u0437\u0434\u0430\u0442\u044c <strong>IDE ATAPI<\/strong> \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 <strong>CD\/DVD<\/strong> \u043f\u0440\u0438\u0432\u043e\u0434\u0430. \u0412\u044b\u0440\u0438\u0441\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0432\u043e\u0442 \u0442\u0430\u043a\u0430\u044f \u0441\u0445\u0435\u043c\u0430:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/598\/5c3\/cae\/5985c3caec3031c72b892e185924da5c.jpg\" alt=\"\u0422\u0438\u043f\u043e\u0432\u043e\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0438 CPLD\" title=\"\u0422\u0438\u043f\u043e\u0432\u043e\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0438 CPLD\" width=\"3307\" height=\"2339\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/598\/5c3\/cae\/5985c3caec3031c72b892e185924da5c.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/598\/5c3\/cae\/5985c3caec3031c72b892e185924da5c.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0422\u0438\u043f\u043e\u0432\u043e\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0438 <strong>CPLD<\/strong><\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7fa\/28d\/0fd\/7fa28d0fd10d1197b312682c7b74b440.JPG\" alt=\"\u0424\u043e\u0442\u043e \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0432 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u041b\u0423\u0422\u0430, \u0443\u0432\u044b...\" title=\"\u0424\u043e\u0442\u043e \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0432 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u041b\u0423\u0422\u0430, \u0443\u0432\u044b...\" width=\"3648\" height=\"2736\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/7fa\/28d\/0fd\/7fa28d0fd10d1197b312682c7b74b440.JPG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7fa\/28d\/0fd\/7fa28d0fd10d1197b312682c7b74b440.JPG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0424\u043e\u0442\u043e \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0432 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e <strong>\u041b\u0423\u0422<\/strong>\u0430, \u0443\u0432\u044b&#8230;<\/figcaption><\/div>\n<\/figure>\n<p><strong>CPLD<\/strong> \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0440\u043e\u043b\u044c \u0431\u0443\u0444\u0435\u0440\u0430, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0438\u043b\u0438\u0442\u044c \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430. \u041f\u043e\u0447\u0435\u043c\u0443 \u043d\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0443\u0440\u043e\u0432\u043d\u044f? \u041f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0432 \u043a\u043e\u0440\u043f\u0443\u0441\u0435 <strong>TSOP100<\/strong> \u0443 <strong>STM32F407<\/strong> \u0442\u043e\u043b\u044c\u043a\u043e 1 \u0441\u0438\u0433\u043d\u0430\u043b <strong>FSMC_NE1<\/strong>, \u0430 \u0434\u043b\u044f <strong>IDE<\/strong> \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u0445 2. \u0422\u0430\u043a \u0436\u0435, \u0448\u0438\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u0443\u0442 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0438 16 \u043c\u043b\u0430\u0434\u0448\u0438\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0442\u0435 \u0436\u0435 \u043d\u043e\u0436\u043a\u0438 \u0447\u0442\u043e \u0438 16 \u0431\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0430\u0432\u0434\u0430, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u0440\u0448\u0438\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432, \u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0441\u0438\u0433\u043d\u0430\u043b \u0432\u044b\u0431\u043e\u0440\u0430 \u0441\u043c\u044b\u0441\u043b\u0430 \u0432 \u043d\u0438\u0445 \u043d\u0435\u0442 &#8212; \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043d\u0430\u0434\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u044e\u044e \u043f\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044e \u043a \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 \u043b\u043e\u0433\u0438\u043a\u0443. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e <strong>CPLD<\/strong>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0434\u0435\u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0448\u0438\u043d\u0443 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u0443\u0436\u0435 \u0438\u0437 \u043d\u0435\u0451 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c <strong>CS1X<\/strong> \u0438 <strong>CS3X<\/strong>. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435, \u0432 <strong>CPLD<\/strong> \u0431\u0443\u0434\u0435\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0442\u043e\u0440 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0430\u0440\u0431\u0438\u0442\u0440\u0430\u0436\u043d\u044b\u0439 <strong>IORDY<\/strong>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a <strong>FSMC_nWAIT<\/strong>. \u0410 \u0442\u0430\u043a \u0436\u0435, \u0442\u0430\u043c \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u0430\u043c\u0438 <strong>RESET<\/strong> \u0438 <strong>CSEL<\/strong> \u043d\u0430 \u0448\u0438\u043d\u0435 <strong>IDE<\/strong>. \u041f\u0440\u043e\u0435\u043a\u0442 <strong>CPLD<\/strong> \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442:<\/p>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u0434\u043b\u044f CPLD<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"delphi\">\/\/ \u0428\u0438\u043d\u0430 IDE \u043d\u0430 STM32F4 \/\/ \u0410\u0434\u0440\u0435\u0441     \u0412\u044b\u0431\u043e\u0440  \u0427\u0442\u0435\u043d\u0438\u0435   \u0417\u0430\u043f\u0438\u0441\u044c \/\/ 0000 : 0  CS1X  DataPIO   DataPIO \/\/ 0001 : 1  CS1X  Error     Features \/\/ 0010 : 2  CS1X  SecCount  SecCount \/\/ 0011 : 3  CS1X  SecNumber SecNumber \/\/ 0100 : 4  CS1X  CylLow    CylLow \/\/ 0101 : 5  CS1X  CylHigh   CylHigh \/\/ 0110 : 6  CS1X  DevHead   DevHead \/\/ 0111 : 7  CS1X  Status    Command  \/\/ 1000 : 8  ----  DataDMA   DataDMA \/\/ 1001 : 9  ---- \/\/ 1010 : A  ---- \/\/ 1011 : B  ---- \/\/ 1100 : C  ---- CSEL \/\/ 1101 : D  ---- \/\/ 1110 : E  CS3X  AltStatus Control \/\/ 1111 : F  ---- RESET module IDE_STM32( \/\/ \u0428\u0438\u043d\u0430 STM32F4 inputCLK,\/\/ \u0422\u0430\u043a\u0442\u044b 56\u041c\u0413\u0446 inout[15:0]FSMC_AD,\/\/ \u041c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0448\u0438\u043d\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u0434\u0430\u043d\u043d\u044b\u0445 inputFSMC_NL,\/\/ \u0417\u0430\u0449\u0451\u043b\u043a\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 inputFSMC_NE1,\/\/ \u0412\u044b\u0431\u043e\u0440 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 inputFSMC_NOE,\/\/ \u0421\u0442\u0440\u043e\u0431 \u0447\u0442\u0435\u043d\u0438\u044f inputFSMC_NWE,\/\/ \u0421\u0442\u0440\u043e\u0431 \u0437\u0430\u043f\u0438\u0441\u0438 outputreg FSMC_NWAIT,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 outputreg STAT_INTRQ,\/\/ \u041f\u0440\u043e\u0431\u0440\u043e\u0441 \u0441\u0442\u0430\u0442\u0443\u0441\u0430: INTRQ outputreg STAT_DMARQ,\/\/ \u041f\u0440\u043e\u0431\u0440\u043e\u0441 \u0441\u0442\u0430\u0442\u0443\u0441\u0430: DMARQ outputreg STAT_DASP,\/\/ \u041f\u0440\u043e\u0431\u0440\u043e\u0441 \u0441\u0442\u0430\u0442\u0443\u0441\u0430: DASP outputreg STAT_PDIAG,\/\/ \u041f\u0440\u043e\u0431\u0440\u043e\u0441 \u0441\u0442\u0430\u0442\u0443\u0441\u0430: PDIAG \/\/ \u0428\u0438\u043d\u0430 IDE inout[15:0]DD,\/\/ \u0428\u0438\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 IDE outputreg [2:0]DA,\/\/ \u0428\u0438\u043d\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 outputCS1X,\/\/ \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b outputCS3X,\/\/ \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b outputDIOR,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0447\u0442\u0435\u043d\u0438\u044f outputDIOW,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0437\u0430\u043f\u0438\u0441\u0438 outputDMACK,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f DMA outputreg RESET,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0441\u0431\u0440\u043e\u0441\u0430 inoutCSEL,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0432\u044b\u0431\u043e\u0440\u0430 \u043f\u043e \u043a\u0430\u0431\u0435\u043b\u044e inputIORDY,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438 inputINTRQ,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f inputDMARQ,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0437\u0430\u043f\u0440\u043e\u0441\u0430 DMA inputDASP,\/\/ inputPDIAG,\/\/ \/\/ \u041b\u0430\u043c\u043f\u043e\u0447\u043a\u0430 outputreg DRIVE\/\/ \u041b\u0430\u043c\u043f\u043e\u0447\u043a\u0430 \u043f\u0440\u0438\u0432\u043e\u0434\u0430 );  \/\/ \u0428\u0438\u043d\u044b assign CSEL = (rCSEL) ? 1'b0 : 1'bZ; assign DD[15:0]  = (~FSMC_NE1 &amp; ~FSMC_NWE) ? FSMC_AD[15:0] : 16'hZZ; assign FSMC_AD[15:0] = (~FSMC_NE1 &amp; ~FSMC_NOE) ? DD[15:0] : 8'hZZ;  \/\/ \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 reg BANK;\/\/ \u0411\u0430\u043d\u043a \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438 reg rCSEL; wire REG_CSEL; wire REG_RESET;  \/\/ \u041a\u043e\u043c\u0431\u0438\u043d\u0430\u0442\u043e\u0440\u0438\u043a\u0430 assign REG_CSEL  = ~FSMC_NE1 &amp; BANK &amp; DA[2] &amp; ~DA[1] &amp; ~DA[0]; assign REG_RESET = ~FSMC_NE1 &amp; BANK &amp; DA[2] &amp; DA[1] &amp; DA[0]; assign CS1X = ~(~FSMC_NE1 &amp; ~BANK); assign CS3X = ~(~FSMC_NE1 &amp; BANK &amp; DA[2] &amp; DA[1] &amp; ~DA[0]); assign DMACK = ~(DMARQ &amp; ~FSMC_NE1 &amp; BANK &amp; ~DA[2] &amp; ~DA[1] &amp; ~DA[0]); assign DIOR = ~(~FSMC_NE1 &amp; ~FSMC_NOE &amp; (~BANK | (~(DA[2] ^ DA[1]) &amp; ~DA[0]))); assign DIOW = ~(~FSMC_NE1 &amp; ~FSMC_NWE &amp; (~BANK | (~(DA[2] ^ DA[1]) &amp; ~DA[0])));  \/\/ \u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u0430 always @(posedge FSMC_NL) begin \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0430\u0434\u0440\u0435\u0441 {BANK,DA[2:0]} &lt;= FSMC_AD[3:0]; end  \/\/ \u0421\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 always @(posedge CLK) begin \/\/ \u041b\u0430\u043c\u043f\u043e\u0447\u043a\u0430 DRIVE &lt;= DASP; \/\/ \u0421\u0442\u0430\u0442\u0443\u0441\u044b {STAT_PDIAG,STAT_DASP,STAT_DMARQ,STAT_INTRQ} &lt;= {PDIAG,DASP,DMARQ,INTRQ}; \/\/ \u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0443\u0435\u043c IORDY FSMC_NWAIT &lt;= REG_CSEL | REG_RESET | FSMC_NE1 | IORDY; \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c CSEL if (REG_CSEL &amp; ~FSMC_NWE) rCSEL &lt;= FSMC_AD[0]; \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c RESET if (REG_RESET &amp; ~FSMC_NWE) RESET &lt;= ~FSMC_AD[0]; end  \/\/ \u0412\u044b\u0445\u043e\u0434 endmodule <\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0438\u0437 \u043a\u043e\u0434\u0430 <strong>CPLD<\/strong> \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 16 \u0430\u0434\u0440\u0435\u0441\u043d\u044b\u0445 \u044f\u0447\u0435\u0435\u043a \u043d\u0430 16 \u0431\u0438\u0442 \u043a\u0430\u0436\u0434\u0430\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0438 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c. \u041f\u0435\u0440\u0432\u044b\u0435 8 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0442 8 \u044f\u0447\u0435\u0435\u043a \u0441 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0435\u0439 \u0441\u0438\u0433\u043d\u0430\u043b\u0430 <strong>CS1X<\/strong> \u043d\u0430 \u0448\u0438\u043d\u0435 <strong>IDE<\/strong>. \u0412\u0442\u043e\u0440\u044b\u0435 8 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u044b \u043d\u0430 3 \u0441\u0435\u043a\u0446\u0438\u0438:<\/p>\n<ul>\n<li>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u0441\u0435\u043a\u0446\u0438\u044f \u044d\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 (<strong>ADR<\/strong>=0) <strong>IDE<\/strong>, \u043d\u043e \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0438\u0433\u043d\u0430\u043b\u0430 <strong>DMACK<\/strong> (\u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0441\u0438\u0433\u043d\u0430\u043b\u0430 <strong>DMARQ<\/strong>). \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u043c\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c <strong>DMA<\/strong> \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u043d\u0430 \u0448\u0438\u043d\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0412\u0442\u043e\u0440\u0430\u044f \u0441\u0435\u043a\u0446\u0438\u044f \u044d\u0442\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0442\u0443\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 <strong>ADR<\/strong>=6 \u0438 <strong>CS3X<\/strong>. \u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0431\u0435\u0437 \u0441\u0431\u0440\u043e\u0441\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0438 <strong>DMA<\/strong>.<\/p>\n<\/li>\n<li>\n<p>\u0422\u0440\u0435\u0442\u044c\u044f \u0441\u0435\u043a\u0446\u0438\u044f \u044d\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b <strong>CPLD<\/strong>. \u041e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u043d\u0438\u043c \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u0441\u0442\u0440\u043e\u0431\u0430 \u0447\u0442\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0448\u0438\u043d\u0435 <strong>IDE<\/strong>. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u0430\u043c\u0438 <strong>RESET<\/strong> \u0438 <strong>CSEL<\/strong>.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, <strong>CPLD<\/strong> \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0433\u043b\u0430\u0441\u0443\u044e\u0449\u0438\u0439 \u043c\u043e\u0441\u0442 \u043c\u0435\u0436\u0434\u0443 <strong>FSMC<\/strong> \u0438 \u0448\u0438\u043d\u043e\u0439 <strong>IDE<\/strong>. \u041c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u043d\u043e\u0433\u0430\u043c\u0438 <strong>FSMC<\/strong> \u0438 <strong>CPLD<\/strong>, \u043e\u0434\u043d\u0430\u043a\u043e \u0431\u0443\u043a\u0432\u0430\u0440\u044c \u043d\u0430 \u0447\u0438\u043f \u043d\u0430\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u0443 \u043d\u0435\u0433\u043e \u0432\u0441\u0435 \u043d\u043e\u0433\u0438 \u0442\u0438\u043f\u0430 <strong>FT<\/strong>.<\/p>\n<details class=\"spoiler\">\n<summary>\u0412\u044b\u0431\u043e\u0440\u043a\u0430 \u0438\u0437 \u0431\u0443\u043a\u0432\u0430\u0440\u044f<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2e4\/e7e\/079\/2e4e7e0795a56906620f05cafc378585.PNG\" width=\"694\" height=\"424\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/2e4\/e7e\/079\/2e4e7e0795a56906620f05cafc378585.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2e4\/e7e\/079\/2e4e7e0795a56906620f05cafc378585.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/beb\/ad1\/8dd\/bebad18dd4dad704689332367f1270af.PNG\" width=\"702\" height=\"428\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/beb\/ad1\/8dd\/bebad18dd4dad704689332367f1270af.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/beb\/ad1\/8dd\/bebad18dd4dad704689332367f1270af.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/055\/424\/e1e\/055424e1eb51e89285112a8d79dc0ecc.PNG\" width=\"693\" height=\"276\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/055\/424\/e1e\/055424e1eb51e89285112a8d79dc0ecc.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/055\/424\/e1e\/055424e1eb51e89285112a8d79dc0ecc.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c9d\/cd8\/150\/c9dcd81502d6b208a704591038894701.PNG\" width=\"681\" height=\"91\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/c9d\/cd8\/150\/c9dcd81502d6b208a704591038894701.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c9d\/cd8\/150\/c9dcd81502d6b208a704591038894701.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/da8\/510\/2ca\/da85102ca44749238fec617e449e72bb.PNG\" width=\"693\" height=\"249\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/da8\/510\/2ca\/da85102ca44749238fec617e449e72bb.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/da8\/510\/2ca\/da85102ca44749238fec617e449e72bb.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/082\/872\/c54\/082872c54d7eae147611ac787945cb61.PNG\" width=\"678\" height=\"85\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/082\/872\/c54\/082872c54d7eae147611ac787945cb61.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/082\/872\/c54\/082872c54d7eae147611ac787945cb61.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<\/div>\n<\/details>\n<p>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0438 (<strong>USB<\/strong> \u0438 <strong>SDIO<\/strong>) \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0442\u0438\u043f\u0438\u0447\u043d\u043e \u043f\u043e \u0431\u0443\u043a\u0432\u0430\u0440\u044e \u043e\u0442 <strong>ST<\/strong> \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430 \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438. \u041a\u0430\u043a \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0432\u044b\u0448\u0435, <strong>USB<\/strong> \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f <strong>CLI<\/strong>. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 <strong>ST vCOM<\/strong> \u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b &#8212; \u043b\u044e\u0431\u043e\u0439 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b, \u0443\u043c\u0435\u044e\u0449\u0438\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 <strong>COM<\/strong> \u043f\u043e\u0440\u0442\u043e\u043c. \u0412\u0441\u0451 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0432 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440.<\/p>\n<p>\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0448\u0438\u043d\u0435 <strong>IDE<\/strong> \u0431\u0443\u0434\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 <strong>FSMC<\/strong> \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u044f\u043c\u043e \u0432 \u043f\u0430\u043c\u044f\u0442\u044c \u044f\u0434\u0440\u0430 \u0438 \u0435\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043e\u0431\u044b\u0447\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 <strong>LDR\/STR<\/strong>. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0442\u0430\u0439\u043c\u0438\u043d\u0433 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u0430\u043c\u043e\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u044b\u043c. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u043e\u0441\u0442\u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u043a &#171;\u043d\u043e\u0433\u043e\u0434\u0440\u044b\u0433\u0430&#187;. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f:<\/p>\n<pre><code class=\"cpp\">__HAL_RCC_FMCEN_CLK_ENABLE(); FSMC_Bank1-&gt;BTCR[ 0 ] = \/*| FSMC_BCR1_ASYNCWAIT | FSMC_BCR1_WAITEN |*\/ FSMC_BCR1_WREN \/*| FSMC_BCR1_WAITCFG*\/ | 0x80 | FSMC_BCR1_FACCEN | FSMC_BCR1_MWID_0 | FSMC_BCR1_MTYP_1 | FSMC_BCR1_MUXEN | FSMC_BCR1_MBKEN; \/\/ \u0422\u0430\u0439\u043c\u0438\u043d\u0433\u0438 \u0447\u0442\u0435\u043d\u0438\u044f FSMC_Bank1-&gt;BTCR[ 1 ] = FSMC_BTR1_BUSTURN_2 | FSMC_BTR1_DATAST_5 | FSMC_BTR1_DATAST_4 | FSMC_BTR1_DATAST_3 | FSMC_BTR2_ADDHLD_1 | FSMC_BTR2_ADDSET_3; \/\/ \u0422\u0430\u0439\u043c\u0438\u043d\u0433\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 FSMC_Bank1E-&gt;BWTR[ 0 ] = FSMC_BWTR1_BUSTURN_2 | FSMC_BWTR1_DATAST_5 | FSMC_BWTR1_DATAST_4 | FSMC_BWTR1_DATAST_3 | FSMC_BWTR1_ADDHLD_1 | FSMC_BWTR1_ADDSET_3; <\/code><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d \u0441\u0438\u0433\u043d\u0430\u043b <strong>FSMC_nWAIT<\/strong>, \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d \u043f\u043e\u0437\u0436\u0435. \u0410 \u0432\u0440\u0435\u043c\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u043d\u0430 340 \u043d\u0441 \u0438 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438. \u042d\u0442\u043e\u0433\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0445\u0432\u0430\u0442\u0430\u0442\u044c \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u043f\u0440\u0438\u0432\u043e\u0434\u043e\u0432, \u043a\u0430\u043a \u0441\u0442\u0430\u0440\u044b\u0445 \u0442\u0430\u043a \u0438 \u043d\u043e\u0432\u044b\u0445. \u0410\u0434\u0440\u0435\u0441 \u0443 <strong>FSMC_NE1<\/strong> \u0440\u0430\u0432\u0435\u043d 0x60000000, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c \u0438 \u043f\u0440\u0438\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0435\u043c \u0435\u0451 \u043a \u044d\u0442\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443:<\/p>\n<pre><code class=\"cpp\">\/\/ \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u043e\u0440\u0442\u0430 IDE typedef struct {\/\/ CS1X __IO uint16_tDATA_PIO;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 0: DATA, \u0440\u0435\u0436\u0438\u043c PIO, 16 \u0431\u0438\u0442 __IO uint16_tFEATURE;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 1: STATUS \/ FEATURES, 8 \u0431\u0438\u0442 __IO uint16_tSEC_COUNT;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 2: SECTOR COUNT, 8 \u0431\u0438\u0442 __IO uint16_tSEC_NUMBER;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 3: SECTOR NUMBER, 8 \u0431\u0438\u0442 __IO uint16_tCYL_LOW;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 4: CYLINDER LOW, 8 \u0431\u0438\u0442 __IO uint16_tCYL_HIGH;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 5: CYLINDER HIGH, 8 \u0431\u0438\u0442 __IO uint16_tCONTROL;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 6: CONTROL\/DEVICE&amp;HEAD, 8 \u0431\u0438\u0442 __IO uint16_tCOMMAND;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 7: STATUS \/ COMMAND, 8 \u0431\u0438\u0442 \/\/ DMACK __IO uint16_tDATA_DMA;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 0: DATA, \u0440\u0435\u0436\u0438\u043c DMA, 16 \u0431\u0438\u0442 \/\/ \u0420\u0435\u0437\u0435\u0440\u0432 __IO uint16_tRES0[ 3 ];\/\/ \u0420\u0435\u0437\u0435\u0440\u0432 \/\/ \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c CSEL __IO uint16_tCSEL;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c CSEL \/\/ \u0420\u0435\u0437\u0435\u0440\u0432 __IO uint16_tRES1[ 1 ];\/\/ \u0420\u0435\u0437\u0435\u0440\u0432 \/\/ CS3X __IO uint16_tALT_STATUS;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 6: ALT STATUS, 8 \u0431\u0438\u0442 \/\/ \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c RESET __IO uint16_tRESET;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c RESET } tIDE;  #define IDE_BASE_ADR(uint32_t) 0x60000000 #define IDE((tIDE *) IDE_BASE_ADR) <\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043d\u0443\u0436\u043d\u044b\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <strong>IDE-&gt;DATA_PIO<\/strong>, \u043f\u0440\u044f\u043c\u043e \u043a\u0430\u043a \u0441\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438 \u0443 <strong>ST<\/strong>. \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0431\u0440\u043e\u0441\u043e\u043c \u0438\u0434\u0451\u0442 \u0447\u0435\u0440\u0435\u0437 <strong>IDE-&gt;RESET<\/strong>, \u043a\u0443\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c 0x0001 \u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0441\u0431\u0440\u043e\u0441\u0430 \u0438 0x0000 \u0434\u043b\u044f \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0435\u0433\u043e. \u0422\u0430\u043a \u0447\u0442\u043e \u0441\u0431\u0440\u043e\u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e:<\/p>\n<pre><code class=\"cpp\">IDE-&gt;RESET = 0xFFFF; HAL_Delay( 500 ); IDE-&gt;RESET = 0x0000; HAL_Delay( 3000 );<\/code><\/pre>\n<p>\u0412\u0442\u043e\u0440\u043e\u0435 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 \u043d\u0430 3 \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u043e\u0431\u0443\u0441\u043b\u043e\u0432\u043b\u0435\u043d\u043e \u0442\u0435\u043c, \u0447\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u0440\u0435\u043c\u044f, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e \u0430\u0434\u0435\u043a\u0432\u0430\u0442\u043d\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u0412 <strong>PC<\/strong> \u044d\u0442\u043e \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043c, \u0447\u0442\u043e \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 \u0441\u0431\u0440\u043e\u0441 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u043e \u0432\u0441\u0435\u043c <strong>PC<\/strong> \u0438 \u043f\u043e\u043a\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 <strong>POST<\/strong> \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b, \u044d\u0442\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u0430\u043c \u043f\u0440\u043e\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f. \u0410 \u0443 \u043d\u0430\u0441 \u0441\u0431\u0440\u043e\u0441 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0436\u0438\u0434\u0430\u0442\u044c.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ff5\/a2d\/9e4\/ff5a2d9e46c6067ff587510088aec57c.PNG\" alt=\"\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0441\u0431\u0440\u043e\u0441\u0430 \u0432 CLI\" title=\"\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0441\u0431\u0440\u043e\u0441\u0430 \u0432 CLI\" width=\"443\" height=\"36\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/ff5\/a2d\/9e4\/ff5a2d9e46c6067ff587510088aec57c.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ff5\/a2d\/9e4\/ff5a2d9e46c6067ff587510088aec57c.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0441\u0431\u0440\u043e\u0441\u0430 \u0432 <strong>CLI<\/strong><\/figcaption><\/div>\n<\/figure>\n<p>\u0410\u043d\u0430\u043b\u0438\u0437 \u043b\u043e\u0433\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u043f\u043e\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e 2 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<ul>\n<li>\n<p>0xA1 &#8212; <strong>IDENTIFY_ATAPI_DEVICE<\/strong><\/p>\n<\/li>\n<li>\n<p>0xA0 &#8212; <strong>PACKET<\/strong><\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0448\u0438\u043d\u044b <strong>IDE<\/strong> \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0435\u043d\u044b, \u0434\u0430\u0436\u0435 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 <strong>DMA<\/strong>. \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0442\u0430\u043a \u0438 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c, \u0432\u0435\u0434\u044c \u043c\u044b \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c <strong>ATAPI<\/strong> \u043f\u0440\u0438\u0432\u043e\u0434, \u0430 \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0435 <strong>SCSI<\/strong> \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u0421\u0430\u043c\u0438 \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <strong>SCSI-3<\/strong> \u0438 <strong>MMC-3<\/strong>. \u0411\u0443\u043a\u0432\u0430\u0440\u0438 \u043d\u0430 \u043d\u0438\u0445 \u0435\u0441\u0442\u044c \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435, \u043a \u043d\u0438\u043c \u043c\u044b \u0432\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u043a\u043e\u0433\u0434\u0430 \u0434\u043e\u0439\u0434\u0451\u043c \u0434\u043e \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0438, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0447\u043d\u0451\u043c \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u0440\u0435\u0447\u044c \u043e \u0448\u0438\u043d\u0435 <strong>IDE<\/strong>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0445\u043e\u0441\u0442\u0438\u0442 <strong>ATAPI<\/strong>. \u0418 \u043d\u0430\u0447\u043d\u0451\u043c \u043c\u044b \u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u044b 0xA1 &#8212; <strong>IDENTIFY_ATAPI_DEVICE<\/strong>. \u0414\u043b\u044f \u0435\u0451 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b <strong>IDE<\/strong> \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/692\/e01\/c25\/692e01c2573bb6fe8d02a2cf4671fac4.PNG\" alt=\"\u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e, \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0438\u0442 DEV \u0438 \u0441\u0430\u043c\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\" title=\"\u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e, \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0438\u0442 DEV \u0438 \u0441\u0430\u043c\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\" width=\"1427\" height=\"396\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/692\/e01\/c25\/692e01c2573bb6fe8d02a2cf4671fac4.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/692\/e01\/c25\/692e01c2573bb6fe8d02a2cf4671fac4.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e, \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0438\u0442 <strong>DEV<\/strong> \u0438 \u0441\u0430\u043c\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430<\/figcaption><\/div>\n<\/figure>\n<p>\u041c\u044b \u0436\u0435 \u043f\u043e\u043c\u043d\u0438\u043c \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442, \u0447\u0442\u043e \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u043a\u0430\u0431\u0435\u043b\u0435 <strong>IDE<\/strong> \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c 2 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043e\u0434\u0438\u043d \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 <strong>MASTER\/SINGLE<\/strong> \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 <strong>SLAVE<\/strong>. \u0412\u043e\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0431\u0438\u0442 <strong>DEV<\/strong> \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 <strong>DEVICE\/HEAD<\/strong> \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a \u043a\u0430\u043a\u043e\u043c\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0434\u0451\u0442 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435. \u042d\u0442\u043e\u0442 \u0431\u0438\u0442 \u0441\u043b\u0443\u0448\u0430\u044e\u0442 \u043e\u0431\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043d\u043e \u043e\u0442\u043a\u043b\u0438\u043a\u0430\u0435\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u0442\u043e, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0434\u0436\u0430\u043c\u043f\u0435\u0440\u0430 <strong>MASTER\/SLAVE<\/strong> \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442. <strong>DEV<\/strong>=0 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u044b\u0431\u043e\u0440\u0443 <strong>MASTER<\/strong>. <strong>PC<\/strong> \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0441\u044e\u0434\u0430 0xA0, \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044f \u043e\u0431\u0430 \u0431\u0438\u0442\u0430 &#171;<strong>obs<\/strong>&#187; (obsolete &#8212; \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435) \u0432 1. \u041f\u043e\u0441\u0442\u0443\u043f\u0438\u043c \u0442\u0430\u043a \u0436\u0435. \u042d\u043f\u044e\u0440\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dd5\/ac9\/ba6\/dd5ac9ba6b9c1e470d458654d520d14e.PNG\" alt=\"\u0412\u0441\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 356 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434\" title=\"\u0412\u0441\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 356 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434\" width=\"1478\" height=\"1277\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/dd5\/ac9\/ba6\/dd5ac9ba6b9c1e470d458654d520d14e.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dd5\/ac9\/ba6\/dd5ac9ba6b9c1e470d458654d520d14e.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0412\u0441\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 356 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434<\/figcaption><\/div>\n<\/figure>\n<p>\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430, \u0447\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <strong>IDENTIFY_ATAPI_DEVICE<\/strong>. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f 2 \u043f\u0430\u0440\u043d\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438 \u0447\u0442\u0435\u043d\u0438\u044f \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 <strong>SEC_COUNT<\/strong> (\u0441\u0447\u0451\u0442\u0447\u0438\u043a \u0441\u0435\u043a\u0442\u043e\u0440\u043e\u0432), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432\u0441\u0435\u0433\u0434\u0430 \u043a\u0430\u043a \u044f\u0447\u0435\u0439\u043a\u0430 \u043f\u0430\u043c\u044f\u0442\u0438. \u0417\u0430\u0442\u0435\u043c, \u0435\u0441\u043b\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 (\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435) \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0447\u0442\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 <strong>STATUS<\/strong> \u0434\u043b\u044f \u0441\u0431\u0440\u043e\u0441\u0430 \u0432\u0441\u0435\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435. \u0418 \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 <strong>IDENTIFY_ATAPI_DEVICE<\/strong> \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u044c\u044e 0xA0 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 <strong>DEVICE\/HEAD<\/strong> \u0438 0xA1 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 <strong>COMMAND\/STATUS<\/strong>.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/40d\/734\/0ca\/40d7340cadfcf316a7aa40379fc5a1e8.PNG\" alt=\"\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u0438\u0434\u043d\u0430 \u043a\u0430\u043a \u0434\u0432\u0435 \u043f\u043e\u0434\u0440\u044f\u0434 \u0438\u0434\u0443\u0449\u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u043b\u0438\u0437\u043a\u043e \u0434\u0440\u0443\u0433 \u043a \u0434\u0440\u0443\u0433\u0443 \u0432 \u043f\u0440\u0430\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\" title=\"\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u0438\u0434\u043d\u0430 \u043a\u0430\u043a \u0434\u0432\u0435 \u043f\u043e\u0434\u0440\u044f\u0434 \u0438\u0434\u0443\u0449\u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u043b\u0438\u0437\u043a\u043e \u0434\u0440\u0443\u0433 \u043a \u0434\u0440\u0443\u0433\u0443 \u0432 \u043f\u0440\u0430\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\" width=\"2022\" height=\"1265\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/40d\/734\/0ca\/40d7340cadfcf316a7aa40379fc5a1e8.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/40d\/734\/0ca\/40d7340cadfcf316a7aa40379fc5a1e8.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u0438\u0434\u043d\u0430 \u043a\u0430\u043a \u0434\u0432\u0435 \u043f\u043e\u0434\u0440\u044f\u0434 \u0438\u0434\u0443\u0449\u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u043b\u0438\u0437\u043a\u043e \u0434\u0440\u0443\u0433 \u043a \u0434\u0440\u0443\u0433\u0443 \u0432 \u043f\u0440\u0430\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0433\u0440\u0430\u0444\u0438\u043a\u0430<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0443\u0441 \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0435 \u0441\u043d\u0438\u043c\u0435\u0442 \u0431\u0438\u0442 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 <strong>BSY<\/strong> \u0438 \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442 \u0431\u0438\u0442 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 <strong>DRQ<\/strong>. \u0412\u043e\u0442 \u043a\u0430\u0440\u0442\u0430 \u0431\u0438\u0442\u043e\u0432 \u0434\u043b\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ed7\/e47\/a98\/ed7e47a9864f55cc7ded24e0aefb49b9.PNG\" alt=\"\u0412\u0441\u0435 \u0437\u043d\u0430\u0447\u0430\u0449\u0438\u0435 \u0431\u0438\u0442\u044b \u0441\u0442\u0430\u0442\u0443\u0441\u0430\" title=\"\u0412\u0441\u0435 \u0437\u043d\u0430\u0447\u0430\u0449\u0438\u0435 \u0431\u0438\u0442\u044b \u0441\u0442\u0430\u0442\u0443\u0441\u0430\" width=\"1510\" height=\"397\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/ed7\/e47\/a98\/ed7e47a9864f55cc7ded24e0aefb49b9.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ed7\/e47\/a98\/ed7e47a9864f55cc7ded24e0aefb49b9.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0412\u0441\u0435 \u0437\u043d\u0430\u0447\u0430\u0449\u0438\u0435 \u0431\u0438\u0442\u044b \u0441\u0442\u0430\u0442\u0443\u0441\u0430<\/figcaption><\/div>\n<\/figure>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0444\u043b\u0430\u0433\u043e\u0432 \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f. \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 <strong>DF<\/strong> (<strong>DRIVE_FAULT<\/strong>) \u0438\u043b\u0438 <strong>ERR<\/strong> (<strong>ERROR<\/strong>) \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e\u0431 \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438\u043b\u0438 \u0435\u0433\u043e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430 <strong>IDENTIFY_ATAPI_DEVICE<\/strong> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0443 \u0441 \u043d\u043e\u0441\u0438\u0442\u0435\u043b\u0435\u043c. \u0410 \u0432\u043e\u0442 \u0442\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432\u044b\u0447\u0438\u0442\u043a\u0430 \u043e\u0442\u0432\u0435\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 256 \u0441\u043b\u043e\u0432 (512 \u0431\u0430\u0439\u0442):<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/adc\/bc9\/6d0\/adcbc96d0c14717a59fbab5c36e87a21.PNG\" alt=\"\u041f\u043b\u043e\u0442\u043d\u043e \u0438\u0434\u0443\u0449\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0447\u0442\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 - \u043d\u0435\u0434\u043e\u0441\u0442\u0438\u0436\u0438\u043c\u0430\u044f \u0432\u0435\u0449\u044c \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430!\" title=\"\u041f\u043b\u043e\u0442\u043d\u043e \u0438\u0434\u0443\u0449\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0447\u0442\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 - \u043d\u0435\u0434\u043e\u0441\u0442\u0438\u0436\u0438\u043c\u0430\u044f \u0432\u0435\u0449\u044c \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430!\" width=\"1833\" height=\"1285\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/adc\/bc9\/6d0\/adcbc96d0c14717a59fbab5c36e87a21.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/adc\/bc9\/6d0\/adcbc96d0c14717a59fbab5c36e87a21.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041f\u043b\u043e\u0442\u043d\u043e \u0438\u0434\u0443\u0449\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0447\u0442\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 &#8212; \u043d\u0435\u0434\u043e\u0441\u0442\u0438\u0436\u0438\u043c\u0430\u044f \u0432\u0435\u0449\u044c \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430!<\/figcaption><\/div>\n<\/figure>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d70\/e84\/be3\/d70e84be346ab8fd5d63604c65e5fd44.PNG\" alt=\"\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 CLI \u0441 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u043c \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u043e\u043c \u043e\u0442\u0432\u0435\u0442\u0430\" title=\"\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 CLI \u0441 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u043c \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u043e\u043c \u043e\u0442\u0432\u0435\u0442\u0430\" width=\"441\" height=\"180\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/d70\/e84\/be3\/d70e84be346ab8fd5d63604c65e5fd44.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d70\/e84\/be3\/d70e84be346ab8fd5d63604c65e5fd44.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 <strong>CLI<\/strong> \u0441 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u043c \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u043e\u043c \u043e\u0442\u0432\u0435\u0442\u0430<\/figcaption><\/div>\n<\/figure>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"cpp\">\/\/ \u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u0430 FunctionalState IDE_DriveDetect( uint8_t *pBuf, uint32_t Size ) {\/\/ \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 FunctionalState Res; tATAPI_ID *pATAPI_ID; uint32_t Cnt; uint16_t *PBuf,Data; \/\/ \u0418\u043d\u0438\u0442 Res = DISABLE; Size \/= 2; PBuf = (uint16_t *)pBuf; pATAPI_ID = (tATAPI_ID *)pBuf; \/\/ \u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043f\u0440\u0438\u0432\u043e\u0434\u0430 while ( Size &gt; 0 ) {\/\/ \u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u044c 0x0A \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0441\u0435\u043a\u0442\u043e\u0440\u0430 IDE-&gt;SEC_COUNT = 0x000A; \/\/ \u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430 2 \u043c\u043a\u0441 IDE_uDelay( 1 ); \/\/ \u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 if ( (IDE-&gt;SEC_COUNT &amp; 0x00FF) != 0x000A ) { break; } \/\/ \u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430 2 \u043c\u043a\u0441 IDE_uDelay( 1 ); \/\/ \u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u044c 0x05 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0441\u0435\u043a\u0442\u043e\u0440\u0430 IDE-&gt;SEC_COUNT = 0x0005; \/\/ \u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430 2 \u043c\u043a\u0441 IDE_uDelay( 1 ); \/\/ \u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 if ( (IDE-&gt;SEC_COUNT &amp; 0x00FF) != 0x0005 ) { break; } \/\/ \u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430 2 \u043c\u043a\u0441 IDE_uDelay( 1 ); \/\/ \u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u044c 0xA0 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f IDE-&gt;CONTROL = 0x00A0; \/\/ \u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430 2 \u043c\u043a\u0441 IDE_uDelay( 1 ); \/\/ \u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 if ( (IDE-&gt;CONTROL &amp; 0x00FF) != 0x00A0 ) { break; } \/\/ \u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430 2 \u043c\u043a\u0441 IDE_uDelay( 1 ); \/\/ \u0421\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u0441\u0442\u0430\u0442\u0443\u0441 if ( (IDE-&gt;COMMAND &amp; 0x0081) != 0x0000 ) { break; } \/\/ \u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430 2 \u043c\u043a\u0441 IDE_uDelay( 1 ); \/\/ \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0447\u0442\u0435\u043d\u0438\u044f ID IDE-&gt;CONTROL = 0x00A0; IDE-&gt;COMMAND = 0x00A1; \/\/ \u041e\u0436\u0438\u0434\u0430\u0435\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e Cnt = 0; while ( ((IDE-&gt;COMMAND &amp; STATUS_BSY) != 0x0000) &amp;&amp; (Cnt &lt; 1000) ) { IDE_uDelay( 1 ); Cnt++; } \/\/ \u041f\u0440\u043e\u0438\u0437\u043e\u0448\u0451\u043b \u0437\u0430\u043f\u0440\u043e\u0441 \u0438\u043b\u0438 \u0441\u043d\u044f\u0442\u0438\u0435 BUSY? if ( Cnt &gt; 0 ) {\/\/ \u041e\u0436\u0438\u0434\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 while ( (IDE-&gt;COMMAND &amp; STATUS_DRDY) == 0x0000 ) { __NOP(); } \/\/ \u0421\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 Cnt = 0; while ( (Cnt &lt; 256) &amp;&amp; (Cnt &lt; Size) ) {\/\/ \u0421\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 Data = IDE-&gt;DATA_PIO; \/\/ \u041c\u0435\u043d\u044f\u0435\u043c \u043c\u0435\u0441\u0442\u0430\u043c\u0438 \u0431\u0430\u0439\u0442\u044b if ( ((Cnt &gt;= 10) &amp;&amp; (Cnt &lt;= 19)) || ((Cnt &gt;= 23) &amp;&amp; (Cnt &lt;= 26)) || ((Cnt &gt;= 27) &amp;&amp; (Cnt &lt;= 46)) ) {\/\/ \u0415\u0441\u043b\u0438 \u043c\u044b \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0430\u0445 - \u043e\u0431\u043c\u0435\u043d\u0438\u0432\u0430\u0435\u043c \u0431\u0430\u0439\u0442\u044b Data = (Data &gt;&gt; 8) | (Data &lt;&lt; 8); } \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 *(PBuf) = Data; \/\/ \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0441\u043b\u043e\u0432\u043e Cnt++; PBuf++; } } else {\/\/ \u0412\u044b\u0445\u043e\u0434 \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 break; } \/\/ \u0412\u0441\u0451 \u043f\u0443\u0447\u043a\u043e\u043c Res = ENABLE; \/\/ \u0412\u044b\u0445\u043e\u0434 break; } \/\/ \u0412\u044b\u0445\u043e\u0434 return Res; }<\/code><\/pre>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u043b\u0435\u0439 \u043e\u0442\u0432\u0435\u0442\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043e\u0431\u043c\u0435\u043d \u0441\u0442\u0430\u0440\u0448\u0435\u0433\u043e \u0438 \u043c\u043b\u0430\u0434\u0448\u0435\u0433\u043e \u0431\u0430\u0439\u0442\u0430 \u0432 \u0441\u043b\u043e\u0432\u0435. \u042d\u0442\u043e \u043e\u0431\u0443\u0441\u043b\u043e\u0432\u043b\u0435\u043d\u043e \u0442\u0435\u043c, \u0447\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0438 \u0442\u0443\u0442 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 <strong>big<\/strong> <strong>endian<\/strong>:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4b9\/05a\/bd4\/4b905abd4c211a404ac6e00df0ebffeb.PNG\" width=\"1132\" height=\"257\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/4b9\/05a\/bd4\/4b905abd4c211a404ac6e00df0ebffeb.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4b9\/05a\/bd4\/4b905abd4c211a404ac6e00df0ebffeb.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<\/div>\n<\/details>\n<p>\u0412\u043e\u0442 \u043c\u044b \u0438 \u0434\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0434\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <strong>PACKET<\/strong>. \u0415\u0451 \u043a\u0430\u0440\u0442\u0430 \u0442\u043e\u0436\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/86c\/d83\/06c\/86cd8306cb8c6307aa31fedb5eb6efae.PNG\" alt=\"\u0424\u043b\u0430\u0433\u043e\u0432 \u0442\u043e \u0443\u0436\u0435 \u043f\u043e\u0431\u043e\u043b\u044c\u0448\u0435, \u0434\u0430?\" title=\"\u0424\u043b\u0430\u0433\u043e\u0432 \u0442\u043e \u0443\u0436\u0435 \u043f\u043e\u0431\u043e\u043b\u044c\u0448\u0435, \u0434\u0430?\" width=\"909\" height=\"308\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/86c\/d83\/06c\/86cd8306cb8c6307aa31fedb5eb6efae.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/86c\/d83\/06c\/86cd8306cb8c6307aa31fedb5eb6efae.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0424\u043b\u0430\u0433\u043e\u0432 \u0442\u043e \u0443\u0436\u0435 \u043f\u043e\u0431\u043e\u043b\u044c\u0448\u0435, \u0434\u0430?<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u0443\u0436\u0435 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u0442\u043e \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0443 \u043d\u0435\u0451 \u043f\u043e\u0431\u043e\u043b\u044c\u0448\u0435. \u0411\u0438\u0442\u044b <strong>OVL<\/strong> \u0438 <strong>DMA<\/strong> \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u0430\u0440\u0431\u0438\u0442\u0440\u0430\u0436\u0443, <strong>OVL<\/strong> \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0443\u044e\/\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0430 <strong>DMA<\/strong> \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u044d\u0442\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u043d \u0447\u0435\u0440\u0435\u0437 <strong>DMA<\/strong> \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438. \u0422.\u0435., \u043e\u0431\u0430 \u0431\u0438\u0442\u0430 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0448\u0438\u043d\u044b \u0438 \u043f\u0440\u0438\u0432\u043e\u0434\u0430. <strong>TAG<\/strong> (\u043c\u0435\u0442\u043a\u0430) \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043e\u0447\u0435\u0440\u0451\u0434\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 (\u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 <strong>OVL<\/strong>). \u0410 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 <strong>CYL_HI:CYL_LOW<\/strong> \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u0430\u043a\u0435\u0442\u0430 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430 1 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e <strong>DRQ<\/strong> (\u0438 \u0434\u043b\u044f <strong>DMA<\/strong>, \u0438 \u0434\u043b\u044f <strong>PIO<\/strong>). \u042d\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0435\u0441\u043b\u0438 \u0443 \u0445\u043e\u0441\u0442\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0431\u0443\u0444\u0435\u0440 \u0432 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u041d\u0443 \u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u043c, \u0442.\u043a. \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u0442\u043e\u0436\u0435 \u043d\u0435 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0442\u043e\u0436\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/183\/ce6\/0e2\/183ce60e28985c30904ee9f56429d558.PNG\" alt=\"\u0411\u043e\u043b\u044c\u0448\u0435 \u0444\u043b\u0430\u0433\u043e\u0432 \u0411\u043e\u0433\u0443 \u0444\u043b\u0430\u0433\u043e\u0432!\" title=\"\u0411\u043e\u043b\u044c\u0448\u0435 \u0444\u043b\u0430\u0433\u043e\u0432 \u0411\u043e\u0433\u0443 \u0444\u043b\u0430\u0433\u043e\u0432!\" width=\"953\" height=\"333\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/183\/ce6\/0e2\/183ce60e28985c30904ee9f56429d558.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/183\/ce6\/0e2\/183ce60e28985c30904ee9f56429d558.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0411\u043e\u043b\u044c\u0448\u0435 \u0444\u043b\u0430\u0433\u043e\u0432 \u0411\u043e\u0433\u0443 \u0444\u043b\u0430\u0433\u043e\u0432!<\/figcaption><\/div>\n<\/figure>\n<p><strong>I\/O<\/strong> \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 (0 &#8212; \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043f\u0440\u0438\u0432\u043e\u0434), <strong>C\/D<\/strong> \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u0436\u0438\u0434\u0430\u0435\u0442 \u043f\u0440\u0438\u0432\u043e\u0434 (0 &#8212; \u043a\u043e\u043c\u0430\u043d\u0434\u0430, 1 &#8212; \u0434\u0430\u043d\u043d\u044b\u0435). <strong>SERV<\/strong> \u0432\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u0435\u043c\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0430. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u043b\u0430\u0433\u0438 \u0432\u0435\u0434\u0443\u0442 \u0441\u0435\u0431\u044f \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0438 \u0443 <strong>IDENTIFY_ATAPI_DEVICE<\/strong>. \u041f\u0435\u0440\u0435\u043a\u0440\u044b\u0442\u0438\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434 \u043c\u044b \u043f\u043e\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043e\u0431\u044b\u0447\u043d\u0443\u044e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u0447\u0442\u0435\u043d\u0438\u044f \u0441\u0435\u043a\u0442\u043e\u0440\u0430 \u0441 <strong>CD<\/strong>.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e23\/f13\/382\/e23f13382ead4bf6299b67a283913ccf.PNG\" alt=\"\u0427\u0442\u0435\u043d\u0438\u0435 \u0441\u0435\u043a\u0442\u043e\u0440\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c \u043f\u0440\u0438\u043b\u0438\u0447\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438\u0437-\u0437\u0430 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044f\" title=\"\u0427\u0442\u0435\u043d\u0438\u0435 \u0441\u0435\u043a\u0442\u043e\u0440\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c \u043f\u0440\u0438\u043b\u0438\u0447\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438\u0437-\u0437\u0430 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044f\" width=\"1613\" height=\"1225\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/e23\/f13\/382\/e23f13382ead4bf6299b67a283913ccf.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e23\/f13\/382\/e23f13382ead4bf6299b67a283913ccf.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0427\u0442\u0435\u043d\u0438\u0435 \u0441\u0435\u043a\u0442\u043e\u0440\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c \u043f\u0440\u0438\u043b\u0438\u0447\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438\u0437-\u0437\u0430 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044f<\/figcaption><\/div>\n<\/figure>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b <strong>PACKET<\/strong>: <strong>FEATURES<\/strong> = 0x00, <strong>CYL_HI:CYL_LO<\/strong> = 0xC00, <strong>DEVICE<\/strong> = 0xA0. \u0417\u0430\u0442\u0435\u043c \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c <strong>STATUS<\/strong> \u0434\u043b\u044f \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043f\u043e\u0434\u0430\u0451\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <strong>COMMAND<\/strong> = 0xA0. \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u043e\u0442\u0432\u0435\u0442\u0438\u043b\u043e, \u0447\u0442\u043e \u0436\u0434\u0451\u0442 \u043e\u0442 \u043d\u0430\u0441 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u0430:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/569\/796\/687\/5697966873aaad9e792e94ce7e28f414.PNG\" alt=\"\u041f\u043e\u0434\u0430\u0447\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b PACKET \u0438, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430\" title=\"\u041f\u043e\u0434\u0430\u0447\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b PACKET \u0438, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430\" width=\"2129\" height=\"1197\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/569\/796\/687\/5697966873aaad9e792e94ce7e28f414.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/569\/796\/687\/5697966873aaad9e792e94ce7e28f414.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041f\u043e\u0434\u0430\u0447\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <strong>PACKET<\/strong> \u0438, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430<\/figcaption><\/div>\n<\/figure>\n<p><strong>IDENTIFY_ATAPI_DEVICE<\/strong> \u043f\u043e\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0443 \u044d\u0442\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u0430\u043a\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0432 12 \u0431\u0430\u0439\u0442 (6 \u0441\u043b\u043e\u0432). \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0430\u043a\u0435\u0442\u0430 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7ac\/593\/f23\/7ac593f23984dc5486380422322d8b0a.PNG\" alt=\"\u0411\u0430\u0439\u0442\u044b \u043f\u0430\u043a\u0435\u0442\u0430 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u0441\u043b\u043e\u0432\u0430 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 little endian\" title=\"\u0411\u0430\u0439\u0442\u044b \u043f\u0430\u043a\u0435\u0442\u0430 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u0441\u043b\u043e\u0432\u0430 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 little endian\" width=\"1136\" height=\"557\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/7ac\/593\/f23\/7ac593f23984dc5486380422322d8b0a.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7ac\/593\/f23\/7ac593f23984dc5486380422322d8b0a.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0411\u0430\u0439\u0442\u044b \u043f\u0430\u043a\u0435\u0442\u0430 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u0441\u043b\u043e\u0432\u0430 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 <strong>little endian<\/strong><\/figcaption><\/div>\n<\/figure>\n<p>\u0412 \u043b\u043e\u0433\u0435 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0447\u0442\u0435\u043d\u0438\u044f \u0441\u0435\u043a\u0442\u043e\u0440\u0430 0x28, \u043d\u043e\u043c\u0435\u0440 <strong>LBA<\/strong> = 0x00000011 \u0430 \u0434\u043b\u0438\u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 0x00000001 (1 \u0441\u0435\u043a\u0442\u043e\u0440). \u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u0438\u043d\u044f\u0442\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u043f\u0430\u043a\u0435\u0442\u0430 \u043d\u0435 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u0435\u043c\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043e\u043d\u043e \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0435\u0451 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u044c. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u0441\u0442\u0430\u0442\u0443\u0441\u044b \u043f\u043e \u043c\u0435\u0440\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f6c\/dbd\/d2d\/f6cdbdd2d8a7b10cc647e03d6a559d86.PNG\" alt=\"\u041f\u043e\u043b\u043b\u0438\u043d\u0433 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0441 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u043e\u043c \u0432 2 \u043c\u0441\" title=\"\u041f\u043e\u043b\u043b\u0438\u043d\u0433 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0441 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u043e\u043c \u0432 2 \u043c\u0441\" width=\"2148\" height=\"1195\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/f6c\/dbd\/d2d\/f6cdbdd2d8a7b10cc647e03d6a559d86.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f6c\/dbd\/d2d\/f6cdbdd2d8a7b10cc647e03d6a559d86.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041f\u043e\u043b\u043b\u0438\u043d\u0433 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0441 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u043e\u043c \u0432 2 \u043c\u0441<\/figcaption><\/div>\n<\/figure>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0437\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 <strong>STATUS<\/strong> \u0438\u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0440\u0438\u0451\u043c \u0441\u0438\u0433\u043d\u0430\u043b\u0430 <strong>INTRQ<\/strong>, \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443 \u043d\u0435 \u0442\u043e\u0440\u0447\u0430\u0442\u044c \u0432 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438 \u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f. \u041a\u043e\u0433\u0434\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u043e\u043d\u043e \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442 <strong>INTRQ<\/strong> \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0444\u043b\u0430\u0433\u0438: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0444\u043b\u0430\u0433 \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 <strong>DRQ<\/strong> \u0430 \u0437\u0430\u0442\u0435\u043c \u0441\u043d\u0438\u043c\u0435\u0442\u0441\u044f \u0444\u043b\u0430\u0433 \u0437\u0430\u043d\u044f\u0442\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 <strong>BSY<\/strong>:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/781\/1ce\/53f\/7811ce53fd94f89c6e00445f8de6747a.PNG\" alt=\"\u0412\u044b\u0447\u0438\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0432\u0441\u0435\u0433\u043e 653 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434\u044b\" title=\"\u0412\u044b\u0447\u0438\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0432\u0441\u0435\u0433\u043e 653 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434\u044b\" width=\"1688\" height=\"1204\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/781\/1ce\/53f\/7811ce53fd94f89c6e00445f8de6747a.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/781\/1ce\/53f\/7811ce53fd94f89c6e00445f8de6747a.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0412\u044b\u0447\u0438\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0432\u0441\u0435\u0433\u043e 653 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434\u044b<\/figcaption><\/div>\n<\/figure>\n<p>\u0412 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u0444\u0430\u0437\u0435 \u0447\u0442\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/50f\/39d\/0e9\/50f39d0e9fe15d6f2891fc2a34a00167.PNG\" alt=\"\u0411\u043e\u0434\u0440\u043e \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435\" title=\"\u0411\u043e\u0434\u0440\u043e \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435\" width=\"2081\" height=\"1209\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/50f\/39d\/0e9\/50f39d0e9fe15d6f2891fc2a34a00167.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/50f\/39d\/0e9\/50f39d0e9fe15d6f2891fc2a34a00167.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0411\u043e\u0434\u0440\u043e \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435<\/figcaption><\/div>\n<\/figure>\n<p>\u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e\u0449\u0438\u0439 \u0447\u0442\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0443\u0441, \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 <strong>CYL_HI:CYL_LO<\/strong>, \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0447\u0438\u0441\u043b\u043e \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0412 \u043b\u043e\u0433\u0435 \u0432\u044b\u0448\u0435 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0442\u0430\u043c 0x0800 \u0438\u043b\u0438 2048 \u0431\u0430\u0439\u0442. \u042d\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0441\u0435\u043a\u0442\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f <strong>CD<\/strong>. \u0418\u043c\u0435\u0439\u0442\u0435 \u0432 \u0432\u0438\u0434\u0443, \u044d\u0442\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u0430\u0439\u0442, \u0430 \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u0442\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432\u0434\u0432\u043e\u0435 \u043c\u0435\u043d\u044c\u0448\u0435. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u0431\u043c\u0435\u043d\u0438\u0432\u0430\u0442\u044c \u0431\u0430\u0439\u0442\u044b \u0442\u0443\u0442 \u0443\u0436\u0435 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 <strong>CLI<\/strong>:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dff\/aa8\/fba\/dffaa8fbaabfd01ecf79a4632a00a372.PNG\" alt=\"\u0421\u0447\u0438\u0442\u0430\u043b\u0438 \u0441\u0435\u043a\u0442\u043e\u0440 \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b ISO\" title=\"\u0421\u0447\u0438\u0442\u0430\u043b\u0438 \u0441\u0435\u043a\u0442\u043e\u0440 \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b ISO\" width=\"618\" height=\"295\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/dff\/aa8\/fba\/dffaa8fbaabfd01ecf79a4632a00a372.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dff\/aa8\/fba\/dffaa8fbaabfd01ecf79a4632a00a372.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0421\u0447\u0438\u0442\u0430\u043b\u0438 \u0441\u0435\u043a\u0442\u043e\u0440 \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b <strong>ISO<\/strong><\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/297\/bf8\/bfa\/297bf8bfa2316bd7def13117ae3c57bc.PNG\" alt=\"\u0421\u0447\u0438\u0442\u0430\u043b\u0438 \u0441\u0435\u043a\u0442\u043e\u0440 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438\" title=\"\u0421\u0447\u0438\u0442\u0430\u043b\u0438 \u0441\u0435\u043a\u0442\u043e\u0440 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438\" width=\"623\" height=\"685\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/297\/bf8\/bfa\/297bf8bfa2316bd7def13117ae3c57bc.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/297\/bf8\/bfa\/297bf8bfa2316bd7def13117ae3c57bc.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0421\u0447\u0438\u0442\u0430\u043b\u0438 \u0441\u0435\u043a\u0442\u043e\u0440 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438<\/figcaption><\/div>\n<\/figure>\n<p>\u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u043c\u0430\u043d\u0434\u0430 <strong>PACKET<\/strong> \u0432 <strong>CLI<\/strong> \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0432\u0432\u043e\u0434\u0430 \u0432\u0441\u0435\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d\u0430 \u0442\u0430\u043a\u0430\u044f \u0434\u043b\u0438\u043d\u043d\u0430\u044f. \u041e\u0434\u043d\u0430\u043a\u043e, \u0441\u0435\u0439\u0447\u0430\u0441 \u044d\u0442\u043e \u0436\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0438 \u043e\u043d\u043e \u0443\u0436\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 <strong>CD<\/strong>. \u041f\u043e\u0437\u0434\u043d\u0435\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u0432\u0435\u0434\u0435\u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430 \u043f\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432.<\/p>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 <strong>CLI<\/strong> \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u0432 \u043f\u0430\u043a\u0435\u0442 \u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442 \u0438\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u0440\u0443\u0433 \u0437\u0430 \u0434\u0440\u0443\u0433\u043e\u043c:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/747\/bcc\/8a7\/747bcc8a71d4a44e4fc4969937083d2f.PNG\" alt=\"\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u044b I (\u0447\u0442\u0435\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430) \u0438 * (\u043f\u0430\u0443\u0437\u0430 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445)\" title=\"\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u044b I (\u0447\u0442\u0435\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430) \u0438 * (\u043f\u0430\u0443\u0437\u0430 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445)\" width=\"620\" height=\"561\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/747\/bcc\/8a7\/747bcc8a71d4a44e4fc4969937083d2f.PNG 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/747\/bcc\/8a7\/747bcc8a71d4a44e4fc4969937083d2f.PNG 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u044b <strong>I<\/strong> (\u0447\u0442\u0435\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430) \u0438 <strong>*<\/strong> (\u043f\u0430\u0443\u0437\u0430 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445)<\/figcaption><\/div>\n<\/figure>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0438 \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u0443\u0436\u0435 \u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435. \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u043d\u0435\u043f\u043b\u043e\u0445\u043e\u0439, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u044b \u044f \u043f\u0440\u044f\u043c \u0434\u043e\u0432\u043e\u043b\u0435\u043d. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 &#8212; \u0432\u0441\u0435 \u044d\u043f\u044e\u0440\u044b \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0441\u043d\u044f\u0442\u044b \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u043d\u0435\u0433\u043e. \u041f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u043d\u0430 \u0442\u0440\u0451\u0445 \u043f\u0440\u0438\u0432\u043e\u0434\u0430\u0445 \u0440\u0430\u0437\u043d\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0434\u0440\u0435\u0432\u043d\u043e\u0441\u0442\u0438 &#8212; \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043a\u0430\u043a \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u043e\u0441\u044c. \u0414\u043e\u0431\u0430\u0432\u043b\u044e \u043f\u043e\u0437\u0436\u0435 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 <strong>SD<\/strong> \u043a\u0430\u0440\u0442\u043e\u0439 \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 \u0432 <strong>CLI<\/strong>, \u043d\u043e \u044d\u0442\u043e \u0443\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 &#171;\u0437\u0430 \u043a\u0430\u0434\u0440\u043e\u043c&#187;. \u041d\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0439\u0442\u0435\u0441\u044c.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/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\/articles\/943558\/\"> https:\/\/habr.com\/ru\/articles\/943558\/<\/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 article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"\"><\/figure>\n<p>\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f <a href=\"https:\/\/habr.com\/ru\/articles\/896234\/\" rel=\"noopener noreferrer nofollow\">\u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438<\/a> \u043f\u0440\u0438\u0448\u043b\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 <strong>IDE<\/strong> \u0432\u0441\u0451 \u0436\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043d\u0430\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c &#171;\u0443\u043c\u043e\u043c&#187;. \u0428\u0438\u043d\u0430 <strong>USB<\/strong> \u0437\u0430\u0442\u043e\u0447\u0435\u043d\u0430 \u043f\u043e\u0434 \u043f\u043e\u0442\u043e\u0447\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 Ping-Pong \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b \u043d\u0430 \u043d\u0435\u0439 \u043e\u0442\u043a\u0440\u043e\u0432\u0435\u043d\u043d\u043e \u0442\u043e\u0440\u043c\u043e\u0437\u044f\u0442, \u043f\u0440\u0438\u0432\u043e\u0434\u044f \u043a \u043d\u0435 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0441\u0430\u043c\u043e\u0439 \u0448\u0438\u043d\u044b. \u042d\u0442\u043e \u0432\u044b\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u0432 \u0442\u043e\u0440\u043c\u043e\u0437\u0430 \u043d\u0430 \u0448\u0438\u043d\u0435 <strong>IDE<\/strong>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0432\u043e\u043b\u0435\u0432\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0432\u0442\u043e\u0440\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, \u0431\u043e\u043b\u0435\u0435 \u0443\u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0432 \u0442\u043e \u0436\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u0441\u043b\u043e\u0436\u043d\u0451\u043d\u043d\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b \u043a\u0430\u043a \u043f\u0440\u044f\u043c\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0448\u0438\u043d\u043e\u0439 \u0442\u0430\u043a \u0438 \u043c\u043e\u0433 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b <strong>IDE<\/strong> \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u0445\u043e\u0441\u0442\u0443. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u0432\u0441\u0451 \u0435\u0449\u0451 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u0434\u0430\u043d\u043d\u0430\u044f \u0442\u0435\u043c\u0430 &#8212; \u0434\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434 \u043a\u0430\u0442.<\/p>\n<hr\/>\n<p>\u041f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0440\u0435\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0446\u0435\u043b\u044c \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0447\u0442\u043e-\u0442\u043e, \u0447\u0442\u043e \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0432 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0438 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0439\u0442\u0438 \u043e\u0442 &#171;\u043d\u043e\u0433\u043e\u0434\u0440\u044b\u0433\u0430&#187;, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0438 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u0412\u044b\u0431\u043e\u0440 \u043f\u0430\u043b \u043d\u0430 <strong>STM32F407VGT<\/strong> \u0432 \u043a\u043e\u0440\u043f\u0443\u0441\u0435 <strong>TSOP100<\/strong> \u0444\u0438\u0440\u043c\u044b <strong>ST<\/strong>. \u0423 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0432 \u044d\u0442\u043e\u043c \u043a\u043e\u0440\u043f\u0443\u0441\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d <strong>FSMC<\/strong> \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043d\u0430 16 \u0431\u0438\u0442, \u0447\u0442\u043e \u043d\u0430\u043c \u0438 \u043d\u0443\u0436\u043d\u043e. \u0410 \u0435\u0449\u0451, \u0443 \u043d\u0435\u0433\u043e \u0435\u0441\u0442\u044c <strong>SDIO<\/strong> \u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043a\u0440\u0443\u0442\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e <strong>uSD<\/strong> \u043a\u0430\u0440\u0442\u0443 \u043f\u0430\u043c\u044f\u0442\u0438 \u043a\u0430\u043a \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0435\u0437\u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0439 \u0431\u0443\u0444\u0435\u0440 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0422\u0430\u043a \u0440\u043e\u0434\u0438\u043b\u0441\u044f \u043a\u043e\u043d\u0446\u0435\u043f\u0442 \u0432\u0442\u043e\u0440\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 <strong>IDE<\/strong> \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 <strong>IDE\/ATAPI<\/strong> \u0430 \u0442\u0430\u043a \u0436\u0435 \u0434\u043b\u044f \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u044f \u043a \u043d\u0430\u0448\u0435\u0439 \u0446\u0435\u043b\u0438: \u0441\u043e\u0437\u0434\u0430\u0442\u044c <strong>IDE ATAPI<\/strong> \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 <strong>CD\/DVD<\/strong> \u043f\u0440\u0438\u0432\u043e\u0434\u0430. \u0412\u044b\u0440\u0438\u0441\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0432\u043e\u0442 \u0442\u0430\u043a\u0430\u044f \u0441\u0445\u0435\u043c\u0430:<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0422\u0438\u043f\u043e\u0432\u043e\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0438 <strong>CPLD<\/strong><\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\">\n<div><figcaption>\u0424\u043e\u0442\u043e \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0432 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e <strong>\u041b\u0423\u0422<\/strong>\u0430, \u0443\u0432\u044b&#8230;<\/figcaption><\/div>\n<\/figure>\n<p><strong>CPLD<\/strong> \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0440\u043e\u043b\u044c \u0431\u0443\u0444\u0435\u0440\u0430, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0438\u043b\u0438\u0442\u044c \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430. \u041f\u043e\u0447\u0435\u043c\u0443 \u043d\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0443\u0440\u043e\u0432\u043d\u044f? \u041f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0432 \u043a\u043e\u0440\u043f\u0443\u0441\u0435 <strong>TSOP100<\/strong> \u0443 <strong>STM32F407<\/strong> \u0442\u043e\u043b\u044c\u043a\u043e 1 \u0441\u0438\u0433\u043d\u0430\u043b <strong>FSMC_NE1<\/strong>, \u0430 \u0434\u043b\u044f <strong>IDE<\/strong> \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u0445 2. \u0422\u0430\u043a \u0436\u0435, \u0448\u0438\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u0443\u0442 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0438 16 \u043c\u043b\u0430\u0434\u0448\u0438\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0442\u0435 \u0436\u0435 \u043d\u043e\u0436\u043a\u0438 \u0447\u0442\u043e \u0438 16 \u0431\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0430\u0432\u0434\u0430, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u0440\u0448\u0438\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432, \u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0441\u0438\u0433\u043d\u0430\u043b \u0432\u044b\u0431\u043e\u0440\u0430 \u0441\u043c\u044b\u0441\u043b\u0430 \u0432 \u043d\u0438\u0445 \u043d\u0435\u0442 &#8212; \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043d\u0430\u0434\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u044e\u044e \u043f\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044e \u043a \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 \u043b\u043e\u0433\u0438\u043a\u0443. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e <strong>CPLD<\/strong>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0434\u0435\u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0448\u0438\u043d\u0443 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u0443\u0436\u0435 \u0438\u0437 \u043d\u0435\u0451 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c <strong>CS1X<\/strong> \u0438 <strong>CS3X<\/strong>. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435, \u0432 <strong>CPLD<\/strong> \u0431\u0443\u0434\u0435\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0442\u043e\u0440 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0430\u0440\u0431\u0438\u0442\u0440\u0430\u0436\u043d\u044b\u0439 <strong>IORDY<\/strong>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a <strong>FSMC_nWAIT<\/strong>. \u0410 \u0442\u0430\u043a \u0436\u0435, \u0442\u0430\u043c \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u0430\u043c\u0438 <strong>RESET<\/strong> \u0438 <strong>CSEL<\/strong> \u043d\u0430 \u0448\u0438\u043d\u0435 <strong>IDE<\/strong>. \u041f\u0440\u043e\u0435\u043a\u0442 <strong>CPLD<\/strong> \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442:<\/p>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u0434 \u0434\u043b\u044f CPLD<\/summary>\n<div class=\"spoiler__content\">\n<pre><code class=\"delphi\">\/\/ \u0428\u0438\u043d\u0430 IDE \u043d\u0430 STM32F4 \/\/ \u0410\u0434\u0440\u0435\u0441     \u0412\u044b\u0431\u043e\u0440  \u0427\u0442\u0435\u043d\u0438\u0435   \u0417\u0430\u043f\u0438\u0441\u044c \/\/ 0000 : 0  CS1X  DataPIO   DataPIO \/\/ 0001 : 1  CS1X  Error     Features \/\/ 0010 : 2  CS1X  SecCount  SecCount \/\/ 0011 : 3  CS1X  SecNumber SecNumber \/\/ 0100 : 4  CS1X  CylLow    CylLow \/\/ 0101 : 5  CS1X  CylHigh   CylHigh \/\/ 0110 : 6  CS1X  DevHead   DevHead \/\/ 0111 : 7  CS1X  Status    Command  \/\/ 1000 : 8  ----  DataDMA   DataDMA \/\/ 1001 : 9  ---- \/\/ 1010 : A  ---- \/\/ 1011 : B  ---- \/\/ 1100 : C  ---- CSEL \/\/ 1101 : D  ---- \/\/ 1110 : E  CS3X  AltStatus Control \/\/ 1111 : F  ---- RESET module IDE_STM32( \/\/ \u0428\u0438\u043d\u0430 STM32F4 inputCLK,\/\/ \u0422\u0430\u043a\u0442\u044b 56\u041c\u0413\u0446 inout[15:0]FSMC_AD,\/\/ \u041c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0448\u0438\u043d\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u0434\u0430\u043d\u043d\u044b\u0445 inputFSMC_NL,\/\/ \u0417\u0430\u0449\u0451\u043b\u043a\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 inputFSMC_NE1,\/\/ \u0412\u044b\u0431\u043e\u0440 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 inputFSMC_NOE,\/\/ \u0421\u0442\u0440\u043e\u0431 \u0447\u0442\u0435\u043d\u0438\u044f inputFSMC_NWE,\/\/ \u0421\u0442\u0440\u043e\u0431 \u0437\u0430\u043f\u0438\u0441\u0438 outputreg FSMC_NWAIT,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 outputreg STAT_INTRQ,\/\/ \u041f\u0440\u043e\u0431\u0440\u043e\u0441 \u0441\u0442\u0430\u0442\u0443\u0441\u0430: INTRQ outputreg STAT_DMARQ,\/\/ \u041f\u0440\u043e\u0431\u0440\u043e\u0441 \u0441\u0442\u0430\u0442\u0443\u0441\u0430: DMARQ outputreg STAT_DASP,\/\/ \u041f\u0440\u043e\u0431\u0440\u043e\u0441 \u0441\u0442\u0430\u0442\u0443\u0441\u0430: DASP outputreg STAT_PDIAG,\/\/ \u041f\u0440\u043e\u0431\u0440\u043e\u0441 \u0441\u0442\u0430\u0442\u0443\u0441\u0430: PDIAG \/\/ \u0428\u0438\u043d\u0430 IDE inout[15:0]DD,\/\/ \u0428\u0438\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 IDE outputreg [2:0]DA,\/\/ \u0428\u0438\u043d\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 outputCS1X,\/\/ \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b outputCS3X,\/\/ \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b outputDIOR,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0447\u0442\u0435\u043d\u0438\u044f outputDIOW,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0437\u0430\u043f\u0438\u0441\u0438 outputDMACK,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f DMA outputreg RESET,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0441\u0431\u0440\u043e\u0441\u0430 inoutCSEL,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0432\u044b\u0431\u043e\u0440\u0430 \u043f\u043e \u043a\u0430\u0431\u0435\u043b\u044e inputIORDY,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438 inputINTRQ,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f inputDMARQ,\/\/ \u0421\u0438\u0433\u043d\u0430\u043b \u0437\u0430\u043f\u0440\u043e\u0441\u0430 DMA inputDASP,\/\/ inputPDIAG,\/\/ \/\/ \u041b\u0430\u043c\u043f\u043e\u0447\u043a\u0430 outputreg DRIVE\/\/ \u041b\u0430\u043c\u043f\u043e\u0447\u043a\u0430 \u043f\u0440\u0438\u0432\u043e\u0434\u0430 );  \/\/ \u0428\u0438\u043d\u044b assign CSEL = (rCSEL) ? 1'b0 : 1'bZ; assign DD[15:0]  = (~FSMC_NE1 &amp; ~FSMC_NWE) ? FSMC_AD[15:0] : 16'hZZ; assign FSMC_AD[15:0] = (~FSMC_NE1 &amp; ~FSMC_NOE) ? DD[15:0] : 8'hZZ;  \/\/ \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 reg BANK;\/\/ \u0411\u0430\u043d\u043a \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0438 reg rCSEL; wire REG_CSEL; wire REG_RESET;  \/\/ \u041a\u043e\u043c\u0431\u0438\u043d\u0430\u0442\u043e\u0440\u0438\u043a\u0430 assign REG_CSEL  = ~FSMC_NE1 &amp; BANK &amp; DA[2] &amp; ~DA[1] &amp; ~DA[0]; assign REG_RESET = ~FSMC_NE1 &amp; BANK &amp; DA[2] &amp; DA[1] &amp; DA[0]; assign CS1X = ~(~FSMC_NE1 &amp; ~BANK); assign CS3X = ~(~FSMC_NE1 &amp; BANK &amp; DA[2] &amp; DA[1] &amp; ~DA[0]); assign DMACK = ~(DMARQ &amp; ~FSMC_NE1 &amp; BANK &amp; ~DA[2] &amp; ~DA[1] &amp; ~DA[0]); assign DIOR = ~(~FSMC_NE1 &amp; ~FSMC_NOE &amp; (~BANK | (~(DA[2] ^ DA[1]) &amp; ~DA[0]))); assign DIOW = ~(~FSMC_NE1 &amp; ~FSMC_NWE &amp; (~BANK | (~(DA[2] ^ DA[1]) &amp; ~DA[0])));  \/\/ \u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u0430 always @(posedge FSMC_NL) begin \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0430\u0434\u0440\u0435\u0441 {BANK,DA[2:0]} &lt;= FSMC_AD[3:0]; end  \/\/ \u0421\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 always @(posedge CLK) begin \/\/ \u041b\u0430\u043c\u043f\u043e\u0447\u043a\u0430 DRIVE &lt;= DASP; \/\/ \u0421\u0442\u0430\u0442\u0443\u0441\u044b {STAT_PDIAG,STAT_DASP,STAT_DMARQ,STAT_INTRQ} &lt;= {PDIAG,DASP,DMARQ,INTRQ}; \/\/ \u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0443\u0435\u043c IORDY FSMC_NWAIT &lt;= REG_CSEL | REG_RESET | FSMC_NE1 | IORDY; \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c CSEL if (REG_CSEL &amp; ~FSMC_NWE) rCSEL &lt;= FSMC_AD[0]; \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c RESET if (REG_RESET &amp; ~FSMC_NWE) RESET &lt;= ~FSMC_AD[0]; end  \/\/ \u0412\u044b\u0445\u043e\u0434 endmodule <\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0438\u0437 \u043a\u043e\u0434\u0430 <strong>CPLD<\/strong> \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 16 \u0430\u0434\u0440\u0435\u0441\u043d\u044b\u0445 \u044f\u0447\u0435\u0435\u043a \u043d\u0430 16 \u0431\u0438\u0442 \u043a\u0430\u0436\u0434\u0430\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0438 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c. \u041f\u0435\u0440\u0432\u044b\u0435 8 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0442 8 \u044f\u0447\u0435\u0435\u043a \u0441 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0435\u0439 \u0441\u0438\u0433\u043d\u0430\u043b\u0430 <strong>CS1X<\/strong> \u043d\u0430 \u0448\u0438\u043d\u0435 <strong>IDE<\/strong>. \u0412\u0442\u043e\u0440\u044b\u0435 8 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u044b \u043d\u0430 3 \u0441\u0435\u043a\u0446\u0438\u0438:<\/p>\n<ul>\n<li>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u0441\u0435\u043a\u0446\u0438\u044f \u044d\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 (<strong>ADR<\/strong>=0) <strong>IDE<\/strong>, \u043d\u043e \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0438\u0433\u043d\u0430\u043b\u0430 <strong>DMACK<\/strong> (\u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0441\u0438\u0433\u043d\u0430\u043b\u0430 <strong>DMARQ<\/strong>). \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u043c\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c <strong>DMA<\/strong> \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u043d\u0430 \u0448\u0438\u043d\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0412\u0442\u043e\u0440\u0430\u044f \u0441\u0435\u043a\u0446\u0438\u044f \u044d\u0442\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0442\u0443\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 <strong>ADR<\/strong>=6 \u0438 <strong>CS3X<\/strong>. \u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0431\u0435\u0437 \u0441\u0431\u0440\u043e\u0441\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0438 <strong>DMA<\/strong>.<\/p>\n<\/li>\n<li>\n<p>\u0422\u0440\u0435\u0442\u044c\u044f \u0441\u0435\u043a\u0446\u0438\u044f \u044d\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b <strong>CPLD<\/strong>. \u041e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u043d\u0438\u043c \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u0441\u0442\u0440\u043e\u0431\u0430 \u0447\u0442\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0448\u0438\u043d\u0435 <strong>IDE<\/strong>. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u0430\u043c\u0438 <strong>RESET<\/strong> \u0438 <strong>CSEL<\/strong>.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, <strong>CPLD<\/strong> \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0433\u043b\u0430\u0441\u0443\u044e\u0449\u0438\u0439 \u043c\u043e\u0441\u0442 \u043c\u0435\u0436\u0434\u0443 <strong>FSMC<\/strong> \u0438 \u0448\u0438\u043d\u043e\u0439 <strong>IDE<\/strong>. \u041c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u043d\u043e\u0433\u0430\u043c\u0438 <strong>FSMC<\/strong> \u0438 <strong>CPLD<\/strong>, \u043e\u0434\u043d\u0430\u043a\u043e \u0431\u0443\u043a\u0432\u0430\u0440\u044c \u043d\u0430 \u0447\u0438\u043f \u043d\u0430\u043c \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u0443 \u043d\u0435\u0433\u043e \u0432\u0441\u0435 \u043d\u043e\u0433\u0438 \u0442\u0438\u043f\u0430 <strong>FT<\/strong>.<\/p>\n<details class=\"spoiler\">\n<summary>\u0412\u044b\u0431\u043e\u0440\u043a\u0430 \u0438\u0437 \u0431\u0443\u043a\u0432\u0430\u0440\u044f<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><\/figure>\n<figure class=\"full-width\"><\/figure>\n<figure class=\"full-width\"><\/figure>\n<figure class=\"full-width\"><\/figure>\n<figure class=\"full-width\"><\/figure>\n<figure class=\"full-width\"><\/figure>\n<\/div>\n<\/details>\n<p>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0438 (<strong>USB<\/strong> \u0438 <strong>SDIO<\/strong>) \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0442\u0438\u043f\u0438\u0447\u043d\u043e \u043f\u043e \u0431\u0443\u043a\u0432\u0430\u0440\u044e \u043e\u0442 <strong>ST<\/strong> \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430 \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438. \u041a\u0430\u043a \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0432\u044b\u0448\u0435, <strong>USB<\/strong> \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f <strong>CLI<\/strong>. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 <strong>ST vCOM<\/strong> \u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b &#8212; \u043b\u044e\u0431\u043e\u0439 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b, \u0443\u043c\u0435\u044e\u0449\u0438\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 <strong>COM<\/strong> \u043f\u043e\u0440\u0442\u043e\u043c. \u0412\u0441\u0451 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0432 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440.<\/p>\n<p>\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0448\u0438\u043d\u0435 <strong>IDE<\/strong> \u0431\u0443\u0434\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 <strong>FSMC<\/strong> \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u044f\u043c\u043e \u0432 \u043f\u0430\u043c\u044f\u0442\u044c \u044f\u0434\u0440\u0430 \u0438 \u0435\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043e\u0431\u044b\u0447\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 <strong>LDR\/STR<\/strong>. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0442\u0430\u0439\u043c\u0438\u043d\u0433 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u0430\u043c\u043e\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u044b\u043c. \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u043e\u0441\u0442\u0438 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u043a &#171;\u043d\u043e\u0433\u043e\u0434\u0440\u044b\u0433\u0430&#187;. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f:<\/p>\n<pre><code class=\"cpp\">__HAL_RCC_FMCEN_CLK_ENABLE(); FSMC_Bank1-&gt;BTCR[ 0 ] = \/*| FSMC_BCR1_ASYNCWAIT | FSMC_BCR1_WAITEN |*\/ FSMC_BCR1_WREN \/*| FSMC_BCR1_WAITCFG*\/ | 0x80 | FSMC_BCR1_FACCEN | FSMC_BCR1_MWID_0 | FSMC_BCR1_MTYP_1 | FSMC_BCR1_MUXEN | FSMC_BCR1_MBKEN; \/\/ \u0422\u0430\u0439\u043c\u0438\u043d\u0433\u0438 \u0447\u0442\u0435\u043d\u0438\u044f FSMC_Bank1-&gt;BTCR[ 1 ] = FSMC_BTR1_BUSTURN_2 | FSMC_BTR1_DATAST_5 | FSMC_BTR1_DATAST_4 | FSMC_BTR1_DATAST_3 | FSMC_BTR2_ADDHLD_1 | FSMC_BTR2_ADDSET_3; \/\/ \u0422\u0430\u0439\u043c\u0438\u043d\u0433\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 FSMC_Bank1E-&gt;BWTR[ 0 ] = FSMC_BWTR1_BUSTURN_2 | FSMC_BWTR1_DATAST_5 | FSMC_BWTR1_DATAST_4 | FSMC_BWTR1_DATAST_3 | FSMC_BWTR1_ADDHLD_1 | FSMC_BWTR1_ADDSET_3; <\/code><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d \u0441\u0438\u0433\u043d\u0430\u043b <strong>FSMC_nWAIT<\/strong>, \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d \u043f\u043e\u0437\u0436\u0435. \u0410 \u0432\u0440\u0435\u043c\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u043d\u0430 340 \u043d\u0441 \u0438 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438. \u042d\u0442\u043e\u0433\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0445\u0432\u0430\u0442\u0430\u0442\u044c \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u043f\u0440\u0438\u0432\u043e\u0434\u043e\u0432, \u043a\u0430\u043a \u0441\u0442\u0430\u0440\u044b\u0445 \u0442\u0430\u043a \u0438 \u043d\u043e\u0432\u044b\u0445. \u0410\u0434\u0440\u0435\u0441 \u0443 <strong>FSMC_NE1<\/strong> \u0440\u0430\u0432\u0435\u043d 0x60000000, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c \u0438 \u043f\u0440\u0438\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0435\u043c \u0435\u0451 \u043a \u044d\u0442\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443:<\/p>\n<pre><code class=\"cpp\">\/\/ \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u043e\u0440\u0442\u0430 IDE typedef struct {\/\/ CS1X __IO uint16_tDATA_PIO;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 0: DATA, \u0440\u0435\u0436\u0438\u043c PIO, 16 \u0431\u0438\u0442 __IO uint16_tFEATURE;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 1: STATUS \/ FEATURES, 8 \u0431\u0438\u0442 __IO uint16_tSEC_COUNT;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 2: SECTOR COUNT, 8 \u0431\u0438\u0442 __IO uint16_tSEC_NUMBER;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 3: SECTOR NUMBER, 8 \u0431\u0438\u0442 __IO uint16_tCYL_LOW;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 4: CYLINDER LOW, 8 \u0431\u0438\u0442 __IO uint16_tCYL_HIGH;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 5: CYLINDER HIGH, 8 \u0431\u0438\u0442 __IO uint16_tCONTROL;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 6: CONTROL\/DEVICE&amp;HEAD, 8 \u0431\u0438\u0442 __IO uint16_tCOMMAND;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 7: STATUS \/ COMMAND, 8 \u0431\u0438\u0442 \/\/ DMACK __IO uint16_tDATA_DMA;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 0: DATA, \u0440\u0435\u0436\u0438\u043c DMA, 16 \u0431\u0438\u0442 \/\/ \u0420\u0435\u0437\u0435\u0440\u0432 __IO uint16_tRES0[ 3 ];\/\/ \u0420\u0435\u0437\u0435\u0440\u0432 \/\/ \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c CSEL __IO uint16_tCSEL;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c CSEL \/\/ \u0420\u0435\u0437\u0435\u0440\u0432 __IO uint16_tRES1[ 1 ];\/\/ \u0420\u0435\u0437\u0435\u0440\u0432 \/\/ CS3X __IO uint16_tALT_STATUS;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 6: ALT STATUS, 8 \u0431\u0438\u0442 \/\/ \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c RESET __IO uint16_tRESET;\/\/ \u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c RESET } tIDE;  #define IDE_BASE_ADR(uint32_t) 0x60000000 #define IDE((tIDE *) IDE_BASE_ADR) <\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043d\u0443\u0436\u043d\u044b\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <strong>IDE-&gt;DATA_PIO<\/strong>, \u043f\u0440\u044f\u043c\u043e \u043a\u0430\u043a \u0441\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438 \u0443 <strong>ST<\/strong>. \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0431\u0440\u043e\u0441\u043e\u043c \u0438\u0434\u0451\u0442 \u0447\u0435\u0440\u0435\u0437 <strong>IDE-&gt;RESET<\/strong>, \u043a\u0443\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c 0x0001 \u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0441\u0431\u0440\u043e\u0441\u0430 \u0438 0x0000 \u0434\u043b\u044f \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0435\u0433\u043e. \u0422\u0430\u043a \u0447\u0442\u043e \u0441\u0431\u0440\u043e\u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e:<\/p>\n<pre><code class=\"cpp\">IDE-&gt;RESET = 0xFFFF; HAL_Delay( 500 ); IDE-&gt;RESET = 0x0000; HAL_Delay( 3000 );<\/code><\/pre>\n<p>\u0412\u0442\u043e\u0440\u043e\u0435 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 \u043d\u0430 3 \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u043e\u0431\u0443\u0441\u043b\u043e\u0432\u043b\u0435\u043d\u043e \u0442\u0435\u043c, \u0447\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u0440\u0435\u043c\u044f, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e \u0430\u0434\u0435\u043a\u0432\u0430\u0442\u043d\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u0412 <strong>PC<\/strong> \u044d\u0442\u043e \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043c, \u0447\u0442\u043e \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 \u0441\u0431\u0440\u043e\u0441 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u043e \u0432\u0441\u0435\u043c <strong>PC<\/strong> \u0438 \u043f\u043e\u043a\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 <strong>POST<\/strong> \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b, \u044d\u0442\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u0430\u043c \u043f\u0440\u043e\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f. \u0410 \u0443 \u043d\u0430\u0441 \u0441\u0431\u0440\u043e\u0441 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0436\u0438\u0434\u0430\u0442\u044c.<\/p>\n<figure class=\"\">\n<div><figcaption>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0441\u0431\u0440\u043e\u0441\u0430 \u0432 <strong>CLI<\/strong><\/figcaption><\/div>\n<\/figure>\n<p>\u0410\u043d\u0430\u043b\u0438\u0437 \u043b\u043e\u0433\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u043f\u043e\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e 2 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<ul>\n<li>\n<p>0xA1 &#8212; <strong>IDENTIFY_ATAPI_DEVICE<\/strong><\/p>\n<\/li>\n<li>\n<p>0xA0 &#8212; <strong>PACKET<\/strong><\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0448\u0438\u043d\u044b <strong>IDE<\/strong> \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0435\u043d\u044b, \u0434\u0430\u0436\u0435 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 <strong>DMA<\/strong>. \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0442\u0430\u043a \u0438 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c, \u0432\u0435\u0434\u044c \u043c\u044b \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c <strong>ATAPI<\/strong> \u043f\u0440\u0438\u0432\u043e\u0434, \u0430 \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0435 <strong>SCSI<\/strong> \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u0421\u0430\u043c\u0438 \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <strong>SCSI-3<\/strong> \u0438 <strong>MMC-3<\/strong>. \u0411\u0443\u043a\u0432\u0430\u0440\u0438 \u043d\u0430 \u043d\u0438\u0445 \u0435\u0441\u0442\u044c \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435, \u043a \u043d\u0438\u043c \u043c\u044b \u0432\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u043a\u043e\u0433\u0434\u0430 \u0434\u043e\u0439\u0434\u0451\u043c \u0434\u043e \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0438, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0447\u043d\u0451\u043c \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u0440\u0435\u0447\u044c \u043e \u0448\u0438\u043d\u0435 <strong>IDE<\/strong>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0445\u043e\u0441\u0442\u0438\u0442 <strong>ATAPI<\/strong>. <\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/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-473831","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/473831","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=473831"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/473831\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=473831"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=473831"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=473831"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}